video-context-mcp-server 0.43.1-beta → 0.44.0-beta
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.
- package/README.md +4 -0
- package/dist/commands/cache.d.ts.map +1 -1
- package/dist/commands/cache.js +5 -1
- package/dist/commands/cache.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/services/ffmpeg.d.ts +6 -0
- package/dist/services/ffmpeg.d.ts.map +1 -1
- package/dist/services/ffmpeg.js +83 -59
- package/dist/services/ffmpeg.js.map +1 -1
- package/dist/utils/artifactCache.d.ts +13 -1
- package/dist/utils/artifactCache.d.ts.map +1 -1
- package/dist/utils/artifactCache.js +133 -25
- package/dist/utils/artifactCache.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -410,6 +410,7 @@ Downloaded videos, extracted frames, audio tracks, and transcripts are cached to
|
|
|
410
410
|
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------- |
|
|
411
411
|
| `VIDEO_MCP_CACHE_TTL_MINUTES` | How long video artifacts (video file, frames, audio, transcripts) are cached across tool calls (minutes). Set `0` to disable. | `43200` (30 days) |
|
|
412
412
|
| `VIDEO_MCP_CACHE_MAX_ENTRIES` | Max entries in the artifact cache. LRU eviction at the video level. Set `0` for unbounded. | `100` |
|
|
413
|
+
| `VIDEO_MCP_CACHE_MAX_MB` | Max total disk size for the cache (megabytes). LRU eviction when the limit is reached. Set `0` to disable. | `5120` (5 GB) |
|
|
413
414
|
|
|
414
415
|
#### Cache Storage Location
|
|
415
416
|
|
|
@@ -427,6 +428,7 @@ The server automatically manages the cache by:
|
|
|
427
428
|
|
|
428
429
|
1. **Startup Sweep:** Removing any cache entries older than the TTL at server startup.
|
|
429
430
|
2. **LRU Eviction:** Evicting the least-recently-used video entry (all its artifacts together) when the `VIDEO_MCP_CACHE_MAX_ENTRIES` limit is reached.
|
|
431
|
+
3. **Size Eviction:** Evicting the least-recently-used video entry when the total cache size exceeds `VIDEO_MCP_CACHE_MAX_MB` (default 5 GB).
|
|
430
432
|
|
|
431
433
|
#### Cache Management CLI
|
|
432
434
|
|
|
@@ -521,6 +523,7 @@ vmcp cache clear:all --yes # skip confirmation
|
|
|
521
523
|
"AUDIO_ENHANCE_VIDEO_ANALYSIS": "auto",
|
|
522
524
|
"VIDEO_MCP_CACHE_TTL_MINUTES": "43200",
|
|
523
525
|
"VIDEO_MCP_CACHE_MAX_ENTRIES": "100",
|
|
526
|
+
"VIDEO_MCP_CACHE_MAX_MB": "5120",
|
|
524
527
|
"VIDEO_MCP_MAX_FRAMES": "50",
|
|
525
528
|
"YT_DLP_MAX_RESOLUTION": "720",
|
|
526
529
|
"YT_DLP_PATH": "/usr/local/bin/yt-dlp",
|
|
@@ -658,6 +661,7 @@ Use this `.vscode/mcp.json` to run the local build (never commit this file):
|
|
|
658
661
|
"AUDIO_ENHANCE_VIDEO_ANALYSIS": "auto",
|
|
659
662
|
"VIDEO_MCP_CACHE_TTL_MINUTES": "43200",
|
|
660
663
|
"VIDEO_MCP_CACHE_MAX_ENTRIES": "100",
|
|
664
|
+
"VIDEO_MCP_CACHE_MAX_MB": "5120",
|
|
661
665
|
"VIDEO_MCP_MAX_FRAMES": "0",
|
|
662
666
|
"YT_DLP_MAX_RESOLUTION": "720",
|
|
663
667
|
"YT_DLP_PATH": "/usr/local/bin/yt-dlp",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuBH;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCtE;AA6OD,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUnD;AAED,gEAAgE;AAChE,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBlE;AAED,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAQzB"}
|
package/dist/commands/cache.js
CHANGED
|
@@ -18,7 +18,7 @@ import * as fs from 'fs/promises';
|
|
|
18
18
|
import * as path from 'path';
|
|
19
19
|
import { tmpdir } from 'os';
|
|
20
20
|
import * as readline from 'readline';
|
|
21
|
-
import { getCacheTTLMs, getMaxCacheEntries } from '../utils/artifactCache.js';
|
|
21
|
+
import { getCacheTTLMs, getMaxCacheEntries, getMaxCacheBytes, } from '../utils/artifactCache.js';
|
|
22
22
|
// ---------------------------------------------------------------------------
|
|
23
23
|
// Constants
|
|
24
24
|
// ---------------------------------------------------------------------------
|
|
@@ -68,8 +68,10 @@ export async function handleCacheCommand(args) {
|
|
|
68
68
|
async function cacheStatus() {
|
|
69
69
|
const ttlMs = getCacheTTLMs();
|
|
70
70
|
const maxEntries = getMaxCacheEntries();
|
|
71
|
+
const maxBytes = getMaxCacheBytes();
|
|
71
72
|
const ttlLabel = formatTTLLabel(ttlMs);
|
|
72
73
|
const maxLabel = maxEntries === 0 ? 'unlimited' : String(maxEntries);
|
|
74
|
+
const maxSizeLabel = maxBytes === 0 ? 'unlimited' : formatBytes(maxBytes);
|
|
73
75
|
let entries = [];
|
|
74
76
|
try {
|
|
75
77
|
const all = await fs.readdir(CACHE_DIR, { withFileTypes: true });
|
|
@@ -82,6 +84,7 @@ async function cacheStatus() {
|
|
|
82
84
|
console.log(`Cache directory : ${CACHE_DIR}`);
|
|
83
85
|
console.log(`TTL : ${ttlLabel}`);
|
|
84
86
|
console.log(`Max entries : ${maxLabel}`);
|
|
87
|
+
console.log(`Max size : ${maxSizeLabel}`);
|
|
85
88
|
console.log(`Entries : 0`);
|
|
86
89
|
console.log(`Total size : 0 B`);
|
|
87
90
|
console.log();
|
|
@@ -103,6 +106,7 @@ async function cacheStatus() {
|
|
|
103
106
|
console.log(`Cache directory : ${CACHE_DIR}`);
|
|
104
107
|
console.log(`TTL : ${ttlLabel}`);
|
|
105
108
|
console.log(`Max entries : ${maxLabel}`);
|
|
109
|
+
console.log(`Max size : ${maxSizeLabel}`);
|
|
106
110
|
console.log(`Entries : ${infos.length}`);
|
|
107
111
|
console.log(`Total size : ${formatBytes(totalSize)}`);
|
|
108
112
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.44.0-beta";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/** Maximum number of concurrent ffmpeg frame-extraction processes. */
|
|
2
2
|
export declare const FRAME_CONCURRENCY = 4;
|
|
3
|
+
/** Timeout for ffprobe metadata operations (probe only, no video decoding). */
|
|
4
|
+
export declare const FFPROBE_TIMEOUT_MS: number;
|
|
5
|
+
/** Timeout for single-frame extraction operations. */
|
|
6
|
+
export declare const FFMPEG_SINGLE_FRAME_MS: number;
|
|
7
|
+
/** Timeout for full-video pass operations (frame extraction, audio, scene detection). */
|
|
8
|
+
export declare const FFMPEG_FULL_VIDEO_MS: number;
|
|
3
9
|
/**
|
|
4
10
|
* Video Metadata
|
|
5
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../src/services/ffmpeg.ts"],"names":[],"mappings":"AASA,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,IAAI,
|
|
1
|
+
{"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../src/services/ffmpeg.ts"],"names":[],"mappings":"AASA,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAElC,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,QAAgB,CAAA;AAC/C,sDAAsD;AACtD,eAAO,MAAM,sBAAsB,QAAgB,CAAA;AACnD,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,QAAiB,CAQjD;AA+BD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CA4BxB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CA+BnB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBnB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
package/dist/services/ffmpeg.js
CHANGED
|
@@ -8,6 +8,13 @@ import { tmpdir } from 'os';
|
|
|
8
8
|
import pLimit from 'p-limit';
|
|
9
9
|
/** Maximum number of concurrent ffmpeg frame-extraction processes. */
|
|
10
10
|
export const FRAME_CONCURRENCY = 4;
|
|
11
|
+
/** Timeout for ffprobe metadata operations (probe only, no video decoding). */
|
|
12
|
+
export const FFPROBE_TIMEOUT_MS = 1 * 60 * 1000; // 1 minute
|
|
13
|
+
/** Timeout for single-frame extraction operations. */
|
|
14
|
+
export const FFMPEG_SINGLE_FRAME_MS = 2 * 60 * 1000; // 2 minutes
|
|
15
|
+
/** Timeout for full-video pass operations (frame extraction, audio, scene detection). */
|
|
16
|
+
export const FFMPEG_FULL_VIDEO_MS = 10 * 60 * 1000 // 10 minutes
|
|
17
|
+
;
|
|
11
18
|
(() => {
|
|
12
19
|
const pathKey = process.platform === 'win32'
|
|
13
20
|
? Object.keys(process.env).find((k) => k.toUpperCase() === 'PATH') ||
|
|
@@ -44,7 +51,7 @@ process.env.FFPROBE_PATH = ffprobeInstaller.path;
|
|
|
44
51
|
* @returns Video metadata
|
|
45
52
|
*/
|
|
46
53
|
export async function getVideoMetadata(videoPath) {
|
|
47
|
-
|
|
54
|
+
const probePromise = new Promise((resolve, reject) => {
|
|
48
55
|
ffmpeg.ffprobe(videoPath, (err, metadata) => {
|
|
49
56
|
if (err) {
|
|
50
57
|
reject(err);
|
|
@@ -67,6 +74,7 @@ export async function getVideoMetadata(videoPath) {
|
|
|
67
74
|
});
|
|
68
75
|
});
|
|
69
76
|
});
|
|
77
|
+
return probeWithTimeout(probePromise, FFPROBE_TIMEOUT_MS, 'getVideoMetadata');
|
|
70
78
|
}
|
|
71
79
|
/**
|
|
72
80
|
* Extract a single frame at a specific timestamp
|
|
@@ -78,16 +86,12 @@ export async function extractFrameAt(videoPath, timestampSec) {
|
|
|
78
86
|
const tempDir = await mkdtemp(path.join(tmpdir(), 'video-mcp-'));
|
|
79
87
|
const outputPath = path.join(tempDir, 'frame.jpg');
|
|
80
88
|
try {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
.on('end', () => resolve())
|
|
88
|
-
.on('error', reject)
|
|
89
|
-
.run();
|
|
90
|
-
});
|
|
89
|
+
const command = ffmpeg(videoPath)
|
|
90
|
+
.seekInput(timestampSec)
|
|
91
|
+
.frames(1)
|
|
92
|
+
.outputOptions(['-q:v 2'])
|
|
93
|
+
.output(outputPath);
|
|
94
|
+
await runWithTimeout(command, FFMPEG_SINGLE_FRAME_MS, 'extractFrameAt');
|
|
91
95
|
const frameBuffer = await fs.readFile(outputPath);
|
|
92
96
|
return frameBuffer;
|
|
93
97
|
}
|
|
@@ -122,14 +126,10 @@ export async function extractFramesEvenly(videoPath, count) {
|
|
|
122
126
|
// fps = count / duration → e.g. 40 frames over 514 s ≈ 0.078 fps
|
|
123
127
|
// This naturally produces ~count frames evenly spaced across the video.
|
|
124
128
|
const fpsRate = count / duration;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
.on('end', () => resolve())
|
|
130
|
-
.on('error', reject)
|
|
131
|
-
.run();
|
|
132
|
-
});
|
|
129
|
+
const command = ffmpeg(videoPath)
|
|
130
|
+
.outputOptions([`-vf fps=${fpsRate},scale=1280:-2`, '-q:v 2'])
|
|
131
|
+
.output(path.join(tempDir, 'frame-%04d.jpg'));
|
|
132
|
+
await runWithTimeout(command, FFMPEG_FULL_VIDEO_MS, 'extractFramesEvenly');
|
|
133
133
|
// Read all generated frame files
|
|
134
134
|
const framePaths = (await fs.readdir(tempDir))
|
|
135
135
|
.filter((f) => f.endsWith('.jpg'))
|
|
@@ -150,14 +150,10 @@ export async function extractFramesEvenly(videoPath, count) {
|
|
|
150
150
|
export async function extractFramesAtInterval(videoPath, intervalSec) {
|
|
151
151
|
const tempDir = await mkdtemp(path.join(tmpdir(), 'video-mcp-'));
|
|
152
152
|
try {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
.on('end', () => resolve())
|
|
158
|
-
.on('error', reject)
|
|
159
|
-
.run();
|
|
160
|
-
});
|
|
153
|
+
const command = ffmpeg(videoPath)
|
|
154
|
+
.outputOptions([`-vf fps=1/${intervalSec}`, '-q:v 2'])
|
|
155
|
+
.output(path.join(tempDir, 'frame-%04d.jpg'));
|
|
156
|
+
await runWithTimeout(command, FFMPEG_FULL_VIDEO_MS, 'extractFramesAtInterval');
|
|
161
157
|
const framePaths = (await fs.readdir(tempDir))
|
|
162
158
|
.filter((f) => f.endsWith('.jpg'))
|
|
163
159
|
.sort();
|
|
@@ -180,16 +176,12 @@ export async function extractFramesAtTimestamps(videoPath, timestamps) {
|
|
|
180
176
|
try {
|
|
181
177
|
const frames = await Promise.all(timestamps.map((timestamp, i) => limit(async () => {
|
|
182
178
|
const outputPath = path.join(tempDir, `frame-${i}.jpg`);
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
.on('end', () => resolve())
|
|
190
|
-
.on('error', reject)
|
|
191
|
-
.run();
|
|
192
|
-
});
|
|
179
|
+
const command = ffmpeg(videoPath)
|
|
180
|
+
.seekInput(timestamp)
|
|
181
|
+
.frames(1)
|
|
182
|
+
.outputOptions(['-q:v 2'])
|
|
183
|
+
.output(outputPath);
|
|
184
|
+
await runWithTimeout(command, FFMPEG_SINGLE_FRAME_MS, 'extractFramesAtTimestamps');
|
|
193
185
|
return fs.readFile(outputPath);
|
|
194
186
|
})));
|
|
195
187
|
return frames;
|
|
@@ -210,20 +202,16 @@ export async function extractFramesAtTimestamps(videoPath, timestamps) {
|
|
|
210
202
|
*/
|
|
211
203
|
export async function detectSceneTimestamps(videoPath, threshold) {
|
|
212
204
|
const stderrLines = [];
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
.on('end', () => resolve())
|
|
224
|
-
.on('error', reject)
|
|
225
|
-
.run();
|
|
226
|
-
});
|
|
205
|
+
const command = ffmpeg(videoPath)
|
|
206
|
+
.outputOptions([
|
|
207
|
+
`-vf select='gt(scene,${threshold})',showinfo`,
|
|
208
|
+
'-vsync vfr',
|
|
209
|
+
'-an',
|
|
210
|
+
'-f null',
|
|
211
|
+
])
|
|
212
|
+
.output('-')
|
|
213
|
+
.on('stderr', (line) => stderrLines.push(line));
|
|
214
|
+
await runWithTimeout(command, FFMPEG_FULL_VIDEO_MS, 'detectSceneTimestamps');
|
|
227
215
|
const timestamps = [];
|
|
228
216
|
const regex = /pts_time:([\d.]+)/;
|
|
229
217
|
for (const line of stderrLines) {
|
|
@@ -240,14 +228,50 @@ export async function detectSceneTimestamps(videoPath, threshold) {
|
|
|
240
228
|
* @param outputPath - Path to write the .m4a audio file
|
|
241
229
|
*/
|
|
242
230
|
export async function extractAudio(videoPath, outputPath) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
231
|
+
const command = ffmpeg(videoPath)
|
|
232
|
+
.noVideo()
|
|
233
|
+
.audioCodec('aac')
|
|
234
|
+
.audioBitrate('64k')
|
|
235
|
+
.output(outputPath);
|
|
236
|
+
await runWithTimeout(command, FFMPEG_FULL_VIDEO_MS, 'extractAudio');
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Race a probe promise against a timeout. No process to kill on expiry —
|
|
240
|
+
* ffprobe is a fast I/O-only operation that terminates naturally.
|
|
241
|
+
*/
|
|
242
|
+
function probeWithTimeout(work, timeoutMs, description) {
|
|
243
|
+
return new Promise((resolve, reject) => {
|
|
244
|
+
const timer = setTimeout(() => {
|
|
245
|
+
reject(new Error(`ffmpeg timed out after ${timeoutMs / 1000} seconds: ${description}`));
|
|
246
|
+
}, timeoutMs);
|
|
247
|
+
void work.then((result) => {
|
|
248
|
+
clearTimeout(timer);
|
|
249
|
+
resolve(result);
|
|
250
|
+
}, (err) => {
|
|
251
|
+
clearTimeout(timer);
|
|
252
|
+
reject(err);
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Register end/error handlers on an ffmpeg command, call run(), and enforce
|
|
258
|
+
* a timeout. Kills the process with SIGKILL if the timeout fires first.
|
|
259
|
+
*/
|
|
260
|
+
function runWithTimeout(command, timeoutMs, description) {
|
|
261
|
+
return new Promise((resolve, reject) => {
|
|
262
|
+
const timer = setTimeout(() => {
|
|
263
|
+
command.kill('SIGKILL');
|
|
264
|
+
reject(new Error(`ffmpeg timed out after ${timeoutMs / 1000} seconds: ${description}`));
|
|
265
|
+
}, timeoutMs);
|
|
266
|
+
command
|
|
267
|
+
.on('end', () => {
|
|
268
|
+
clearTimeout(timer);
|
|
269
|
+
resolve();
|
|
270
|
+
})
|
|
271
|
+
.on('error', (err) => {
|
|
272
|
+
clearTimeout(timer);
|
|
273
|
+
reject(err);
|
|
274
|
+
})
|
|
251
275
|
.run();
|
|
252
276
|
});
|
|
253
277
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../../src/services/ffmpeg.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,eAAe,MAAM,0BAA0B,CAAA;AACtD,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,MAAM,MAAM,SAAS,CAAA;AAE5B,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../../src/services/ffmpeg.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,12 @@ export declare function isCachingEnabled(): boolean;
|
|
|
45
45
|
* Returns 0 when the cap is disabled (value ≤ 0).
|
|
46
46
|
*/
|
|
47
47
|
export declare function getMaxCacheEntries(): number;
|
|
48
|
+
/**
|
|
49
|
+
* Returns the maximum total disk size for the cache in bytes.
|
|
50
|
+
* Reads VIDEO_MCP_CACHE_MAX_MB (default 5120 = 5 GB).
|
|
51
|
+
* Returns 0 when the size cap is disabled (value ≤ 0).
|
|
52
|
+
*/
|
|
53
|
+
export declare function getMaxCacheBytes(): number;
|
|
48
54
|
/**
|
|
49
55
|
* Returns a stable 16-char hex identifier for a video identity string
|
|
50
56
|
* (URL or normalised local path). Used as the per-video directory name.
|
|
@@ -123,7 +129,7 @@ export declare function getCachedVideo(videoId: string): Promise<string | null>;
|
|
|
123
129
|
* `_cacheDirPath` is guaranteed to be set at this point because `ensureVideoDirs`
|
|
124
130
|
* was called by the downloader before this registration runs.
|
|
125
131
|
*/
|
|
126
|
-
export declare function registerCachedVideo(videoId: string, filePath: string): void
|
|
132
|
+
export declare function registerCachedVideo(videoId: string, filePath: string): Promise<void>;
|
|
127
133
|
/**
|
|
128
134
|
* Returns a local file path for `url`, downloading it at most once even when
|
|
129
135
|
* multiple concurrent callers request the same URL simultaneously.
|
|
@@ -227,4 +233,10 @@ export declare function _clearCache(): void;
|
|
|
227
233
|
* @internal
|
|
228
234
|
*/
|
|
229
235
|
export declare function _clearPendingDownloads(): void;
|
|
236
|
+
/**
|
|
237
|
+
* Returns the current totalBytes counter value.
|
|
238
|
+
* Exposed for testing purposes only — do not call in production code.
|
|
239
|
+
* @internal
|
|
240
|
+
*/
|
|
241
|
+
export declare function _getTotalBytes(): number;
|
|
230
242
|
//# sourceMappingURL=artifactCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifactCache.d.ts","sourceRoot":"","sources":["../../src/utils/artifactCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"artifactCache.d.ts","sourceRoot":"","sources":["../../src/utils/artifactCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,12 @@ const cache = new Map();
|
|
|
42
42
|
* so only one yt-dlp / fetch process runs at a time per URL.
|
|
43
43
|
*/
|
|
44
44
|
const pendingDownloads = new Map();
|
|
45
|
+
/**
|
|
46
|
+
* Running total of artifact bytes across all in-memory cache entries.
|
|
47
|
+
* Initialised from disk at startup via sweepExpiredCacheDirs(); incremented on
|
|
48
|
+
* each artifact registration; decremented on LRU/TTL eviction.
|
|
49
|
+
*/
|
|
50
|
+
let totalBytes = 0;
|
|
45
51
|
/** Resolved cache directory path (lazily initialised) */
|
|
46
52
|
let _cacheDirPath = null;
|
|
47
53
|
// ---------------------------------------------------------------------------
|
|
@@ -79,6 +85,20 @@ export function getMaxCacheEntries() {
|
|
|
79
85
|
return 0; // explicit 0 / negative → unbounded
|
|
80
86
|
return parsed;
|
|
81
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Returns the maximum total disk size for the cache in bytes.
|
|
90
|
+
* Reads VIDEO_MCP_CACHE_MAX_MB (default 5120 = 5 GB).
|
|
91
|
+
* Returns 0 when the size cap is disabled (value ≤ 0).
|
|
92
|
+
*/
|
|
93
|
+
export function getMaxCacheBytes() {
|
|
94
|
+
const raw = process.env.VIDEO_MCP_CACHE_MAX_MB ?? '';
|
|
95
|
+
const parsed = parseInt(raw, 10);
|
|
96
|
+
if (isNaN(parsed))
|
|
97
|
+
return 5120 * 1024 * 1024; // invalid/empty → default 5 GB
|
|
98
|
+
if (parsed <= 0)
|
|
99
|
+
return 0; // explicit 0 / negative → disabled
|
|
100
|
+
return parsed * 1024 * 1024;
|
|
101
|
+
}
|
|
82
102
|
// ---------------------------------------------------------------------------
|
|
83
103
|
// Video identity hashing
|
|
84
104
|
// ---------------------------------------------------------------------------
|
|
@@ -127,6 +147,45 @@ export async function ensureVideoDirs(videoId) {
|
|
|
127
147
|
return { root, videos, frames, audios, transcripts };
|
|
128
148
|
}
|
|
129
149
|
// ---------------------------------------------------------------------------
|
|
150
|
+
// Internal size helpers
|
|
151
|
+
// ---------------------------------------------------------------------------
|
|
152
|
+
/**
|
|
153
|
+
* Recursively sums the sizes of all files under a directory.
|
|
154
|
+
* Used for startup totalBytes reconciliation. Best-effort: skips unreadable entries.
|
|
155
|
+
*/
|
|
156
|
+
async function sumDirBytes(dirPath) {
|
|
157
|
+
let names;
|
|
158
|
+
try {
|
|
159
|
+
names = await fs.readdir(dirPath);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return 0;
|
|
163
|
+
}
|
|
164
|
+
const sizes = await Promise.all(names.map(async (name) => {
|
|
165
|
+
const full = path.join(dirPath, name);
|
|
166
|
+
try {
|
|
167
|
+
const st = await fs.stat(full);
|
|
168
|
+
if (st.isDirectory())
|
|
169
|
+
return await sumDirBytes(full);
|
|
170
|
+
if (st.isFile())
|
|
171
|
+
return st.size;
|
|
172
|
+
return 0;
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
return 0;
|
|
176
|
+
}
|
|
177
|
+
}));
|
|
178
|
+
return sizes.reduce((s, v) => s + v, 0);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Sets totalBytes to the sum of all surviving cache directory sizes.
|
|
182
|
+
* Called at the end of sweepExpiredCacheDirs() for startup reconciliation.
|
|
183
|
+
*/
|
|
184
|
+
async function reconcileTotalBytes(survivingDirPaths) {
|
|
185
|
+
const sizes = await Promise.all(survivingDirPaths.map(sumDirBytes));
|
|
186
|
+
totalBytes = sizes.reduce((s, v) => s + v, 0);
|
|
187
|
+
}
|
|
188
|
+
// ---------------------------------------------------------------------------
|
|
130
189
|
// Internal LRU / TTL helpers
|
|
131
190
|
// ---------------------------------------------------------------------------
|
|
132
191
|
/**
|
|
@@ -141,6 +200,7 @@ function cleanExpiredEntries() {
|
|
|
141
200
|
for (const [id, entry] of cache.entries()) {
|
|
142
201
|
if (now - entry.createdAt > ttl) {
|
|
143
202
|
cache.delete(id);
|
|
203
|
+
totalBytes = Math.max(0, totalBytes - entry.sizeBytes);
|
|
144
204
|
fs.rm(entry.dirPath, { recursive: true, force: true }).catch(() => {
|
|
145
205
|
/* best-effort */
|
|
146
206
|
});
|
|
@@ -155,19 +215,26 @@ function cleanExpiredEntries() {
|
|
|
155
215
|
* order is preserved; cache hits re-insert to move entries to the end).
|
|
156
216
|
* The entire per-video directory (<hash>/) is removed from disk (best-effort).
|
|
157
217
|
*/
|
|
218
|
+
/** Evicts the LRU entry from the map, decrements totalBytes, and removes its directory. */
|
|
219
|
+
function evictLRU() {
|
|
220
|
+
const lruKey = cache.keys().next().value;
|
|
221
|
+
const lruEntry = cache.get(lruKey);
|
|
222
|
+
cache.delete(lruKey);
|
|
223
|
+
if (lruEntry) {
|
|
224
|
+
totalBytes = Math.max(0, totalBytes - lruEntry.sizeBytes);
|
|
225
|
+
fs.rm(lruEntry.dirPath, { recursive: true, force: true }).catch(() => {
|
|
226
|
+
/* best-effort */
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
158
230
|
function evictLRUEntries() {
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
if (lruEntry) {
|
|
167
|
-
fs.rm(lruEntry.dirPath, { recursive: true, force: true }).catch(() => {
|
|
168
|
-
/* best-effort */
|
|
169
|
-
});
|
|
170
|
-
}
|
|
231
|
+
const maxEntries = getMaxCacheEntries();
|
|
232
|
+
while (maxEntries > 0 && cache.size > maxEntries) {
|
|
233
|
+
evictLRU();
|
|
234
|
+
}
|
|
235
|
+
const maxBytes = getMaxCacheBytes();
|
|
236
|
+
while (maxBytes > 0 && totalBytes > maxBytes && cache.size > 0) {
|
|
237
|
+
evictLRU();
|
|
171
238
|
}
|
|
172
239
|
}
|
|
173
240
|
/**
|
|
@@ -177,15 +244,25 @@ function evictLRUEntries() {
|
|
|
177
244
|
* If an entry already exists its `createdAt` is preserved (the entry is moved
|
|
178
245
|
* to the MRU position). New entries start with `createdAt = Date.now()`.
|
|
179
246
|
*/
|
|
180
|
-
function upsertEntry(videoId, dirPath) {
|
|
247
|
+
function upsertEntry(videoId, dirPath, addedBytes) {
|
|
181
248
|
const existing = cache.get(videoId);
|
|
182
249
|
if (existing) {
|
|
183
|
-
//
|
|
250
|
+
// Accumulate size and re-insert at MRU position, keeping original createdAt
|
|
251
|
+
totalBytes += addedBytes;
|
|
184
252
|
cache.delete(videoId);
|
|
185
|
-
cache.set(videoId,
|
|
253
|
+
cache.set(videoId, {
|
|
254
|
+
dirPath,
|
|
255
|
+
createdAt: existing.createdAt,
|
|
256
|
+
sizeBytes: existing.sizeBytes + addedBytes,
|
|
257
|
+
});
|
|
186
258
|
}
|
|
187
259
|
else {
|
|
188
|
-
|
|
260
|
+
totalBytes += addedBytes;
|
|
261
|
+
cache.set(videoId, {
|
|
262
|
+
dirPath,
|
|
263
|
+
createdAt: Date.now(),
|
|
264
|
+
sizeBytes: addedBytes,
|
|
265
|
+
});
|
|
189
266
|
}
|
|
190
267
|
cleanExpiredEntries();
|
|
191
268
|
evictLRUEntries();
|
|
@@ -299,15 +376,22 @@ export async function getCachedVideo(videoId) {
|
|
|
299
376
|
* `_cacheDirPath` is guaranteed to be set at this point because `ensureVideoDirs`
|
|
300
377
|
* was called by the downloader before this registration runs.
|
|
301
378
|
*/
|
|
302
|
-
export function registerCachedVideo(videoId, filePath) {
|
|
379
|
+
export async function registerCachedVideo(videoId, filePath) {
|
|
303
380
|
// _cacheDirPath is set because the downloader called ensureVideoDirs()
|
|
304
381
|
const cacheDir = _cacheDirPath;
|
|
305
382
|
if (!cacheDir)
|
|
306
383
|
return;
|
|
307
384
|
const hash = computeVideoHash(videoId);
|
|
308
385
|
const dirPath = path.join(cacheDir, hash);
|
|
309
|
-
|
|
310
|
-
|
|
386
|
+
let sizeBytes = 0;
|
|
387
|
+
try {
|
|
388
|
+
const st = await fs.stat(filePath);
|
|
389
|
+
sizeBytes = st.size;
|
|
390
|
+
}
|
|
391
|
+
catch {
|
|
392
|
+
// best-effort — file may not yet be accessible at registration time
|
|
393
|
+
}
|
|
394
|
+
upsertEntry(videoId, dirPath, sizeBytes);
|
|
311
395
|
}
|
|
312
396
|
/**
|
|
313
397
|
* Returns a local file path for `url`, downloading it at most once even when
|
|
@@ -342,8 +426,8 @@ export async function getOrDownloadVideo(url, downloader) {
|
|
|
342
426
|
}
|
|
343
427
|
// 3. Start a new download and register the Promise
|
|
344
428
|
const downloadPromise = downloader()
|
|
345
|
-
.then((filePath) => {
|
|
346
|
-
registerCachedVideo(url, filePath);
|
|
429
|
+
.then(async (filePath) => {
|
|
430
|
+
await registerCachedVideo(url, filePath);
|
|
347
431
|
pendingDownloads.delete(url);
|
|
348
432
|
return filePath;
|
|
349
433
|
})
|
|
@@ -406,7 +490,8 @@ export async function registerCachedFrames(videoId, frameSubdir, buffers) {
|
|
|
406
490
|
await fs.writeFile(filePath, buffers[i]);
|
|
407
491
|
paths.push(filePath);
|
|
408
492
|
}
|
|
409
|
-
|
|
493
|
+
const addedBytes = buffers.reduce((sum, b) => sum + b.length, 0);
|
|
494
|
+
upsertEntry(videoId, dirs.root, addedBytes);
|
|
410
495
|
return paths;
|
|
411
496
|
}
|
|
412
497
|
// ---------------------------------------------------------------------------
|
|
@@ -443,7 +528,15 @@ export async function registerCachedAudio(videoId, sourceAudioPath) {
|
|
|
443
528
|
const dirs = await ensureVideoDirs(videoId);
|
|
444
529
|
const destPath = path.join(dirs.audios, 'audio.m4a');
|
|
445
530
|
await fs.copyFile(sourceAudioPath, destPath);
|
|
446
|
-
|
|
531
|
+
let addedBytes = 0;
|
|
532
|
+
try {
|
|
533
|
+
const st = await fs.stat(sourceAudioPath);
|
|
534
|
+
addedBytes = st.size;
|
|
535
|
+
}
|
|
536
|
+
catch {
|
|
537
|
+
// best-effort
|
|
538
|
+
}
|
|
539
|
+
upsertEntry(videoId, dirs.root, addedBytes);
|
|
447
540
|
return destPath;
|
|
448
541
|
}
|
|
449
542
|
// ---------------------------------------------------------------------------
|
|
@@ -484,8 +577,9 @@ export async function getCachedTranscript(videoId, transcriptKey) {
|
|
|
484
577
|
export async function registerCachedTranscript(videoId, transcriptKey, data) {
|
|
485
578
|
const dirs = await ensureVideoDirs(videoId);
|
|
486
579
|
const transcriptPath = path.join(dirs.transcripts, `${transcriptKey}.json`);
|
|
487
|
-
|
|
488
|
-
|
|
580
|
+
const json = JSON.stringify(data);
|
|
581
|
+
await fs.writeFile(transcriptPath, json, 'utf8');
|
|
582
|
+
upsertEntry(videoId, dirs.root, Buffer.byteLength(json, 'utf8'));
|
|
489
583
|
}
|
|
490
584
|
// ---------------------------------------------------------------------------
|
|
491
585
|
// Startup sweep of expired cache directories
|
|
@@ -522,6 +616,7 @@ export async function sweepExpiredCacheDirs() {
|
|
|
522
616
|
}
|
|
523
617
|
const now = Date.now();
|
|
524
618
|
let removed = 0;
|
|
619
|
+
const surviving = [];
|
|
525
620
|
for (const name of entries) {
|
|
526
621
|
const fullPath = path.join(cacheDir, name);
|
|
527
622
|
try {
|
|
@@ -532,11 +627,15 @@ export async function sweepExpiredCacheDirs() {
|
|
|
532
627
|
await fs.rm(fullPath, { recursive: true, force: true });
|
|
533
628
|
removed++;
|
|
534
629
|
}
|
|
630
|
+
else {
|
|
631
|
+
surviving.push(fullPath);
|
|
632
|
+
}
|
|
535
633
|
}
|
|
536
634
|
catch {
|
|
537
635
|
// best-effort — locked or already deleted
|
|
538
636
|
}
|
|
539
637
|
}
|
|
638
|
+
await reconcileTotalBytes(surviving);
|
|
540
639
|
return removed;
|
|
541
640
|
}
|
|
542
641
|
// ---------------------------------------------------------------------------
|
|
@@ -550,6 +649,7 @@ export async function sweepExpiredCacheDirs() {
|
|
|
550
649
|
export function _clearCache() {
|
|
551
650
|
cache.clear();
|
|
552
651
|
_cacheDirPath = null;
|
|
652
|
+
totalBytes = 0;
|
|
553
653
|
}
|
|
554
654
|
/**
|
|
555
655
|
* Clears the in-flight pending downloads map.
|
|
@@ -559,4 +659,12 @@ export function _clearCache() {
|
|
|
559
659
|
export function _clearPendingDownloads() {
|
|
560
660
|
pendingDownloads.clear();
|
|
561
661
|
}
|
|
662
|
+
/**
|
|
663
|
+
* Returns the current totalBytes counter value.
|
|
664
|
+
* Exposed for testing purposes only — do not call in production code.
|
|
665
|
+
* @internal
|
|
666
|
+
*/
|
|
667
|
+
export function _getTotalBytes() {
|
|
668
|
+
return totalBytes;
|
|
669
|
+
}
|
|
562
670
|
//# sourceMappingURL=artifactCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifactCache.js","sourceRoot":"","sources":["../../src/utils/artifactCache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifactCache.js","sourceRoot":"","sources":["../../src/utils/artifactCache.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "video-context-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.0-beta",
|
|
4
4
|
"description": "A Model Context Protocol server that gives GitHub Copilot the ability to understand and analyze video content",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|