summaryrefslogtreecommitdiffhomepage
path: root/packages/tool-youtube-transcript/src/tool.test.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-21 15:15:59 +0900
committerAdam Malczewski <[email protected]>2026-06-21 15:15:59 +0900
commit6cfe0dc1df99c46407b0784576c3d4b0f1cb7349 (patch)
treeb9c3bb058037e9841e474b16034ca28316f42fb6 /packages/tool-youtube-transcript/src/tool.test.ts
parent64823e68e8c6c3bc199f9cb82d97321c830687c3 (diff)
downloaddispatch-6cfe0dc1df99c46407b0784576c3d4b0f1cb7349.tar.gz
dispatch-6cfe0dc1df99c46407b0784576c3d4b0f1cb7349.zip
refactor(tool-youtube-transcript): always save full transcript, fix description
- Always write the full transcript to /tmp/dispatch/youtube-transcribe/{video_id}.txt (not just on truncation) - Description no longer claims to return the full transcript; instead says it returns transcript text (truncated if very long) and the full version is always saved to the file path
Diffstat (limited to 'packages/tool-youtube-transcript/src/tool.test.ts')
-rw-r--r--packages/tool-youtube-transcript/src/tool.test.ts27
1 files changed, 24 insertions, 3 deletions
diff --git a/packages/tool-youtube-transcript/src/tool.test.ts b/packages/tool-youtube-transcript/src/tool.test.ts
index 59d90fa..7cdfd0e 100644
--- a/packages/tool-youtube-transcript/src/tool.test.ts
+++ b/packages/tool-youtube-transcript/src/tool.test.ts
@@ -111,7 +111,7 @@ describe("youtube_transcript", () => {
expect(spanOpen?.conversationId).toBe("conv-xyz");
});
- it("writes full transcript to /tmp/dispatch/{video_id}.txt when truncated", async () => {
+ it("writes full transcript to /tmp/dispatch/youtube-transcribe/{video_id}.txt when truncated", async () => {
const longText = "x".repeat(60_000);
const client = makeStubClient(async () => ({
status: "completed",
@@ -130,10 +130,31 @@ describe("youtube_transcript", () => {
},
});
const result = await tool.execute({ url: "https://youtu.be/vid5" }, stubCtx());
- expect(writtenPath).toBe("/tmp/dispatch/vid5.txt");
+ expect(writtenPath).toBe("/tmp/dispatch/youtube-transcribe/vid5.txt");
expect(writtenContent).toContain("x".repeat(60_000));
- expect(result.content).toContain("/tmp/dispatch/vid5.txt");
+ expect(result.content).toContain("/tmp/dispatch/youtube-transcribe/vid5.txt");
expect(result.content).toContain("use read_file to access it");
expect(result.content.length).toBeLessThan(writtenContent.length);
});
+
+ it("writes transcript to file even when not truncated", async () => {
+ const client = makeStubClient(async () => ({
+ status: "completed",
+ video_id: "vid6",
+ full_text: "short transcript",
+ segments: [{ text: "short transcript", start: 0, duration: 2 }],
+ }));
+ let writtenPath = "";
+ let writtenContent = "";
+ const tool = createYoutubeTranscriptTool({
+ client,
+ writeFile: (path, content) => {
+ writtenPath = path;
+ writtenContent = content;
+ },
+ });
+ const result = await tool.execute({ url: "https://youtu.be/vid6" }, stubCtx());
+ expect(writtenPath).toBe("/tmp/dispatch/youtube-transcribe/vid6.txt");
+ expect(writtenContent).toBe(result.content);
+ });
});