@markusylisiurunen/tau 0.3.75 → 0.3.77

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 (126) hide show
  1. package/dist/core/cli.js +0 -3
  2. package/dist/core/cli.js.map +1 -1
  3. package/dist/core/config/builtin_themes.js +0 -30
  4. package/dist/core/config/builtin_themes.js.map +1 -1
  5. package/dist/core/config/content_loader.js +10 -115
  6. package/dist/core/config/content_loader.js.map +1 -1
  7. package/dist/core/config/index.js +1 -1
  8. package/dist/core/config/index.js.map +1 -1
  9. package/dist/core/config/paths.js +0 -1
  10. package/dist/core/config/paths.js.map +1 -1
  11. package/dist/core/config/runtime.js +1 -1
  12. package/dist/core/config/runtime.js.map +1 -1
  13. package/dist/core/config/runtime_config_snapshot.js +0 -1
  14. package/dist/core/config/runtime_config_snapshot.js.map +1 -1
  15. package/dist/core/config/schema.js +8 -84
  16. package/dist/core/config/schema.js.map +1 -1
  17. package/dist/core/config/skills_loader.js +0 -8
  18. package/dist/core/config/skills_loader.js.map +1 -1
  19. package/dist/core/config/theme_variants.js.map +1 -1
  20. package/dist/core/config/virtual_bundle.js +1 -4
  21. package/dist/core/config/virtual_bundle.js.map +1 -1
  22. package/dist/core/debug.js +0 -2
  23. package/dist/core/debug.js.map +1 -1
  24. package/dist/core/index.js +0 -1
  25. package/dist/core/index.js.map +1 -1
  26. package/dist/core/models/catalog.js +2 -3
  27. package/dist/core/models/catalog.js.map +1 -1
  28. package/dist/core/personas.js +3 -81
  29. package/dist/core/personas.js.map +1 -1
  30. package/dist/core/static/index.js +0 -3
  31. package/dist/core/static/index.js.map +1 -1
  32. package/dist/core/static/tau_docs/config-reference.md +17 -59
  33. package/dist/core/static/tau_docs/configuration.md +5 -10
  34. package/dist/core/static/tau_docs/credentials.md +9 -28
  35. package/dist/core/static/tau_docs/image-generation.md +1 -1
  36. package/dist/core/static/tau_docs/node-sdk.md +1 -1
  37. package/dist/core/static/tau_docs/ownership-and-scope.md +3 -3
  38. package/dist/core/static/tau_docs/pdf-unpacking.md +1 -1
  39. package/dist/core/static/tau_docs/personas.md +3 -1
  40. package/dist/core/static/tau_docs/prompts-and-project-context.md +0 -10
  41. package/dist/core/static/tau_docs/remote-sessions.md +5 -21
  42. package/dist/core/static/tau_docs/session-protocol-methods.md +1 -7
  43. package/dist/core/static/tau_docs/skills.md +0 -22
  44. package/dist/core/static/tau_docs/speech-generation.md +1 -1
  45. package/dist/core/static/tau_docs/telegram.md +15 -17
  46. package/dist/core/static/tau_docs/troubleshooting.md +15 -15
  47. package/dist/core/static/tau_docs/tui.md +9 -24
  48. package/dist/core/telegram/adapter.js +120 -20
  49. package/dist/core/telegram/adapter.js.map +1 -1
  50. package/dist/core/telegram/cli.js +4 -5
  51. package/dist/core/telegram/cli.js.map +1 -1
  52. package/dist/core/telegram/runtime.js +3 -2
  53. package/dist/core/telegram/runtime.js.map +1 -1
  54. package/dist/core/telegram/session_manager.js +14 -0
  55. package/dist/core/telegram/session_manager.js.map +1 -1
  56. package/dist/core/telegram/tts.js +11 -9
  57. package/dist/core/telegram/tts.js.map +1 -1
  58. package/dist/core/tool/image_generate.js +37 -14
  59. package/dist/core/tool/image_generate.js.map +1 -1
  60. package/dist/core/tool/media.js +84 -4
  61. package/dist/core/tool/media.js.map +1 -1
  62. package/dist/core/tool/pdf_unpack.js +17 -10
  63. package/dist/core/tool/pdf_unpack.js.map +1 -1
  64. package/dist/core/tool/speech_generate.js +30 -13
  65. package/dist/core/tool/speech_generate.js.map +1 -1
  66. package/dist/core/utils/gemini_transcription.js +5 -95
  67. package/dist/core/utils/gemini_transcription.js.map +1 -1
  68. package/dist/core/utils/{gemini_speech.js → speech.js} +167 -428
  69. package/dist/core/utils/speech.js.map +1 -0
  70. package/dist/core/utils/speech_to_text.js +24 -52
  71. package/dist/core/utils/speech_to_text.js.map +1 -1
  72. package/dist/core/utils/speech_to_text_keywords.js +65 -0
  73. package/dist/core/utils/speech_to_text_keywords.js.map +1 -1
  74. package/dist/core/version.js +1 -1
  75. package/dist/execution/fly_sprite_execution_environment.js +4 -2
  76. package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
  77. package/dist/main.js +6 -78
  78. package/dist/main.js.map +1 -1
  79. package/dist/protocol/index.d.ts +1 -1
  80. package/dist/protocol/index.js.map +1 -1
  81. package/dist/protocol/session_protocol.d.ts +2 -15
  82. package/dist/protocol/session_protocol.js +1 -20
  83. package/dist/protocol/session_protocol.js.map +1 -1
  84. package/dist/sdk/local_client.js +0 -6
  85. package/dist/sdk/local_client.js.map +1 -1
  86. package/dist/tui/chat_view.js +1 -3
  87. package/dist/tui/chat_view.js.map +1 -1
  88. package/dist/tui/listen_capture.js +7 -26
  89. package/dist/tui/listen_capture.js.map +1 -1
  90. package/dist/tui/session_chat_app.js +3 -19
  91. package/dist/tui/session_chat_app.js.map +1 -1
  92. package/dist/tui/session_chat_controller.js +58 -29
  93. package/dist/tui/session_chat_controller.js.map +1 -1
  94. package/dist/tui/speech_playback.js +10 -8
  95. package/dist/tui/speech_playback.js.map +1 -1
  96. package/dist/tui/ui/pending_messages.js +2 -1
  97. package/dist/tui/ui/pending_messages.js.map +1 -1
  98. package/package.json +3 -3
  99. package/dist/core/install/cli.js +0 -260
  100. package/dist/core/install/cli.js.map +0 -1
  101. package/dist/core/models/tau_model_overrides.js +0 -4
  102. package/dist/core/models/tau_model_overrides.js.map +0 -1
  103. package/dist/core/utils/gemini_speech.js.map +0 -1
  104. package/dist/core/utils/openai_transcription.js +0 -594
  105. package/dist/core/utils/openai_transcription.js.map +0 -1
  106. package/dist/execution/cloudflare_sandbox_execution_environment.js +0 -563
  107. package/dist/execution/cloudflare_sandbox_execution_environment.js.map +0 -1
  108. package/dist/execution/sandbox_tool_helpers.js +0 -30
  109. package/dist/execution/sandbox_tool_helpers.js.map +0 -1
  110. package/dist/starter/prompts/approval-review-branch.md +0 -7
  111. package/dist/starter/prompts/approval-review-current-changes.md +0 -7
  112. package/dist/starter/prompts/approval-review-last-commit.md +0 -7
  113. package/dist/starter/prompts/commit-all.md +0 -9
  114. package/dist/starter/prompts/commit-staged.md +0 -9
  115. package/dist/starter/prompts/guided-review-branch.md +0 -7
  116. package/dist/starter/prompts/guided-review-current-changes.md +0 -7
  117. package/dist/starter/prompts/guided-review-last-commit.md +0 -7
  118. package/dist/starter/prompts/plan.md +0 -7
  119. package/dist/starter/prompts/review-branch.md +0 -7
  120. package/dist/starter/prompts/review-current-changes.md +0 -7
  121. package/dist/starter/prompts/review-last-commit.md +0 -7
  122. package/dist/starter/prompts/rewrite-prompt.md +0 -89
  123. package/dist/starter/skills/approval-review/SKILL.md +0 -219
  124. package/dist/starter/skills/code-review/SKILL.md +0 -102
  125. package/dist/starter/skills/guided-review/SKILL.md +0 -152
  126. package/dist/starter/skills/plan/SKILL.md +0 -53
