@mkterswingman/5mghost-yonder 0.0.8 → 0.0.10

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.
@@ -362,6 +362,10 @@ export async function downloadSubtitlesForLanguages(input) {
362
362
  input.onProgress?.(completed, total);
363
363
  }
364
364
  }
365
+ const hasAnySubtitleFiles = Object.values(filesByFormat).some((files) => files.length > 0);
366
+ if (!hasAnySubtitleFiles) {
367
+ throw new Error(`No subtitles found for requested languages: ${input.languages.join(", ")}`);
368
+ }
365
369
  return filesByFormat;
366
370
  }
367
371
  function isUnavailableSubtitleError(error) {
@@ -459,6 +463,9 @@ export function registerSubtitleTools(server, config, tokenManager) {
459
463
  });
460
464
  }
461
465
  }
466
+ if (results.length === 0) {
467
+ return toolErr("NO_SUBTITLES", `No subtitles found for requested languages: ${langs.join(", ")}`);
468
+ }
462
469
  return toolOk({
463
470
  status: "completed",
464
471
  video_id: videoId,
@@ -28,7 +28,7 @@ const targetArgs = args.length > 0 ? args : ["serve"];
28
28
 
29
29
  function isRepairableNpxFailure(stderr) {
30
30
  const lower = stderr.toLowerCase();
31
- return (lower.includes("_npx/") || lower.includes("_npx\\"))
31
+ return (lower.includes("_npx/") || lower.includes("_npx\\\\"))
32
32
  && (lower.includes("enotempty") || lower.includes("rename"));
33
33
  }
34
34
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mkterswingman/5mghost-yonder",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "Internal MCP client with local data tools and remote API proxy",
5
5
  "type": "module",
6
6
  "bin": {