video-context-mcp-server 0.13.0-beta → 0.14.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 CHANGED
@@ -46,7 +46,17 @@ npm install -g video-context-mcp-server
46
46
 
47
47
  This installs the executable command: `video-context-mcp`.
48
48
 
49
- > **Tip:** Periodically re-run the above command to get the latest version:
49
+ > **Tip:** To check your installed version and whether an update is available:
50
+ >
51
+ > ```bash
52
+ > # Check installed version
53
+ > npm ls -g --depth=0 video-context-mcp-server
54
+ >
55
+ > # Check if outdated
56
+ > npm outdated -g video-context-mcp-server
57
+ > ```
58
+ >
59
+ > To update to the latest version, re-run:
50
60
  >
51
61
  > ```bash
52
62
  > npm install -g video-context-mcp-server@latest
@@ -326,22 +336,23 @@ When a provider's API key is missing, the tool automatically falls back to the n
326
336
 
327
337
  ## Environment Variables
328
338
 
329
- | Variable | Description | Required |
330
- | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
331
- | `GEMINI_API_KEY` | Google API key for Gemini 3 Flash Preview | Optional (required if using Gemini) |
332
- | `MOONSHOT_API_KEY` | Moonshot AI API key for Kimi K2.5 | Optional (required if using Kimi) |
333
- | `Z_AI_API_KEY` | Z.AI API key for GLM-4.6V | Optional (required if using GLM) |
334
- | `VIDEO_MCP_DEFAULT_PROVIDER` | Default video backend (`gemini`, `glm`, `kimi`) | Optional (default: `glm`) |
335
- | `VIDEO_MCP_MAX_FRAMES` | Max frames for summarization (GLM/Kimi only) | Optional (default: 40; clamped to 5-100) |
336
- | `DEEPGRAM_API_KEY` | Deepgram API key for `transcribe_video` | Optional (required if using Deepgram) |
337
- | `ASSEMBLYAI_API_KEY` | AssemblyAI API key for `transcribe_video` | Optional (required if using AssemblyAI) |
338
- | `GROQ_API_KEY` | Groq API key for Whisper transcription via `transcribe_video` | Optional (required if using Groq) |
339
- | `AUDIO_MCP_DEFAULT_PROVIDER` | Default audio provider; defaults to `deepgram`. Falls back in order: **deepgram → assemblyai → groq → gemini** when the selected provider's key is unavailable. A fallback notice is included in the response. | Optional (auto-selects from available keys) |
340
- | `AUDIO_ENHANCE_VIDEO_ANALYSIS` | Controls audio transcript injection into GLM/Kimi `analyze_video`/`summarize_video` prompts. `auto` (default) — transcribes only when the video has a detected audio track; `true` — always attempt transcription; `false` — disabled. A confidence label (`high`/`medium`/`low`) is included in the injected header so the model can weight the transcript appropriately. Gemini is always skipped (handles audio natively). | Optional (default: `auto`) |
341
- | `VIDEO_MCP_CACHE_TTL_MINUTES` | How long downloaded remote/platform videos are cached (in minutes) across separate tool calls. Cached files live in `os.tmpdir()/video-mcp-cache/` and survive per-call cleanup, avoiding redundant downloads on retries or follow-up questions. Set to `0` to disable caching entirely. | Optional (default: `30`) |
342
- | `YT_DLP_MAX_RESOLUTION` | Maximum video height in pixels when downloading via yt-dlp (YouTube, Vimeo, TikTok, etc.). Lower values reduce file size and download time. | Optional (default: `720`) |
343
- | `YT_DLP_PATH` | Path to a custom yt-dlp binary. If unset, uses the binary bundled by `youtube-dl-exec` at install time. | Optional |
344
- | `YT_DLP_COOKIES_FILE` | Path to a Netscape-format cookies file for authenticated yt-dlp downloads (e.g. age-restricted or private YouTube videos). | Optional |
339
+ | Variable | Description | Required |
340
+ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
341
+ | `GEMINI_API_KEY` | Google API key for Gemini 3 Flash Preview | Optional (required if using Gemini) |
342
+ | `MOONSHOT_API_KEY` | Moonshot AI API key for Kimi K2.5 | Optional (required if using Kimi) |
343
+ | `Z_AI_API_KEY` | Z.AI API key for GLM-4.6V | Optional (required if using GLM) |
344
+ | `VIDEO_MCP_DEFAULT_PROVIDER` | Default video backend (`gemini`, `glm`, `kimi`) | Optional (default: `glm`) |
345
+ | `VIDEO_MCP_MAX_FRAMES` | Max frames for summarization (GLM/Kimi only). Free users capped at 40; premium users can set up to 100. | Optional (default: 40; clamped to 5-100) |
346
+ | `DEEPGRAM_API_KEY` | Deepgram API key for `transcribe_video` | Optional (required if using Deepgram) |
347
+ | `ASSEMBLYAI_API_KEY` | AssemblyAI API key for `transcribe_video` | Optional (required if using AssemblyAI) |
348
+ | `GROQ_API_KEY` | Groq API key for Whisper transcription via `transcribe_video` | Optional (required if using Groq) |
349
+ | `AUDIO_MCP_DEFAULT_PROVIDER` | Default audio provider; defaults to `deepgram`. Falls back in order: **deepgram → assemblyai → groq → gemini** when the selected provider's key is unavailable. A fallback notice is included in the response. | Optional (auto-selects from available keys) |
350
+ | `AUDIO_ENHANCE_VIDEO_ANALYSIS` | Controls audio transcript injection into GLM/Kimi `analyze_video`/`summarize_video` prompts. **Requires a premium license.** `auto` (default) — transcribes only when the video has a detected audio track; `true` — always attempt transcription; `false` — disabled. A confidence label (`high`/`medium`/`low`) is included in the injected header so the model can weight the transcript appropriately. Gemini is always skipped (handles audio natively). | Optional (default: `auto`; premium only) |
351
+ | `VIDEO_MCP_CACHE_TTL_MINUTES` | How long downloaded remote/platform videos are cached (in minutes) across separate tool calls. Cached files live in `os.tmpdir()/video-mcp-cache/` and survive per-call cleanup, avoiding redundant downloads on retries or follow-up questions. Set to `0` to disable caching entirely. | Optional (default: `30`) |
352
+ | `YT_DLP_MAX_RESOLUTION` | Maximum video height in pixels when downloading via yt-dlp (YouTube, Vimeo, TikTok, etc.). Lower values reduce file size and download time. | Optional (default: `720`) |
353
+ | `YT_DLP_PATH` | Path to a custom yt-dlp binary. If unset, uses the binary bundled by `youtube-dl-exec` at install time. | Optional |
354
+ | `YT_DLP_COOKIES_FILE` | Path to a Netscape-format cookies file for authenticated yt-dlp downloads (e.g. age-restricted or private YouTube videos). | Optional |
355
+ | `VIDEO_MCP_LICENSE_KEY` | Premium license key. Unlocks audio-enhanced analysis, extended frame extraction (up to 100), and platform downloads beyond YouTube. Valid for 1 year from date of issue. | Optional (free tier without it) |
345
356
 
346
357
  > **Tip: install yt-dlp system-wide for faster startup.** The `youtube-dl-exec` package bundles a yt-dlp binary downloaded at `npm install` time, which adds ~30 MB to the install footprint. If you use platform video URLs regularly, it's lighter to install yt-dlp directly and point to it:
347
358
  >
@@ -381,7 +392,9 @@ When a provider's API key is missing, the tool automatically falls back to the n
381
392
  "VIDEO_MCP_MAX_FRAMES": "40",
382
393
  "AUDIO_ENHANCE_VIDEO_ANALYSIS": "auto",
383
394
  "VIDEO_MCP_CACHE_TTL_MINUTES": "30",
384
- "YT_DLP_MAX_RESOLUTION": "720"
395
+ "YT_DLP_MAX_RESOLUTION": "720",
396
+ "YT_DLP_PATH": "/path/to/yt-dlp",
397
+ "VIDEO_MCP_LICENSE_KEY": "<your-license-key>"
385
398
  }
386
399
  }
387
400
  }
@@ -392,6 +405,32 @@ When a provider's API key is missing, the tool automatically falls back to the n
392
405
  >
393
406
  > **Note:** `YT_DLP_PATH` and `YT_DLP_COOKIES_FILE` are only needed if you want to use a custom yt-dlp binary or authenticate downloads of private/age-restricted videos. Omit them for standard use.
394
407
 
408
+ ## Free vs Premium
409
+
410
+ The server works out of the box on a free tier. A premium license unlocks additional capabilities:
411
+
412
+ | Feature | Free Tier | Premium |
413
+ | -------------------------------- | ------------ | ---------------------------------------- |
414
+ | **Audio-enhanced analysis** | Disabled | Enabled (`AUDIO_ENHANCE_VIDEO_ANALYSIS`) |
415
+ | **Max frames for summarization** | Capped at 40 | Up to 100 (`VIDEO_MCP_MAX_FRAMES`) |
416
+ | **Platform video downloads** | YouTube only | All yt-dlp-supported platforms |
417
+
418
+ When a free-tier user hits a premium-gated feature, the tool returns a clear notice explaining the limit and continues with the free-tier fallback — it never hard-blocks.
419
+
420
+ ### Getting a License
421
+
422
+ License keys are valid for 1 year from date of issue and verified offline (no network call needed at runtime).
423
+
424
+ To obtain a premium license key, contact the author. Once you have your key, set it as an environment variable:
425
+
426
+ ```json
427
+ {
428
+ "env": {
429
+ "VIDEO_MCP_LICENSE_KEY": "<your-license-key>"
430
+ }
431
+ }
432
+ ```
433
+
395
434
  ## Development
396
435
 
397
436
  ```bash
