@markusylisiurunen/tau 0.2.128 → 0.3.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.
Files changed (232) hide show
  1. package/README.md +130 -75
  2. package/dist/core/async/cli.js +12 -2
  3. package/dist/core/async/cli.js.map +1 -1
  4. package/dist/core/async/http_protocol.js +7 -1
  5. package/dist/core/async/http_protocol.js.map +1 -1
  6. package/dist/core/async/http_server.js +9 -1
  7. package/dist/core/async/http_server.js.map +1 -1
  8. package/dist/core/async/index.js.map +1 -1
  9. package/dist/core/async/session_manager.js +94 -51
  10. package/dist/core/async/session_manager.js.map +1 -1
  11. package/dist/core/auth/auth_manager.js +0 -92
  12. package/dist/core/auth/auth_manager.js.map +1 -1
  13. package/dist/core/auth/credential_store.js +247 -0
  14. package/dist/core/auth/credential_store.js.map +1 -0
  15. package/dist/core/auth/index.js +0 -1
  16. package/dist/core/auth/index.js.map +1 -1
  17. package/dist/core/cli.js +12 -15
  18. package/dist/core/cli.js.map +1 -1
  19. package/dist/core/commands/registry.js +11 -55
  20. package/dist/core/commands/registry.js.map +1 -1
  21. package/dist/core/config/index.js.map +1 -1
  22. package/dist/core/config/runtime.js +0 -1
  23. package/dist/core/config/runtime.js.map +1 -1
  24. package/dist/core/config/schema.js +102 -17
  25. package/dist/core/config/schema.js.map +1 -1
  26. package/dist/core/debug.js +1 -20
  27. package/dist/core/debug.js.map +1 -1
  28. package/dist/core/diff_review/{session.js → bridge.js} +57 -114
  29. package/dist/core/diff_review/bridge.js.map +1 -0
  30. package/dist/core/diff_review/index.js +2 -3
  31. package/dist/core/diff_review/index.js.map +1 -1
  32. package/dist/core/diff_review/review_thread.js +48 -23
  33. package/dist/core/diff_review/review_thread.js.map +1 -1
  34. package/dist/core/diff_review/snapshot.js +40 -11
  35. package/dist/core/diff_review/snapshot.js.map +1 -1
  36. package/dist/core/events/parser.js +43 -12
  37. package/dist/core/events/parser.js.map +1 -1
  38. package/dist/core/index.js +1 -2
  39. package/dist/core/index.js.map +1 -1
  40. package/dist/core/models/catalog.js +3 -3
  41. package/dist/core/models/catalog.js.map +1 -1
  42. package/dist/core/modes/index.js +1 -2
  43. package/dist/core/modes/index.js.map +1 -1
  44. package/dist/core/modes/rpc_server.js +15 -325
  45. package/dist/core/modes/rpc_server.js.map +1 -1
  46. package/dist/core/modes/websocket_server.js +181 -0
  47. package/dist/core/modes/websocket_server.js.map +1 -0
  48. package/dist/core/personas.js +11 -1
  49. package/dist/core/personas.js.map +1 -1
  50. package/dist/core/runtime/chat_runtime.js +19 -12
  51. package/dist/core/runtime/chat_runtime.js.map +1 -1
  52. package/dist/core/runtime/conversation_turn_runtime.js +16 -1
  53. package/dist/core/runtime/conversation_turn_runtime.js.map +1 -1
  54. package/dist/core/runtime/runtime_bootstrap.js +326 -0
  55. package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
  56. package/dist/core/runtime/steering.js +6 -0
  57. package/dist/core/runtime/steering.js.map +1 -0
  58. package/dist/core/session/compaction.js +225 -22
  59. package/dist/core/session/compaction.js.map +1 -1
  60. package/dist/core/session/core_session.js +9 -0
  61. package/dist/core/session/core_session.js.map +1 -1
  62. package/dist/core/session/direct_bash.js +34 -0
  63. package/dist/core/session/direct_bash.js.map +1 -0
  64. package/dist/core/session/pruning.js +595 -0
  65. package/dist/core/session/pruning.js.map +1 -0
  66. package/dist/core/session/runner.js +47 -8
  67. package/dist/core/session/runner.js.map +1 -1
  68. package/dist/core/session/session_engine.js +128 -55
  69. package/dist/core/session/session_engine.js.map +1 -1
  70. package/dist/core/static/prompts/diff-review-wrapper.md +1 -1
  71. package/dist/core/subagents/subagent_engine.js +19 -27
  72. package/dist/core/subagents/subagent_engine.js.map +1 -1
  73. package/dist/core/tools/catalog.js.map +1 -1
  74. package/dist/core/tools/diff_review.js +12 -12
  75. package/dist/core/tools/diff_review.js.map +1 -1
  76. package/dist/core/tools/execution_backend.js +9 -2
  77. package/dist/core/tools/execution_backend.js.map +1 -1
  78. package/dist/core/tools/registry.js.map +1 -1
  79. package/dist/core/usage/logs.js.map +1 -1
  80. package/dist/core/utils/compact.js +3 -1
  81. package/dist/core/utils/compact.js.map +1 -1
  82. package/dist/core/utils/context.js +1 -1
  83. package/dist/core/utils/context.js.map +1 -1
  84. package/dist/core/utils/context_builder.js +1 -18
  85. package/dist/core/utils/context_builder.js.map +1 -1
  86. package/dist/core/utils/gemini_speech.js +1 -1
  87. package/dist/core/utils/gemini_speech.js.map +1 -1
  88. package/dist/core/utils/model_stream.js +105 -14
  89. package/dist/core/utils/model_stream.js.map +1 -1
  90. package/dist/core/utils/project_files.js +11 -16
  91. package/dist/core/utils/project_files.js.map +1 -1
  92. package/dist/core/utils/spawn_capture.js +2 -2
  93. package/dist/core/utils/spawn_capture.js.map +1 -1
  94. package/dist/core/utils/user_metadata.js +35 -2
  95. package/dist/core/utils/user_metadata.js.map +1 -1
  96. package/dist/core/version.js +1 -1
  97. package/dist/core/version.js.map +1 -1
  98. package/dist/diff_tool/app/dist/assets/{index-jn1I_CPZ.js → index-ivRn2dP2.js} +34 -34
  99. package/dist/diff_tool/app/dist/index.html +1 -1
  100. package/dist/execution/cloudflare_sandbox_execution_environment.js +400 -0
  101. package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -0
  102. package/dist/execution/execution_environment.js +24 -0
  103. package/dist/execution/execution_environment.js.map +1 -0
  104. package/dist/execution/fly_sprite_execution_environment.js +559 -0
  105. package/dist/execution/fly_sprite_execution_environment.js.map +1 -0
  106. package/dist/execution/local_execution_environment.js +93 -0
  107. package/dist/execution/local_execution_environment.js.map +1 -0
  108. package/dist/execution/runtime_config_snapshot.js +209 -0
  109. package/dist/execution/runtime_config_snapshot.js.map +1 -0
  110. package/dist/execution/sandbox_tool_helpers.js +55 -0
  111. package/dist/execution/sandbox_tool_helpers.js.map +1 -0
  112. package/dist/execution/tool_backend_execution_environment.js +55 -0
  113. package/dist/execution/tool_backend_execution_environment.js.map +1 -0
  114. package/dist/host/hosted_ephemeral_agent_session.js +286 -0
  115. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -0
  116. package/dist/host/index.js +3 -0
  117. package/dist/host/index.js.map +1 -0
  118. package/dist/host/local_session_host.js +1464 -0
  119. package/dist/host/local_session_host.js.map +1 -0
  120. package/dist/host/session_host.js +2 -0
  121. package/dist/host/session_host.js.map +1 -0
  122. package/dist/host/session_protocol_handler.js +873 -0
  123. package/dist/host/session_protocol_handler.js.map +1 -0
  124. package/dist/main.js +537 -77
  125. package/dist/main.js.map +1 -1
  126. package/dist/protocol/index.d.ts +2 -0
  127. package/dist/protocol/index.js +2 -0
  128. package/dist/protocol/index.js.map +1 -0
  129. package/dist/protocol/session_protocol.d.ts +691 -0
  130. package/dist/protocol/session_protocol.js +2117 -0
  131. package/dist/protocol/session_protocol.js.map +1 -0
  132. package/dist/sdk/client.d.ts +2 -1
  133. package/dist/sdk/client.js +136 -392
  134. package/dist/sdk/client.js.map +1 -1
  135. package/dist/sdk/index.d.ts +7 -4
  136. package/dist/sdk/index.js +4 -2
  137. package/dist/sdk/index.js.map +1 -1
  138. package/dist/sdk/session.d.ts +5 -0
  139. package/dist/sdk/session.js +406 -0
  140. package/dist/sdk/session.js.map +1 -0
  141. package/dist/sdk/types.d.ts +97 -78
  142. package/dist/store/file_session_store.js +157 -0
  143. package/dist/store/file_session_store.js.map +1 -0
  144. package/dist/store/memory_session_store.js +24 -0
  145. package/dist/store/memory_session_store.js.map +1 -0
  146. package/dist/store/session_store.js +32 -0
  147. package/dist/store/session_store.js.map +1 -0
  148. package/dist/transport/errors.d.ts +29 -0
  149. package/dist/{sdk → transport}/errors.js +5 -5
  150. package/dist/transport/errors.js.map +1 -0
  151. package/dist/transport/in_process_session_transport.js +102 -0
  152. package/dist/transport/in_process_session_transport.js.map +1 -0
  153. package/dist/transport/index.d.ts +7 -0
  154. package/dist/transport/index.js +4 -0
  155. package/dist/transport/index.js.map +1 -0
  156. package/dist/transport/pending_session_protocol_requests.js +67 -0
  157. package/dist/transport/pending_session_protocol_requests.js.map +1 -0
  158. package/dist/transport/session_protocol_transport_helpers.js +98 -0
  159. package/dist/transport/session_protocol_transport_helpers.js.map +1 -0
  160. package/dist/transport/session_transport.d.ts +11 -0
  161. package/dist/transport/session_transport.js +2 -0
  162. package/dist/transport/session_transport.js.map +1 -0
  163. package/dist/transport/stdio_session_transport.d.ts +38 -0
  164. package/dist/transport/stdio_session_transport.js +243 -0
  165. package/dist/transport/stdio_session_transport.js.map +1 -0
  166. package/dist/transport/websocket_session_transport.d.ts +52 -0
  167. package/dist/transport/websocket_session_transport.js +235 -0
  168. package/dist/transport/websocket_session_transport.js.map +1 -0
  169. package/dist/tui/chat_controller/assistant_clipboard.js +39 -0
  170. package/dist/tui/chat_controller/assistant_clipboard.js.map +1 -0
  171. package/dist/tui/chat_controller/command_hints.js +43 -0
  172. package/dist/tui/chat_controller/command_hints.js.map +1 -0
  173. package/dist/tui/chat_controller/diff_review_service.js +9 -9
  174. package/dist/tui/chat_controller/diff_review_service.js.map +1 -1
  175. package/dist/tui/chat_controller/diff_review_user_message.js +17 -0
  176. package/dist/tui/chat_controller/diff_review_user_message.js.map +1 -0
  177. package/dist/tui/chat_controller/history_labels.js +8 -0
  178. package/dist/tui/chat_controller/history_labels.js.map +1 -0
  179. package/dist/tui/chat_controller/history_message_model.js +36 -0
  180. package/dist/tui/chat_controller/history_message_model.js.map +1 -0
  181. package/dist/tui/chat_controller/queued_user_messages.js +18 -1
  182. package/dist/tui/chat_controller/queued_user_messages.js.map +1 -1
  183. package/dist/tui/chat_controller/status_format.js +22 -0
  184. package/dist/tui/chat_controller/status_format.js.map +1 -0
  185. package/dist/tui/chat_view.js +3 -1
  186. package/dist/tui/chat_view.js.map +1 -1
  187. package/dist/tui/index.js +1 -1
  188. package/dist/tui/index.js.map +1 -1
  189. package/dist/tui/listen_capture.js +87 -0
  190. package/dist/tui/listen_capture.js.map +1 -0
  191. package/dist/tui/memory_mode.js +23 -0
  192. package/dist/tui/memory_mode.js.map +1 -0
  193. package/dist/tui/session_chat_app.js +227 -0
  194. package/dist/tui/session_chat_app.js.map +1 -0
  195. package/dist/tui/session_chat_controller.js +2167 -0
  196. package/dist/tui/session_chat_controller.js.map +1 -0
  197. package/dist/tui/session_tool_execution_backend.js +170 -0
  198. package/dist/tui/session_tool_execution_backend.js.map +1 -0
  199. package/dist/tui/speech_playback.js +107 -0
  200. package/dist/tui/speech_playback.js.map +1 -0
  201. package/dist/tui/ui/assistant_message.js +27 -21
  202. package/dist/tui/ui/assistant_message.js.map +1 -1
  203. package/dist/tui/ui/components/editor.js +17 -13
  204. package/dist/tui/ui/components/editor.js.map +1 -1
  205. package/dist/tui/ui/custom_editor.js +25 -5
  206. package/dist/tui/ui/custom_editor.js.map +1 -1
  207. package/dist/tui/ui/queued_messages.js +1 -1
  208. package/dist/tui/ui/queued_messages.js.map +1 -1
  209. package/dist/tui/ui/slash_autocomplete.js +14 -36
  210. package/dist/tui/ui/slash_autocomplete.js.map +1 -1
  211. package/dist/tui/ui/tool_ui_registry.js +21 -0
  212. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  213. package/package.json +14 -11
  214. package/dist/core/auth/credential_resolver.js +0 -36
  215. package/dist/core/auth/credential_resolver.js.map +0 -1
  216. package/dist/core/config/bash_commands.js +0 -44
  217. package/dist/core/config/bash_commands.js.map +0 -1
  218. package/dist/core/diff_review/session.js.map +0 -1
  219. package/dist/core/modes/rpc_adapter.js +0 -17
  220. package/dist/core/modes/rpc_adapter.js.map +0 -1
  221. package/dist/core/modes/rpc_protocol.js +0 -500
  222. package/dist/core/modes/rpc_protocol.js.map +0 -1
  223. package/dist/core/session/checkpoint.js +0 -34
  224. package/dist/core/session/checkpoint.js.map +0 -1
  225. package/dist/sdk/errors.d.ts +0 -33
  226. package/dist/sdk/errors.js.map +0 -1
  227. package/dist/tui/app.js +0 -64
  228. package/dist/tui/app.js.map +0 -1
  229. package/dist/tui/chat_controller/session_maintenance_service.js +0 -634
  230. package/dist/tui/chat_controller/session_maintenance_service.js.map +0 -1
  231. package/dist/tui/chat_controller.js +0 -2532
  232. package/dist/tui/chat_controller.js.map +0 -1
