@productmaker/mcp 8.11.3 → 8.11.5

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/dist/http.js CHANGED
@@ -2106,7 +2106,12 @@ var CODE_LANDING_VISUAL_PROFILES = [
2106
2106
  "editorial-premium",
2107
2107
  "clinical-trust",
2108
2108
  "playful-lifestyle",
2109
- "tech-utility"
2109
+ "tech-utility",
2110
+ // The «pop» variant (2026-10-06): the reference store's section order and
2111
+ // components — dense buy box, middle pack preselected, % rings, video strip,
2112
+ // masonry wall. Never chosen by the recipe model: the normalizer assigns it
2113
+ // to a share of eligible tasks by seed, and the chat editor can toggle it.
2114
+ "pop-commerce"
2110
2115
  ];
2111
2116
  var CodeLandingVisualProfileSchema = z18.enum(CODE_LANDING_VISUAL_PROFILES);
2112
2117
  var CODE_LANDING_DENSITIES = [
@@ -2160,7 +2165,10 @@ var CODE_LANDING_FINAL_CTA_VARIANTS = [
2160
2165
  ];
2161
2166
  var CODE_LANDING_VIDEO_VARIANTS = [
2162
2167
  "single",
2163
- "carousel"
2168
+ "carousel",
2169
+ // The pop variant's strip (2026-10-06): ONE clip shown as three cards, each
2170
+ // looping its own moment of the take. Assigned by rule, never by the model.
2171
+ "clips"
2164
2172
  ];
2165
2173
  var CodeLandingVideoVariantSchema = z18.enum(CODE_LANDING_VIDEO_VARIANTS);
2166
2174
  var CodeLandingFinalCtaVariantSchema = z18.enum(CODE_LANDING_FINAL_CTA_VARIANTS);
@@ -2169,6 +2177,11 @@ var CODE_LANDING_COUNTDOWN_VARIANTS = [
2169
2177
  "announcement"
2170
2178
  ];
2171
2179
  var CodeLandingCountdownVariantSchema = z18.enum(CODE_LANDING_COUNTDOWN_VARIANTS);
2180
+ var CODE_LANDING_USAGE_VARIANTS = [
2181
+ "table",
2182
+ "steps"
2183
+ ];
2184
+ var CodeLandingUsageVariantSchema = z18.enum(CODE_LANDING_USAGE_VARIANTS);
2172
2185
  var CodeLandingRecipeVariantsSchema = z18.object({
2173
2186
  hero: CodeLandingHeroVariantSchema,
2174
2187
  "benefits-grid": CodeLandingBenefitsVariantSchema,
@@ -2193,7 +2206,9 @@ var CodeLandingRecipeVariantsSchema = z18.object({
2193
2206
  * re-parses that row on every chat edit. The fill is `countdown` because
2194
2207
  * that is the bar those pages were compiled with.
2195
2208
  */
2196
- "countdown-bar": CodeLandingCountdownVariantSchema.default("countdown")
2209
+ "countdown-bar": CodeLandingCountdownVariantSchema.default("countdown"),
2210
+ /** Defaulted for the same LEGACY reason: those pages render the table. */
2211
+ "usage-guide": CodeLandingUsageVariantSchema.default("table")
2197
2212
  }).strict();
2198
2213
  var CodeLandingRecipePlanFields = {
2199
2214
  category: LandingProductCategorySchema,
@@ -5407,13 +5422,13 @@ var GetVideoScriptForReviewResponse = z27.object({
5407
5422
  perClipSeconds: z27.number().int().positive().optional(),
5408
5423
  scenes: z27.array(VideoScriptSceneForReview).optional(),
5409
5424
  /** Human-readable, user-facing reason the last approval attempt was rejected
5410
- * (e.g. the edited/auto-approved script overran the per-voice duration cap and
5425
+ * (e.g. the edited script overran the per-voice duration cap and
5411
5426
  * the angle was returned to `ready`). Surfaced so the review UI never silently
5412
5427
  * reverts an approved card back to "Revisar" without telling the user why. */
5413
5428
  error: z27.string().optional(),
5414
5429
  /** The seller's saved-but-unapproved edits, when any exist. The editor seeds
5415
- * its textareas from this on mount so a reload never shows a script the
5416
- * server would auto-approve differently. */
5430
+ * its textareas from this on mount so a reload preserves the seller's edits
5431
+ * while they decide whether to approve the script. */
5417
5432
  draft: VideoScriptDraft.optional()
5418
5433
  });
5419
5434
  var SaveVideoScriptDraftRequest = z27.object({
@@ -5502,7 +5517,8 @@ var BillingProvider = z28.enum([
5502
5517
  "meta_ad_library",
5503
5518
  "kalodata",
5504
5519
  "dropkiller",
5505
- "google"
5520
+ "google",
5521
+ "anthropic"
5506
5522
  ]);
5507
5523
  var BillingRecordInput = z28.object({
5508
5524
  userId: z28.string().min(1),
@@ -6411,6 +6427,10 @@ var MOTION_GRAPHICS_PRICE_CENTS = {
6411
6427
  60: MOTION_GRAPHICS_COST_CENTS[60] * MOTION_GRAPHICS_USER_MARKUP
6412
6428
  };
6413
6429
  var MOTION_GRAPHICS_QUEUE_LIMIT_CODE = "MOTION_GRAPHICS_QUEUE_LIMIT";
6430
+ var MOTION_GRAPHICS_MODEL_PROVIDERS = [
6431
+ "openrouter",
6432
+ "anthropic"
6433
+ ];
6414
6434
  var MOTION_GRAPHICS_STAGES = [
6415
6435
  "queued",
6416
6436
  "research",
@@ -6685,6 +6705,25 @@ var MotionGraphicsCloseResponseSchema = z33.object({
6685
6705
  "requeued"
6686
6706
  ])
6687
6707
  });
6708
+ var MotionGraphicsSpendUsdSchema = z33.number().finite().nonnegative();
6709
+ var MotionGraphicsCountSchema = z33.number().int().nonnegative();
6710
+ var MotionGraphicsSpendReportSchema = z33.object({
6711
+ attempt: MotionGraphicsAttemptSchema,
6712
+ openrouter: z33.object({
6713
+ usd: MotionGraphicsSpendUsdSchema,
6714
+ generations: MotionGraphicsCountSchema,
6715
+ missing: MotionGraphicsCountSchema
6716
+ }).strict(),
6717
+ anthropic: z33.object({
6718
+ usd: MotionGraphicsSpendUsdSchema,
6719
+ calls: MotionGraphicsCountSchema,
6720
+ unpriced: MotionGraphicsCountSchema
6721
+ }).strict(),
6722
+ creditExhausted: z33.array(z33.enum(MOTION_GRAPHICS_MODEL_PROVIDERS)).max(MOTION_GRAPHICS_MODEL_PROVIDERS.length)
6723
+ }).strict();
6724
+ var MotionGraphicsSpendResponseSchema = z33.object({
6725
+ recorded: z33.array(z33.enum(MOTION_GRAPHICS_MODEL_PROVIDERS))
6726
+ });
6688
6727
 
6689
6728
  // ../../packages/types/src/task-creative-variants.ts
6690
6729
  import { z as z34 } from "zod";
@@ -12097,7 +12136,11 @@ var VideoRegenerationEngineSchema = z58.enum([
12097
12136
  "free_text",
12098
12137
  "free_image",
12099
12138
  "single_call",
12100
- "multi_shot"
12139
+ "multi_shot",
12140
+ // Voice-only script edit: TTS of the new script in the video's own voice,
12141
+ // muxed over the delivered video. Only for voiceover-only renders (no shot
12142
+ // with on-camera lipsync), so no frame is regenerated.
12143
+ "voiceover"
12101
12144
  ]);
12102
12145
  var VideoRegenerationRouteFingerprintSchema = z58.string().trim().min(1).max(128);
12103
12146
  var RegenerateEditRequestSchema = z58.object({
@@ -19531,7 +19574,7 @@ var ApiClient = class {
19531
19574
  };
19532
19575
 
19533
19576
  // src/index.ts
19534
- var MCP_VERSION = "8.11.3";
19577
+ var MCP_VERSION = "8.11.5";
19535
19578
 
19536
19579
  // src/meta-upload-app.ts
19537
19580
  import { readFileSync } from "fs";
package/dist/stdio.js CHANGED
@@ -2128,7 +2128,12 @@ var CODE_LANDING_VISUAL_PROFILES = [
2128
2128
  "editorial-premium",
2129
2129
  "clinical-trust",
2130
2130
  "playful-lifestyle",
2131
- "tech-utility"
2131
+ "tech-utility",
2132
+ // The «pop» variant (2026-10-06): the reference store's section order and
2133
+ // components — dense buy box, middle pack preselected, % rings, video strip,
2134
+ // masonry wall. Never chosen by the recipe model: the normalizer assigns it
2135
+ // to a share of eligible tasks by seed, and the chat editor can toggle it.
2136
+ "pop-commerce"
2132
2137
  ];
2133
2138
  var CodeLandingVisualProfileSchema = z18.enum(CODE_LANDING_VISUAL_PROFILES);
2134
2139
  var CODE_LANDING_DENSITIES = [
@@ -2182,7 +2187,10 @@ var CODE_LANDING_FINAL_CTA_VARIANTS = [
2182
2187
  ];
2183
2188
  var CODE_LANDING_VIDEO_VARIANTS = [
2184
2189
  "single",
2185
- "carousel"
2190
+ "carousel",
2191
+ // The pop variant's strip (2026-10-06): ONE clip shown as three cards, each
2192
+ // looping its own moment of the take. Assigned by rule, never by the model.
2193
+ "clips"
2186
2194
  ];
2187
2195
  var CodeLandingVideoVariantSchema = z18.enum(CODE_LANDING_VIDEO_VARIANTS);
2188
2196
  var CodeLandingFinalCtaVariantSchema = z18.enum(CODE_LANDING_FINAL_CTA_VARIANTS);
@@ -2191,6 +2199,11 @@ var CODE_LANDING_COUNTDOWN_VARIANTS = [
2191
2199
  "announcement"
2192
2200
  ];
2193
2201
  var CodeLandingCountdownVariantSchema = z18.enum(CODE_LANDING_COUNTDOWN_VARIANTS);
2202
+ var CODE_LANDING_USAGE_VARIANTS = [
2203
+ "table",
2204
+ "steps"
2205
+ ];
2206
+ var CodeLandingUsageVariantSchema = z18.enum(CODE_LANDING_USAGE_VARIANTS);
2194
2207
  var CodeLandingRecipeVariantsSchema = z18.object({
2195
2208
  hero: CodeLandingHeroVariantSchema,
2196
2209
  "benefits-grid": CodeLandingBenefitsVariantSchema,
@@ -2215,7 +2228,9 @@ var CodeLandingRecipeVariantsSchema = z18.object({
2215
2228
  * re-parses that row on every chat edit. The fill is `countdown` because
2216
2229
  * that is the bar those pages were compiled with.
2217
2230
  */
2218
- "countdown-bar": CodeLandingCountdownVariantSchema.default("countdown")
2231
+ "countdown-bar": CodeLandingCountdownVariantSchema.default("countdown"),
2232
+ /** Defaulted for the same LEGACY reason: those pages render the table. */
2233
+ "usage-guide": CodeLandingUsageVariantSchema.default("table")
2219
2234
  }).strict();
2220
2235
  var CodeLandingRecipePlanFields = {
2221
2236
  category: LandingProductCategorySchema,
@@ -5429,13 +5444,13 @@ var GetVideoScriptForReviewResponse = z27.object({
5429
5444
  perClipSeconds: z27.number().int().positive().optional(),
5430
5445
  scenes: z27.array(VideoScriptSceneForReview).optional(),
5431
5446
  /** Human-readable, user-facing reason the last approval attempt was rejected
5432
- * (e.g. the edited/auto-approved script overran the per-voice duration cap and
5447
+ * (e.g. the edited script overran the per-voice duration cap and
5433
5448
  * the angle was returned to `ready`). Surfaced so the review UI never silently
5434
5449
  * reverts an approved card back to "Revisar" without telling the user why. */
5435
5450
  error: z27.string().optional(),
5436
5451
  /** The seller's saved-but-unapproved edits, when any exist. The editor seeds
5437
- * its textareas from this on mount so a reload never shows a script the
5438
- * server would auto-approve differently. */
5452
+ * its textareas from this on mount so a reload preserves the seller's edits
5453
+ * while they decide whether to approve the script. */
5439
5454
  draft: VideoScriptDraft.optional()
5440
5455
  });
5441
5456
  var SaveVideoScriptDraftRequest = z27.object({
@@ -5524,7 +5539,8 @@ var BillingProvider = z28.enum([
5524
5539
  "meta_ad_library",
5525
5540
  "kalodata",
5526
5541
  "dropkiller",
5527
- "google"
5542
+ "google",
5543
+ "anthropic"
5528
5544
  ]);
5529
5545
  var BillingRecordInput = z28.object({
5530
5546
  userId: z28.string().min(1),
@@ -6433,6 +6449,10 @@ var MOTION_GRAPHICS_PRICE_CENTS = {
6433
6449
  60: MOTION_GRAPHICS_COST_CENTS[60] * MOTION_GRAPHICS_USER_MARKUP
6434
6450
  };
6435
6451
  var MOTION_GRAPHICS_QUEUE_LIMIT_CODE = "MOTION_GRAPHICS_QUEUE_LIMIT";
6452
+ var MOTION_GRAPHICS_MODEL_PROVIDERS = [
6453
+ "openrouter",
6454
+ "anthropic"
6455
+ ];
6436
6456
  var MOTION_GRAPHICS_STAGES = [
6437
6457
  "queued",
6438
6458
  "research",
@@ -6707,6 +6727,25 @@ var MotionGraphicsCloseResponseSchema = z33.object({
6707
6727
  "requeued"
6708
6728
  ])
6709
6729
  });
6730
+ var MotionGraphicsSpendUsdSchema = z33.number().finite().nonnegative();
6731
+ var MotionGraphicsCountSchema = z33.number().int().nonnegative();
6732
+ var MotionGraphicsSpendReportSchema = z33.object({
6733
+ attempt: MotionGraphicsAttemptSchema,
6734
+ openrouter: z33.object({
6735
+ usd: MotionGraphicsSpendUsdSchema,
6736
+ generations: MotionGraphicsCountSchema,
6737
+ missing: MotionGraphicsCountSchema
6738
+ }).strict(),
6739
+ anthropic: z33.object({
6740
+ usd: MotionGraphicsSpendUsdSchema,
6741
+ calls: MotionGraphicsCountSchema,
6742
+ unpriced: MotionGraphicsCountSchema
6743
+ }).strict(),
6744
+ creditExhausted: z33.array(z33.enum(MOTION_GRAPHICS_MODEL_PROVIDERS)).max(MOTION_GRAPHICS_MODEL_PROVIDERS.length)
6745
+ }).strict();
6746
+ var MotionGraphicsSpendResponseSchema = z33.object({
6747
+ recorded: z33.array(z33.enum(MOTION_GRAPHICS_MODEL_PROVIDERS))
6748
+ });
6710
6749
 
6711
6750
  // ../../packages/types/src/task-creative-variants.ts
6712
6751
  import { z as z34 } from "zod";
@@ -12119,7 +12158,11 @@ var VideoRegenerationEngineSchema = z58.enum([
12119
12158
  "free_text",
12120
12159
  "free_image",
12121
12160
  "single_call",
12122
- "multi_shot"
12161
+ "multi_shot",
12162
+ // Voice-only script edit: TTS of the new script in the video's own voice,
12163
+ // muxed over the delivered video. Only for voiceover-only renders (no shot
12164
+ // with on-camera lipsync), so no frame is regenerated.
12165
+ "voiceover"
12123
12166
  ]);
12124
12167
  var VideoRegenerationRouteFingerprintSchema = z58.string().trim().min(1).max(128);
12125
12168
  var RegenerateEditRequestSchema = z58.object({
@@ -17863,7 +17906,7 @@ var ApiClient = class {
17863
17906
  };
17864
17907
 
17865
17908
  // src/index.ts
17866
- var MCP_VERSION = "8.11.3";
17909
+ var MCP_VERSION = "8.11.5";
17867
17910
 
17868
17911
  // src/meta-upload-app.ts
17869
17912
  import { readFileSync } from "fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@productmaker/mcp",
3
- "version": "8.11.3",
3
+ "version": "8.11.5",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "ProductMaker MCP server — cost products, generate landing pages, UGC videos, and ad creatives, and publish to Shopify, Meta Ads, and TikTok Ads.",