@instavar/mcp-server 0.2.2 → 0.3.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.
Files changed (2) hide show
  1. package/dist/index.js +21 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -153,6 +153,7 @@ var briefSceneSchema = z.object({
153
153
  "custom"
154
154
  ]),
155
155
  durationInFrames: z.number().optional(),
156
+ narrationText: z.string().optional(),
156
157
  title: z.string().optional(),
157
158
  subtitle: z.string().optional(),
158
159
  text: z.string().optional(),
@@ -172,7 +173,13 @@ var briefSceneSchema = z.object({
172
173
  totalSteps: z.number().optional(),
173
174
  items: z.array(z.object({ label: z.string(), value: z.number() })).optional(),
174
175
  src: z.string().optional(),
175
- caption: z.string().optional()
176
+ caption: z.string().optional(),
177
+ // A-roll generation (video-window scenes): source "generate" triggers
178
+ // flag-gated WaveSpeed image/video gen server-side from generatePrompt;
179
+ // "url" (default) uses src as-is. Kept in sync with the app's
180
+ // briefSceneSchema - see the parity test in the app suite.
181
+ source: z.enum(["url", "generate"]).optional(),
182
+ generatePrompt: z.string().optional()
176
183
  });
177
184
  var directionsBriefSchema = z.object({
178
185
  subtitle: z.string().optional(),
@@ -221,8 +228,15 @@ var createBriefShape = {
221
228
  lessonTitle: z.string().optional().describe("Display title rendered inside the video"),
222
229
  steps: z.array(briefStepSchema).optional().describe("Structured steps for educational content (LaTeX)"),
223
230
  scenes: z.array(briefSceneSchema).optional().describe("Scene graph for the UniversalVideo composition"),
224
- aspectRatio: z.enum(ASPECT_RATIOS).default("9:16").describe("Aspect ratio (default 9:16)"),
231
+ // No zod .default() here: a default would materialize into the parsed tool
232
+ // arguments and relay to /api/v1/jobs as if the caller stated it, corrupting
233
+ // the resolution provenance the API echoes back. Unset must stay absent;
234
+ // the API re-applies 9:16 server-side.
235
+ aspectRatio: z.enum(ASPECT_RATIOS).optional().describe("Aspect ratio (defaults to 9:16 when omitted)"),
225
236
  compositionId: z.string().optional().describe("Remotion composition ID override (advanced)"),
237
+ voiceId: z.string().optional().describe(
238
+ "TTS narrator voice ID. Unknown IDs are rejected before rendering; when omitted, the org's saved voice preference or the system default is used and reported in the response's resolution block."
239
+ ),
226
240
  directions: directionsBriefSchema.optional().describe(
227
241
  "DirectionsWalkthrough 'find-us' payload: source clips (legs), decision-point cues on the realtime walk timeline, outro, and optional music. Set compositionId 'DirectionsWalkthrough' (or objective 'directions')."
228
242
  )
@@ -241,6 +255,9 @@ var editBriefShape = {
241
255
  ),
242
256
  publishTarget: z.enum(PUBLISH_TARGETS).optional().describe(
243
257
  "Updated target social platform. Distribution metadata only - does not trigger a re-render."
258
+ ),
259
+ voiceId: z.string().optional().describe(
260
+ "Updated TTS narrator voice ID. Triggers a re-render with the new voice."
244
261
  )
245
262
  };
246
263
 
@@ -353,7 +370,7 @@ function registerTools(server) {
353
370
  "edit_video_brief",
354
371
  {
355
372
  title: "Edit video brief",
356
- description: "Edit an existing job's brief (only provided fields change). Changing the script, caption, title, lessonTitle, objective, steps, scenes or aspectRatio triggers a re-render and returns the new run ID; objective also re-routes the composition. Changing only publishTarget updates the job's target platform without re-rendering. For a brand-new video use create_video_brief.",
373
+ description: "Edit an existing job's brief (only provided fields change). Changing the script, caption, title, lessonTitle, objective, steps, scenes, aspectRatio or voiceId triggers a re-render and returns the new run ID; objective also re-routes the composition. Changing only publishTarget updates the job's target platform without re-rendering. For a brand-new video use create_video_brief.",
357
374
  inputSchema: editBriefShape,
358
375
  annotations: SAFE_WRITE
359
376
  },
@@ -461,7 +478,7 @@ function registerTools(server) {
461
478
  // package.json
462
479
  var package_default = {
463
480
  name: "@instavar/mcp-server",
464
- version: "0.2.2",
481
+ version: "0.3.0",
465
482
  mcpName: "com.instavar/mcp-server",
466
483
  description: "Instavar Studio MCP server \u2014 drive the full video create\u2192render\u2192approve\u2192publish\u2192metrics workflow from Claude Code or Codex with an API key.",
467
484
  type: "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instavar/mcp-server",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "mcpName": "com.instavar/mcp-server",
5
5
  "description": "Instavar Studio MCP server — drive the full video create→render→approve→publish→metrics workflow from Claude Code or Codex with an API key.",
6
6
  "type": "module",