@@ -1,4 +1,4 @@
1
- import { lstat, mkdir } from "node:fs/promises";
1
+ import { link, lstat, mkdir, readFile } from "node:fs/promises";
2
2
  import { resolve } from "node:path";
3
3
  import { parseArgs } from "node:util";
4
4
  import { ToolCliError } from "./errors.js";
@@ -16,21 +16,101 @@ export function requiredArg(value, name) {
16
16
  }
17
17
  return value;
18
18
  }
19
+ export function describeMediaError(error) {
20
+ const { code, path } = (error ?? {});
21
+ const location = path ? `: ${path}` : "";
22
+ switch (code) {
23
+ case "EEXIST":
24
+ return `path already exists${location}; existing files were not overwritten`;
25
+ case "ENOENT":
26
+ return `file or parent directory does not exist${location}; check the path and create any missing parent directory`;
27
+ case "EACCES":
28
+ case "EPERM":
29
+ return `permission denied${location}; check file and directory permissions`;
30
+ case "ENOTDIR":
31
+ return `a path component is not a directory${location}; correct the path`;
32
+ case "EISDIR":
33
+ return `expected a file, but found a directory${location}; choose a file path`;
34
+ case "ENOSPC":
35
+ case "EDQUOT":
36
+ return `insufficient disk space or storage quota${location}; make space before saving artifacts`;
37
+ case "EROFS":
38
+ return `filesystem is read-only${location}; use a writable location`;
39
+ default:
40
+ return error instanceof Error ? error.message : String(error);
41
+ }
42
+ }
43
+ export async function readMediaInput(path, label) {
44
+ try {
45
+ return await readFile(path);
46
+ }
47
+ catch (error) {
48
+ throw new ToolCliError(`cannot read ${label}: ${describeMediaError(error)}`);
49
+ }
50
+ }
51
+ export function parseMediaJson(text, label) {
52
+ try {
53
+ return JSON.parse(text);
54
+ }
55
+ catch {
56
+ throw new ToolCliError(`${label} is not valid JSON`);
57
+ }
58
+ }
59
+ export function mediaValidationConstraint(issue) {
60
+ switch (issue.code) {
61
+ case "invalid_value":
62
+ return `use ${issue.values.map((value) => JSON.stringify(value)).join(" or ")}`;
63
+ case "invalid_type":
64
+ return `expected ${issue.expected}`;
65
+ case "unrecognized_keys":
66
+ return `remove unknown fields: ${issue.keys.join(", ")}`;
67
+ case "too_small":
68
+ return `must contain at least ${issue.minimum} ${issue.origin === "array" ? "item" : "character"}${issue.minimum === 1 ? "" : "s"}`;
69
+ case "invalid_key":
70
+ return `invalid field name: ${issue.issues.map(mediaValidationConstraint).join("; ")}`;
71
+ default:
72
+ return issue.message;
73
+ }
74
+ }
75
+ export async function readMediaJsonResponse(response, limit, schema, label) {
76
+ const value = parseMediaJson((await readMediaResponse(response, limit)).toString("utf8"), label);
77
+ const result = schema.safeParse(value);
78
+ if (!result.success) {
79
+ throw new ToolCliError(`${label} is missing required fields or contains invalid values`);
80
+ }
81
+ return result.data;
82
+ }
19
83
  export async function prepareMediaOutput(output, cwd) {
20
84
  const path = resolve(cwd, output);
21
85
  try {
22
86
  await lstat(path);
23
- throw new ToolCliError(`output already exists: ${path}`);
87
+ throw new ToolCliError(`output already exists: ${path}; choose a fresh --output path`);
24
88
  }
25
89
  catch (error) {
26
90
  if (!(error instanceof Error && "code" in error && error.code === "ENOENT")) {
27
- throw error;
91
+ throw new ToolCliError(describeMediaError(error));
28
92
  }
29
93
  }
30
94
  const parts = `${path}.parts`;
31
- await mkdir(parts, { mode: 0o700 });
95
+ try {
96
+ await mkdir(parts, { mode: 0o700 });
97
+ }
98
+ catch (error) {
99
+ if (error instanceof Error && "code" in error && error.code === "EEXIST") {
100
+ throw new ToolCliError(`artifact directory already exists: ${parts}; choose a fresh --output path and preserve existing recovery artifacts`);
101
+ }
102
+ throw new ToolCliError(`cannot create artifact directory: ${describeMediaError(error)}`);
103
+ }
32
104
  return { path, parts };
33
105
  }
