@clipform/mcp-server 2.0.0 → 2.0.2

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.
@@ -2,7 +2,7 @@ import {
2
2
  WORKFLOW_TYPES,
3
3
  getDiscoveryParams,
4
4
  getSessionContextWithAuth
5
- } from "./chunk-GDUJLYR4.js";
5
+ } from "./chunk-ET43M6YO.js";
6
6
  import {
7
7
  __export
8
8
  } from "./chunk-HCZI2UJ5.js";
@@ -4220,22 +4220,21 @@ function compositionQuizWorkflow(args, sessionContext, authMode = "authenticated
4220
4220
  const topic = args.topic ? ` about "${args.topic}"` : "";
4221
4221
  const count = args.question_count ?? 5;
4222
4222
  const discovery = buildDiscovery(getDiscoveryParams("quiz", "composition", authMode === "anonymous" ? "demo" : "full"), args, authMode);
4223
- return `${sessionContext ? sessionContext + "\n\n" : ""}${discovery}Here's how to build a ${count}-question composition quiz${topic} with Clipform - a guess-and-reveal quiz where each question is a rendered composition (flag sweep, Rebus, blurred photo resolving) instead of a stock-image slideshow. Read the attached quiz and composition guides for the mechanic matrix, the clue \u2192 reveal node pattern, and difficulty design.
4223
+ return `${sessionContext ? sessionContext + "\n\n" : ""}${discovery}Here's how to build a ${count}-question composition quiz${topic} with Clipform - a guess-and-reveal quiz where each question is a rendered composition (flag sweep, Rebus, blurred photo resolving) instead of a stock-image slideshow. Read the attached quiz and composition guides for the mechanic matrix, the Composition Question Node pattern, and difficulty design.
4224
4224
 
4225
4225
  ## Composition Quiz Workflow
4226
4226
 
4227
4227
  1. **Discover what's renderable - recipe book first.** Call clipform_list_video_templates and match each question's mechanic against a recipe's description/keywords (e.g. guess-the-city for a where-in-the-world/geography mechanic, mystery-reveal for guess-the-image/flag, colour-grid for palette-matching). Render a matched recipe with clipform_render_video_template and its curated controls. Only when no recipe fits a question, drop to the raw primitives - clipform_list_compositions, matched via the composition guide's matrix - and render with clipform_render_composition. Availability varies by session; choose ONLY from what these tools return. Mix 2-3 mechanics across the quiz; for questions with no fitting recipe or composition, use the base quiz's Ken Burns pipeline instead.
4228
- 2. **Write questions** - difficulty curve as in the base guide. Difficulty = subject obscurity (Japan's flag vs Kiribati's), never clue degradation. ${count} questions \u2248 ${count * 2 + 1} nodes (each question is a clue + reveal pair) - check the plan's node limit.
4229
- 3. **Render all clips** - raw-composition clips batch in ONE clipform_render_composition call with items (parallel); recipe clips render one clipform_render_video_template call each (wait: false). Collect all job_ids with clipform_check_render. Chain-state compositions: clue clip animate: true, reveal clip animate: false + answer props.
4228
+ 2. **Write questions** - difficulty curve as in the base guide. Difficulty = subject obscurity (Japan's flag vs Kiribati's), never clue degradation. ${count} questions \u2248 ${count + 1} nodes total (one scored choice node per question + the end screen); an optional reveal beat adds one node per question it's used on - check the plan's node limit.
4229
+ 3. **Render all clips** - raw-composition clips batch in ONE clipform_render_composition call with items (parallel); recipe clips render one clipform_render_video_template call each (wait: false). Collect all job_ids with clipform_check_render. Chain-state compositions: clue clip animate: true; when a question uses an optional reveal clip, animate: false + answer props.
4230
4230
  4. ${BUILD_ONCE_STEP}
4231
4231
  - Settings: show_step_counter: true, disable_back_navigation: true
4232
- - Per question, a PAIR of nodes:
4233
- - Clue node (type: "choice"): question as prompt, config { choice: { show_answer_feedback: true }, randomise_options: true }, options with score: 1 on the correct answer and score: 0 on 2-3 wrong ones. Scored options enable correct-answer marking automatically.
4234
- - Reveal node (type: "button"): the answer in the prompt ("It was Japan!"), config { button_text: "Next one" }
4232
+ - Per question, ONE scored choice node (type: "choice"): question as prompt, config { choice: { show_answer_feedback: true }, randomise_options: true }, options with score: 1 on the correct answer and score: 0 on 2-3 wrong ones. Scored options enable correct-answer marking automatically - the viewer's answer feedback delivers the correct answer.
4233
+ - Optional reveal beat (type: "button"): add one only when the quiz wants extra context or celebration - the answer in the prompt ("It was Japan!"), config { button_text: "Next one" }
4235
4234
  - Final end_screen node: show_score: true, icon: "trophy", show_share_button: true, cta_type: "restart", cta_text: a short challenge. NOTE: per-tier messages (score_ranges) are coming soon - write one great message.
4236
4235
  - tags: format "quiz", genre "trivia", and 2-3 topic words
4237
- 5. **Generate narration** with clipform_generate_tts - batch ALL items in one call. The visual does the teasing: set stakes, never describe what's on screen or read the clue aloud. Reveal narration can celebrate.
4238
- 6. ${ATTACH_MEDIA_STEP} Attach the clue clip to each choice node and the reveal clip to each button node.
4236
+ 5. **Generate narration** with clipform_generate_tts - batch ALL items in one call. The visual does the teasing: set stakes, never describe what's on screen or read the clue aloud. If a question uses the optional reveal node, its narration can celebrate.
4237
+ 6. ${ATTACH_MEDIA_STEP} Attach the clue clip to each choice node; attach reveal clips to their button nodes only on questions that use one.
4239
4238
  7. ${REPUBLISH_STEP}
4240
4239
  8. **Log** with clipform_log_generation - record the composition IDs used per question alongside sources and attributions`;
4241
4240
  }
@@ -4562,7 +4561,7 @@ Outcome categories: ${args.categories}` : "";
4562
4561
  description: "Build a guess-and-reveal quiz from rendered compositions - flag sweeps, Rebus puzzles, blur reveals, odd-one-out grids - instead of stock-image slideshows",
4563
4562
  argsSchema: {
4564
4563
  topic: external_exports.string().optional().describe("Quiz topic (e.g. 'world flags', 'movie emoji', '90s music')"),
4565
- question_count: external_exports.string().optional().default("5").describe("Number of questions (default: 5 - each question is a clue + reveal node pair)")
4564
+ question_count: external_exports.string().optional().default("5").describe("Number of questions (default: 5 - one scored choice node per question)")
4566
4565
  }
4567
4566
  },
4568
4567
  async (rawArgs) => {
@@ -4709,4 +4708,4 @@ export {
4709
4708
  getWorkflowText,
4710
4709
  registerPrompts
4711
4710
  };
4712
- //# sourceMappingURL=chunk-6U3CVTLZ.js.map
4711
+ //# sourceMappingURL=chunk-JY5JRGD6.js.map