@@ -451,7 +490,7 @@ video-mcp/
451
490
 
452
491
  ## License
453
492
 
454
- MIT
493
+ Proprietary — All Rights Reserved. No part of this software may be copied, modified, distributed, or used without explicit written permission from the author.
455
494
 
456
495
  ## Credits
457
496
 
@@ -47,7 +47,16 @@ export declare function getDefaultProvider(): VideoProvider;
47
47
  */
48
48
  export declare function getRuntimeFallbackChain(provider: VideoProvider, hasKimiKey: boolean, hasGLMKey: boolean, hasGeminiKey?: boolean): VideoProvider[];
49
49
  /**
50
- * Get the maximum number of frames to extract for summarization
50
+ * Get the maximum number of frames to extract for summarization.
51
+ *
52
+ * Free users are capped at 40. Premium users can set up to 100 via
53
+ * the VIDEO_MCP_MAX_FRAMES env var.
51
54
  */
52
55
  export declare function getMaxFrames(): number;
56
+ /**
57
+ * Returns true when the user requested more frames than the free-tier
58
+ * cap and does not have a premium license. Used by tool handlers to
59
+ * append a premium notice to the response.
60
+ */
61
+ export declare function wasFramesCapped(): boolean;
53
62
  //# sourceMappingURL=providerRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providerRouter.d.ts","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;AAErD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,GAC5B,aAAa,CAiBf;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,aAAa,CAAA;IACvB,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,GAC5B,cAAc,CAgBhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAUlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,GAC5B,aAAa,EAAE,CAejB;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC"}