@@ -1,7 +1,5 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import { resolve } from "node:path";
3
- import { createTauSdkClient } from "../../sdk/client.js";
4
- import { safeParseCoreEventEnvelope } from "../events/parser.js";
5
3
  import { extractAssistantText } from "../utils/messages.js";
6
4
  import { cleanupWorkspacePath as cleanupWorkspacePathOnDisk, prepareWorkspace, resolveWorkspacePath, runBootstrapCommands, } from "./workspace.js";
7
5
  const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
@@ -43,7 +41,10 @@ class AsyncSessionManagerImpl {
43
41
  this.maxSessions = options.maxSessions;
44
42
  this.systemMessage = options.systemMessage?.trim() || undefined;
45
43
  this.now = options.now ?? (() => new Date());
46
- this.createClient = options.createClient ?? createTauSdkClient;
44
+ if (!options.createClient) {
45
+ throw new Error("missing async session client factory");
46
+ }
47
+ this.createClient = options.createClient;
47
48
  this.prepareWorkspace = options.prepareWorkspace ?? prepareWorkspace;
48
49
  this.runBootstrapCommands = options.runBootstrapCommands ?? runBootstrapCommands;
49
50
  this.cleanupWorkspacePath = options.cleanupWorkspacePath ?? cleanupWorkspacePathOnDisk;
@@ -71,6 +72,7 @@ class AsyncSessionManagerImpl {
71
72
  project,
72
73
  abortController: new AbortController(),
73
74
  cancelRequested: false,
75
+ consumedFacetEventCounts: new Map(),
74
76
  };
75
77
  this.sessions.set(id, entry);
76
78
  this.log(entry, "info", "session queued");
@@ -116,7 +118,7 @@ class AsyncSessionManagerImpl {
116
118
  if (entry.record.state === "failed") {
117
119
  throw new AsyncSessionManagerError("invalid_state", `cannot submit messages when session is ${entry.record.state}`);
118
120
  }
119
- if (!entry.client) {
121
+ if (!entry.tauSession) {
120
122
  throw new AsyncSessionManagerError("not_ready", "session is still preparing");
121
123
  }
122
124
  const mode = options?.mode ?? "submit";
@@ -135,10 +137,10 @@ class AsyncSessionManagerImpl {
135
137
  isTurnRunning: false,
136
138
  };
137
139
  }
138
- if (!entry.client) {
140
+ if (!entry.tauSession) {
139
141
  throw new AsyncSessionManagerError("not_ready", "session is still preparing");
140
142
  }
141
- const result = await entry.client.interrupt();
143
+ const result = await entry.tauSession.interrupt();
142
144
  this.log(entry, "info", "interrupt requested", {
143
145
  interrupted: result.interrupted,
144
146
  isTurnRunning: result.isTurnRunning,
@@ -200,20 +202,27 @@ class AsyncSessionManagerImpl {
200
202
  });
201
203
  const clientConnectStart = process.hrtime.bigint();
202
204
  const client = await this.createClient(this.buildClientOptions(entry, workspace.sessionCwd));
205
+ entry.client = client;
206
+ const tauSession = await client.sessions.create({
207
+ executionEnvironment: {
208
+ kind: "local",
209
+ cwd: workspace.sessionCwd,
210
+ },
211
+ });
203
212
  const clientConnectDurationMs = elapsedMs(clientConnectStart);
204
213
  if (entry.cancelRequested) {
205
- entry.client = client;
214
+ entry.tauSession = tauSession;
206
215
  await this.stopClient(entry);
207
216
  return;
208
217
  }
209
- entry.client = client;
210
- entry.record.rpcSessionId = client.ready.sessionId;
218
+ entry.tauSession = tauSession;
219
+ entry.record.tauSessionId = tauSession.id;
211
220
  this.touch(entry);
212
- this.log(entry, "info", "rpc client connected", {
213
- rpcSessionId: client.ready.sessionId,
221
+ this.log(entry, "info", "session client connected", {
222
+ tauSessionId: tauSession.id,
214
223
  durationMs: clientConnectDurationMs,
215
224
  });
216
- entry.unsubscribeClientEvents = client.onEvent((event) => {
225
+ entry.unsubscribeClientEvents = tauSession.onDelta((event) => {
217
226
  this.handleClientEvent(entry, event);
218
227
  });
219
228
  this.log(entry, "info", "session preparation complete", {
@@ -272,7 +281,7 @@ class AsyncSessionManagerImpl {
272
281
  entry.backgroundBootstrapPromise = backgroundBootstrapPromise;
273
282
  }
274
283
  submitText(entry, text, source, additionalSystemMessage, mode = "submit") {
275
- if (!entry.client) {
284
+ if (!entry.tauSession) {
276
285
  throw new AsyncSessionManagerError("not_ready", "session is still preparing");
277
286
  }
278
287
  if (entry.activeSubmit && mode !== "steer") {
@@ -284,12 +293,12 @@ class AsyncSessionManagerImpl {
284
293
  text,
285
294
  });
286
295
  const previousSubmit = entry.activeSubmit;
287
- const client = entry.client;
296
+ const tauSession = entry.tauSession;
288
297
  const payload = this.buildSubmitPayload(text, additionalSystemMessage);
289
298
  let submitPromise;
290
299
  submitPromise = (async () => {
291
300
  try {
292
- const result = mode === "steer" ? await client.submit(payload, { mode }) : await client.submit(payload);
301
+ const result = mode === "steer" ? await tauSession.steer(payload) : await tauSession.submit(payload);
293
302
  this.log(entry, result.turn.blocked ? "error" : "info", "message finished", {
294
303
  source,
295
304
  aborted: result.turn.aborted,
@@ -320,7 +329,9 @@ class AsyncSessionManagerImpl {
320
329
  ? Promise.all([previousSubmit, submitPromise]).then(() => undefined)
321
330
  : submitPromise;
322
331
  entry.activeSubmit = trackedSubmit;
323
- void trackedSubmit.finally(() => {
332
+ void trackedSubmit
333
+ .catch(() => undefined)
334
+ .finally(() => {
324
335
  if (entry.activeSubmit === trackedSubmit) {
325
336
  entry.activeSubmit = undefined;
326
337
  if (!entry.cancelRequested && entry.record.state === "running") {
@@ -430,10 +441,11 @@ class AsyncSessionManagerImpl {
430
441
  return;
431
442
  }
432
443
  const client = entry.client;
444
+ const tauSession = entry.tauSession;
433
445
  let closePromise;
434
446
  closePromise = (async () => {
435
447
  try {
436
- await client.interrupt();
448
+ await tauSession?.interrupt();
437
449
  }
438
450
  catch (error) {
439
451
  this.log(entry, "warn", "interrupt failed", {
@@ -441,10 +453,10 @@ class AsyncSessionManagerImpl {
441
453
  });
442
454
  }
443
455
  try {
444
- await client.shutdown();
456
+ await tauSession?.unobserve();
445
457
  }
446
458
  catch (error) {
447
- this.log(entry, "warn", "shutdown failed", {
459
+ this.log(entry, "warn", "unobserve failed", {
448
460
  cause: error instanceof Error ? error.message : String(error),
449
461
  });
450
462
  }
@@ -463,6 +475,9 @@ class AsyncSessionManagerImpl {
463
475
  if (entry.client === client) {
464
476
  entry.client = undefined;
465
477
  }
478
+ if (entry.tauSession === tauSession) {
479
+ entry.tauSession = undefined;
480
+ }
466
481
  });
467
482
  entry.clientClosePromise = closePromise;
468
483
  await closePromise;
@@ -560,52 +575,64 @@ class AsyncSessionManagerImpl {
560
575
  }
561
576
  }
562
577
  }
563
- handleClientEvent(entry, sdkEvent) {
564
- if (!entry.activeSubmit) {
578
+ handleClientEvent(entry, clientEvent) {
579
+ if (clientEvent.delta.type !== "snapshot.patch") {
565
580
  return;
566
581
  }
567
- const parsedEnvelope = safeParseCoreEventEnvelope(sdkEvent.event);
568
- if (!parsedEnvelope.ok) {
582
+ for (const change of clientEvent.delta.changes) {
583
+ if (change.type === "facet.set") {
584
+ this.handleFacetProgress(entry, change.facet);
585
+ continue;
586
+ }
587
+ if (change.type === "message.replace" &&
588
+ change.message.state === "committed" &&
589
+ isAssistantMessage(change.message.message)) {
590
+ const text = extractAssistantText(change.message.message);
591
+ if (text) {
592
+ this.emitProgress(entry, {
593
+ type: "assistant-message",
594
+ text,
595
+ });
596
+ }
597
+ }
598
+ }
599
+ }
600
+ handleFacetProgress(entry, facet) {
601
+ if (facet.kind !== "tau.tool-ui-events" || !Array.isArray(facet.data.events)) {
569
602
  return;
570
603
  }
571
- const { event: coreEvent } = parsedEnvelope.value;
572
- switch (coreEvent.type) {
573
- case "tool_ui": {
574
- switch (coreEvent.uiEvent.type) {
575
- case "bash_started":
604
+ const consumed = Math.min(entry.consumedFacetEventCounts.get(facet.id) ?? 0, facet.data.events.length);
605
+ entry.consumedFacetEventCounts.set(facet.id, facet.data.events.length);
606
+ for (const event of facet.data.events.slice(consumed)) {
607
+ if (!isToolUiEvent(event)) {
608
+ continue;
609
+ }
610
+ switch (event.type) {
611
+ case "bash_started":
612
+ if (typeof event.command === "string") {
576
613
  this.emitProgress(entry, {
577
614
  type: "bash-command",
578
- command: coreEvent.uiEvent.command,
615
+ command: event.command,
579
616
  });
580
- return;
581
- case "edit_success":
617
+ }
618
+ break;
619
+ case "edit_success":
620
+ if (typeof event.path === "string") {
582
621
  this.emitProgress(entry, {
583
622
  type: "edited-file",
584
- path: coreEvent.uiEvent.path,
623
+ path: event.path,
585
624
  });
586
- return;
587
- case "write_success":
625
+ }
626
+ break;
627
+ case "write_success":
628
+ if (typeof event.path === "string") {
588
629
  this.emitProgress(entry, {
589
630
  type: "wrote-file",
590
- path: coreEvent.uiEvent.path,
631
+ path: event.path,
591
632
  });
592
- return;
593
- default:
594
- return;
595
- }
596
- }
597
- case "assistant_final": {
598
- const text = extractAssistantText(coreEvent.message);
599
- if (text) {
600
- this.emitProgress(entry, {
601
- type: "assistant-message",
602
- text,
603
- });
604
- }
605
- return;
633
+ }
634
+ break;
606
635
  }
607
- default:
608
- return;
609
636
  }
610
637
  }
611
638
  emitProgress(entry, progress) {
@@ -622,6 +649,22 @@ class AsyncSessionManagerImpl {
622
649
  return { ...entry.record };
623
650
  }
624
651
  }
652
+ function isAssistantMessage(message) {
653
+ return (typeof message === "object" &&
654
+ message !== null &&
655
+ "role" in message &&
656
+ message.role === "assistant" &&
657
+ "usage" in message &&
658
+ "stopReason" in message);
659
+ }
660
+ function isToolUiEvent(value) {
661
+ return (typeof value === "object" &&
662
+ value !== null &&
663
+ "type" in value &&
664
+ typeof value.type === "string" &&
665
+ "toolCallId" in value &&
666
+ typeof value.toolCallId === "string");
667
+ }
625
668
  const CLOSEABLE_STATES_WITH_CLOSE_ALL = new Set([
626
669
  "waiting-input",
627
670
  "failed",
@@ -1 +1 @@
1
- {"version":3,"file":"session_manager.js","sourceRoot":"","sources":["../../../src/core/async/session_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session_manager.js","sourceRoot":"","sources":["../../../src/core/async/session_manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { OpenAICodexAdapter } from "./providers/openai_codex.js";
2
2
  export class AuthManager {
3
3
  authStorage;
4
- static sessionSelections = new Map();
5
4
  adapters;
6
5
  constructor(authStorage, adapters) {
7
6
  this.authStorage = authStorage;
@@ -56,96 +55,5 @@ export class AuthManager {
56
55
  throw new Error(`account "${accountId}" not found for provider "${providerId}"`);
57
56
  }
58
57
  }
59
- async getApiKey(provider, options) {
60
- const adapter = this.adapters.get(provider);
61
- if (!adapter) {
62
- return undefined;
63
- }
64
- this.authStorage.reload();
65
- const invalidReason = this.authStorage.getInvalidReason();
66
- if (invalidReason) {
67
- throw new Error(invalidReason);
68
- }
69
- const forcedAccountId = adapter.getForcedAccountId?.(this.authStorage);
70
- if (forcedAccountId) {
71
- const apiKey = await adapter.getApiKeyForAccount(this.authStorage, forcedAccountId);
72
- if (apiKey) {
73
- if (options?.sessionId) {
74
- AuthManager.setSelectedAccount(options.sessionId, adapter.id, forcedAccountId);
75
- }
76
- return apiKey;
77
- }
78
- return undefined;
79
- }
80
- const sessionId = options?.sessionId;
81
- if (sessionId) {
82
- const selectedAccountId = AuthManager.getSelectedAccount(sessionId, adapter.id);
83
- if (selectedAccountId) {
84
- const apiKey = await adapter.getApiKeyForAccount(this.authStorage, selectedAccountId);
85
- if (apiKey) {
86
- const usable = adapter.isAccountUsable
87
- ? await adapter.isAccountUsable(this.authStorage, selectedAccountId, { apiKey })
88
- : true;
89
- if (usable) {
90
- return apiKey;
91
- }
92
- }
93
- AuthManager.clearSelectedAccount(sessionId, adapter.id);
94
- }
95
- }
96
- const selection = await adapter.selectAccount(this.authStorage);
97
- if (!selection) {
98
- return undefined;
99
- }
100
- if (sessionId) {
101
- AuthManager.setSelectedAccount(sessionId, adapter.id, selection.accountId);
102
- }
103
- return selection.apiKey;
104
- }
105
- async noteProviderError(provider, options) {
106
- const adapter = this.adapters.get(provider);
107
- if (!adapter) {
108
- return;
109
- }
110
- this.authStorage.reload();
111
- const invalidReason = this.authStorage.getInvalidReason();
112
- if (invalidReason) {
113
- throw new Error(invalidReason);
114
- }
115
- const sessionId = options?.sessionId;
116
- if (!sessionId)
117
- return;
118
- const forcedAccountId = adapter.getForcedAccountId?.(this.authStorage);
119
- const selectedAccountId = forcedAccountId ?? AuthManager.getSelectedAccount(sessionId, adapter.id);
120
- if (!selectedAccountId)
121
- return;
122
- if (!adapter.handleProviderError) {
123
- return;
124
- }
125
- const shouldClear = await adapter.handleProviderError(this.authStorage, selectedAccountId, options?.error);
126
- if (shouldClear && !forcedAccountId) {
127
- AuthManager.clearSelectedAccount(sessionId, adapter.id);
128
- }
129
- }
130
- static getSelectedAccount(sessionId, providerId) {
131
- return AuthManager.sessionSelections.get(sessionId)?.get(providerId);
132
- }
133
- static setSelectedAccount(sessionId, providerId, accountId) {
134
- let selections = AuthManager.sessionSelections.get(sessionId);
135
- if (!selections) {
136
- selections = new Map();
137
- AuthManager.sessionSelections.set(sessionId, selections);
138
- }
139
- selections.set(providerId, accountId);
140
- }
141
- static clearSelectedAccount(sessionId, providerId) {
142
- const selections = AuthManager.sessionSelections.get(sessionId);
143
- if (!selections)
144
- return;
145
- selections.delete(providerId);
146
- if (selections.size === 0) {
147
- AuthManager.sessionSelections.delete(sessionId);
148
- }
149
- }
150
58
  }
151
59
  //# sourceMappingURL=auth_manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth_manager.js","sourceRoot":"","sources":["../../../src/core/auth/auth_manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAUjE,MAAM,OAAO,WAAW;IAKH;IAJX,MAAM,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACzD,QAAQ,CAAmC;IAE5D,YACmB,WAAwB,EACzC,QAAgC;QADf,gBAAW,GAAX,WAAW,CAAa;QAGzC,MAAM,eAAe,GAAG,QAAQ,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvE,MAAM,iBAAiB,GAAG,eAAe,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC;oBACX,UAAU,EAAE,OAAO,CAAC,EAAE;oBACtB,aAAa,EAAE,OAAO,CAAC,KAAK;oBAC5B,QAAQ;oBACR,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,WAA6B;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,wBAAwB,EAAE,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,aAAa,CAAC,UAAkB,EAAE,SAAiB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,6BAA6B,UAAU,GAAG,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,OAAgC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACpF,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;oBACvB,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAChF,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACtF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe;wBACpC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC;wBAChF,CAAC,CAAC,IAAI,CAAC;oBACT,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,MAAM,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,WAAW,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAgB,EAChB,OAAiD;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,iBAAiB,GACrB,eAAe,IAAI,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAE/B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,mBAAmB,CACnD,IAAI,CAAC,WAAW,EAChB,iBAAiB,EACjB,OAAO,EAAE,KAAK,CACf,CAAC;QACF,IAAI,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,WAAW,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,SAAiB,EAAE,UAAkB;QACrE,OAAO,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,SAAiB,EACjB,UAAkB,EAClB,SAAiB;QAEjB,IAAI,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,SAAiB,EAAE,UAAkB;QACvE,MAAM,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"auth_manager.js","sourceRoot":"","sources":["../../../src/core/auth/auth_manager.ts"],"names":[],"mappings":"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"}