@markusylisiurunen/tau 0.3.54 → 0.3.56

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 (136) hide show
  1. package/dist/core/auth/credential_store.js +1 -9
  2. package/dist/core/auth/credential_store.js.map +1 -1
  3. package/dist/core/cli.js +3 -0
  4. package/dist/core/cli.js.map +1 -1
  5. package/dist/core/config/runtime.js +4 -4
  6. package/dist/core/config/runtime.js.map +1 -1
  7. package/dist/core/config/runtime_config_snapshot.js +1 -1
  8. package/dist/core/config/runtime_config_snapshot.js.map +1 -1
  9. package/dist/core/models/catalog.js +11 -45
  10. package/dist/core/models/catalog.js.map +1 -1
  11. package/dist/core/models/cli.js +49 -0
  12. package/dist/core/models/cli.js.map +1 -0
  13. package/dist/core/models/remote_catalog.js +394 -0
  14. package/dist/core/models/remote_catalog.js.map +1 -0
  15. package/dist/core/personas.js +3 -3
  16. package/dist/core/static/tau_docs/getting-started.md +5 -1
  17. package/dist/core/static/tau_docs/models.md +12 -2
  18. package/dist/core/static/tau_docs/node-sdk.md +4 -1
  19. package/dist/core/static/tau_docs/security.md +5 -0
  20. package/dist/core/static/tau_docs/telegram.md +2 -2
  21. package/dist/core/static/tau_docs/tui.md +2 -2
  22. package/dist/core/telegram/adapter.js +2 -2
  23. package/dist/core/telegram/adapter.js.map +1 -1
  24. package/dist/core/telegram/local_session_client.js +1 -1
  25. package/dist/core/telegram/local_session_client.js.map +1 -1
  26. package/dist/core/telegram/tts.js +3 -4
  27. package/dist/core/telegram/tts.js.map +1 -1
  28. package/dist/core/utils/gemini_speech.js +435 -150
  29. package/dist/core/utils/gemini_speech.js.map +1 -1
  30. package/dist/core/utils/model_stream.js +0 -10
  31. package/dist/core/utils/model_stream.js.map +1 -1
  32. package/dist/core/utils/openai_transcription.js +164 -23
  33. package/dist/core/utils/openai_transcription.js.map +1 -1
  34. package/dist/core/utils/speech_to_text.js +1 -0
  35. package/dist/core/utils/speech_to_text.js.map +1 -1
  36. package/dist/core/version.js +2 -1
  37. package/dist/core/version.js.map +1 -1
  38. package/dist/diff_tool/app/dist/assets/{angular-html-vSIwre92.js → angular-html-DoxI_och.js} +1 -1
  39. package/dist/diff_tool/app/dist/assets/{angular-ts-B9yWa-IT.js → angular-ts-C7CUd-D2.js} +1 -1
  40. package/dist/diff_tool/app/dist/assets/{apl-CBg9ewu1.js → apl-7dieYM-l.js} +1 -1
  41. package/dist/diff_tool/app/dist/assets/{astro-BVjxSYjj.js → astro-Czj3O4jM.js} +1 -1
  42. package/dist/diff_tool/app/dist/assets/{blade-jvqV5kiv.js → blade-ClS0E2cC.js} +1 -1
  43. package/dist/diff_tool/app/dist/assets/{c-DDAfW08c.js → c-BKvTh-Jt.js} +1 -1
  44. package/dist/diff_tool/app/dist/assets/{chapel-Qflwfgbt.js → chapel-qvFrfwEr.js} +1 -1
  45. package/dist/diff_tool/app/dist/assets/{cobol-4iJI1LUg.js → cobol-B0vsaB-J.js} +1 -1
  46. package/dist/diff_tool/app/dist/assets/{coffee-C9LbGGO3.js → coffee-BUlcrU75.js} +1 -1
  47. package/dist/diff_tool/app/dist/assets/{cpp-B-x6veTx.js → cpp-CKqEgX1l.js} +1 -1
  48. package/dist/diff_tool/app/dist/assets/{crystal-S06EUmKn.js → crystal-FCqSmIJ_.js} +1 -1
  49. package/dist/diff_tool/app/dist/assets/{css-DA4RYriG.js → css-zZvYFJFc.js} +1 -1
  50. package/dist/diff_tool/app/dist/assets/{edge-7dx6BjGp.js → edge-BKlbCo1f.js} +1 -1
  51. package/dist/diff_tool/app/dist/assets/{elixir-DPywG97a.js → elixir-B2gSxtgZ.js} +1 -1
  52. package/dist/diff_tool/app/dist/assets/{elm-Dgo_WnqC.js → elm-DFEdzPJz.js} +1 -1
  53. package/dist/diff_tool/app/dist/assets/{erb-CVW4PjFl.js → erb-DSgn8fHS.js} +1 -1
  54. package/dist/diff_tool/app/dist/assets/{git-rebase-CtU0gmBJ.js → git-rebase-CcgDECQr.js} +1 -1
  55. package/dist/diff_tool/app/dist/assets/{glimmer-js-twAYiPP2.js → glimmer-js-Dwxi4cX2.js} +1 -1
  56. package/dist/diff_tool/app/dist/assets/{glimmer-ts-BfNoXayN.js → glimmer-ts-BnJVER8W.js} +1 -1
  57. package/dist/diff_tool/app/dist/assets/{glsl-D_XrtFF7.js → glsl-z7_gU-HN.js} +1 -1
  58. package/dist/diff_tool/app/dist/assets/{graphql-B_GeapzM.js → graphql-Dt7V-d3L.js} +1 -1
  59. package/dist/diff_tool/app/dist/assets/{hack-BCaCVoSX.js → hack-jVkr6EC8.js} +1 -1
  60. package/dist/diff_tool/app/dist/assets/{haml-z9Mz7I1O.js → haml-BF7cRiOF.js} +1 -1
  61. package/dist/diff_tool/app/dist/assets/{handlebars-D0FVYagc.js → handlebars-DAhNxR3E.js} +1 -1
  62. package/dist/diff_tool/app/dist/assets/{html-BOM4tb7u.js → html-B7QW5YvU.js} +1 -1
  63. package/dist/diff_tool/app/dist/assets/{html-derivative-CsSlhJgr.js → html-derivative-B-vyaE-N.js} +1 -1
  64. package/dist/diff_tool/app/dist/assets/{http-Cjy9oaQn.js → http-Drkl04RP.js} +1 -1
  65. package/dist/diff_tool/app/dist/assets/{hurl-CjLQ7ql5.js → hurl-7gTFrvcN.js} +1 -1
  66. package/dist/diff_tool/app/dist/assets/{index-QO81yN6b.js → index-C9CiIimI.js} +41 -41
  67. package/dist/diff_tool/app/dist/assets/{java-cn8DiFD8.js → java-ZmvXuvs3.js} +1 -1
  68. package/dist/diff_tool/app/dist/assets/{javascript-CEnHZaZM.js → javascript-C-OECu_Z.js} +1 -1
  69. package/dist/diff_tool/app/dist/assets/{jinja-DIp6kVk7.js → jinja-hvkV87CG.js} +1 -1
  70. package/dist/diff_tool/app/dist/assets/{jison-Dx116ito.js → jison-eJBDxKI8.js} +1 -1
  71. package/dist/diff_tool/app/dist/assets/{json-C6B9h0n5.js → json-BPQU2w0u.js} +1 -1
  72. package/dist/diff_tool/app/dist/assets/{jsx-CDEGT2B2.js → jsx-C19s5MOj.js} +1 -1
  73. package/dist/diff_tool/app/dist/assets/{julia-CsIJA3Km.js → julia-CYISvCwi.js} +1 -1
  74. package/dist/diff_tool/app/dist/assets/{just-DZRYvkQw.js → just-5omBg5pB.js} +1 -1
  75. package/dist/diff_tool/app/dist/assets/{latex-CeR-RQOI.js → latex-B_L85F2z.js} +1 -1
  76. package/dist/diff_tool/app/dist/assets/{liquid-Dhf8N4mn.js → liquid-BxbaQPPS.js} +1 -1
  77. package/dist/diff_tool/app/dist/assets/{lua-zVTVaJzn.js → lua-DQA0z-44.js} +1 -1
  78. package/dist/diff_tool/app/dist/assets/{marko-BGPq5r3o.js → marko-Dj5RV8IH.js} +1 -1
  79. package/dist/diff_tool/app/dist/assets/{mdc-D8K78bym.js → mdc-CoHI6VJN.js} +1 -1
  80. package/dist/diff_tool/app/dist/assets/{mojo-CFuIV2fl.js → mojo-fg40_ntQ.js} +1 -1
  81. package/dist/diff_tool/app/dist/assets/{nginx-Bo-bEa75.js → nginx-COnrY-gb.js} +1 -1
  82. package/dist/diff_tool/app/dist/assets/{nim-Bfy5M54r.js → nim-Ccfp0p1j.js} +1 -1
  83. package/dist/diff_tool/app/dist/assets/{org-BKetN7sT.js → org-RForNsWm.js} +1 -1
  84. package/dist/diff_tool/app/dist/assets/{perl-WiwTOQTV.js → perl-DhHRsiUu.js} +1 -1
  85. package/dist/diff_tool/app/dist/assets/{php-CM2FzhGV.js → php-BlxKhJek.js} +1 -1
  86. package/dist/diff_tool/app/dist/assets/{pug-D2WvUHZ-.js → pug-o9YxnGzH.js} +1 -1
  87. package/dist/diff_tool/app/dist/assets/{qml-DGPbc6TL.js → qml-Dzf494vL.js} +1 -1
  88. package/dist/diff_tool/app/dist/assets/{r-CCFYJ_KM.js → r-Dp0OUrF6.js} +1 -1
  89. package/dist/diff_tool/app/dist/assets/{razor-D1JuQWQz.js → razor-gylahu-m.js} +1 -1
  90. package/dist/diff_tool/app/dist/assets/{regexp-zTiHwMow.js → regexp-C0rsDjCm.js} +1 -1
  91. package/dist/diff_tool/app/dist/assets/{rst-CuUAArfH.js → rst-D-DRAFtq.js} +1 -1
  92. package/dist/diff_tool/app/dist/assets/{ruby-DznrLCoG.js → ruby-BnY40vXq.js} +1 -1
  93. package/dist/diff_tool/app/dist/assets/{sas-D2hJmLva.js → sas-BaSo_s7i.js} +1 -1
  94. package/dist/diff_tool/app/dist/assets/{scss-Cjb3p_6n.js → scss-BX5R-Yyw.js} +1 -1
  95. package/dist/diff_tool/app/dist/assets/{shellscript-BtwI-tfX.js → shellscript-CpRFVBRj.js} +1 -1
  96. package/dist/diff_tool/app/dist/assets/{shellsession-BYirS1xP.js → shellsession-BGRUDtms.js} +1 -1
  97. package/dist/diff_tool/app/dist/assets/{soy-D4Ndk7-j.js → soy-C2WL9FSb.js} +1 -1
  98. package/dist/diff_tool/app/dist/assets/{sql-DbLQ5SJl.js → sql-CGmNnOfz.js} +1 -1
  99. package/dist/diff_tool/app/dist/assets/{stata-BXoNBosJ.js → stata-CDamV3Uz.js} +1 -1
  100. package/dist/diff_tool/app/dist/assets/{surrealql-toyTYnAL.js → surrealql-BqI4o6tP.js} +1 -1
  101. package/dist/diff_tool/app/dist/assets/{svelte-BEpa7pAW.js → svelte-DPaOUioa.js} +1 -1
  102. package/dist/diff_tool/app/dist/assets/{templ-CZfW_RJI.js → templ-aqrZIEoc.js} +1 -1
  103. package/dist/diff_tool/app/dist/assets/{tex-COemmIIu.js → tex-Bjjtfacp.js} +1 -1
  104. package/dist/diff_tool/app/dist/assets/{ts-tags-CMVUY_BA.js → ts-tags-BGFnsvdQ.js} +1 -1
  105. package/dist/diff_tool/app/dist/assets/{tsx-BTvP6uzd.js → tsx-C_rOxPqZ.js} +1 -1
  106. package/dist/diff_tool/app/dist/assets/{twig-DzP5RjJc.js → twig-DYqVwCOf.js} +1 -1
  107. package/dist/diff_tool/app/dist/assets/{typescript-CQaGlMoX.js → typescript-CppQYc7K.js} +1 -1
  108. package/dist/diff_tool/app/dist/assets/typst-KIbA0FZG.js +1 -0
  109. package/dist/diff_tool/app/dist/assets/{vue-html-BA_OH0Xt.js → vue-html-DcZpMui9.js} +1 -1
  110. package/dist/diff_tool/app/dist/assets/{vue-DaVWTtvb.js → vue-iOYoJEJi.js} +1 -1
  111. package/dist/diff_tool/app/dist/assets/{vue-vine-C_H4XbNR.js → vue-vine-C6v6c0Lr.js} +1 -1
  112. package/dist/diff_tool/app/dist/assets/{xml-1JLzpunp.js → xml-zR0RltJO.js} +1 -1
  113. package/dist/diff_tool/app/dist/assets/{xsl-GtZi0Erj.js → xsl-B9pBLsIV.js} +1 -1
  114. package/dist/diff_tool/app/dist/assets/{yaml-LueTtDDo.js → yaml-sicIihvu.js} +1 -1
  115. package/dist/diff_tool/app/dist/index.html +1 -1
  116. package/dist/execution/execution_environment.js.map +1 -1
  117. package/dist/execution/tool_backend_execution_environment.js +2 -1
  118. package/dist/execution/tool_backend_execution_environment.js.map +1 -1
  119. package/dist/host/execution_runtime.js +3 -1
  120. package/dist/host/execution_runtime.js.map +1 -1
  121. package/dist/host/local_session_host.js +37 -11
  122. package/dist/host/local_session_host.js.map +1 -1
  123. package/dist/main.js +52 -6
  124. package/dist/main.js.map +1 -1
  125. package/dist/sdk/local_client.d.ts +4 -1
  126. package/dist/sdk/local_client.js +32 -8
  127. package/dist/sdk/local_client.js.map +1 -1
  128. package/dist/sdk/types.d.ts +1 -0
  129. package/dist/tui/speech_playback.js +145 -82
  130. package/dist/tui/speech_playback.js.map +1 -1
  131. package/dist/tui/ui/footer.js +6 -6
  132. package/dist/tui/ui/footer.js.map +1 -1
  133. package/package.json +11 -11
  134. package/dist/core/models/tau_extensions.js +0 -27
  135. package/dist/core/models/tau_extensions.js.map +0 -1
  136. package/dist/diff_tool/app/dist/assets/typst-DI99ib-x.js +0 -1