1
+ {"version":3,"file":"providerRouter.d.ts","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;AAErD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,GAC5B,aAAa,CAiBf;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,aAAa,CAAA;IACvB,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,GAC5B,cAAc,CAgBhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAUlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,EAClB,YAAY,GAAE,OAAe,GAC5B,aAAa,EAAE,CAejB;AAKD;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAIzC"}
@@ -2,6 +2,7 @@
2
2
  * Provider Selection
3
3
  * Determines which AI backend to use based on user preference
4
4
  */
5
+ import { isPremium } from '../utils/license.js';
5
6
  /**
6
7
  * Validate that the selected provider has a configured API key
7
8
  * @param provider - User-specified provider ('glm', 'kimi', or 'gemini')
@@ -79,11 +80,28 @@ export function getRuntimeFallbackChain(provider, hasKimiKey, hasGLMKey, hasGemi
79
80
  };
80
81
  return candidates.filter((p) => keyMap[p]);
81
82
  }
83
+ /** Free-tier cap for max frames. Premium users can go up to 100. */
84
+ const FREE_MAX_FRAMES = 40;
82
85
  /**
83
- * Get the maximum number of frames to extract for summarization
86
+ * Get the maximum number of frames to extract for summarization.
87
+ *
88
+ * Free users are capped at 40. Premium users can set up to 100 via
89
+ * the VIDEO_MCP_MAX_FRAMES env var.
84
90
  */
85
91
  export function getMaxFrames() {
92
+ const upperBound = isPremium() ? 100 : FREE_MAX_FRAMES;
93
+ const envMaxFrames = parseInt(process.env.VIDEO_MCP_MAX_FRAMES || '40', 10);
94
+ return Math.max(5, Math.min(upperBound, envMaxFrames));
95
+ }
96
+ /**
97
+ * Returns true when the user requested more frames than the free-tier
98
+ * cap and does not have a premium license. Used by tool handlers to
99
+ * append a premium notice to the response.
100
+ */
101
+ export function wasFramesCapped() {
102
+ if (isPremium())
103
+ return false;
86
104
  const envMaxFrames = parseInt(process.env.VIDEO_MCP_MAX_FRAMES || '40', 10);
87
- return Math.max(5, Math.min(100, envMaxFrames)); // Clamp between 5 and 100
105
+ return envMaxFrames > FREE_MAX_FRAMES;
88
106
  }
89
107
  //# sourceMappingURL=providerRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providerRouter.js","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAuB,EACvB,UAAmB,EACnB,SAAkB,EAClB,eAAwB,KAAK;IAE7B,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAuB,EACvB,UAAmB,EACnB,SAAkB,EAClB,eAAwB,KAAK;IAE7B,IAAI,QAAQ,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,UAAU;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;QAChE,IAAI,YAAY;YAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IACtE,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;IACrD,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAC9B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,YAAY,CACb,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;IAC1D,IACE,WAAW,KAAK,KAAK;QACrB,WAAW,KAAK,MAAM;QACtB,WAAW,KAAK,QAAQ,EACxB,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAuB,EACvB,UAAmB,EACnB,SAAkB,EAClB,eAAwB,KAAK;IAE7B,MAAM,UAAU,GACd,QAAQ,KAAK,KAAK;QAChB,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC3B,CAAC,CAAC,QAAQ,KAAK,MAAM;YACnB,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;YACpB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElB,MAAM,MAAM,GAAmC;QAC7C,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,YAAY;KACrB,CAAA;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAA,CAAC,0BAA0B;AAC5E,CAAC"}
