@clipform/mcp-server 1.31.0 → 1.33.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/README.md +12 -5
- package/dist/{chunk-J4KJN4C4.js → chunk-JID43EDM.js} +8 -8
- package/dist/chunk-JID43EDM.js.map +1 -0
- package/dist/{chunk-NHFRYNJ3.js → chunk-KWEBCAPF.js} +10 -10
- package/dist/{chunk-NHFRYNJ3.js.map → chunk-KWEBCAPF.js.map} +1 -1
- package/dist/{chunk-46RSQK6L.js → chunk-LSANXDSD.js} +143 -37
- package/dist/chunk-LSANXDSD.js.map +1 -0
- package/dist/{chunk-ELO7KCMZ.js → chunk-SY7YZPSC.js} +18 -18
- package/dist/{chunk-ELO7KCMZ.js.map → chunk-SY7YZPSC.js.map} +1 -1
- package/dist/index.js +4 -4
- package/dist/prompts.d.ts +1 -1
- package/dist/prompts.js +2 -2
- package/dist/resources.js +2 -2
- package/dist/server.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-46RSQK6L.js.map +0 -1
- package/dist/chunk-J4KJN4C4.js.map +0 -1
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
WORKFLOW_TYPES,
|
|
3
3
|
getDiscoveryParams,
|
|
4
4
|
getSessionContextWithAuth
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KWEBCAPF.js";
|
|
6
6
|
import {
|
|
7
7
|
__export
|
|
8
8
|
} from "./chunk-HCZI2UJ5.js";
|
|
@@ -4060,7 +4060,7 @@ function coercePromptArgs(args) {
|
|
|
4060
4060
|
needs_contact: args.needs_contact != null ? args.needs_contact === "true" : void 0
|
|
4061
4061
|
};
|
|
4062
4062
|
}
|
|
4063
|
-
function buildDiscovery(params, args, authMode = "
|
|
4063
|
+
function buildDiscovery(params, args, authMode = "authenticated") {
|
|
4064
4064
|
const effectiveParams = authMode === "anonymous" ? params.filter((p) => p.mode === "all") : [...params];
|
|
4065
4065
|
const missing = effectiveParams.filter((p) => args[p.key] == null);
|
|
4066
4066
|
if (missing.length === 0) return "";
|
|
@@ -4097,7 +4097,7 @@ function resourceLink(name, uri, title) {
|
|
|
4097
4097
|
}
|
|
4098
4098
|
};
|
|
4099
4099
|
}
|
|
4100
|
-
function quizWorkflow(args, sessionContext, authMode = "
|
|
4100
|
+
function quizWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4101
4101
|
const topic = args.topic ? ` about "${args.topic}"` : "";
|
|
4102
4102
|
const count = args.question_count ?? 8;
|
|
4103
4103
|
const discovery = buildDiscovery(getDiscoveryParams("quiz", void 0, authMode === "anonymous" ? "demo" : "full"), args, authMode);
|
|
@@ -4119,15 +4119,15 @@ function quizWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4119
4119
|
- tags: one format (quiz/survey/interview/feedback/lead-gen), one genre (trivia/personality/nps/poll/testimonial), and 2-3 topic words
|
|
4120
4120
|
4. **Generate narration** with clipform_generate_tts - batch ALL questions in a single call (pass an array of items). Tease the question - do NOT reveal the answer or read options aloud. Keep each narration 5-15 seconds.
|
|
4121
4121
|
5. **Build video** for each question:
|
|
4122
|
-
- clipform_search_media (kind: "image") - 3 images per question
|
|
4123
|
-
- clipform_generate_video -
|
|
4124
|
-
6. **Attach media** with clipform_upload_node_media. Include captions, set show_captions: true.
|
|
4122
|
+
- clipform_search_media (kind: "image") - 3 images per question, batch all queries in one call
|
|
4123
|
+
- clipform_generate_video with wait: false per question - fires all renders in parallel - then collect URLs with clipform_check_render
|
|
4124
|
+
6. **Attach media** with clipform_upload_node_media (batch all uploads in one call). Include captions, set show_captions: true.
|
|
4125
4125
|
7. **Publish** with clipform_update_form
|
|
4126
4126
|
8. **Log** with clipform_log_generation (sources, images, attributions)
|
|
4127
4127
|
|
|
4128
4128
|
> **Text-only override:** If the user explicitly asked for text-only (no video), skip steps 5-6 (video production and media attachment). Still generate narration in step 4.`;
|
|
4129
4129
|
}
|
|
4130
|
-
function personalityQuizWorkflow(args, sessionContext, authMode = "
|
|
4130
|
+
function personalityQuizWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4131
4131
|
const topic = args.topic ? ` - "${args.topic}"` : "";
|
|
4132
4132
|
const count = args.question_count ?? 8;
|
|
4133
4133
|
const discovery = buildDiscovery(getDiscoveryParams("quiz", "personality", authMode === "anonymous" ? "demo" : "full"), args, authMode);
|
|
@@ -4160,7 +4160,7 @@ There are NO correct answers. Each option should feel equally valid - the quiz i
|
|
|
4160
4160
|
6. **Publish** with clipform_update_form
|
|
4161
4161
|
7. **Log** with clipform_log_generation`;
|
|
4162
4162
|
}
|
|
4163
|
-
function comprehensionQuizWorkflow(args, sessionContext, authMode = "
|
|
4163
|
+
function comprehensionQuizWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4164
4164
|
const count = args.question_count ?? 8;
|
|
4165
4165
|
const audienceLabel = args.audience ? ` (${args.audience})` : "";
|
|
4166
4166
|
const discovery = buildDiscovery(getDiscoveryParams("quiz", "comprehension", authMode === "anonymous" ? "demo" : "full"), args, authMode);
|
|
@@ -4192,9 +4192,9 @@ function comprehensionQuizWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4192
4192
|
- tags: ["quiz", "comprehension", "youtube"] + 2-3 topic words from the video
|
|
4193
4193
|
6. **Generate narration** with clipform_generate_tts - batch ALL questions in a single call. Reference the video naturally: "If you watched closely, you'll know this one..." Keep each narration 5-10 seconds.
|
|
4194
4194
|
7. **Build video** for each question:
|
|
4195
|
-
- clipform_search_media (kind: "image") - 3 images per question
|
|
4196
|
-
- clipform_generate_video -
|
|
4197
|
-
8. **Attach media** with clipform_upload_node_media. Include captions, set show_captions: true.
|
|
4195
|
+
- clipform_search_media (kind: "image") - 3 images per question, batch all queries in one call
|
|
4196
|
+
- clipform_generate_video with wait: false per question - fires all renders in parallel - then collect URLs with clipform_check_render
|
|
4197
|
+
8. **Attach media** with clipform_upload_node_media (batch all uploads in one call). Include captions, set show_captions: true.
|
|
4198
4198
|
9. **Publish** with clipform_update_form
|
|
4199
4199
|
10. **Log** with clipform_log_generation - include the YouTube URL, video title, and channel as sources
|
|
4200
4200
|
|
|
@@ -4212,7 +4212,7 @@ Wrong answers should sound right to someone who didn't watch but googled the top
|
|
|
4212
4212
|
|
|
4213
4213
|
> **Text-only override:** If the user explicitly asked for text-only (no video), skip steps 7-8 (video production and media attachment). Still generate narration in step 6.`;
|
|
4214
4214
|
}
|
|
4215
|
-
function interviewWorkflow(args, sessionContext, authMode = "
|
|
4215
|
+
function interviewWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4216
4216
|
const purpose = args.purpose ?? "responses";
|
|
4217
4217
|
const format = args.response_format ?? "all";
|
|
4218
4218
|
const consent = args.needs_consent ?? true;
|
|
@@ -4235,7 +4235,7 @@ function interviewWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4235
4235
|
10. **Tag the form** - pass tags: one format (quiz/survey/interview/feedback/lead-gen), one genre (trivia/personality/nps/poll/testimonial), and 2-3 topic words
|
|
4236
4236
|
11. **Log** with clipform_log_generation`;
|
|
4237
4237
|
}
|
|
4238
|
-
function surveyWorkflow(args, sessionContext, authMode = "
|
|
4238
|
+
function surveyWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4239
4239
|
const topic = args.topic ? ` for ${args.topic}` : "";
|
|
4240
4240
|
const anonymous = args.anonymous ?? true;
|
|
4241
4241
|
const discovery = buildDiscovery(getDiscoveryParams("survey", void 0, authMode === "anonymous" ? "demo" : "full"), args, authMode);
|
|
@@ -4259,12 +4259,12 @@ function surveyWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4259
4259
|
|
|
4260
4260
|
## Key rule: 5 questions max. Every extra question costs completions.`;
|
|
4261
4261
|
}
|
|
4262
|
-
function funnelWorkflow(_args, sessionContext, _authMode = "
|
|
4262
|
+
function funnelWorkflow(_args, sessionContext, _authMode = "authenticated") {
|
|
4263
4263
|
return `${sessionContext ? sessionContext + "\n\n" : ""}Funnel capabilities with conditional routing and branching logic are planned but not yet available.
|
|
4264
4264
|
|
|
4265
4265
|
In the meantime, you can build a simple linear qualification form using the survey or quiz workflow. Use the create-survey or create-quiz prompt instead.`;
|
|
4266
4266
|
}
|
|
4267
|
-
function testimonialWorkflow(args, sessionContext, authMode = "
|
|
4267
|
+
function testimonialWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4268
4268
|
const useCase = args.use_case ?? "customer stories";
|
|
4269
4269
|
const discovery = buildDiscovery(getDiscoveryParams("testimonial", void 0, authMode === "anonymous" ? "demo" : "full"), args, authMode);
|
|
4270
4270
|
return `${sessionContext ? sessionContext + "\n\n" : ""}${discovery}Here's how to build a testimonial collection form for ${useCase} with Clipform. Read the attached testimonial guide for craft knowledge on storytelling prompts and making respondents comfortable.
|
|
@@ -4292,7 +4292,7 @@ function testimonialWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4292
4292
|
|
|
4293
4293
|
> **Text-only override:** If the user explicitly asked for text-only (no video), skip steps 6-7 (narration and video production).`;
|
|
4294
4294
|
}
|
|
4295
|
-
function applicationWorkflow(args, sessionContext, authMode = "
|
|
4295
|
+
function applicationWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4296
4296
|
const role = args.role ?? "an application";
|
|
4297
4297
|
const discovery = buildDiscovery(getDiscoveryParams("application", void 0, authMode === "anonymous" ? "demo" : "full"), args, authMode);
|
|
4298
4298
|
return `${sessionContext ? sessionContext + "\n\n" : ""}${discovery}Here's how to build ${role} form with Clipform. Read the attached application guide for craft knowledge on structuring multi-section applications.
|
|
@@ -4315,7 +4315,7 @@ function applicationWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4315
4315
|
10. **Tag the form** - pass tags: format "application", genre "screening", and 2-3 topic words
|
|
4316
4316
|
11. **Log** with clipform_log_generation`;
|
|
4317
4317
|
}
|
|
4318
|
-
function bookingWorkflow(args, sessionContext, authMode = "
|
|
4318
|
+
function bookingWorkflow(args, sessionContext, authMode = "authenticated") {
|
|
4319
4319
|
const eventName = args.event_name ?? "an event";
|
|
4320
4320
|
const eventType = args.event_type ?? "event";
|
|
4321
4321
|
const discovery = buildDiscovery(getDiscoveryParams("booking", void 0, authMode === "anonymous" ? "demo" : "full"), args, authMode);
|
|
@@ -4659,4 +4659,4 @@ export {
|
|
|
4659
4659
|
getWorkflowText,
|
|
4660
4660
|
registerPrompts
|
|
4661
4661
|
};
|
|
4662
|
-
//# sourceMappingURL=chunk-
|
|
4662
|
+
//# sourceMappingURL=chunk-SY7YZPSC.js.map
|