@markusylisiurunen/tau 0.3.72 → 0.3.74

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 (174) hide show
  1. package/dist/core/agent/agent_runtime.js +121 -65
  2. package/dist/core/agent/agent_runtime.js.map +1 -1
  3. package/dist/core/cli.js +1 -0
  4. package/dist/core/cli.js.map +1 -1
  5. package/dist/core/config/builtin_themes.js +31 -0
  6. package/dist/core/config/builtin_themes.js.map +1 -1
  7. package/dist/core/config/schema.js +8 -0
  8. package/dist/core/config/schema.js.map +1 -1
  9. package/dist/core/history/remote_history_client.js +1 -0
  10. package/dist/core/history/remote_history_client.js.map +1 -1
  11. package/dist/core/history/transcript.js +9 -0
  12. package/dist/core/history/transcript.js.map +1 -1
  13. package/dist/core/personas.js +4 -3
  14. package/dist/core/personas.js.map +1 -1
  15. package/dist/core/runtime/chat_runtime.js +3 -0
  16. package/dist/core/runtime/chat_runtime.js.map +1 -1
  17. package/dist/core/runtime/model_sampler.js +4 -1
  18. package/dist/core/runtime/model_sampler.js.map +1 -1
  19. package/dist/core/session/auto_compaction_archive.js +18 -2
  20. package/dist/core/session/auto_compaction_archive.js.map +1 -1
  21. package/dist/core/session/compaction.js +12 -8
  22. package/dist/core/session/compaction.js.map +1 -1
  23. package/dist/core/static/code_mode/history/documentation.md +1 -1
  24. package/dist/core/static/tau_docs/client-tools.md +1 -1
  25. package/dist/core/static/tau_docs/credentials.md +8 -5
  26. package/dist/core/static/tau_docs/history.md +1 -0
  27. package/dist/core/static/tau_docs/image-generation.md +132 -0
  28. package/dist/core/static/tau_docs/index.md +6 -0
  29. package/dist/core/static/tau_docs/manifest.json +3 -0
  30. package/dist/core/static/tau_docs/pdf-unpacking.md +38 -0
  31. package/dist/core/static/tau_docs/personas.md +1 -1
  32. package/dist/core/static/tau_docs/security.md +2 -2
  33. package/dist/core/static/tau_docs/session-protocol-methods.md +3 -3
  34. package/dist/core/static/tau_docs/session-protocol.md +13 -9
  35. package/dist/core/static/tau_docs/sessions.md +9 -1
  36. package/dist/core/static/tau_docs/speech-generation.md +181 -0
  37. package/dist/core/static/tau_docs/telegram.md +6 -12
  38. package/dist/core/static/tau_docs/tools.md +24 -23
  39. package/dist/core/static/tau_docs/tui.md +4 -2
  40. package/dist/core/telegram/adapter.js +138 -302
  41. package/dist/core/telegram/adapter.js.map +1 -1
  42. package/dist/core/telegram/attachments.js +78 -0
  43. package/dist/core/telegram/attachments.js.map +1 -0
  44. package/dist/core/telegram/runtime.js +2 -2
  45. package/dist/core/telegram/runtime.js.map +1 -1
  46. package/dist/core/telegram/{send_image.js → send_file.js} +52 -31
  47. package/dist/core/telegram/send_file.js.map +1 -0
  48. package/dist/core/telegram/session_manager.js +12 -0
  49. package/dist/core/telegram/session_manager.js.map +1 -1
  50. package/dist/core/tool/cli.js +22 -2
  51. package/dist/core/tool/cli.js.map +1 -1
  52. package/dist/core/tool/image_generate.js +320 -0
  53. package/dist/core/tool/image_generate.js.map +1 -0
  54. package/dist/core/tool/media.js +71 -0
  55. package/dist/core/tool/media.js.map +1 -0
  56. package/dist/core/tool/pdf_unpack.js +3 -1
  57. package/dist/core/tool/pdf_unpack.js.map +1 -1
  58. package/dist/core/tool/speech_generate.js +269 -0
  59. package/dist/core/tool/speech_generate.js.map +1 -0
  60. package/dist/core/tools/bash_jobs.js +2 -1
  61. package/dist/core/tools/bash_jobs.js.map +1 -1
  62. package/dist/core/tools/tau_docs.js +25 -8
  63. package/dist/core/tools/tau_docs.js.map +1 -1
  64. package/dist/core/utils/compact.js +8 -0
  65. package/dist/core/utils/compact.js.map +1 -1
  66. package/dist/core/utils/gemini_transcription.js +30 -12
  67. package/dist/core/utils/gemini_transcription.js.map +1 -1
  68. package/dist/core/utils/speech_to_text.js +4 -0
  69. package/dist/core/utils/speech_to_text.js.map +1 -1
  70. package/dist/core/version.js +2 -2
  71. package/dist/diff_tool/app/dist/assets/{angular-html-D8XZ6L1W.js → angular-html-BjHlbeCk.js} +1 -1
  72. package/dist/diff_tool/app/dist/assets/{angular-ts-B2aLLY_Z.js → angular-ts-5J5hsUV-.js} +1 -1
  73. package/dist/diff_tool/app/dist/assets/{apl-CfprQVX4.js → apl-ChIs51_N.js} +1 -1
  74. package/dist/diff_tool/app/dist/assets/{astro-D2f_I3HE.js → astro-RtGdbaIT.js} +1 -1
  75. package/dist/diff_tool/app/dist/assets/{blade-CLtAGpBc.js → blade-Cuc0ZzS1.js} +1 -1
  76. package/dist/diff_tool/app/dist/assets/{c-Qn9tF0wR.js → c-IpjS3QEt.js} +1 -1
  77. package/dist/diff_tool/app/dist/assets/{chapel-DabpXN2c.js → chapel-BvHOmF40.js} +1 -1
  78. package/dist/diff_tool/app/dist/assets/{cobol-BS9rswW2.js → cobol-BWLkapNx.js} +1 -1
  79. package/dist/diff_tool/app/dist/assets/{coffee-DJjZTCkh.js → coffee-lfdf_MuK.js} +1 -1
  80. package/dist/diff_tool/app/dist/assets/{cpp-6G1npUMW.js → cpp-GvMfdutG.js} +1 -1
  81. package/dist/diff_tool/app/dist/assets/{crystal-yGprvv5C.js → crystal--kdmUeXB.js} +1 -1
  82. package/dist/diff_tool/app/dist/assets/{css-BnlmtDZM.js → css-CnlOazId.js} +1 -1
  83. package/dist/diff_tool/app/dist/assets/{edge-DSSWy6df.js → edge-CwnxQiFe.js} +1 -1
  84. package/dist/diff_tool/app/dist/assets/{elixir-Drn1Bw4g.js → elixir-BVO19qQd.js} +1 -1
  85. package/dist/diff_tool/app/dist/assets/{elm-BtjpPFL1.js → elm-BK3istEo.js} +1 -1
  86. package/dist/diff_tool/app/dist/assets/{erb-I91oznQj.js → erb-CO4uKwKD.js} +1 -1
  87. package/dist/diff_tool/app/dist/assets/{git-rebase-B6EXosZ2.js → git-rebase-CDrrgbGV.js} +1 -1
  88. package/dist/diff_tool/app/dist/assets/{glimmer-js-Brv1Xv0-.js → glimmer-js-7CFSyo6c.js} +1 -1
  89. package/dist/diff_tool/app/dist/assets/{glimmer-ts-hSHEQSwK.js → glimmer-ts-Ofllf2Yo.js} +1 -1
  90. package/dist/diff_tool/app/dist/assets/{glsl-Bztv6m8n.js → glsl-K_36bq1K.js} +1 -1
  91. package/dist/diff_tool/app/dist/assets/{graphql-D6eZu1mk.js → graphql-BMZnssUN.js} +1 -1
  92. package/dist/diff_tool/app/dist/assets/{hack-MG8_CyJU.js → hack-MG_t8QNs.js} +1 -1
  93. package/dist/diff_tool/app/dist/assets/{haml-DOpHECVn.js → haml-0hDK-uCt.js} +1 -1
  94. package/dist/diff_tool/app/dist/assets/{handlebars-CXn0JyYm.js → handlebars-D4_MRJPB.js} +1 -1
  95. package/dist/diff_tool/app/dist/assets/{html-yv5WBZF_.js → html-BCi--7qp.js} +1 -1
  96. package/dist/diff_tool/app/dist/assets/{html-derivative-D_UZAUld.js → html-derivative-DYq2AWiD.js} +1 -1
  97. package/dist/diff_tool/app/dist/assets/{http-Cuq8OMRz.js → http-BmLFm2Pm.js} +1 -1
  98. package/dist/diff_tool/app/dist/assets/{hurl-BpL1rvQi.js → hurl-CT71cK69.js} +1 -1
  99. package/dist/diff_tool/app/dist/assets/index-DyaXBald.js +340 -0
  100. package/dist/diff_tool/app/dist/assets/{java-lOL4pIA5.js → java-Bm2FCq-d.js} +1 -1
  101. package/dist/diff_tool/app/dist/assets/{javascript-24hXqooT.js → javascript-C7oEny21.js} +1 -1
  102. package/dist/diff_tool/app/dist/assets/{jinja-CcJm4wgQ.js → jinja-igQBS-SS.js} +1 -1
  103. package/dist/diff_tool/app/dist/assets/{jison-CLWGaM3Z.js → jison-BrOUp4rK.js} +1 -1
  104. package/dist/diff_tool/app/dist/assets/{json-Q4rTF_eD.js → json-DsuR7Nai.js} +1 -1
  105. package/dist/diff_tool/app/dist/assets/{jsx-DgKO46Ra.js → jsx-BdomFXcA.js} +1 -1
  106. package/dist/diff_tool/app/dist/assets/{julia-CcL4q47t.js → julia-DqOG4pbM.js} +1 -1
  107. package/dist/diff_tool/app/dist/assets/{just-CSIuzTSo.js → just-ZrSTuT0n.js} +1 -1
  108. package/dist/diff_tool/app/dist/assets/{latex-Ciy3mJH4.js → latex-DbmtZIwN.js} +1 -1
  109. package/dist/diff_tool/app/dist/assets/{liquid-OONbg0h-.js → liquid-DKnUlRIp.js} +1 -1
  110. package/dist/diff_tool/app/dist/assets/{lua-Btm14Bzf.js → lua-Cyq3f59a.js} +1 -1
  111. package/dist/diff_tool/app/dist/assets/{marko-BmewWoW6.js → marko-hmOsFPHQ.js} +1 -1
  112. package/dist/diff_tool/app/dist/assets/{mdc-sWVstZzQ.js → mdc-BnnQmDC-.js} +1 -1
  113. package/dist/diff_tool/app/dist/assets/{nginx-Dcc3mAzJ.js → nginx-C0zLUSna.js} +1 -1
  114. package/dist/diff_tool/app/dist/assets/{nim-vtS9CCAW.js → nim-Oljl3c5n.js} +1 -1
  115. package/dist/diff_tool/app/dist/assets/{org-B7feKU2q.js → org-Cp4CA-0c.js} +1 -1
  116. package/dist/diff_tool/app/dist/assets/{perl-7rFQ23Cs.js → perl-DstDVYmJ.js} +1 -1
  117. package/dist/diff_tool/app/dist/assets/{php-AmgTWRKZ.js → php-Cc3bNZ7J.js} +1 -1
  118. package/dist/diff_tool/app/dist/assets/{pug-eaJXnOWe.js → pug-B3xDUzl0.js} +1 -1
  119. package/dist/diff_tool/app/dist/assets/{qml-BBoySWOD.js → qml-B9iDahKk.js} +1 -1
  120. package/dist/diff_tool/app/dist/assets/{r-B2GBKjgG.js → r-B7M5ZSBC.js} +1 -1
  121. package/dist/diff_tool/app/dist/assets/{razor-D8emi4Jp.js → razor-BlfV6bjQ.js} +1 -1
  122. package/dist/diff_tool/app/dist/assets/{regexp-CKBgZg4Y.js → regexp-BVT0NBj6.js} +1 -1
  123. package/dist/diff_tool/app/dist/assets/{rst-CVpwV-bV.js → rst-Cq-Mcher.js} +1 -1
  124. package/dist/diff_tool/app/dist/assets/{ruby-DmnwJ-ac.js → ruby-5uCK_s01.js} +1 -1
  125. package/dist/diff_tool/app/dist/assets/{sas-evRrvJrO.js → sas-m4dYluKN.js} +1 -1
  126. package/dist/diff_tool/app/dist/assets/{scss-Do3O6tsR.js → scss-DFiJcBQH.js} +1 -1
  127. package/dist/diff_tool/app/dist/assets/{shellscript-D7jRMvC2.js → shellscript-DCtSkJJQ.js} +1 -1
  128. package/dist/diff_tool/app/dist/assets/{shellsession-BiBPKva9.js → shellsession-_DntbpLM.js} +1 -1
  129. package/dist/diff_tool/app/dist/assets/{soy-CR-Q7WHe.js → soy-Dd1fWsG8.js} +1 -1
  130. package/dist/diff_tool/app/dist/assets/{sql-CoBwCDCB.js → sql-Bygp5F-5.js} +1 -1
  131. package/dist/diff_tool/app/dist/assets/{stata-D6KdJ8PZ.js → stata-CqIA1VQD.js} +1 -1
  132. package/dist/diff_tool/app/dist/assets/{surrealql-Cmqi02II.js → surrealql-C2-2C-z3.js} +1 -1
  133. package/dist/diff_tool/app/dist/assets/{svelte-DdZNRb2C.js → svelte-CrTy7VSb.js} +1 -1
  134. package/dist/diff_tool/app/dist/assets/{templ-CFz1LMKK.js → templ-B_h9AHFJ.js} +1 -1
  135. package/dist/diff_tool/app/dist/assets/{tex-m3WJ8u0a.js → tex-AwlGuBDG.js} +1 -1
  136. package/dist/diff_tool/app/dist/assets/{ts-tags-fLY9Y9r5.js → ts-tags--oqU6stH.js} +1 -1
  137. package/dist/diff_tool/app/dist/assets/{tsx-B6WfBUEX.js → tsx-Cx-oUPFA.js} +1 -1
  138. package/dist/diff_tool/app/dist/assets/{twig-D9vOrthV.js → twig-DMQw3R9O.js} +1 -1
  139. package/dist/diff_tool/app/dist/assets/{typescript-BZTxacEG.js → typescript-BCtu9W7E.js} +1 -1
  140. package/dist/diff_tool/app/dist/assets/{typst-JP3so6Z2.js → typst-jGrqJHSo.js} +1 -1
  141. package/dist/diff_tool/app/dist/assets/{vue-gWDhG9Fb.js → vue-GFZcsvXd.js} +1 -1
  142. package/dist/diff_tool/app/dist/assets/{vue-html-CaRyGpdm.js → vue-html-DTMalvg7.js} +1 -1
  143. package/dist/diff_tool/app/dist/assets/{vue-vine-DJXQ6msH.js → vue-vine-BwDeqLrM.js} +1 -1
  144. package/dist/diff_tool/app/dist/assets/{xml-Cvn8jjwq.js → xml-CoXyuOzf.js} +1 -1
  145. package/dist/diff_tool/app/dist/assets/{xsl-BpNEamvK.js → xsl-BQFm34CN.js} +1 -1
  146. package/dist/diff_tool/app/dist/assets/{yaml-BQh9PoCE.js → yaml-CbO2A_pF.js} +1 -1
  147. package/dist/diff_tool/app/dist/index.html +1 -1
  148. package/dist/history/worker/index.js +5 -5
  149. package/dist/history/worker/index.js.map +1 -1
  150. package/dist/history/worker/viewer.js +8 -8
  151. package/dist/host/local_session_host.js +31 -7
  152. package/dist/host/local_session_host.js.map +1 -1
  153. package/dist/protocol/session_protocol.d.ts +9 -4
  154. package/dist/protocol/session_protocol.js +19 -5
  155. package/dist/protocol/session_protocol.js.map +1 -1
  156. package/dist/protocol/system_message.d.ts +15 -0
  157. package/dist/protocol/system_message.js +30 -0
  158. package/dist/protocol/system_message.js.map +1 -0
  159. package/dist/tui/chat_view.js +3 -0
  160. package/dist/tui/chat_view.js.map +1 -1
  161. package/dist/tui/listen_capture.js +1 -0
  162. package/dist/tui/listen_capture.js.map +1 -1
  163. package/dist/tui/session_chat_controller.js +140 -63
  164. package/dist/tui/session_chat_controller.js.map +1 -1
  165. package/dist/tui/ui/components/editor.js +42 -0
  166. package/dist/tui/ui/components/editor.js.map +1 -1
  167. package/dist/tui/ui/custom_editor.js +50 -14
  168. package/dist/tui/ui/custom_editor.js.map +1 -1
  169. package/dist/tui/ui/theme/palette.js +2 -0
  170. package/dist/tui/ui/theme/palette.js.map +1 -1
  171. package/dist/tui/ui/theme/theme.js.map +1 -1
  172. package/package.json +18 -18
  173. package/dist/core/telegram/send_image.js.map +0 -1
  174. package/dist/diff_tool/app/dist/assets/index-B4p26B5b.js +0 -1559
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ const intermediateSystemMessageSchema = z.strictObject({
3
+ role: z.literal("system"),
4
+ content: z.string(),
5
+ timestamp: z.number().finite(),
6
+ metadata: z.strictObject({
7
+ type: z.enum(["instruction", "auto-compaction-continuation"]),
8
+ version: z.literal(1),
9
+ }),
10
+ });
11
+ export function parseIntermediateSystemMessage(value) {
12
+ return intermediateSystemMessageSchema.parse(value);
13
+ }
14
+ export function isIntermediateSystemMessage(value) {
15
+ return intermediateSystemMessageSchema.safeParse(value).success;
16
+ }
17
+ export function isSystemCompactionContinuation(message) {
18
+ return (isIntermediateSystemMessage(message) && message.metadata.type === "auto-compaction-continuation");
19
+ }
20
+ export function projectSystemMessage(message) {
21
+ if (message.role !== "system")
22
+ return message;
23
+ const systemMessage = intermediateSystemMessageSchema.parse(message);
24
+ return {
25
+ role: systemMessage.role,
26
+ content: systemMessage.content,
27
+ timestamp: systemMessage.timestamp,
28
+ };
29
+ }
30
+ //# sourceMappingURL=system_message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system_message.js","sourceRoot":"","sources":["../../src/protocol/system_message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,+BAA+B,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACtB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAO,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,OAAO,+BAA+B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,OAAO,CACL,2BAA2B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,8BAA8B,CACjG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC9C,MAAM,aAAa,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;KACnC,CAAC;AACJ,CAAC"}
@@ -190,6 +190,9 @@ export class TuiChatView {
190
190
  this.editor.insertTextAtCursor(text);
191
191
  this.ui.requestRender();
192
192
  }