1
+ {"version":3,"file":"providerRouter.js","sourceRoot":"","sources":["../../src/services/providerRouter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH,eAAO,MAAM,gBAAgB,GAAU,QAAQ,GAAG;;;;;;;;;;;;EAkMjD,CAAA"}
1
+ {"version":3,"file":"analyzeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6BH,eAAO,MAAM,gBAAgB,GAAU,QAAQ,GAAG;;;;;;;;;;;;EAyMjD,CAAA"}
@@ -13,6 +13,7 @@ import { createTempDir, cleanupTempDir } from '../utils/tempFiles.js';
13
13
  import { isPlatformUrl, isRemoteUrl, normalizeVideoPath, downloadVideoToTemp, downloadWithYtDlp, } from '../utils/videoUtils.js';
14
14
  import { logProgress } from '../utils/logger.js';
15
15
  import { getAudioEnhancementMode, tryExtractAndTranscribeAudio, buildPromptWithTranscript, } from '../utils/audioUtils.js';
16
+ import { isPremium, premiumNotice } from '../utils/license.js';
16
17
  export const analyzeVideoTool = async (params) => {
17
18
  let tempDir = null;
18
19
  try {
@@ -148,6 +149,11 @@ export const analyzeVideoTool = async (params) => {
148
149
  }
149
150
  runtimeFallbacks.forEach((p) => parts.push(`${p} (runtime error)`));
150
151
  const fallbackNotice = parts.length > 0 ? ` (fell back from: ${parts.join(', ')})` : '';
152
+ // ── Premium notices ───────────────────────────────────────────────────────
153
+ const notices = [];
154
+ if (!isPremium() && process.env.AUDIO_ENHANCE_VIDEO_ANALYSIS !== 'false') {
155
+ notices.push(premiumNotice('Audio-enhanced analysis'));
156
+ }
151
157
  return {
152
158
  content: [
153
159
  {
@@ -158,6 +164,7 @@ export const analyzeVideoTool = async (params) => {
158
164
  type: 'text',
159
165
  text: `Provider used: ${selectedProvider}${fallbackNotice}`,
160
166
  },
167
+ ...notices.map((n) => ({ type: 'text', text: n })),
161
168
  ],
162
169
  };
163
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeVideo.js","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeVideo.js","sourceRoot":"","sources":["../../src/tools/analyzeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GAExB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EACL,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;IACpD,IAAI,OAAO,GAAkB,IAAI,CAAA;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;QACtC,MAAM,iBAAiB,GACrB,MAAM,CAAC,QAAQ,IAAI,kBAAkB,EAAE,CAAA;QAEzC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;QACnC,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAA;QACrC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;QAEzC,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS,CAAC,CAAA;QAEtD,IAAI,SAAS,GAAkB,IAAI,CAAA;QACnC,IAAI,aAAqB,CAAA,CAAC,iDAAiD;QAE3E,IAAI,UAAU,EAAE,CAAC;YACf,+DAA+D;YAC/D,qEAAqE;YACrE,OAAO,GAAG,MAAM,aAAa,EAAE,CAAA,CAAC,uBAAuB;YACvD,SAAS,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACvD,aAAa,GAAG,SAAS,CAAA;QAC3B,CAAC;aAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,8BAA8B;YAC9B,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAC7C,SAAS,GAAG,aAAa,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,aAAa,GAAG,SAAS,CAAA;YACzB,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC;QAED,6EAA6E;QAC7E,MAAM,KAAK,GAAG,uBAAuB,CACnC,iBAAiB,EACjB,OAAO,CAAC,UAAU,CAAC,EACnB,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,YAAY,CAAC,CACtB,CAAA;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAA;QACH,CAAC;QAED,4DAA4D;QAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;YACxC,MAAM,WAAW,CACf,YAAY,iBAAiB,oCAAoC,aAAa,EAAE,CACjF,CAAA;QACH,CAAC;QAED,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,gBAAgB,GAAkB,IAAI,CAAA,CAAC,iCAAiC;QAC5E,IAAI,MAA0B,CAAA;QAC9B,IAAI,gBAAgB,GAAkB,aAAa,CAAA;QACnD,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,MAAM,gBAAgB,GAAa,EAAE,CAAA,CAAC,0CAA0C;QAEhF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAElB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,WAAW,CACf,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,SAAS,oBAAoB,CAAC,KAAK,CAC/D,CAAA;YACH,CAAC;YAED,IAAI,CAAC;gBACH,gBAAgB,GAAG,CAAC,CAAA;gBAEpB,uDAAuD;gBACvD,uEAAuE;gBACvE,gDAAgD;gBAChD,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAA;gBAE5D,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClC,IAAI,CAAC,OAAO;wBAAE,OAAO,GAAG,MAAM,aAAa,EAAE,CAAA;oBAC7C,MAAM,WAAW,CAAC,sBAAsB,CAAC,CAAA;oBACzC,SAAS,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;gBAC/D,CAAC;gBAED,yEAAyE;gBACzE,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,cAAc,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBACnE,IAAI,uBAAuB,EAAE,KAAK,OAAO,EAAE,CAAC;wBAC1C,IAAI,CAAC,OAAO;4BAAE,OAAO,GAAG,MAAM,aAAa,EAAE,CAAA;wBAC7C,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,SAAU,EACV,OAAO,CACR,CAAA;wBACD,gBAAgB,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBAChE,CAAC;yBAAM,CAAC;wBACN,gBAAgB,GAAG,QAAQ,CAAA;oBAC7B,CAAC;gBACH,CAAC;gBAED,MAAM,aAAa,GACjB,CAAC,KAAK,QAAQ,IAAI,cAAc;oBAC9B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,CAAC,gBAAgB,IAAI,QAAQ,CAAC,CAAA;gBAEpC,uEAAuE;gBACvE,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACnB,IAAI,CAAC,YAAY;wBACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;oBACnE,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAA;oBAC3C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,SAAU,CAAC,CAAA;oBAC3D,MAAM,WAAW,CAAC,wCAAwC,CAAC,CAAA;oBAC3D,MAAM,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACvD,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAA;oBACvC,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAC9D,CAAC;qBAAM,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,SAAS;wBACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;oBAC9D,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAA;oBACvC,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CACtC,aAAa,EACb,aAAa,CACd,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAU,CAAC,CAAA;wBACjD,MAAM,GAAG,MAAM,SAAS,CAAC,kBAAkB,CACzC,oBAAoB,CAAC,WAAW,CAAC,EACjC,aAAa,CACd,CAAA;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO;oBACP,IAAI,CAAC,UAAU;wBACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;oBACnE,MAAM,WAAW,CAAC,sBAAsB,CAAC,CAAA;oBACzC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,CAC3C,gBAAgB,CAAC,SAAU,CAAC,CAC7B,CAAA;oBACD,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAA;oBACvC,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;gBACpE,CAAC;gBAED,8BAA8B;gBAC9B,MAAK;YACP,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC5D,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,mDAAmD;oBACnD,MAAM,GAAG,CAAA;gBACX,CAAC;gBACD,gCAAgC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,OAAO;YAAE,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;QAE1C,6EAA6E;QAC7E,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,eAAe,CAAC,CAAA;QACjD,CAAC;QACD,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACnE,MAAM,cAAc,GAClB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAElE,6EAA6E;QAC7E,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,OAAO,EAAE,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,MAAO;iBACd;gBACD;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,kBAAkB,gBAAgB,GAAG,cAAc,EAAE;iBAC5D;gBACD,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;aAC5D;SACF,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO;YAAE,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC1D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF;aACF;SACF,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,eAAO,MAAM,kBAAkB,GAAU,QAAQ,GAAG;;;;;;;;;;;;EA+NnD,CAAA"}
1
+ {"version":3,"file":"summarizeVideo.d.ts","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6CH,eAAO,MAAM,kBAAkB,GAAU,QAAQ,GAAG;;;;;;;;;;;;EAyOnD,CAAA"}
@@ -8,12 +8,13 @@ import { extractFramesEvenly, getVideoMetadata } from '../services/ffmpeg.js';
8
8
  import { createGLMClient } from '../services/glmClient.js';
9
9
  import { createKimiClient } from '../services/kimiClient.js';
10
10
  import { createGeminiClient } from '../services/geminiClient.js';
11
- import { getDefaultProvider, getMaxFrames, getRuntimeFallbackChain, } from '../services/providerRouter.js';
11
+ import { getDefaultProvider, getMaxFrames, getRuntimeFallbackChain, wasFramesCapped, } from '../services/providerRouter.js';
12
12
  import { bufferToBase64String } from '../utils/base64.js';
13
13
  import { createTempDir, cleanupTempDir } from '../utils/tempFiles.js';
14
14
  import { isPlatformUrl, isRemoteUrl, normalizeVideoPath, downloadVideoToTemp, downloadWithYtDlp, } from '../utils/videoUtils.js';
15
15
  import { logProgress } from '../utils/logger.js';
16
16
  import { getAudioEnhancementMode, tryExtractAndTranscribeAudio, buildPromptWithTranscript, } from '../utils/audioUtils.js';
17
+ import { isPremium, premiumNotice } from '../utils/license.js';
17
18
  const LONG_VIDEO_THRESHOLD_SEC = 5 * 60;
18
19
  function buildSummaryPrompt() {
19
20
  return [
@@ -182,6 +183,14 @@ export const summarizeVideoTool = async (params) => {
182
183
  }
183
184
  runtimeFallbacks.forEach((p) => parts.push(`${p} (runtime error)`));
184
185
  const fallbackNotice = parts.length > 0 ? ` (fell back from: ${parts.join(', ')})` : '';
186
+ // ── Premium notices ───────────────────────────────────────────────────────
187
+ const notices = [];
188
+ if (!isPremium() && process.env.AUDIO_ENHANCE_VIDEO_ANALYSIS !== 'false') {
189
+ notices.push(premiumNotice('Audio-enhanced analysis'));
190
+ }
191
+ if (wasFramesCapped()) {
192
+ notices.push(premiumNotice('Extended frame extraction (up to 100)'));
193
+ }
185
194
  return {
186
195
  content: [
187
196
  {
@@ -192,6 +201,7 @@ export const summarizeVideoTool = async (params) => {
192
201
  type: 'text',
193
202
  text: `Provider used: ${selectedProvider}${fallbackNotice}`,
194
203
  },
204
+ ...notices.map((n) => ({ type: 'text', text: n })),
195
205
  ],
196
206
  };
197
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeVideo.js","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizeVideo.js","sourceRoot":"","sources":["../../src/tools/summarizeVideo.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,9 @@ export type TranscriptResult = {
17
17
  /**
18
18
  * Reads and validates AUDIO_ENHANCE_VIDEO_ANALYSIS env var.
19
19
  * Returns 'auto' if unset or unrecognised (the default behaviour).
20
+ *
21
+ * Audio enhancement is a premium feature. When no valid license is present,
22
+ * this always returns 'false' regardless of the env var value.
20
23
  */
21
24
  export declare function getAudioEnhancementMode(): AudioEnhancementMode;
22
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"audioUtils.d.ts","sourceRoot":"","sources":["../../src/utils/audioUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;CACtC,CAAA;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAI9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,QAAQ,GAAG,KAAK,CAM3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,4BAA4B,CAChD,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAkElC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAC9B,MAAM,CASR"}
1
+ {"version":3,"file":"audioUtils.d.ts","sourceRoot":"","sources":["../../src/utils/audioUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;CACtC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAK9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,QAAQ,GAAG,KAAK,CAM3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,4BAA4B,CAChD,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAkElC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAC9B,MAAM,CASR"}
@@ -18,11 +18,17 @@ import { createGeminiClient } from '../services/geminiClient.js';
18
18
  import { resolveAudioProvider, getAudioProviderKeys, } from '../services/audioRouter.js';
19
19
  import { generateTempFilename } from './tempFiles.js';
20
20
  import { logProgress } from './logger.js';
21
+ import { isPremium } from './license.js';
21
22
  /**
22
23
  * Reads and validates AUDIO_ENHANCE_VIDEO_ANALYSIS env var.
23
24
  * Returns 'auto' if unset or unrecognised (the default behaviour).
25
+ *
26
+ * Audio enhancement is a premium feature. When no valid license is present,
27
+ * this always returns 'false' regardless of the env var value.
24
28
  */
25
29
  export function getAudioEnhancementMode() {
30
+ if (!isPremium())
31
+ return 'false';
26
32
  const val = process.env.AUDIO_ENHANCE_VIDEO_ANALYSIS;
27
33
  if (val === 'true' || val === 'false' || val === 'auto')
28
34
  return val;
@@ -1 +1 @@
1
- {"version":3,"file":"audioUtils.js","sourceRoot":"","sources":["../../src/utils/audioUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AASzC;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAA;IACpD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,GAAG,CAAA;IACnE,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,uBAAuB,EAAE,KAAK,OAAO,CAAA;AAC9C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,WAAmB;IAEnB,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9D,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;IACrD,IAAI,cAAc,IAAI,EAAE;QAAE,OAAO,MAAM,CAAA;IACvC,IAAI,cAAc,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAA;IACzC,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,cAAsB,EACtB,OAAe;IAEf,MAAM,IAAI,GAAG,uBAAuB,EAAE,CAAA;IACtC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IAEjC,IAAI,CAAC;QACH,gFAAgF;QAChF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAEvD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1C,qDAAqD;YACrD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAA;QACnC,IAAI,gBAA+B,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACtD,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAA;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA,CAAC,iDAAiD;QAC/D,CAAC;QAED,MAAM,WAAW,CAAC,oCAAoC,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;QAClE,MAAM,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAE7C,MAAM,WAAW,CAAC,uBAAuB,CAAC,CAAA;QAE1C,IAAI,IAAY,CAAA;QAEhB,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAA;gBAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBACjD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;gBAClB,MAAK;YACP,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAA;gBACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBACjD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;gBAClB,MAAK;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,YAAa,CAAC,CAAA;gBAC7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBACjD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;gBAClB,MAAK;YACP,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;gBACzC,IAAI,CAAC,YAAY;oBAAE,OAAO,IAAI,CAAA;gBAC9B,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;gBAC9D,MAAM,YAAY,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBAC3D,IAAI,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;gBACvD,MAAK;YACP,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;QAClE,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5E,OAAO,EAAE,IAAI,EAAE,IAAK,EAAE,UAAU,EAAE,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,MAA+B;IAE/B,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAA;IAC1B,MAAM,cAAc,GAClB,MAAM,CAAC,UAAU,KAAK,MAAM;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;YAC9B,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,6CAA6C,CAAA;IACrD,OAAO,uBAAuB,cAAc,SAAS,MAAM,CAAC,IAAI,+BAA+B,MAAM,EAAE,CAAA;AACzG,CAAC"}
1
+ {"version":3,"file":"audioUtils.js","sourceRoot":"","sources":["../../src/utils/audioUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Premium license validation module.
3
+ *
4
+ * License tokens are compact `payload.signature` strings where:
5
+ * - payload = base64url-encoded JSON: { email, iat, exp }
6
+ * - signature = base64url-encoded Ed25519 signature of the raw payload bytes
7
+ *
8
+ * Verification uses an embedded Ed25519 public key (no network required).
9
+ * The license key is read from the VIDEO_MCP_LICENSE_KEY environment variable.
10
+ *
11
+ * Tokens are valid for 1 year from issuance (exp = iat + 365 days).
12
+ */
13
+ export interface LicensePayload {
14
+ email: string;
15
+ /** Issued-at (Unix seconds) */
16
+ iat: number;
17
+ /** Expiry (Unix seconds) */
18
+ exp: number;
19
+ }
20
+ export interface LicenseInfo {
21
+ valid: boolean;
22
+ email?: string;
23
+ expiresAt?: Date;
24
+ reason?: string;
25
+ }
26
+ /**
27
+ * Resets the cached license validation result.
28
+ * Exposed for testing purposes only.
29
+ * @internal
30
+ */
31
+ export declare function _resetLicenseCache(): void;
32
+ /**
33
+ * Validates a raw license token string and returns detailed info.
34
+ *
35
+ * @param token - The `payload.signature` token string
36
+ * @param nowSec - Current time in Unix seconds (overridable for testing)
37
+ */
38
+ export declare function validateLicenseToken(token: string, nowSec?: number): LicenseInfo;
39
+ /**
40
+ * Returns detailed license validation info.
41
+ * The result is cached after the first call (per process lifetime).
42
+ */
43
+ export declare function getLicenseInfo(): LicenseInfo;
44
+ /**
45
+ * Returns true if the current process has a valid (non-expired) premium license.
46
+ * The result is cached after the first call (per process lifetime).
47
+ */
48
+ export declare function isPremium(): boolean;
49
+ /**
50
+ * Returns a standard notice string for free-tier feature limits.
51
+ *
52
+ * @param feature - Human-readable name of the premium feature
53
+ */
54
+ export declare function premiumNotice(feature: string): string;
55
+ //# sourceMappingURL=license.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/utils/license.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAmBD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAMD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAsC,GAC7C,WAAW,CA4Db;AAMD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAK5C;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOrD"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Premium license validation module.
3
+ *
4
+ * License tokens are compact `payload.signature` strings where:
5
+ * - payload = base64url-encoded JSON: { email, iat, exp }
6
+ * - signature = base64url-encoded Ed25519 signature of the raw payload bytes
7
+ *
8
+ * Verification uses an embedded Ed25519 public key (no network required).
9
+ * The license key is read from the VIDEO_MCP_LICENSE_KEY environment variable.
10
+ *
11
+ * Tokens are valid for 1 year from issuance (exp = iat + 365 days).
12
+ */
13
+ import * as crypto from 'node:crypto';
14
+ // ---------------------------------------------------------------------------
15
+ // Embedded public key (Ed25519, PEM format)
16
+ // Replace this with the real public key generated by scripts/generate-license.ts
17
+ // ---------------------------------------------------------------------------
18
+ const PUBLIC_KEY_PEM = `-----BEGIN PUBLIC KEY-----
19
+ MCowBQYDK2VwAyEA92GHVIXluVRurAJ8C20JIQi8vezWgKcZ8HsFYvtRtmY=
20
+ -----END PUBLIC KEY-----`;
21
+ // ---------------------------------------------------------------------------
22
+ // Base64url helpers (no external deps)
23
+ // ---------------------------------------------------------------------------
24
+ function base64urlDecode(str) {
25
+ // Convert base64url → standard base64 and decode
26
+ const base64 = str.replace(/-/g, '+').replace(/_/g, '/');
27
+ const pad = (4 - (base64.length % 4)) % 4;
28
+ return Buffer.from(base64 + '='.repeat(pad), 'base64');
29
+ }
30
+ // ---------------------------------------------------------------------------
31
+ // Cached result — validated once per process lifetime
32
+ // ---------------------------------------------------------------------------
33
+ let cachedResult = null;
34
+ /**
35
+ * Resets the cached license validation result.
36
+ * Exposed for testing purposes only.
37
+ * @internal
38
+ */
39
+ export function _resetLicenseCache() {
40
+ cachedResult = null;
41
+ }
42
+ // ---------------------------------------------------------------------------
43
+ // Core validation
44
+ // ---------------------------------------------------------------------------
45
+ /**
46
+ * Validates a raw license token string and returns detailed info.
47
+ *
48
+ * @param token - The `payload.signature` token string
49
+ * @param nowSec - Current time in Unix seconds (overridable for testing)
50
+ */
51
+ export function validateLicenseToken(token, nowSec = Math.floor(Date.now() / 1000)) {
52
+ if (!token || typeof token !== 'string') {
53
+ return { valid: false, reason: 'missing' };
54
+ }
55
+ const dotIndex = token.indexOf('.');
56
+ if (dotIndex === -1 || dotIndex === 0 || dotIndex === token.length - 1) {
57
+ return { valid: false, reason: 'malformed' };
58
+ }
59
+ const payloadB64 = token.slice(0, dotIndex);
60
+ const signatureB64 = token.slice(dotIndex + 1);
61
+ // Decode payload
62
+ let payload;
63
+ try {
64
+ const json = base64urlDecode(payloadB64).toString('utf8');
65
+ payload = JSON.parse(json);
66
+ }
67
+ catch {
68
+ return { valid: false, reason: 'malformed' };
69
+ }
70
+ // Validate payload fields
71
+ if (typeof payload.email !== 'string' ||
72
+ typeof payload.iat !== 'number' ||
73
+ typeof payload.exp !== 'number') {
74
+ return { valid: false, reason: 'malformed' };
75
+ }
76
+ // Verify Ed25519 signature
77
+ try {
78
+ const publicKey = crypto.createPublicKey(PUBLIC_KEY_PEM);
79
+ const signatureBytes = base64urlDecode(signatureB64);
80
+ const payloadBytes = Buffer.from(payloadB64, 'utf8');
81
+ const isValid = crypto.verify(null, payloadBytes, publicKey, signatureBytes);
82
+ if (!isValid) {
83
+ return { valid: false, reason: 'invalid signature' };
84
+ }
85
+ }
86
+ catch {
87
+ return { valid: false, reason: 'invalid signature' };
88
+ }
89
+ // Check expiry
90
+ if (payload.exp <= nowSec) {
91
+ return {
92
+ valid: false,
93
+ email: payload.email,
94
+ expiresAt: new Date(payload.exp * 1000),
95
+ reason: 'expired',
96
+ };
97
+ }
98
+ return {
99
+ valid: true,
100
+ email: payload.email,
101
+ expiresAt: new Date(payload.exp * 1000),
102
+ };
103
+ }
104
+ // ---------------------------------------------------------------------------
105
+ // Public API
106
+ // ---------------------------------------------------------------------------
107
+ /**
108
+ * Returns detailed license validation info.
109
+ * The result is cached after the first call (per process lifetime).
110
+ */
111
+ export function getLicenseInfo() {
112
+ if (cachedResult)
113
+ return cachedResult;
114
+ const token = process.env.VIDEO_MCP_LICENSE_KEY ?? '';
115
+ cachedResult = validateLicenseToken(token);
116
+ return cachedResult;
117
+ }
118
+ /**
119
+ * Returns true if the current process has a valid (non-expired) premium license.
120
+ * The result is cached after the first call (per process lifetime).
121
+ */
122
+ export function isPremium() {
123
+ return getLicenseInfo().valid;
124
+ }
125
+ /**
126
+ * Returns a standard notice string for free-tier feature limits.
127
+ *
128
+ * @param feature - Human-readable name of the premium feature
129
+ */
130
+ export function premiumNotice(feature) {
131
+ return (`⚡ Premium feature: ${feature}. ` +
132
+ 'Using free-tier limit instead. ' +
133
+ 'Set VIDEO_MCP_LICENSE_KEY to unlock. ' +
134
+ 'Learn more: https://github.com/video-mcp/video-mcp#premium');
135
+ }
136
+ //# sourceMappingURL=license.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/utils/license.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,10 @@ export declare function normalizeVideoPath(videoPath: string): string;
22
22
  * @param tempDir - Fallback scratch directory used only when caching is disabled
23
23
  */
24
24
  export declare function downloadVideoToTemp(url: string, tempDir: string): Promise<string>;
25
+ /**
26
+ * Returns true if the URL is a YouTube URL (free-tier platform support).
27
+ */
28
+ export declare function isYouTubeUrl(url: string): boolean;
25
29
  /**
26
30
  * Returns true if the URL is from a known video platform that requires yt-dlp.
27
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"videoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/videoUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAa5D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAuBjB;AA2BD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUlD;AAKD;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgBzD;AAiCD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA0EjB;AAMD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEzD,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAkC7B"}
1
+ {"version":3,"file":"videoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/videoUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAa5D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAuBjB;AA8BD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUlD;AAKD;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgBzD;AAiCD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAmFjB;AAMD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEzD,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAkC7B"}
@@ -10,6 +10,7 @@ import { youtubeDl as youtubeDlExec, create as createYtDlp, } from 'youtube-dl-e
10
10
  import { createTempDir, generateTempFilename } from './tempFiles.js';
11
11
  import { logProgress } from './logger.js';
12
12
  import { isCachingEnabled, ensureCacheDir, getCachedDownload, registerCachedDownload, } from './downloadCache.js';
13
+ import { isPremium, premiumNotice } from './license.js';
13
14
  /**
14
15
  * Returns true if the value is an http or https URL
15
16
  */
@@ -89,6 +90,22 @@ const PLATFORM_DOMAINS = [
89
90
  'twitch.tv',
90
91
  'bilibili.com',
91
92
  ];
93
+ /** Domains available on the free tier (YouTube only). */
94
+ const FREE_TIER_DOMAINS = ['youtube.com', 'youtu.be'];
95
+ /**
96
+ * Returns true if the URL is a YouTube URL (free-tier platform support).
97
+ */
98
+ export function isYouTubeUrl(url) {
99
+ if (!/^https?:\/\//i.test(url))
100
+ return false;
101
+ try {
102
+ const { hostname } = new URL(url);
103
+ return FREE_TIER_DOMAINS.some((domain) => hostname === domain || hostname.endsWith(`.${domain}`));
104
+ }
105
+ catch {
106
+ return false;
107
+ }
108
+ }
92
109
  /**
93
110
  * Returns true if the URL is from a known video platform that requires yt-dlp.
94
111
  */
@@ -170,6 +187,12 @@ function classifyYtDlpError(stderr) {
170
187
  * @returns - Absolute path to the downloaded video file
171
188
  */
172
189
  export async function downloadWithYtDlp(url, tempDir) {
190
+ // ── Premium gate: free users can only download from YouTube ──────────────
191
+ if (!isPremium() && !isYouTubeUrl(url)) {
192
+ throw new Error(premiumNotice('Platform downloads (non-YouTube)') +
193
+ '\nFree-tier users can only download from YouTube. ' +
194
+ 'This URL requires a premium license.');
195
+ }
173
196
  // ── Cache hit ──────────────────────────────────────────────────────────────
174
197
  const cached = await getCachedDownload(url);
175
198
  if (cached) {
@@ -1 +1 @@
1
- {"version":3,"file":"videoUtils.js","sourceRoot":"","sources":["../../src/utils/videoUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"videoUtils.js","sourceRoot":"","sources":["../../src/utils/videoUtils.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.13.0-beta",
3
+ "version": "0.14.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",
@@ -32,7 +32,7 @@
32
32
  "z.ai"
33
33
  ],
34
34
  "author": "",
35
- "license": "MIT",
35
+ "license": "UNLICENSED",
36
36
  "dependencies": {
37
37
  "@deepgram/sdk": "^4.11.3",
38
38
  "@ffmpeg-installer/ffmpeg": "^1.1.0",