106
+ export async function publishMediaArtifact(artifact, output) {
107
+ try {
108
+ await link(artifact, output);
109
+ }
110
+ catch (error) {
111
+ throw new ToolCliError(`cannot publish output: ${describeMediaError(error)}; completed artifact retained at ${artifact}; copy it to a fresh output path instead of generating again`);
112
+ }
113
+ }
34
114
  export async function mediaRequest(fetchImpl, url, init) {
35
115
  const response = await fetchImpl(url, {
36
116
  ...init,
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/core/tool/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/core/tool/media.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { constants as fsConstants } from "node:fs";
2
- import { access, mkdir, mkdtemp, readdir, readFile, rm, stat, writeFile } from "node:fs/promises";
2
+ import { access, mkdir, mkdtemp, readdir, rm, stat, writeFile } from "node:fs/promises";
3
3
  import { tmpdir } from "node:os";
4
4
  import { basename, join, relative, resolve } from "node:path";
5
5
  import sharp from "sharp";
@@ -7,6 +7,7 @@ import { getMistralApiKey } from "../config/schema.js";
7
7
  import { ocrMistralDocument, } from "../utils/mistral_document_ocr.js";
8
8
  import { spawnWithCapture } from "../utils/spawn_capture.js";
9
9
  import { ToolCliError } from "./errors.js";
10
+ import { describeMediaError, readMediaInput } from "./media.js";
10
11
  const OUTPUT_DIR_PREFIX = "tau-pdf-unpack-";
11
12
  const RENDER_DIR_NAME = ".rendered-pages";
12
13
  const PAGE_NAME_WIDTH = 4;
@@ -102,7 +103,7 @@ async function resolveInputPdfPath(inputPath, cwd) {
102
103
  if (nodeError.code === "ENOENT") {
103
104
  throw new ToolCliError(`pdf not found: ${resolvedPath}`, { helpPrinter: printPdfUnpackHelp });
104
105
  }
105
- throw error;
106
+ throw new ToolCliError(`cannot inspect PDF: ${describeMediaError(error)}`);
106
107
  }
107
108
  if (!fileStat.isFile()) {
108
109
  throw new ToolCliError(`pdf is not a file: ${resolvedPath}`, {
@@ -137,7 +138,7 @@ async function assertPdftoppmAvailable(args) {
137
138
  if (nodeError.code === "ENOENT") {
138
139
  throw new ToolCliError("pdftoppm not found. install Poppler and ensure pdftoppm is on PATH (macOS: brew install poppler, Linux: apt install poppler-utils).", { helpPrinter: printPdfUnpackHelp });
139
140
  }
140
- throw error;
141
+ throw new ToolCliError(`cannot run pdftoppm: ${describeMediaError(error)}`);
141
142
  }
142
143
  }
143
144
  async function renderPdfPages(args) {
@@ -331,6 +332,8 @@ export async function runPdfUnpackCommand(argv, options) {
331
332
  }
332
333
  await assertPdftoppmAvailable({ cwd, spawnImpl });
333
334
  let outputDir;
335
+ let requestStarted = false;
336
+ let stage = "creating the output directory";
334
337
  try {
335
338
  outputDir = resolve(await mkdtempImpl(join(tmpdir(), OUTPUT_DIR_PREFIX)));
336
339
  const pagesDir = join(outputDir, "pages");
@@ -340,8 +343,11 @@ export async function runPdfUnpackCommand(argv, options) {
340
343
  await mkdir(pagesDir, { recursive: true });
341
344
  await mkdir(imagesDir, { recursive: true });
342
345
  await mkdir(renderDir, { recursive: true });
343
- const documentBuffer = await readFile(pdfPath);
346
+ stage = "reading the PDF";
347
+ const documentBuffer = await readMediaInput(pdfPath, "PDF");
344
348
  const ocrImpl = options.ocrImpl ?? ocrMistralDocument;
349
+ stage = "requesting OCR";
350
+ requestStarted = true;
345
351
  const ocrResult = await ocrImpl({
346
352
  apiKey,
347
353
  document: documentBuffer,
@@ -349,6 +355,7 @@ export async function runPdfUnpackCommand(argv, options) {
349
355
  fetchImpl: options.fetchImpl,
350
356
  });
351
357
  const ocrPages = ocrResult.pages;
358
+ stage = "rendering PDF pages with pdftoppm";
352
359
  const renderedPagePaths = await renderPdfPages({
353
360
  inputPath: pdfPath,
354
361
  renderDir,
@@ -358,6 +365,7 @@ export async function runPdfUnpackCommand(argv, options) {
358
365
  if (ocrPages.length !== renderedPagePaths.length) {
359
366
  throw new ToolCliError(`Mistral OCR returned ${ocrPages.length} pages, but pdftoppm rendered ${renderedPagePaths.length}`, { helpPrinter: printPdfUnpackHelp });
360
367
  }
368
+ stage = "writing Markdown and page-image patches";
361
369
  const inlinedPages = ocrPages.map((page, index) => {
362
370
  const pageName = formatPageName(index + 1);
363
371
  const markdownWithTables = inlinePageTables(page);
@@ -391,18 +399,17 @@ export async function runPdfUnpackCommand(argv, options) {
391
399
  }));
392
400
  }
393
401
  catch (error) {
402
+ let cleanup = "no local output directory was created";
394
403
  if (outputDir) {
395
404
  try {
396
405
  await rm(outputDir, { recursive: true, force: true });
406
+ cleanup = "partial local output was removed; no local artifacts were retained";
397
407
  }
398
- catch {
399
- // ignore cleanup failures and preserve the original error
408
+ catch (cleanupError) {
409
+ cleanup = `could not remove partial local output at ${outputDir}: ${describeMediaError(cleanupError)}; inspect it before use`;
400
410
  }
401
411
  }
402
- if (error instanceof ToolCliError) {
403
- throw error;
404
- }
405
- throw new ToolCliError(`pdf-unpack failed: ${error instanceof Error ? error.message : String(error)}`);
412
+ throw new ToolCliError(`pdf-unpack failed while ${stage}: ${describeMediaError(error)}; ${cleanup}; ${requestStarted ? "another OCR request may incur another charge" : "no OCR request was sent"}`);
406
413
  }
407
414
  }
408
415
  //# sourceMappingURL=pdf_unpack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf_unpack.js","sourceRoot":"","sources":["../../../src/core/tool/pdf_unpack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf_unpack.js","sourceRoot":"","sources":["../../../src/core/tool/pdf_unpack.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { createReadStream } from "node:fs";
2
- import { link, open, readFile, rename, stat, writeFile } from "node:fs/promises";
2
+ import { open, rename, stat, writeFile } from "node:fs/promises";
3
3
  import { extname, join, resolve } from "node:path";
4
4
  import { z } from "zod";
5
5
  import { getElevenLabsApiKey } from "../config/schema.js";
6
6
  import { ToolCliError } from "./errors.js";
7
- import { mediaRequest, parseMediaArgs, prepareMediaOutput, readMediaResponse, requiredArg, } from "./media.js";
7
+ import { describeMediaError, mediaRequest, mediaValidationConstraint, parseMediaArgs, parseMediaJson, prepareMediaOutput, publishMediaArtifact, readMediaInput, readMediaJsonResponse, requiredArg, } from "./media.js";
8
8
  const SAMPLE_RATE = 24000;
9
9
  const CHUNK_CHARACTERS = 2000;
10
10
  const MAX_WAV_BYTES = 0xffffffff - 36;
@@ -20,20 +20,31 @@ const speechDocument = z.strictObject({
20
20
  .min(1),
21
21
  });
22
22
  function parseSpeechBatches(value) {
23
- const document = speechDocument.parse(value);
23
+ const result = speechDocument.safeParse(value);
24
+ if (!result.success) {
25
+ const details = result.error.issues.map((issue) => {
26
+ const [field, chunk, turn, ...rest] = issue.path;
27
+ const location = field === "chunks" && typeof chunk === "number"
28
+ ? `chunk ${chunk + 1}${typeof turn === "number" ? `, turn ${turn + 1}` : ""}${rest.length ? `, ${rest.join(".")}` : ""}`
29
+ : issue.path.join(".") || "document";
30
+ return `${location}: ${mediaValidationConstraint(issue)}`;
31
+ });
32
+ throw new ToolCliError(`invalid speech script: ${details.join("; ")}; correct --input before generating`);
33
+ }
34
+ const document = result.data;
24
35
  const batches = [];
25
36
  const voices = new Set();
26
37
  for (const [index, chunk] of document.chunks.entries()) {
27
38
  const characters = chunk.reduce((sum, turn) => sum + Array.from(turn.text).length, 0);
28
39
  if (characters > CHUNK_CHARACTERS) {
29
- throw new ToolCliError(`chunk ${index + 1} has ${characters} characters; maximum ${CHUNK_CHARACTERS}`);
40
+ throw new ToolCliError(`chunk ${index + 1} has ${characters} characters; maximum ${CHUNK_CHARACTERS}; split it into smaller chunks in --input`);
30
41
  }
31
- const inputs = chunk.map((turn) => {
42
+ const inputs = chunk.map((turn, turnIndex) => {
32
43
  const voice = Object.hasOwn(document.voices, turn.speaker)
33
44
  ? document.voices[turn.speaker]
34
45
  : undefined;
35
46
  if (!voice) {
36
- throw new ToolCliError(`chunk ${index + 1}: unknown speaker ${turn.speaker}`);
47
+ throw new ToolCliError(`chunk ${index + 1}, turn ${turnIndex + 1}: unknown speaker ${turn.speaker}; add it to voices or use a defined speaker`);
37
48
  }
38
49
  voices.add(voice);
39
50
  return { voice_id: voice, text: turn.text };
@@ -77,13 +88,11 @@ async function listVoices(fetchImpl, apiKey, log) {
77
88
  url.searchParams.set("next_page_token", token);
78
89
  }
79
90
  const response = await mediaRequest(fetchImpl, url.href, { headers: { "xi-api-key": apiKey } });
80
- const page = z
81
- .object({
91
+ const page = await readMediaJsonResponse(response, 8 * 1024 * 1024, z.object({
82
92
  voices: z.array(z.object({ voice_id: z.string(), name: z.string() })),
83
93
  has_more: z.boolean(),
84
94
  next_page_token: z.string().nullable().optional(),
85
- })
86
- .parse(JSON.parse((await readMediaResponse(response, 8 * 1024 * 1024)).toString("utf8")));
95
+ }), "ElevenLabs voice-list response");
87
96
  for (const voice of page.voices) {
88
97
  log(JSON.stringify(voice));
89
98
  }
@@ -199,7 +208,7 @@ export async function runSpeechGenerateCommand(argv, options) {
199
208
  if (extname(output).toLowerCase() !== ".wav") {
200
209
  throw new ToolCliError("--output must have a .wav extension");
201
210
  }
202
- const batches = parseSpeechBatches(JSON.parse(await readFile(resolve(cwd, input), "utf8")));
211
+ const batches = parseSpeechBatches(parseMediaJson((await readMediaInput(resolve(cwd, input), "--input script")).toString("utf8"), `--input script ${input}`));
203
212
  if (!apiKey) {
204
213
  throw new ToolCliError("missing ELEVENLABS_API_KEY or apiKeys.elevenlabs");
205
214
  }
@@ -224,9 +233,12 @@ export async function runSpeechGenerateCommand(argv, options) {
224
233
  await writeFile(temporary, JSON.stringify(manifest, null, 2), { mode: 0o600 });
225
234
  await rename(temporary, join(destination.parts, "manifest.json"));
226
235
  };
236
+ let stage = "saving the batch plan";
237
+ let requestStarted = false;
227
238
  try {
228
239
  await saveManifest();
229
240
  for (const [index, batch] of manifest.batches.entries()) {
241
+ stage = `preparing batch ${index + 1} of ${manifest.batches.length}`;
230
242
  const previousRequestIds = manifest.batches
231
243
  .slice(Math.max(0, index - 3), index)
232
244
  .map((previous) => {
@@ -235,6 +247,8 @@ export async function runSpeechGenerateCommand(argv, options) {
235
247
  }
236
248
  return previous.requestId;
237
249
  });
250
+ stage = `requesting batch ${index + 1} of ${manifest.batches.length}`;
251
+ requestStarted = true;
238
252
  const response = await mediaRequest(fetchImpl, "https://api.elevenlabs.io/v1/text-to-dialogue?output_format=pcm_24000", {
239
253
  method: "POST",
240
254
  headers: { "xi-api-key": apiKey, "Content-Type": "application/json" },
@@ -244,6 +258,7 @@ export async function runSpeechGenerateCommand(argv, options) {
244
258
  ...(previousRequestIds.length ? { previous_request_ids: previousRequestIds } : {}),
245
259
  }),
246
260
  });
261
+ stage = `saving batch ${index + 1} of ${manifest.batches.length}`;
247
262
  batch.requestId = response.headers.get("request-id");
248
263
  batch.characterCost = response.headers.get("character-cost");
249
264
  await saveManifest();
@@ -253,9 +268,11 @@ export async function runSpeechGenerateCommand(argv, options) {
253
268
  batch.completed = true;
254
269
  await saveManifest();
255
270
  }
271
+ stage = "assembling the WAV";
256
272
  const artifact = join(destination.parts, "assembled.wav");
257
273
  await assembleSpeechWav(manifest.batches.map((batch) => join(destination.parts, batch.file)), artifact);
258
- await link(artifact, destination.path);
274
+ stage = "publishing the WAV";
275
+ await publishMediaArtifact(artifact, destination.path);
259
276
  log(JSON.stringify({
260
277
  output: destination.path,
261
278
  artifacts: destination.parts,
@@ -263,7 +280,7 @@ export async function runSpeechGenerateCommand(argv, options) {
263
280
  }));
264
281
  }
265
282
  catch (error) {
266
- throw new ToolCliError(`speech generation failed; completed batches and manifest retained at ${destination.parts}; ${error instanceof Error ? error.message : String(error)}`);
283
+ throw new ToolCliError(`speech generation failed while ${stage}: ${describeMediaError(error)}; retained artifacts: ${destination.parts} (any saved manifest, completed .pcm batches, .partial downloads, and assembled.wav); inspect the manifest before recovery and do not reuse .partial files; ${requestStarted ? "no automatic retry; another generation request may incur another charge" : "no generation request was sent"}`);
267
284
  }
268
285
  }
269
286
  //# sourceMappingURL=speech_generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"speech_generate.js","sourceRoot":"","sources":["../../../src/core/tool/speech_generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speech_generate.js","sourceRoot":"","sources":["../../../src/core/tool/speech_generate.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,12 @@
1
1
  import WebSocket from "ws";
2
2
  import { z } from "zod";
3
- import { formatSpeechToTextContext } from "./speech_to_text_context.js";
4
- import { normalizeSpeechToTextKeywords, SPEECH_TO_TEXT_KEYWORD_INSTRUCTIONS, } from "./speech_to_text_keywords.js";
5
- const GEMINI_GENERATE_CONTENT_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/models";
3
+ import { prepareSpeechToTextKeywords } from "./speech_to_text_keywords.js";
6
4
  const GEMINI_FILE_UPLOAD_URL = "https://generativelanguage.googleapis.com/upload/v1beta/files";
7
5
  const GEMINI_INTERACTIONS_URL = "https://generativelanguage.googleapis.com/v1beta/interactions";
8
6
  const GEMINI_FILES_BASE_URL = "https://generativelanguage.googleapis.com/v1beta";
9
7
  const GEMINI_LIVE_TRANSCRIPTION_URL = "wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent";
10
8
  const GEMINI_TRANSCRIPTION_MODEL = "gemini-3.5-transcribe";
11
9
  const GEMINI_LIVE_TRANSCRIPTION_MODEL = "gemini-3.5-transcribe-live";
12
- const GEMINI_TRANSCRIPTION_KEYWORD_MODEL = "gemini-3.8-flash";
13
- const GEMINI_TRANSCRIPTION_MAX_KEYWORD_CHARACTERS_TOTAL = 10_000;
14
- const GEMINI_TRANSCRIPTION_KEYWORD_TIMEOUT_MS = 15_000;
15
10
  const GEMINI_TRANSCRIPTION_CONNECT_TIMEOUT_MS = 15_000;
16
11
  const GEMINI_TRANSCRIPTION_COMPLETION_TIMEOUT_MS = 30_000;
17
12
  const GEMINI_FILE_DELETE_TIMEOUT_MS = 5_000;
@@ -23,21 +18,6 @@ const errorPayloadSchema = z.object({
23
18
  })
24
19
  .optional(),
25
20
  });
26
- const generateContentResponseSchema = z.object({
27
- candidates: z
28
- .array(z.object({
29
- content: z.object({
30
- parts: z.array(z.unknown()).optional(),
31
- }),
32
- }))
33
- .optional(),
34
- });
35
- const textPartSchema = z.object({ text: z.string() });
36
- const transcriptionKeywordsSchema = z
37
- .object({
38
- keywords: z.array(z.string()),
39
- })
40
- .strict();
41
21
  const uploadedFileSchema = z.object({
42
22
  file: z.object({
43
23
  name: z.string().trim().min(1),
@@ -99,8 +79,8 @@ class GeminiStreamingTranscriptionImpl {
99
79
  throw new Error("missing Gemini API key");
100
80
  }
101
81
  this.onProgress = options.onProgress;
102
- this.keywordsPromise = prepareGeminiTranscriptionKeywords({
103
- apiKey,
82
+ this.keywordsPromise = prepareSpeechToTextKeywords({
83
+ apiKey: options.openAIApiKey,
104
84
  context: options.context,
105
85
  signal: this.keywordAbortController.signal,
106
86
  fetchImpl: options.fetchImpl,
@@ -343,8 +323,8 @@ export async function transcribeGeminiAudio(options) {
343
323
  }
344
324
  const fetchFn = options.fetchImpl ?? fetch;
345
325
  const [keywords, uploadedFile] = await Promise.all([
346
- prepareGeminiTranscriptionKeywords({
347
- apiKey,
326
+ prepareSpeechToTextKeywords({
327
+ apiKey: options.openAIApiKey,
348
328
  context: options.context,
349
329
  signal: options.signal,
350
330
  fetchImpl: fetchFn,
@@ -402,65 +382,6 @@ export async function transcribeGeminiAudio(options) {
402
382
  });
403
383
  }
404
384
  }
405
- async function prepareGeminiTranscriptionKeywords(args) {
406
- const formattedContext = formatSpeechToTextContext(args.context);
407
- if (!formattedContext)
408
- return [];
409
- try {
410
- const signals = [AbortSignal.timeout(GEMINI_TRANSCRIPTION_KEYWORD_TIMEOUT_MS)];
411
- if (args.signal)
412
- signals.push(args.signal);
413
- const response = await (args.fetchImpl ?? fetch)(`${GEMINI_GENERATE_CONTENT_BASE_URL}/${GEMINI_TRANSCRIPTION_KEYWORD_MODEL}:generateContent`, {
414
- method: "POST",
415
- headers: {
416
- "Content-Type": "application/json",
417
- "x-goog-api-key": args.apiKey,
418
- },
419
- signal: AbortSignal.any(signals),
420
- body: JSON.stringify({
421
- systemInstruction: {
422
- parts: [{ text: SPEECH_TO_TEXT_KEYWORD_INSTRUCTIONS }],
423
- },
424
- contents: [
425
- {
426
- parts: [{ text: formattedContext }],
427
- },
428
- ],
429
- generationConfig: {
430
- responseMimeType: "application/json",
431
- responseSchema: {
432
- type: "OBJECT",
433
- properties: {
434
- keywords: {
435
- type: "ARRAY",
436
- items: { type: "STRING" },
437
- },
438
- },
439
- required: ["keywords"],
440
- },
441
- thinkingConfig: {
442
- thinkingLevel: "low",
443
- },
444
- },
445
- }),
446
- });
447
- if (!response.ok) {
448
- await response.body?.cancel().catch(() => { });
449
- return [];
450
- }
451
- const payload = (await response.json());
452
- const outputText = extractGenerateContentText(payload);
453
- const parsedKeywords = transcriptionKeywordsSchema.safeParse(outputText ? JSON.parse(outputText) : undefined);
454
- return parsedKeywords.success
455
- ? normalizeSpeechToTextKeywords(parsedKeywords.data.keywords, {
456
- maxTotalCharacters: GEMINI_TRANSCRIPTION_MAX_KEYWORD_CHARACTERS_TOTAL,
457
- })
458
- : [];
459
- }
460
- catch {
461
- return [];
462
- }
463
- }
464
385
  async function uploadGeminiAudio(args) {
465
386
  const startResponse = await args.fetchImpl(GEMINI_FILE_UPLOAD_URL, {
466
387
  method: "POST",
@@ -518,17 +439,6 @@ async function deleteGeminiFile(args) {
518
439
  // best-effort remote cleanup
519
440
  }
520
441
  }
521
- function extractGenerateContentText(payload) {
522
- const parsed = generateContentResponseSchema.safeParse(payload);
523
- if (!parsed.success)
524
- return undefined;
525
- return (parsed.data.candidates?.[0]?.content.parts ?? [])
526
- .map((part) => {
527
- const parsedPart = textPartSchema.safeParse(part);
528
- return parsedPart.success ? parsedPart.data.text : "";
529
- })
530
- .join("");
531
- }
532
442
  function extractInteractionText(payload) {
533
443
  const parsed = interactionSchema.safeParse(payload);
534
444
  if (!parsed.success)