193
+ beginEditorTextPreview() {
194
+ return this.editor.beginTextPreview();
195
+ }
193
196
  setEditorInputEnabled(enabled) {
194
197
  this.editor.setInputEnabled(enabled);
195
198
  this.ui.requestRender();
@@ -1 +1 @@
1
- {"version":3,"file":"chat_view.js","sourceRoot":"","sources":["../../src/tui/chat_view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat_view.js","sourceRoot":"","sources":["../../src/tui/chat_view.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,7 @@ export function createListenTranscription(args) {
135
135
  }
136
136
  return createSpeechToTextTranscription({
137
137
  provider,
138
+ onProgress: args.onProgress,
138
139
  mode: args.mode,
139
140
  apiKey,
140
141
  context: args.context,
@@ -1 +1 @@
1
- {"version":3,"file":"listen_capture.js","sourceRoot":"","sources":["../../src/tui/listen_capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listen_capture.js","sourceRoot":"","sources":["../../src/tui/listen_capture.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { TOOL_NAME_BASH } from "../core/tools/tool_names.js";
10
10
  import { REASONING_LEVELS } from "../core/types.js";
11
11
  import { formatAdaptiveNumber, formatCwd, formatTokenWindow } from "../core/utils/format.js";
12
12
  import { extractAssistantText } from "../core/utils/messages.js";
13
- import { getSpeechToTextStreamingSampleRate, SPEECH_TO_TEXT_CLIENT_MAX_DURATION_MS, } from "../core/utils/speech_to_text.js";
13
+ import { getSpeechToTextRecordingMaxDurationMs, getSpeechToTextStreamingSampleRate, SPEECH_TO_TEXT_CLIENT_MAX_DURATION_MS, } from "../core/utils/speech_to_text.js";
14
14
  import { collectSpeechToTextContext } from "../core/utils/speech_to_text_context.js";
15
15
  import { hasAutoCompactionContinuationMetadata } from "../core/utils/user_metadata.js";
16
16
  import { APP_VERSION } from "../core/version.js";
@@ -75,12 +75,15 @@ export class SessionChatController {
75
75
  lastTurnDurationMs = 0;
76
76
  turnTimer;
77
77
  lastEmptySubmitAt;
78
+ disposed = false;
78
79
  listenRecording;
79
80
  retainedListenAudio;
80
81
  listenTransition;
81
82
  listenStartupAbortController;
82
83
  activeListenTranscription;
83
84
  listenActivityLabel;
85
+ listenPreview;
86
+ pendingEditorMutations = 0;
84
87
  speechActivityLabel;
85
88
  speakTask;
86
89
  constructor(options) {
@@ -145,6 +148,8 @@ export class SessionChatController {
145
148
  this.refreshStatus();
146
149
  }
147
150
  async dispose() {
151
+ this.disposed = true;
152
+ this.endListenPreview();
148
153
  this.eventUnsubscribe?.();
149
154
  this.ephemeralUnsubscribe?.();
150
155
  this.pendingUserMessagesUnsubscribe?.();
@@ -482,6 +487,7 @@ export class SessionChatController {
482
487
  });
483
488
  }
484
489
  async cancelPendingMessagesIntoEditor() {
490
+ this.pendingEditorMutations++;
485
491
  try {
486
492
  const { cancelled } = await this.session.cancelPendingMessages();
487
493
  if (cancelled.length === 0) {
@@ -496,6 +502,9 @@ export class SessionChatController {
496
502
  error.message,
497
503
  ]);
498
504
  }
505
+ finally {
506
+ this.pendingEditorMutations--;
507
+ }
499
508
  }
500
509
  isPendingMessageCancellation(error) {
501
510
  return error instanceof TauSessionProtocolResponseError && error.code === "cancelled";
@@ -601,6 +610,10 @@ export class SessionChatController {
601
610
  await this.startListenCaptureFromCommand();
602
611
  }
603
612
  async startListenCaptureFromCommand() {
613
+ if (this.pendingEditorMutations > 0) {
614
+ this.view.showFooterNotice("wait for the input update before recording", "default");
615
+ return;
616
+ }
604
617
  if (this.listenTransition) {
605
618
  this.view.showFooterNotice("speech recording state change already in progress", "default");
606
619
  return;
@@ -642,6 +655,7 @@ export class SessionChatController {
642
655
  ]);
643
656
  return;
644
657
  }
658
+ this.beginListenPreview();
645
659
  const retainedAudio = this.retainedListenAudio;
646
660
  let audioPath;
647
661
  let transcription;
@@ -649,6 +663,8 @@ export class SessionChatController {
649
663
  let completion;
650
664
  try {
651
665
  audioPath = await createListenTempFilePath(this.deps);
666
+ if (this.disposed)
667
+ throw new Error("speech recording startup cancelled");
652
668
  transcription = this.createSpeechTranscription("streaming");
653
669
  abortController = new AbortController();
654
670
  this.listenStartupAbortController = abortController;
@@ -698,14 +714,13 @@ export class SessionChatController {
698
714
  if (this.listenRecording !== recording || this.listenTransition)
699
715
  return;
700
716
  void this.runListenTransition(() => this.stopListenCapture());
701
- }, SPEECH_TO_TEXT_CLIENT_MAX_DURATION_MS);
717
+ }, getSpeechToTextRecordingMaxDurationMs(getSpeechToTextProvider(this.config)));
702
718
  this.listenRecording = recording;
703
- this.view.setEditorInputEnabled(false);
704
719
  this.refreshStatus();
705
720
  void this.watchListenRecording(recording);
706
721
  }
707
722
  catch (err) {
708
- const cancelled = abortController?.signal.reason === LISTEN_CAPTURE_START_CANCELLED;
723
+ const cancelled = this.disposed || abortController?.signal.reason === LISTEN_CAPTURE_START_CANCELLED;
709
724
  abortController?.abort();
710
725
  transcription?.abort();
711
726
  await completion?.catch(() => undefined);
@@ -719,6 +734,8 @@ export class SessionChatController {
719
734
  }
720
735
  }
721
736
  finally {
737
+ if (!this.listenRecording)
738
+ this.endListenPreview();
722
739
  if (this.listenStartupAbortController === abortController) {
723
740
  this.listenStartupAbortController = undefined;
724
741
  }
@@ -751,7 +768,6 @@ export class SessionChatController {
751
768
  recording.stopRequested = true;
752
769
  this.clearListenRecordingMaxDurationTimeout(recording);
753
770
  this.listenRecording = undefined;
754
- this.view.setEditorInputEnabled(true);
755
771
  this.refreshStatus();
756
772
  recording.abortController.abort();
757
773
  try {
@@ -759,6 +775,7 @@ export class SessionChatController {
759
775
  }
760
776
  catch (err) {
761
777
  recording.transcription.abort();
778
+ this.endListenPreview();
762
779
  this.view.addTranscriptNotice("failed to record audio", "error", [err.message]);
763
780
  await cleanupListenTempFile(recording.audioPath);
764
781
  return;
@@ -767,6 +784,10 @@ export class SessionChatController {
767
784
  await this.transcribeListenAudioFile(recording.audioPath, durationMs, recording.transcription);
768
785
  }
769
786
  async retryRetainedListenAudio() {
787
+ if (this.pendingEditorMutations > 0) {
788
+ this.view.showFooterNotice("wait for the input update before transcribing", "default");
789
+ return;
790
+ }
770
791
  if (this.listenRecording || this.listenTransition || this.listenActivityLabel) {
771
792
  this.view.showFooterNotice("speech recording state change already in progress", "default");
772
793
  return;
@@ -802,87 +823,128 @@ export class SessionChatController {
802
823
  ]);
803
824
  }
804
825
  }
826
+ beginListenPreview() {
827
+ this.listenPreview = this.view.beginEditorTextPreview();
828
+ this.view.setEditorInputEnabled(false);
829
+ }
830
+ endListenPreview() {
831
+ const preview = this.listenPreview;
832
+ this.listenPreview = undefined;
833
+ preview?.cancel();
834
+ this.view.setEditorInputEnabled(true);
835
+ }
805
836
  createSpeechTranscription(mode) {
837
+ const preview = this.listenPreview;
806
838
  return createListenTranscription({
807
839
  config: this.config,
808
840
  deps: this.deps,
809
841
  mode,
810
842
  context: collectSpeechToTextContext(this.snapshot),
811
843
  speechToTextDeps: this.speechToTextDeps,
844
+ onProgress: (text) => {
845
+ if (preview && this.listenPreview === preview)
846
+ preview.update(text);
847
+ },
812
848
  });
813
849
  }
814
850
  async transcribeListenAudioFile(audioPath, durationMs, transcription) {
815
- if (durationMs > SPEECH_TO_TEXT_CLIENT_MAX_DURATION_MS) {
816
- transcription?.abort();
817
- this.retainedListenAudio = { audioPath, durationMs };
818
- this.view.addTranscriptNotice("failed to transcribe speech", "error", [
819
- "audio is longer than 20 minutes",
820
- `recording retained at ${audioPath}`,
821
- "run /listen discard to delete it",
822
- ]);
823
- return;
824
- }
825
- let audio;
826
- try {
827
- audio = await readListenAudio(audioPath);
828
- }
829
- catch (error) {
830
- transcription?.abort();
831
- this.view.addTranscriptNotice("failed to read speech recording", "error", [
832
- error.message,
833
- ]);
834
- if (this.retainedListenAudio?.audioPath === audioPath) {
835
- this.retainedListenAudio = undefined;
836
- }
837
- await cleanupListenTempFile(audioPath);
838
- return;
839
- }
840
- if (audio.byteLength < LISTEN_RECORDING_MIN_BYTES) {
851
+ if (this.disposed) {
841
852
  transcription?.abort();
842
- this.view.showFooterNotice("recording too short, try again", "default");
843
853
  if (this.retainedListenAudio?.audioPath === audioPath) {
844
854
  this.retainedListenAudio = undefined;
845
855
  }
846
856
  await cleanupListenTempFile(audioPath);
847
857
  return;
848
858
  }
849
- let activeTranscription = transcription;
850
- this.listenActivityLabel = "transcribing voice input";
851
- this.refreshStatus();
859
+ if (!this.listenPreview)
860
+ this.beginListenPreview();
861
+ const preview = this.listenPreview;
852
862
  try {
853
- activeTranscription ??= this.createSpeechTranscription("file");
854
- this.activeListenTranscription = activeTranscription;
855
- const text = await activeTranscription.finish({
856
- audio,
857
- mimeType: "audio/wav",
858
- });
859
- this.view.insertEditorTextAtCursor(text);
860
- this.retainedListenAudio = undefined;
863
+ if (durationMs > SPEECH_TO_TEXT_CLIENT_MAX_DURATION_MS) {
864
+ transcription?.abort();
865
+ this.retainedListenAudio = { audioPath, durationMs };
866
+ this.view.addTranscriptNotice("failed to transcribe speech", "error", [
867
+ "audio is longer than 20 minutes",
868
+ `recording retained at ${audioPath}`,
869
+ "run /listen discard to delete it",
870
+ ]);
871
+ return;
872
+ }
873
+ let audio;
861
874
  try {
862
- await deleteListenTempFile(audioPath);
875
+ audio = await readListenAudio(audioPath);
863
876
  }
864
877
  catch (error) {
865
- this.view.addTranscriptNotice("failed to delete speech recording", "error", [
878
+ transcription?.abort();
879
+ this.view.addTranscriptNotice("failed to read speech recording", "error", [
866
880
  error.message,
867
- `recording remains at ${audioPath}; delete it manually`,
868
881
  ]);
882
+ if (this.retainedListenAudio?.audioPath === audioPath) {
883
+ this.retainedListenAudio = undefined;
884
+ }
885
+ await cleanupListenTempFile(audioPath);
886
+ return;
869
887
  }
870
- }
871
- catch (error) {
872
- this.retainedListenAudio = { audioPath, durationMs };
873
- this.view.addTranscriptNotice("failed to transcribe speech", "error", [
874
- error.message,
875
- `recording retained at ${audioPath}`,
876
- "run /listen retry to try again, or /listen discard to delete it",
877
- ]);
878
- }
879
- finally {
880
- activeTranscription?.abort();
881
- if (this.activeListenTranscription === activeTranscription) {
882
- this.activeListenTranscription = undefined;
888
+ if (audio.byteLength < LISTEN_RECORDING_MIN_BYTES) {
889
+ transcription?.abort();
890
+ this.view.showFooterNotice("recording too short, try again", "default");
891
+ if (this.retainedListenAudio?.audioPath === audioPath) {
892
+ this.retainedListenAudio = undefined;
893
+ }
894
+ await cleanupListenTempFile(audioPath);
895
+ return;
896
+ }
897
+ if (this.disposed) {
898
+ transcription?.abort();
899
+ if (this.retainedListenAudio?.audioPath === audioPath) {
900
+ this.retainedListenAudio = undefined;
901
+ }
902
+ await cleanupListenTempFile(audioPath);
903
+ return;
883
904
  }
884
- this.listenActivityLabel = undefined;
905
+ let activeTranscription = transcription;
906
+ this.listenActivityLabel = "transcribing voice input";
885
907
  this.refreshStatus();
908
+ try {
909
+ activeTranscription ??= this.createSpeechTranscription("file");
910
+ this.activeListenTranscription = activeTranscription;
911
+ const text = await activeTranscription.finish({
912
+ audio,
913
+ mimeType: "audio/wav",
914
+ });
915
+ if (this.listenPreview !== preview)
916
+ return;
917
+ preview.commit(text);
918
+ this.retainedListenAudio = undefined;
919
+ try {
920
+ await deleteListenTempFile(audioPath);
921
+ }
922
+ catch (error) {
923
+ this.view.addTranscriptNotice("failed to delete speech recording", "error", [
924
+ error.message,
925
+ `recording remains at ${audioPath}; delete it manually`,
926
+ ]);
927
+ }
928
+ }
929
+ catch (error) {
930
+ this.retainedListenAudio = { audioPath, durationMs };
931
+ this.view.addTranscriptNotice("failed to transcribe speech", "error", [
932
+ error.message,
933
+ `recording retained at ${audioPath}`,
934
+ "run /listen retry to try again, or /listen discard to delete it",
935
+ ]);
936
+ }
937
+ finally {
938
+ activeTranscription?.abort();
939
+ if (this.activeListenTranscription === activeTranscription) {
940
+ this.activeListenTranscription = undefined;
941
+ }
942
+ this.listenActivityLabel = undefined;
943
+ this.refreshStatus();
944
+ }
945
+ }
946
+ finally {
947
+ this.endListenPreview();
886
948
  }
887
949
  }
888
950
  async cancelListenCapture() {
@@ -892,7 +954,7 @@ export class SessionChatController {
892
954
  recording.stopRequested = true;
893
955
  this.clearListenRecordingMaxDurationTimeout(recording);
894
956
  this.listenRecording = undefined;
895
- this.view.setEditorInputEnabled(true);
957
+ this.endListenPreview();
896
958
  this.refreshStatus();
897
959
  recording.abortController.abort();
898
960
  recording.transcription.abort();
@@ -912,7 +974,7 @@ export class SessionChatController {
912
974
  return;
913
975
  this.listenRecording = undefined;
914
976
  recording.transcription.abort();
915
- this.view.setEditorInputEnabled(true);
977
+ this.endListenPreview();
916
978
  this.refreshStatus();
917
979
  const detail = result.exitCode !== null
918
980
  ? `ffmpeg exited with code ${result.exitCode}`
@@ -928,7 +990,7 @@ export class SessionChatController {
928
990
  return;
929
991
  this.listenRecording = undefined;
930
992
  recording.transcription.abort();
931
- this.view.setEditorInputEnabled(true);
993
+ this.endListenPreview();
932
994
  this.refreshStatus();
933
995
  const error = err;
934
996
  if (error.code === "ENOENT") {
@@ -1813,6 +1875,7 @@ export class SessionChatController {
1813
1875
  this.view.addTranscriptNotice("unknown prompt", "error", [id]);
1814
1876
  return;
1815
1877
  }
1878
+ this.pendingEditorMutations++;
1816
1879
  try {
1817
1880
  const resolved = await this.session.resolvePrompt(prompt.id);
1818
1881
  this.view.setEditorText(resolved.text);
@@ -1820,6 +1883,9 @@ export class SessionChatController {
1820
1883
  catch (error) {
1821
1884
  this.view.addTranscriptNotice("failed to load prompt", "error", [error.message]);
1822
1885
  }
1886
+ finally {
1887
+ this.pendingEditorMutations--;
1888
+ }
1823
1889
  }
1824
1890
  async reloadContent() {
1825
1891
  if (this.isSessionOperationActive()) {
@@ -2143,6 +2209,9 @@ export class SessionChatController {
2143
2209
  });
2144
2210
  }
2145
2211
  prefillInput(text) {
2212
+ if (this.listenPreview) {
2213
+ throw new Error("Cannot prefill input while speech input is active.");
2214
+ }
2146
2215
  if (this.view.getEditorText().length > 0) {
2147
2216
  throw new Error("Cannot prefill input because the editor already contains text.");
2148
2217
  }
@@ -2309,6 +2378,7 @@ export class SessionChatController {
2309
2378
  }
2310
2379
  async applyRewindSelection(historyEntryId) {
2311
2380
  this.view.hideRewindPicker();
2381
+ this.pendingEditorMutations++;
2312
2382
  try {
2313
2383
  const rewound = await this.session.rewindToHistoryEntryId(historyEntryId);
2314
2384
  this.syncRenderedHistory(rewound.snapshot);
@@ -2320,6 +2390,9 @@ export class SessionChatController {
2320
2390
  catch {
2321
2391
  this.view.addTranscriptNotice("failed to rewind session", "error");
2322
2392
  }
2393
+ finally {
2394
+ this.pendingEditorMutations--;
2395
+ }
2323
2396
  }
2324
2397
  interruptSelectedSubagent() {
2325
2398
  const selectedId = this.view.getSelectedSubagentId();
@@ -2346,6 +2419,7 @@ export class SessionChatController {
2346
2419
  this.view.showFooterNotice("no input to stash yet", "default");
2347
2420
  return;
2348
2421
  }
2422
+ this.pendingEditorMutations++;
2349
2423
  try {
2350
2424
  await copyTextToClipboard(text);
2351
2425
  this.view.setEditorText("");
@@ -2356,6 +2430,9 @@ export class SessionChatController {
2356
2430
  err.message,
2357
2431
  ]);
2358
2432
  }
2433
+ finally {
2434
+ this.pendingEditorMutations--;
2435
+ }
2359
2436
  }
2360
2437
  isSingleLineInput(text) {
2361
2438
  return !/[\r\n]/.test(text);