@writepanda/mcp 1.240.0 → 1.242.0
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/bin/server.mjs +4 -4
- package/package.json +1 -1
package/bin/server.mjs
CHANGED
|
@@ -4499,7 +4499,7 @@ const TOOLS = [
|
|
|
4499
4499
|
{
|
|
4500
4500
|
name: "transcript_transcribe",
|
|
4501
4501
|
description:
|
|
4502
|
-
"Transcribe clips with word timestamps (default: only clips without words). Engine: language auto/english = Parakeet; any other named language = local Whisper LOCKED to it (engine override). Returns { jobId, plan } (plan = engine + reason, ranges, totalAudioMs: the audio that will be processed; tell the user for long jobs). To REDO a transcript (wrong language, bad run) confirm language, pass per-run language and provider overrides, then force: true (all clips) or clipId. Word fixes are re-applied; tell the user about result droppedWordEdits[] (fixes that may need redoing). Each clip is transcribed only over the part it plays (head trim to tail trim, e.g. one half of a split; only the kept parts when cuts hide most of a long recording; result transcribedRanges[]). ASYNC: { jobId }, job_wait. Concurrent saves are merged and retried (three attempts). Exhausted conflicts report code revision_conflict / status 409 (job.errorDetails for async jobs).",
|
|
4502
|
+
"Transcribe clips with word timestamps (default: only clips without words). Engine: language auto/english = Parakeet; any other named language = local Whisper LOCKED to it (engine override). Returns { jobId, plan } (plan = engine + reason, ranges, totalAudioMs: the audio that will be processed, estimate/estimatedMs: how long on this computer, advice: faster options for a long Whisper run; tell the user for long jobs). Long Whisper runs are saved chunk by chunk: stalls restart from the last chunk automatically; after job_cancel, a crash or an app restart, transcribing again resumes there. Progress is real (audio decoded); time left in progress.message and progress.data.etaMs. To REDO a transcript (wrong language, bad run) confirm language, pass per-run language and provider overrides, then force: true (all clips) or clipId. Word fixes are re-applied; tell the user about result droppedWordEdits[] (fixes that may need redoing). Each clip is transcribed only over the part it plays (head trim to tail trim, e.g. one half of a split; only the kept parts when cuts hide most of a long recording; result transcribedRanges[]). ASYNC: { jobId }, job_wait. Concurrent saves are merged and retried (three attempts). Exhausted conflicts report code revision_conflict / status 409 (job.errorDetails for async jobs).",
|
|
4503
4503
|
inputSchema: {
|
|
4504
4504
|
type: "object",
|
|
4505
4505
|
properties: {
|
|
@@ -4782,7 +4782,7 @@ const TOOLS = [
|
|
|
4782
4782
|
{
|
|
4783
4783
|
name: "transcript_remove_silences",
|
|
4784
4784
|
description:
|
|
4785
|
-
"Remove measured quiet runs inside transcript pauses (never into a word
|
|
4785
|
+
"Remove measured quiet runs inside transcript pauses AND inside measured audio pauses the word timings run across (speech-to-text often stretches a word over the pause after it), never into a word's voiced sound, with a 50ms decay hold. Counts only visible time (nothing under a head trim or existing cut). Returns snapped/skipped/warnings and audioPauses {found, quiet, clearOfWords, cut} (the silencedetect spans at least thresholdMs long, how many the full-band level confirms quiet, how many leave room clear of words, how many were cut). removedCount 0 always comes with a warning saying why: do not run your own silencedetect. snapToAudio=false uses legacy timing. Applies its cuts to the project as it is when it writes (editor saves meanwhile are kept, no revision_conflict). Fails with code media_offline / media_read_stalled / media_read_too_slow when the source (e.g. an online-only Dropbox / iCloud file) can't be read: tell the user to make it available offline, then run again; project_changed_during_analysis when the clips or word timings kept changing.",
|
|
4786
4786
|
inputSchema: {
|
|
4787
4787
|
type: "object",
|
|
4788
4788
|
properties: {
|
|
@@ -6563,7 +6563,7 @@ const TOOLS = [
|
|
|
6563
6563
|
{
|
|
6564
6564
|
name: "clips_make",
|
|
6565
6565
|
description:
|
|
6566
|
-
"Long video (podcast, webinar, talk) in, scored vertical clips out, no agent needed: imports, transcribes, finds the best sentence-aligned moments across the whole video (local AI + transcript score), and forks each into its own 9:16 project with captions and face-following framing. Async: returns { clipSetId, jobId }; poll clips_get. Then clips_export, or edit a clip's projectPath with any project tool.",
|
|
6566
|
+
"Long video (podcast, webinar, talk) in, scored vertical clips out, no agent needed: imports, transcribes, finds the best sentence-aligned moments across the whole video (local AI + transcript score), and forks each into its own 9:16 project with captions and face-following framing. Async: returns { clipSetId, jobId, transcription: { engine, estimate, estimatedMs, advice? } } (tell the user the estimate; advice = faster options for a long Whisper run); poll clips_get. Then clips_export, or edit a clip's projectPath with any project tool.",
|
|
6567
6567
|
inputSchema: {
|
|
6568
6568
|
type: "object",
|
|
6569
6569
|
properties: {
|
|
@@ -6601,7 +6601,7 @@ const TOOLS = [
|
|
|
6601
6601
|
{
|
|
6602
6602
|
name: "clips_get",
|
|
6603
6603
|
description:
|
|
6604
|
-
"One clip set: status (importing, transcribing, finding, building, ready, error), usedModel, sourceProjectPath and clips[] best-first ({ id, title, hook, score 0-100, startMs, endMs, status, projectPath, thumbPath, exportedPath }).",
|
|
6604
|
+
"One clip set: status (importing, transcribing, finding, building, ready, error), stage { message, percent }, transcription { engine, estimate, advice?, etaMs (time left while transcribing) }, usedModel, sourceProjectPath and clips[] best-first ({ id, title, hook, score 0-100, startMs, endMs, status, projectPath, thumbPath, exportedPath }).",
|
|
6605
6605
|
inputSchema: {
|
|
6606
6606
|
type: "object",
|
|
6607
6607
|
properties: { id: { type: "string", description: "Clip set id." } },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@writepanda/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.242.0",
|
|
4
4
|
"description": "Model Context Protocol server for PandaStudio. Exposes the desktop video editor's automation surface to Cursor, Continue, Cline, Claude Desktop, and any MCP-compliant client.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pandastudio",
|