@@ -1,109 +1,172 @@
1
- import { unlink, writeFile } from "node:fs/promises";
2
- import { tmpdir } from "node:os";
3
- import { join } from "node:path";
4
- import { GEMINI_SPEECH_PLAYBACK_RATE, streamGeminiSpeechAudio, } from "../core/utils/gemini_speech.js";
5
- export const SPEAK_TEMP_FILE_TEMPLATE = join(tmpdir(), "tau-speak.XXXXXX");
1
+ import { GEMINI_SPEECH_BITS_PER_SAMPLE, GEMINI_SPEECH_CHANNEL_COUNT, GEMINI_SPEECH_PLAYBACK_RATE, GEMINI_SPEECH_SAMPLE_RATE_HZ, streamGeminiSpeechPcm, } from "../core/utils/gemini_speech.js";
2
+ const SPEECH_PLAYBACK_START_BUFFER_MS = 500;
3
+ const SPEECH_PLAYBACK_START_BUFFER_BYTES = Math.ceil(GEMINI_SPEECH_SAMPLE_RATE_HZ *
4
+ GEMINI_SPEECH_CHANNEL_COUNT *
5
+ (GEMINI_SPEECH_BITS_PER_SAMPLE / 8) *
6
+ (SPEECH_PLAYBACK_START_BUFFER_MS / 1000));
6
7
  export async function runSpeechPlaybackTask(args) {
7
- let audioPath;
8
- let readyChunks = 0;
9
- let totalChunks = 0;
10
- let playedChunks = 0;
11
- let playbackStarted = false;
12
- const refreshSpeechProgress = () => {
13
- if (totalChunks <= 0)
14
- return;
15
- args.onActivityLabel(playbackStarted
16
- ? formatSpeechPlaybackProgressMessage(playedChunks, readyChunks, totalChunks)
17
- : formatSpeechChunkProgressMessage(readyChunks, totalChunks));
8
+ const abortController = createLinkedAbortController(args.signal);
9
+ let playback;
10
+ let playbackInput = null;
11
+ let playbackEnding = false;
12
+ let earlyPlaybackOutcome;
13
+ const startPlayback = async () => {
14
+ if (!playback) {
15
+ playback = args.deps
16
+ .spawn("ffplay", [
17
+ "-nodisp",
18
+ "-autoexit",
19
+ "-loglevel",
20
+ "error",
21
+ "-f",
22
+ "s16le",
23
+ "-ar",
24
+ String(GEMINI_SPEECH_SAMPLE_RATE_HZ),
25
+ "-ch_layout",
26
+ "mono",
27
+ "-af",
28
+ `atempo=${GEMINI_SPEECH_PLAYBACK_RATE}`,
29
+ "pipe:0",
30
+ ], {
31
+ detached: true,
32
+ killProcessGroup: true,
33
+ signal: abortController.signal,
34
+ stdio: ["pipe", "ignore", "pipe"],
35
+ captureOutput: "stderr",
36
+ maxCaptureBytes: 20_000,
37
+ onSpawn: (child) => {
38
+ playbackInput = child.stdin;
39
+ playbackInput?.on("error", () => { });
40
+ },
41
+ })
42
+ .then((result) => ({ result }), (error) => ({ error }));
43
+ void playback.then((outcome) => {
44
+ if (!playbackEnding && !abortController.signal.aborted) {
45
+ earlyPlaybackOutcome = outcome;
46
+ abortController.abort();
47
+ }
48
+ });
49
+ }
50
+ if (!playbackInput) {
51
+ const outcome = await playback;
52
+ throw "error" in outcome ? outcome.error : playbackFailure(outcome.result);
53
+ }
54
+ args.onActivityLabel("playing speech");
55
+ return playbackInput;
18
56
  };
19
57
  try {
20
- for await (const chunk of streamGeminiSpeechAudio({
58
+ for await (const chunk of streamGeminiSpeechPcm({
21
59
  apiKey: args.apiKey,
22
60
  sourceText: args.sourceText,
23
- deliveryMode: "progressive",
24
- signal: args.signal,
61
+ signal: abortController.signal,
62
+ initialBufferBytes: SPEECH_PLAYBACK_START_BUFFER_BYTES,
25
63
  onStageChange: (stage) => {
26
- args.onActivityLabel(stage === "rewriting" ? "rewriting for speech" : "generating speech");
27
- },
28
- onChunkProgress: ({ ready, total }) => {
29
- readyChunks = ready;
30
- totalChunks = total;
31
- refreshSpeechProgress();
64
+ args.onActivityLabel(stage === "rewriting" ? "rewriting for speech" : "preparing speech");
32
65
  },
33
66
  })) {
34
- if (args.signal.aborted) {
35
- return;
36
- }
37
- playbackStarted = true;
38
- totalChunks = chunk.total;
39
- refreshSpeechProgress();
40
- audioPath = await createTempFilePath(args.deps, SPEAK_TEMP_FILE_TEMPLATE);
41
- await writeFile(audioPath, chunk.audio);
42
- const playback = await args.deps.spawn("afplay", ["-r", String(GEMINI_SPEECH_PLAYBACK_RATE), audioPath], {
43
- detached: true,
44
- killProcessGroup: true,
45
- signal: args.signal,
46
- stdio: ["ignore", "ignore", "ignore"],
47
- });
48
- await cleanupTempFile(audioPath);
49
- audioPath = undefined;
50
- if (args.signal.aborted || playback.aborted) {
51
- return;
52
- }
53
- if (playback.exitCode !== 0) {
54
- const detail = playback.exitCode !== null
55
- ? `afplay exited with code ${playback.exitCode}`
56
- : playback.closeSignal
57
- ? `afplay terminated by signal ${playback.closeSignal}`
58
- : "afplay exited";
59
- throw new Error(detail);
60
- }
61
- playedChunks = chunk.index + 1;
62
- refreshSpeechProgress();
67
+ const input = await startPlayback();
68
+ await writePlaybackAudio(input, chunk.audio, abortController.signal);
63
69
  }
64
- }
65
- catch (err) {
66
- if (args.signal.aborted) {
70
+ playbackEnding = true;
71
+ await endPlayback(playbackInput);
72
+ const outcome = await playback;
73
+ if ("error" in outcome) {
74
+ throw outcome.error;
75
+ }
76
+ if (args.signal.aborted || outcome.result.aborted) {
67
77
  return;
68
78
  }
69
- const error = err;
70
- if (error.name === "AbortError") {
79
+ if (outcome.result.exitCode !== 0) {
80
+ throw playbackFailure(outcome.result);
81
+ }
82
+ }
83
+ catch (error) {
84
+ abortController.abort();
85
+ const outcome = earlyPlaybackOutcome ?? (playback ? await playback : undefined);
86
+ if (earlyPlaybackOutcome) {
87
+ if ("error" in earlyPlaybackOutcome) {
88
+ if (isMissingExecutableError(earlyPlaybackOutcome.error)) {
89
+ throw new Error("ffplay not found. Install ffmpeg to use /speak.");
90
+ }
91
+ throw earlyPlaybackOutcome.error;
92
+ }
93
+ throw playbackFailure(earlyPlaybackOutcome.result);
94
+ }
95
+ if (args.signal.aborted || (error instanceof Error && error.name === "AbortError")) {
71
96
  return;
72
97
  }
73
- if (error.code === "ENOENT") {
74
- throw new Error("afplay not found.");
98
+ if (isMissingExecutableError(error) ||
99
+ (outcome && "error" in outcome && isMissingExecutableError(outcome.error))) {
100
+ throw new Error("ffplay not found. Install ffmpeg to use /speak.");
75
101
  }
76
- throw err;
102
+ if (outcome && "result" in outcome && !outcome.result.aborted) {
103
+ throw playbackFailure(outcome.result);
104
+ }
105
+ throw error;
77
106
  }
78
107
  finally {
79
- if (audioPath) {
80
- await cleanupTempFile(audioPath);
81
- }
108
+ abortController.abort();
109
+ abortController.dispose();
82
110
  }
83
111
  }
84
- async function createTempFilePath(deps, template) {
85
- const result = await deps.spawn("mktemp", [template]);
86
- if (result.exitCode !== 0) {
87
- throw new Error(result.stderr || result.stdout || "mktemp failed");
112
+ async function writePlaybackAudio(input, audio, signal) {
113
+ if (signal.aborted) {
114
+ throw abortError();
88
115
  }
89
- const path = result.stdout.trim();
90
- if (!path) {
91
- throw new Error("mktemp returned an empty path");
116
+ await new Promise((resolve, reject) => {
117
+ input.write(audio, (error) => {
118
+ if (error) {
119
+ reject(error);
120
+ }
121
+ else {
122
+ resolve();
123
+ }
124
+ });
125
+ });
126
+ }
127
+ async function endPlayback(input) {
128
+ if (input.destroyed || input.writableEnded) {
129
+ return;
92
130
  }
93
- return path;
131
+ await new Promise((resolve) => input.end(resolve));
94
132
  }
95
- async function cleanupTempFile(path) {
96
- try {
97
- await unlink(path);
133
+ function playbackFailure(result) {
134
+ const detail = result.stderr.trim();
135
+ if (detail) {
136
+ return new Error(`ffplay failed: ${detail}`);
98
137
  }
99
- catch {
100
- // best-effort cleanup
138
+ if (result.exitCode !== null) {
139
+ return new Error(`ffplay exited with code ${result.exitCode}`);
101
140
  }
141
+ if (result.closeSignal) {
142
+ return new Error(`ffplay terminated by signal ${result.closeSignal}`);
143
+ }
144
+ return new Error("ffplay exited");
145
+ }
146
+ function isMissingExecutableError(error) {
147
+ return (typeof error === "object" &&
148
+ error !== null &&
149
+ "code" in error &&
150
+ error.code === "ENOENT");
102
151
  }
103
- function formatSpeechChunkProgressMessage(ready, total) {
104
- return `generating speech chunks (${ready} out of ${total} ready)`;
152
+ function createLinkedAbortController(parent) {
153
+ const controller = new AbortController();
154
+ const onAbort = () => controller.abort(parent.reason);
155
+ if (parent.aborted) {
156
+ onAbort();
157
+ }
158
+ else {
159
+ parent.addEventListener("abort", onAbort, { once: true });
160
+ }
161
+ return {
162
+ signal: controller.signal,
163
+ abort: () => controller.abort(),
164
+ dispose: () => parent.removeEventListener("abort", onAbort),
165
+ };
105
166
  }
106
- function formatSpeechPlaybackProgressMessage(played, ready, total) {
107
- return `playing speech (${played}/${total} played, ${ready}/${total} ready)`;
167
+ function abortError() {
168
+ const error = new Error("Speech playback was aborted");
169
+ error.name = "AbortError";
170
+ return error;
108
171
  }
109
172
  //# sourceMappingURL=speech_playback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"speech_playback.js","sourceRoot":"","sources":["../../src/tui/speech_playback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speech_playback.js","sourceRoot":"","sources":["../../src/tui/speech_playback.ts"],"names":[],"mappings":"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"}
@@ -144,13 +144,13 @@ export class FooterComponent {
144
144
  const activityStyle = this.working || isCompleting ? palette.brandAccent : palette.textDim;
145
145
  const icon = activityStyle(iconChar);
146
146
  const iconWidth = visibleWidth(iconChar);
147
- const availableWidth = Math.max(0, width - iconWidth - 3);
148
- const goalStatus = this.working && this.status?.pursuingGoal ? "pursuing goal" : "";
149
- const rawText = goalStatus || this.buildStatusLine(availableWidth);
150
- const style = goalStatus ? activityStyle : palette.textDim;
151
- const text = truncateFromEndByWidth(rawText, availableWidth);
147
+ const goalStatus = this.working && this.status?.pursuingGoal ? "goal" : "";
148
+ const goalPrefix = goalStatus ? `${activityStyle(goalStatus)} ${palette.textDim("·")} ` : "";
149
+ const goalPrefixWidth = goalStatus ? visibleWidth(goalStatus) + 3 : 0;
150
+ const availableWidth = Math.max(0, width - iconWidth - goalPrefixWidth - 3);
151
+ const text = truncateFromEndByWidth(this.buildStatusLine(availableWidth), availableWidth);
152
152
  const padding = " ".repeat(Math.max(0, availableWidth - visibleWidth(text)));
153
- return [` ${icon} ${style(text)}${padding} `];
153
+ return [` ${icon} ${goalPrefix}${palette.textDim(text)}${padding} `];
154
154
  }
155
155
  syncAnimation() {
156
156
  const mode = this.notice
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/tui/ui/footer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/tui/ui/footer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markusylisiurunen/tau",
3
- "version": "0.3.54",
3
+ "version": "0.3.56",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "tau": "dist/main.js"
@@ -31,25 +31,25 @@
31
31
  "access": "public"
32
32
  },
33
33
  "dependencies": {
34
- "@earendil-works/pi-ai": "0.84.1",
35
- "@earendil-works/pi-tui": "0.84.1",
34
+ "@earendil-works/pi-ai": "0.84.2",
35
+ "@earendil-works/pi-tui": "0.84.2",
36
36
  "@fly/sprites": "^0.2.0",
37
37
  "chalk": "^6.0.0",
38
38
  "colorjs.io": "^0.7.1",
39
- "file-type": "^22.0.1",
40
- "jose": "^6.2.8",
41
- "ses": "2.2.0",
39
+ "file-type": "^22.0.2",
40
+ "jose": "^6.2.9",
41
+ "ses": "2.3.0",
42
42
  "sharp": "^0.35.3",
43
43
  "strip-ansi": "^7.2.0",
44
- "typebox": "^1.3.11",
45
- "ws": "^8.21.2",
44
+ "typebox": "^1.3.14",
45
+ "ws": "^8.21.3",
46
46
  "yaml": "^2.9.0",
47
47
  "zod": "^4.4.3"
48
48
  },
49
49
  "devDependencies": {
50
- "@biomejs/biome": "2.5.7",
51
- "@cloudflare/workers-types": "^5.20260804.1",
52
- "@types/node": "^25.9.5",
50
+ "@biomejs/biome": "2.5.8",
51
+ "@cloudflare/workers-types": "^5.20260816.1",
52
+ "@types/node": "^24.13.3",
53
53
  "@types/ws": "^8.18.1",
54
54
  "prettier": "^3.9.6",
55
55
  "typescript": "^7.0.2",
@@ -1,27 +0,0 @@
1
- export const TAU_PROVIDER_EXTENSIONS = [];
2
- export function validateTauProviderExtensionModel(extension) {
3
- for (const model of extension.models) {
4
- if (model.provider !== extension.id) {
5
- throw new Error(`invalid model registration for provider '${extension.id}': model '${model.id}' declares provider '${model.provider}'`);
6
- }
7
- }
8
- }
9
- export function mergeTauProviderExtensionModels(provider, baseModels, extensions = TAU_PROVIDER_EXTENSIONS) {
10
- const modelIds = new Set(baseModels.map((model) => model.id));
11
- const merged = [...baseModels];
12
- for (const extension of extensions) {
13
- if (extension.id !== provider) {
14
- continue;
15
- }
16
- validateTauProviderExtensionModel(extension);
17
- for (const model of extension.models) {
18
- if (modelIds.has(model.id)) {
19
- continue;
20
- }
21
- modelIds.add(model.id);
22
- merged.push(model);
23
- }
24
- }
25
- return merged;
26
- }
27
- //# sourceMappingURL=tau_extensions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tau_extensions.js","sourceRoot":"","sources":["../../../src/core/models/tau_extensions.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,uBAAuB,GAA2B,EAAE,CAAC;AAElE,MAAM,UAAU,iCAAiC,CAAC,SAA+B;IAC/E,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,4CAA4C,SAAS,CAAC,EAAE,aAAa,KAAK,CAAC,EAAE,wBAAwB,KAAK,CAAC,QAAQ,GAAG,CACvH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,QAAgB,EAChB,UAAiC,EACjC,UAAU,GAAoC,uBAAuB;IAErE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAE7C,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- var e=[Object.freeze(JSON.parse('{"displayName":"Typst","name":"typst","patterns":[{"include":"#markup"}],"repository":{"arguments":{"patterns":[{"match":"\\\\b[_[:alpha:]][-_[:alnum:]]*(?=:)","name":"variable.parameter.typst"},{"include":"#code"}]},"code":{"patterns":[{"include":"#common"},{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.block.code.typst"}},"end":"}","name":"meta.block.code.typst","patterns":[{"include":"#code"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.block.content.typst"}},"end":"]","name":"meta.block.content.typst","patterns":[{"include":"#markup"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.typst"}},"end":"\\\\n","name":"comment.line.double-slash.typst"},{"match":":","name":"punctuation.separator.colon.typst"},{"match":",","name":"punctuation.separator.comma.typst"},{"match":"=>|\\\\.\\\\.","name":"keyword.operator.typst"},{"match":"==|!=|<=?|>=?","name":"keyword.operator.relational.typst"},{"match":"(?:[-*+]|/?)=","name":"keyword.operator.assignment.typst"},{"match":"[*+/]|(?<![_[:alpha:]][-_[:alnum:]]*)-(?![:almnu]_-]*[_[:alpha:]])","name":"keyword.operator.arithmetic.typst"},{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.word.typst"},{"match":"\\\\b(let|as|in|set|show)\\\\b","name":"keyword.other.typst"},{"match":"\\\\b(if|else)\\\\b","name":"keyword.control.conditional.typst"},{"match":"\\\\b(for|while|break|continue)\\\\b","name":"keyword.control.loop.typst"},{"match":"\\\\b(import|include|export)\\\\b","name":"keyword.control.import.typst"},{"match":"\\\\b(return)\\\\b","name":"keyword.control.flow.typst"},{"include":"#constants"},{"match":"\\\\b[_[:alpha:]][-_[:alnum:]]*!?(?=[(\\\\[])","name":"entity.name.function.typst"},{"match":"(?<=\\\\bshow\\\\s*)\\\\b[_[:alpha:]][-_[:alnum:]]*(?=\\\\s*[.:])","name":"entity.name.function.typst"},{"begin":"(?<=\\\\b[_[:alpha:]][-_[:alnum:]]*!?)\\\\(","captures":{"0":{"name":"punctuation.definition.group.typst"}},"end":"\\\\)","patterns":[{"include":"#arguments"}]},{"match":"\\\\b[_[:alpha:]][-_[:alnum:]]*\\\\b","name":"variable.other.typst"},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.typst"}},"end":"\\\\)|(?=;)","name":"meta.group.typst","patterns":[{"include":"#code"}]}]},"comments":{"patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.typst"}},"end":"\\\\*/","name":"comment.block.typst","patterns":[{"include":"#comments"}]},{"begin":"(?<!:)//","beginCaptures":{"0":{"name":"punctuation.definition.comment.typst"}},"end":"\\\\n","name":"comment.line.double-slash.typst","patterns":[{"include":"#comments"}]}]},"common":{"patterns":[{"include":"#comments"}]},"constants":{"patterns":[{"match":"\\\\bnone\\\\b","name":"constant.language.none.typst"},{"match":"\\\\bauto\\\\b","name":"constant.language.auto.typst"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.typst"},{"match":"\\\\b(\\\\d*)?\\\\.?\\\\d+([Ee][-+]?\\\\d+)?(mm|pt|cm|in|em)\\\\b","name":"constant.numeric.length.typst"},{"match":"\\\\b(\\\\d*)?\\\\.?\\\\d+([Ee][-+]?\\\\d+)?(rad|deg)\\\\b","name":"constant.numeric.angle.typst"},{"match":"\\\\b(\\\\d*)?\\\\.?\\\\d+([Ee][-+]?\\\\d+)?%","name":"constant.numeric.percentage.typst"},{"match":"\\\\b(\\\\d*)?\\\\.?\\\\d+([Ee][-+]?\\\\d+)?fr","name":"constant.numeric.fr.typst"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.integer.typst"},{"match":"\\\\b(\\\\d*)?\\\\.?\\\\d+([Ee][-+]?\\\\d+)?\\\\b","name":"constant.numeric.float.typst"},{"begin":"\\"","captures":{"0":{"name":"punctuation.definition.string.typst"}},"end":"\\"","name":"string.quoted.double.typst","patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\nrt]|u\\\\{?[0-9A-Za-z]*}?)","name":"constant.character.escape.string.typst"}]},{"begin":"\\\\$","captures":{"0":{"name":"punctuation.definition.string.math.typst"}},"end":"\\\\$","name":"string.other.math.typst"}]},"markup":{"patterns":[{"include":"#common"},{"match":"\\\\\\\\([]#-/=\\\\[\\\\\\\\_`{}~]|u\\\\{[0-9A-Za-z]*}?)","name":"constant.character.escape.content.typst"},{"match":"\\\\\\\\","name":"punctuation.definition.linebreak.typst"},{"match":"~","name":"punctuation.definition.nonbreaking-space.typst"},{"match":"-\\\\?","name":"punctuation.definition.shy.typst"},{"match":"---","name":"punctuation.definition.em-dash.typst"},{"match":"--","name":"punctuation.definition.en-dash.typst"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.definition.ellipsis.typst"},{"match":":([0-9A-Za-z]+:)+","name":"constant.symbol.typst"},{"begin":"(^\\\\*|\\\\*$|((?<=[_\\\\W])\\\\*)|(\\\\*(?=[_\\\\W])))","captures":{"0":{"name":"punctuation.definition.bold.typst"}},"end":"(^\\\\*|\\\\*$|((?<=[_\\\\W])\\\\*)|(\\\\*(?=[_\\\\W])))|\\\\n|(?=])","name":"markup.bold.typst","patterns":[{"include":"#markup"}]},{"begin":"(^_|_$|((?<=[_\\\\W])_)|(_(?=[_\\\\W])))","captures":{"0":{"name":"punctuation.definition.italic.typst"}},"end":"(^_|_$|((?<=[_\\\\W])_)|(_(?=[_\\\\W])))|\\\\n|(?=])","name":"markup.italic.typst","patterns":[{"include":"#markup"}]},{"match":"https?://[#%\\\\&\'+,.-9;=?A-Za-z~]*","name":"markup.underline.link.typst"},{"begin":"`{3,}","captures":{"0":{"name":"punctuation.definition.raw.typst"}},"end":"\\\\x00","name":"markup.raw.block.typst"},{"begin":"`","captures":{"0":{"name":"punctuation.definition.raw.typst"}},"end":"`","name":"markup.raw.inline.typst"},{"begin":"\\\\$","captures":{"0":{"name":"punctuation.definition.string.math.typst"}},"end":"\\\\$","name":"string.other.math.typst"},{"begin":"^\\\\s*=+\\\\s+","beginCaptures":{"0":{"name":"punctuation.definition.heading.typst"}},"contentName":"entity.name.section.typst","end":"\\\\n|(?=<)","name":"markup.heading.typst","patterns":[{"include":"#markup"}]},{"match":"^\\\\s*-\\\\s+","name":"punctuation.definition.list.unnumbered.typst"},{"match":"^\\\\s*([0-9]*\\\\.|\\\\+)\\\\s+","name":"punctuation.definition.list.numbered.typst"},{"captures":{"1":{"name":"punctuation.definition.list.description.typst"},"2":{"name":"markup.list.term.typst"}},"match":"^\\\\s*(/)\\\\s+([^:]*:)"},{"captures":{"1":{"name":"punctuation.definition.label.typst"}},"match":"<[_[:alpha:]][-_[:alnum:]]*>","name":"entity.other.label.typst"},{"captures":{"1":{"name":"punctuation.definition.reference.typst"}},"match":"(@)[_[:alpha:]][-_[:alnum:]]*","name":"entity.other.reference.typst"},{"begin":"(#)(let|set|show)\\\\b","beginCaptures":{"0":{"name":"keyword.other.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(;)|(?=])","endCaptures":{"1":{"name":"punctuation.terminator.statement.typst"}},"patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.keyword.typst"}},"match":"(#)(as|in)\\\\b","name":"keyword.other.typst"},{"begin":"((#)if|(?<=([]}])\\\\s*)else)\\\\b","beginCaptures":{"0":{"name":"keyword.control.conditional.typst"},"2":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(?=])|(?<=[]}])","patterns":[{"include":"#code"}]},{"begin":"(#)(for|while)\\\\b","beginCaptures":{"0":{"name":"keyword.control.loop.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(?=])|(?<=[]}])","patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.keyword.typst"}},"match":"(#)(break|continue)\\\\b","name":"keyword.control.loop.typst"},{"begin":"(#)(import|include|export)\\\\b","beginCaptures":{"0":{"name":"keyword.control.import.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(;)|(?=])","endCaptures":{"1":{"name":"punctuation.terminator.statement.typst"}},"patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.keyword.typst"}},"match":"(#)(return)\\\\b","name":"keyword.control.flow.typst"},{"captures":{"2":{"name":"punctuation.definition.function.typst"}},"match":"((#)[_[:alpha:]][-_[:alnum:]]*!?)(?=[(\\\\[])","name":"entity.name.function.typst"},{"begin":"(?<=#[_[:alpha:]][-_[:alnum:]]*!?)\\\\(","captures":{"0":{"name":"punctuation.definition.group.typst"}},"end":"\\\\)","patterns":[{"include":"#arguments"}]},{"captures":{"1":{"name":"punctuation.definition.variable.typst"}},"match":"(#)[_[:alpha:]][-._[:alnum:]]*","name":"entity.other.interpolated.typst"},{"begin":"#","end":"\\\\s","name":"meta.block.content.typst","patterns":[{"include":"#code"}]}]}},"scopeName":"source.typst","aliases":["typ"]}'))];export{e as default};