@productmaker/mcp 12.4.0 → 12.5.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/dist/http.js +534 -533
- package/dist/stdio.js +534 -533
- package/package.json +3 -3
package/dist/http.js
CHANGED
|
@@ -134,7 +134,7 @@ var FrankensteinSourceProviderSchema = z2.enum([
|
|
|
134
134
|
"meta",
|
|
135
135
|
"upload"
|
|
136
136
|
]);
|
|
137
|
-
var FrankensteinSourceUploadIdSchema = z2.string().
|
|
137
|
+
var FrankensteinSourceUploadIdSchema = z2.string().guid();
|
|
138
138
|
var FrankensteinSourceUploadPresignRequestSchema = z2.object({
|
|
139
139
|
fileName: z2.string().trim().min(1).max(255),
|
|
140
140
|
contentType: z2.enum([
|
|
@@ -4182,8 +4182,8 @@ var AiEditJobSchema = z5.object({
|
|
|
4182
4182
|
tier: AiEditTierSchema.default(DEFAULT_AI_EDIT_TIER),
|
|
4183
4183
|
/** Explicit false suppresses generated music; absent keeps the legacy default. */
|
|
4184
4184
|
music: z5.boolean().optional(),
|
|
4185
|
-
editId: z5.string().
|
|
4186
|
-
taskId: z5.string().
|
|
4185
|
+
editId: z5.string().guid(),
|
|
4186
|
+
taskId: z5.string().guid(),
|
|
4187
4187
|
angleKey: z5.string().min(1),
|
|
4188
4188
|
sourceVideoUrl: z5.string().url(),
|
|
4189
4189
|
/** Medidas del video entregado (Grok 480p/720p también existen). */
|
|
@@ -4509,7 +4509,7 @@ var ProductReferencePreviewSchema = z9.object({
|
|
|
4509
4509
|
isAuthoritative: z9.boolean()
|
|
4510
4510
|
});
|
|
4511
4511
|
var ApprovedProductReferencesSchema = z9.object({
|
|
4512
|
-
scopeSnapshotId: z9.string().
|
|
4512
|
+
scopeSnapshotId: z9.string().guid(),
|
|
4513
4513
|
scopeHash: z9.string().min(1).max(128),
|
|
4514
4514
|
previews: z9.array(ProductReferencePreviewSchema).min(1)
|
|
4515
4515
|
});
|
|
@@ -4521,8 +4521,8 @@ var ProductReferencePendingActionSchema = z9.object({
|
|
|
4521
4521
|
]).default("final"),
|
|
4522
4522
|
scope: ProductReferenceScopeSchema,
|
|
4523
4523
|
scopeKey: z9.string().min(1).max(120),
|
|
4524
|
-
referenceVersionId: z9.string().
|
|
4525
|
-
scopeSnapshotId: z9.string().
|
|
4524
|
+
referenceVersionId: z9.string().guid(),
|
|
4525
|
+
scopeSnapshotId: z9.string().guid(),
|
|
4526
4526
|
baseReferenceSetHash: z9.string().min(1).max(128),
|
|
4527
4527
|
scopeHash: z9.string().min(1).max(128),
|
|
4528
4528
|
approvedRefKeys: z9.array(z9.string().min(1).max(200)).min(1),
|
|
@@ -4563,7 +4563,7 @@ var ResolutionEnvelopeSchema = z9.object({
|
|
|
4563
4563
|
expectedScopeHash: z9.string().min(1).max(128),
|
|
4564
4564
|
scope: ProductReferenceScopeSchema,
|
|
4565
4565
|
scopeKey: z9.string().min(1).max(120),
|
|
4566
|
-
scopeSnapshotId: z9.string().
|
|
4566
|
+
scopeSnapshotId: z9.string().guid()
|
|
4567
4567
|
});
|
|
4568
4568
|
var ResolveProductReferenceSetRequestSchema = z9.discriminatedUnion("decision", [
|
|
4569
4569
|
ResolutionEnvelopeSchema.extend({
|
|
@@ -4613,8 +4613,8 @@ var ResolveProductReferenceSetRequestSchema = z9.discriminatedUnion("decision",
|
|
|
4613
4613
|
});
|
|
4614
4614
|
var ResolveProductReferenceSetResponseSchema = z9.object({
|
|
4615
4615
|
success: z9.literal(true),
|
|
4616
|
-
taskId: z9.string().
|
|
4617
|
-
resolutionId: z9.string().
|
|
4616
|
+
taskId: z9.string().guid(),
|
|
4617
|
+
resolutionId: z9.string().guid(),
|
|
4618
4618
|
decision: ProductReferenceResolutionDecisionSchema
|
|
4619
4619
|
});
|
|
4620
4620
|
var ProductReferenceResolutionSchema = z9.object({
|
|
@@ -4652,7 +4652,7 @@ var ReferencePreparationPlanSchema = z9.object({
|
|
|
4652
4652
|
reusableOutputs: z9.array(z9.object({
|
|
4653
4653
|
outputKey: z9.string().min(1).max(200),
|
|
4654
4654
|
refKey: z9.string().min(1).max(200),
|
|
4655
|
-
sourceSnapshotId: z9.string().
|
|
4655
|
+
sourceSnapshotId: z9.string().guid()
|
|
4656
4656
|
})),
|
|
4657
4657
|
execution: z9.object({
|
|
4658
4658
|
inputKeys: z9.array(z9.string().min(1)),
|
|
@@ -5188,7 +5188,7 @@ var ProductPhysicalDetails = z10.object({
|
|
|
5188
5188
|
contentAppearance: z10.string().optional()
|
|
5189
5189
|
});
|
|
5190
5190
|
var Product = z10.object({
|
|
5191
|
-
id: z10.string().
|
|
5191
|
+
id: z10.string().guid().optional(),
|
|
5192
5192
|
title: z10.string(),
|
|
5193
5193
|
url: z10.string().optional(),
|
|
5194
5194
|
// Free-video tasks intentionally skip product extraction and may have no
|
|
@@ -6108,7 +6108,8 @@ var LANDING_STRATEGIES = [
|
|
|
6108
6108
|
var LandingStrategySchema = z14.enum(LANDING_STRATEGIES);
|
|
6109
6109
|
var SELECTABLE_LANDING_STRATEGIES = [
|
|
6110
6110
|
"classic",
|
|
6111
|
-
"social_proof"
|
|
6111
|
+
"social_proof",
|
|
6112
|
+
"pain_solution"
|
|
6112
6113
|
];
|
|
6113
6114
|
var SelectableLandingStrategySchema = z14.enum(SELECTABLE_LANDING_STRATEGIES);
|
|
6114
6115
|
var EffectiveLandingStrategySchema = LandingStrategySchema.exclude([
|
|
@@ -6256,7 +6257,7 @@ var LandingImageReadable = z15.object({
|
|
|
6256
6257
|
*/
|
|
6257
6258
|
index: z15.number().int().min(1).max(20),
|
|
6258
6259
|
/** Child task that owns this image when variants are rendered alongside the root task. */
|
|
6259
|
-
variantTaskId: z15.string().
|
|
6260
|
+
variantTaskId: z15.string().guid().optional(),
|
|
6260
6261
|
/**
|
|
6261
6262
|
* The image's own `indexNum` within its OWN task (root or variant) — set
|
|
6262
6263
|
* once at render time and never recomputed. Unlike `index`, this is stable
|
|
@@ -6389,6 +6390,13 @@ var CODE_LANDING_USAGE_VARIANTS = [
|
|
|
6389
6390
|
"steps"
|
|
6390
6391
|
];
|
|
6391
6392
|
var CodeLandingUsageVariantSchema = z16.enum(CODE_LANDING_USAGE_VARIANTS);
|
|
6393
|
+
var CODE_LANDING_BUY_BOX_FORMATS = [
|
|
6394
|
+
"classic",
|
|
6395
|
+
"benefits",
|
|
6396
|
+
"impact",
|
|
6397
|
+
"pop"
|
|
6398
|
+
];
|
|
6399
|
+
var CodeLandingBuyBoxFormatSchema = z16.enum(CODE_LANDING_BUY_BOX_FORMATS);
|
|
6392
6400
|
var CodeLandingRecipeVariantsSchema = z16.object({
|
|
6393
6401
|
hero: CodeLandingHeroVariantSchema,
|
|
6394
6402
|
"benefits-grid": CodeLandingBenefitsVariantSchema,
|
|
@@ -6429,7 +6437,8 @@ var CodeLandingRecipePlanFields = {
|
|
|
6429
6437
|
var CodeLandingRecipeProposalSchema = z16.object(CodeLandingRecipePlanFields).strict();
|
|
6430
6438
|
var CodeLandingRecipePlanObjectSchema = z16.object({
|
|
6431
6439
|
version: z16.literal(1),
|
|
6432
|
-
...CodeLandingRecipePlanFields
|
|
6440
|
+
...CodeLandingRecipePlanFields,
|
|
6441
|
+
buyBoxFormat: CodeLandingBuyBoxFormatSchema.optional()
|
|
6433
6442
|
}).strict();
|
|
6434
6443
|
function hasDuplicateIds(ids) {
|
|
6435
6444
|
return new Set(ids).size !== ids.length;
|
|
@@ -6459,7 +6468,7 @@ var JsonValueSchema = z16.lazy(() => z16.union([
|
|
|
6459
6468
|
z16.boolean(),
|
|
6460
6469
|
z16.null(),
|
|
6461
6470
|
z16.array(JsonValueSchema),
|
|
6462
|
-
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(JsonValueSchema))
|
|
6471
|
+
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(z16.string(), JsonValueSchema))
|
|
6463
6472
|
]));
|
|
6464
6473
|
var CodeLandingRecipeSelectionSchema = z16.object({
|
|
6465
6474
|
blockId: z16.string().trim().min(1),
|
|
@@ -6918,7 +6927,7 @@ var PresignUploadResponse = z19.object({
|
|
|
6918
6927
|
/** Present only for purpose=service. */
|
|
6919
6928
|
assetToken: z19.string().min(1).optional(),
|
|
6920
6929
|
/** Present only for purpose=meta_staging. */
|
|
6921
|
-
stagingAssetId: z19.string().
|
|
6930
|
+
stagingAssetId: z19.string().guid().optional()
|
|
6922
6931
|
});
|
|
6923
6932
|
var MetaUploadMediaKind = z19.enum([
|
|
6924
6933
|
"image",
|
|
@@ -6928,7 +6937,7 @@ var MetaUploadMediaKind = z19.enum([
|
|
|
6928
6937
|
var META_UPLOAD_MAX_FILES = CAMPAIGN_LIMITS.MAX_CREATIVES;
|
|
6929
6938
|
var META_UPLOAD_IMAGE_MAX_FILES = 5;
|
|
6930
6939
|
var MetaUploadAssetSummary = z19.object({
|
|
6931
|
-
stagingAssetId: z19.string().
|
|
6940
|
+
stagingAssetId: z19.string().guid(),
|
|
6932
6941
|
mediaKind: MediaKind
|
|
6933
6942
|
}).strict();
|
|
6934
6943
|
var MetaCampaignType = z19.enum([
|
|
@@ -6936,7 +6945,7 @@ var MetaCampaignType = z19.enum([
|
|
|
6936
6945
|
"traffic",
|
|
6937
6946
|
"engagement"
|
|
6938
6947
|
]);
|
|
6939
|
-
var MetaPublishAttemptId = z19.string().
|
|
6948
|
+
var MetaPublishAttemptId = z19.string().guid();
|
|
6940
6949
|
var MetaOptimizationMode = z19.enum([
|
|
6941
6950
|
"advantage_plus",
|
|
6942
6951
|
"manual"
|
|
@@ -7009,14 +7018,14 @@ var ResolveMetaUploadSessionRequest = z19.object({
|
|
|
7009
7018
|
/** Opaque signed token embedded in the one-click upload page URL. */
|
|
7010
7019
|
token: z19.string().min(1).max(4096),
|
|
7011
7020
|
/** Stable browser-generated id so failed PUT retries reuse the same slot. */
|
|
7012
|
-
uploadId: z19.string().
|
|
7021
|
+
uploadId: z19.string().guid().optional(),
|
|
7013
7022
|
/** Browser-selected metadata; the API checks it against the session kind/role. */
|
|
7014
7023
|
contentType: z19.enum(META_STAGING_CONTENT_TYPES),
|
|
7015
7024
|
fileName: z19.string().min(1).max(255),
|
|
7016
7025
|
fileSize: z19.number().int().positive().max(CAMPAIGN_LIMITS.MAX_FILE_SIZE_BYTES)
|
|
7017
7026
|
}).strict();
|
|
7018
7027
|
var MetaUploadSessionResponse = z19.object({
|
|
7019
|
-
sessionId: z19.string().
|
|
7028
|
+
sessionId: z19.string().guid(),
|
|
7020
7029
|
uploadPageUrl: HttpUrl,
|
|
7021
7030
|
mediaKind: MetaUploadMediaKind,
|
|
7022
7031
|
assetRole: z19.enum([
|
|
@@ -7028,18 +7037,18 @@ var MetaUploadSessionResponse = z19.object({
|
|
|
7028
7037
|
}).strict();
|
|
7029
7038
|
var ResolveMetaUploadSessionResponse = z19.object({
|
|
7030
7039
|
uploadUrl: z19.string().url(),
|
|
7031
|
-
stagingAssetId: z19.string().
|
|
7040
|
+
stagingAssetId: z19.string().guid(),
|
|
7032
7041
|
expiresAt: z19.string().datetime()
|
|
7033
7042
|
}).strict();
|
|
7034
7043
|
var MetaUploadSessionStatusResponse = z19.object({
|
|
7035
|
-
sessionId: z19.string().
|
|
7044
|
+
sessionId: z19.string().guid(),
|
|
7036
7045
|
status: z19.enum([
|
|
7037
7046
|
"pending",
|
|
7038
7047
|
"uploaded"
|
|
7039
7048
|
]),
|
|
7040
7049
|
assets: z19.array(MetaUploadAssetSummary).max(META_UPLOAD_MAX_FILES),
|
|
7041
7050
|
/** Legacy single-file response field retained for older callers. */
|
|
7042
|
-
stagingAssetId: z19.string().
|
|
7051
|
+
stagingAssetId: z19.string().guid().optional()
|
|
7043
7052
|
}).strict();
|
|
7044
7053
|
var MetaAdAccountId = z19.string().trim().min(1, "Debes seleccionar una cuenta publicitaria").transform((value) => /^\d+$/.test(value) ? `act_${value}` : value).refine((value) => /^act_\d+$/.test(value), {
|
|
7045
7054
|
message: 'adAccountId must look like "act_1234567890" (a bare numeric id is also accepted)'
|
|
@@ -7119,6 +7128,33 @@ var MetaCampaignDefaults = MetaCampaignConfigBase.omit({
|
|
|
7119
7128
|
*/
|
|
7120
7129
|
currency: z19.string().length(3).regex(/^[A-Z]{3}$/).nullable().optional()
|
|
7121
7130
|
});
|
|
7131
|
+
function refineMetaCreativeSources(value, ctx) {
|
|
7132
|
+
value.creatives.forEach((creative, index) => {
|
|
7133
|
+
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
7134
|
+
ctx.addIssue({
|
|
7135
|
+
code: z19.ZodIssueCode.custom,
|
|
7136
|
+
path: [
|
|
7137
|
+
"creatives",
|
|
7138
|
+
index,
|
|
7139
|
+
"mediaUrl"
|
|
7140
|
+
],
|
|
7141
|
+
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
7142
|
+
});
|
|
7143
|
+
}
|
|
7144
|
+
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
7145
|
+
ctx.addIssue({
|
|
7146
|
+
code: z19.ZodIssueCode.custom,
|
|
7147
|
+
path: [
|
|
7148
|
+
"creatives",
|
|
7149
|
+
index,
|
|
7150
|
+
"thumbnailUrl"
|
|
7151
|
+
],
|
|
7152
|
+
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
7153
|
+
});
|
|
7154
|
+
}
|
|
7155
|
+
});
|
|
7156
|
+
}
|
|
7157
|
+
__name(refineMetaCreativeSources, "refineMetaCreativeSources");
|
|
7122
7158
|
var UploadToMetaRequest = z19.object({
|
|
7123
7159
|
/** Caller-owned retry fence. Required before any provider operation. */
|
|
7124
7160
|
publishAttemptId: MetaPublishAttemptId,
|
|
@@ -7132,7 +7168,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
7132
7168
|
/** Legacy public URL; new Meta flows should use mediaAssetId. */
|
|
7133
7169
|
mediaUrl: HttpUrl.optional(),
|
|
7134
7170
|
/** Owner-scoped temporary asset created by the Meta staging upload flow. */
|
|
7135
|
-
mediaAssetId: z19.string().
|
|
7171
|
+
mediaAssetId: z19.string().guid().optional(),
|
|
7136
7172
|
/**
|
|
7137
7173
|
* Public URL of an extracted thumbnail. Required for video ads — Meta
|
|
7138
7174
|
* rejects video ad creatives without `image_hash`/`image_url` in
|
|
@@ -7141,7 +7177,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
7141
7177
|
*/
|
|
7142
7178
|
thumbnailUrl: HttpUrl.optional(),
|
|
7143
7179
|
/** Owner-scoped temporary thumbnail created by the Meta staging upload flow. */
|
|
7144
|
-
thumbnailAssetId: z19.string().
|
|
7180
|
+
thumbnailAssetId: z19.string().guid().optional()
|
|
7145
7181
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
7146
7182
|
/** Meta Ad Account ID */
|
|
7147
7183
|
adAccountId: MetaAdAccountId,
|
|
@@ -7168,30 +7204,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
7168
7204
|
message: "landingUrl is required for landing destinations"
|
|
7169
7205
|
});
|
|
7170
7206
|
}
|
|
7171
|
-
value
|
|
7172
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
7173
|
-
ctx.addIssue({
|
|
7174
|
-
code: z19.ZodIssueCode.custom,
|
|
7175
|
-
path: [
|
|
7176
|
-
"creatives",
|
|
7177
|
-
index,
|
|
7178
|
-
"mediaUrl"
|
|
7179
|
-
],
|
|
7180
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
7181
|
-
});
|
|
7182
|
-
}
|
|
7183
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
7184
|
-
ctx.addIssue({
|
|
7185
|
-
code: z19.ZodIssueCode.custom,
|
|
7186
|
-
path: [
|
|
7187
|
-
"creatives",
|
|
7188
|
-
index,
|
|
7189
|
-
"thumbnailUrl"
|
|
7190
|
-
],
|
|
7191
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
7192
|
-
});
|
|
7193
|
-
}
|
|
7194
|
-
});
|
|
7207
|
+
refineMetaCreativeSources(value, ctx);
|
|
7195
7208
|
});
|
|
7196
7209
|
var CampaignLifetimeMetricsSchema = z19.object({
|
|
7197
7210
|
spend: z19.number().nonnegative(),
|
|
@@ -7229,13 +7242,13 @@ var Revision = z20.number().finite().int().nonnegative();
|
|
|
7229
7242
|
var ClassicLandingBlockSchema = z20.discriminatedUnion("kind", [
|
|
7230
7243
|
z20.object({
|
|
7231
7244
|
kind: z20.literal("image"),
|
|
7232
|
-
ownerTaskId: z20.string().
|
|
7245
|
+
ownerTaskId: z20.string().guid(),
|
|
7233
7246
|
sourceIndex: z20.number().int().positive()
|
|
7234
7247
|
}).strict(),
|
|
7235
7248
|
z20.object({
|
|
7236
7249
|
kind: z20.literal("gif"),
|
|
7237
|
-
ownerTaskId: z20.string().
|
|
7238
|
-
gifId: z20.string().
|
|
7250
|
+
ownerTaskId: z20.string().guid(),
|
|
7251
|
+
gifId: z20.string().guid()
|
|
7239
7252
|
}).strict()
|
|
7240
7253
|
]);
|
|
7241
7254
|
function classicLandingBlockId(block) {
|
|
@@ -7258,17 +7271,17 @@ var Blocks = z20.array(ClassicLandingBlockSchema).max(100).superRefine((blocks,
|
|
|
7258
7271
|
});
|
|
7259
7272
|
var ClassicLandingDocumentSchema = z20.object({
|
|
7260
7273
|
version: z20.literal(1),
|
|
7261
|
-
ownerTaskId: z20.string().
|
|
7274
|
+
ownerTaskId: z20.string().guid(),
|
|
7262
7275
|
revision: Revision,
|
|
7263
7276
|
blocks: Blocks
|
|
7264
7277
|
}).strict();
|
|
7265
7278
|
var LandingGifBlockSelectionSchema = z20.object({
|
|
7266
|
-
ownerTaskId: z20.string().
|
|
7267
|
-
gifId: z20.string().
|
|
7279
|
+
ownerTaskId: z20.string().guid(),
|
|
7280
|
+
gifId: z20.string().guid(),
|
|
7268
7281
|
gifRevision: Revision
|
|
7269
7282
|
}).strict();
|
|
7270
7283
|
var ClassicLandingImageSelectionSchema = z20.object({
|
|
7271
|
-
ownerTaskId: z20.string().
|
|
7284
|
+
ownerTaskId: z20.string().guid(),
|
|
7272
7285
|
sourceIndex: z20.number().int().positive(),
|
|
7273
7286
|
variantIndex: z20.number().int().nonnegative()
|
|
7274
7287
|
}).strict();
|
|
@@ -7319,7 +7332,7 @@ var ClassicLandingBlockMutationSchema = z20.object({
|
|
|
7319
7332
|
blocks: Blocks
|
|
7320
7333
|
}).strict();
|
|
7321
7334
|
var LandingGifVisibilityMutationSchema = z20.object({
|
|
7322
|
-
gifId: z20.string().
|
|
7335
|
+
gifId: z20.string().guid(),
|
|
7323
7336
|
expectedGifRevision: Revision,
|
|
7324
7337
|
expectedDocumentRevision: Revision,
|
|
7325
7338
|
action: z20.enum([
|
|
@@ -8105,7 +8118,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
8105
8118
|
editorGifOwnership: z23.object({
|
|
8106
8119
|
version: z23.literal(1),
|
|
8107
8120
|
source: z23.object({
|
|
8108
|
-
ownerTaskId: z23.string().
|
|
8121
|
+
ownerTaskId: z23.string().guid(),
|
|
8109
8122
|
gifRevision: z23.number().int().nonnegative(),
|
|
8110
8123
|
contentHash: z23.string().regex(/^[a-f0-9]{64}$/),
|
|
8111
8124
|
posterHash: z23.string().regex(/^[a-f0-9]{64}$/)
|
|
@@ -8113,7 +8126,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
8113
8126
|
}).strict().optional(),
|
|
8114
8127
|
mode: LandingDocumentModeSchema,
|
|
8115
8128
|
strategyVersion: z23.string().min(1).max(60),
|
|
8116
|
-
sourceTaskId: z23.string().
|
|
8129
|
+
sourceTaskId: z23.string().guid().optional(),
|
|
8117
8130
|
winnerSourceUrl: CodeLandingUrlSchema.optional(),
|
|
8118
8131
|
notes: z23.array(z23.string().max(240)).max(16),
|
|
8119
8132
|
/**
|
|
@@ -8545,8 +8558,8 @@ var QuotedLandingEditRequest = z23.object({
|
|
|
8545
8558
|
"full"
|
|
8546
8559
|
]),
|
|
8547
8560
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([]),
|
|
8548
|
-
quoteId: z23.string().
|
|
8549
|
-
idempotencyKey: z23.string().
|
|
8561
|
+
quoteId: z23.string().guid(),
|
|
8562
|
+
idempotencyKey: z23.string().guid()
|
|
8550
8563
|
});
|
|
8551
8564
|
var CreateLandingEditRequest = z23.union([
|
|
8552
8565
|
QuotedLandingEditRequest,
|
|
@@ -8626,7 +8639,7 @@ var LandingEditDto = z23.object({
|
|
|
8626
8639
|
costCents: z23.number(),
|
|
8627
8640
|
error: z23.string().nullable(),
|
|
8628
8641
|
createdAt: z23.string(),
|
|
8629
|
-
operationId: z23.string().
|
|
8642
|
+
operationId: z23.string().guid().nullable().optional(),
|
|
8630
8643
|
expectedRevision: z23.number().int().nonnegative().optional(),
|
|
8631
8644
|
appliedRevision: z23.number().int().positive().nullable().optional(),
|
|
8632
8645
|
refundStatus: z23.enum([
|
|
@@ -8641,14 +8654,24 @@ var LandingEditDto = z23.object({
|
|
|
8641
8654
|
commerceReconciliation: CommerceReconciliationSchema.nullable().optional(),
|
|
8642
8655
|
delivery: z23.lazy(() => LandingEditDeliverySchema).optional(),
|
|
8643
8656
|
/** Photos the seller attached to this message (see LandingEditAttachmentDto). */
|
|
8644
|
-
attachmentIds: z23.array(z23.string().
|
|
8657
|
+
attachmentIds: z23.array(z23.string().guid()).max(4).optional()
|
|
8645
8658
|
});
|
|
8646
8659
|
var LandingEditAttachmentDto = z23.object({
|
|
8647
|
-
id: z23.string().
|
|
8660
|
+
id: z23.string().guid(),
|
|
8648
8661
|
url: z23.string().url(),
|
|
8649
8662
|
width: z23.number().int().positive().nullable(),
|
|
8650
8663
|
height: z23.number().int().positive().nullable()
|
|
8651
8664
|
});
|
|
8665
|
+
var ApplyLandingCarouselGifRequest = z23.object({
|
|
8666
|
+
attachmentId: z23.string().uuid(),
|
|
8667
|
+
expectedRevision: z23.number().int().nonnegative(),
|
|
8668
|
+
idempotencyKey: z23.string().uuid()
|
|
8669
|
+
}).strict();
|
|
8670
|
+
var ApplyLandingCarouselGifResponse = z23.object({
|
|
8671
|
+
artifact: CodeLandingArtifactSchema,
|
|
8672
|
+
appliedRevision: z23.number().int().positive(),
|
|
8673
|
+
replayed: z23.boolean()
|
|
8674
|
+
});
|
|
8652
8675
|
var UploadLandingEditAttachmentResponse = z23.object({
|
|
8653
8676
|
attachment: LandingEditAttachmentDto
|
|
8654
8677
|
});
|
|
@@ -8670,12 +8693,12 @@ var LandingEditQuoteRequest = z23.object({
|
|
|
8670
8693
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([])
|
|
8671
8694
|
});
|
|
8672
8695
|
var LandingEditSubmitRequest = LandingEditQuoteRequest.extend({
|
|
8673
|
-
quoteId: z23.string().
|
|
8674
|
-
idempotencyKey: z23.string().
|
|
8696
|
+
quoteId: z23.string().guid(),
|
|
8697
|
+
idempotencyKey: z23.string().guid()
|
|
8675
8698
|
});
|
|
8676
8699
|
var LandingOperationQuoteDto = z23.object({
|
|
8677
8700
|
editPlanSummary: z23.lazy(() => LandingEditPlanSummarySchema).optional(),
|
|
8678
|
-
id: z23.string().
|
|
8701
|
+
id: z23.string().guid(),
|
|
8679
8702
|
kind: z23.enum([
|
|
8680
8703
|
"edit_patch",
|
|
8681
8704
|
"edit_full",
|
|
@@ -8697,7 +8720,7 @@ var LandingRevisionHistoryItemDto = z23.object({
|
|
|
8697
8720
|
parentRevision: z23.number().int().positive().nullable(),
|
|
8698
8721
|
source: z23.string().min(1),
|
|
8699
8722
|
summary: z23.string().nullable(),
|
|
8700
|
-
editId: z23.string().
|
|
8723
|
+
editId: z23.string().guid().nullable(),
|
|
8701
8724
|
createdAt: z23.string().datetime(),
|
|
8702
8725
|
isActive: z23.boolean(),
|
|
8703
8726
|
isRedoTarget: z23.boolean(),
|
|
@@ -8743,7 +8766,7 @@ var LandingGifSourceSchema = z24.discriminatedUnion("kind", [
|
|
|
8743
8766
|
z24.object({
|
|
8744
8767
|
kind: z24.literal("generated"),
|
|
8745
8768
|
referenceSelectionRevision: Revision2,
|
|
8746
|
-
referenceImageAssetId: z24.string().
|
|
8769
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8747
8770
|
motionBrief: z24.string().trim().min(1).max(1500)
|
|
8748
8771
|
}).strict()
|
|
8749
8772
|
]);
|
|
@@ -8768,7 +8791,7 @@ var ReuseIdentity = z24.object({
|
|
|
8768
8791
|
byteSize: z24.number().finite().int().positive().max(50 * 1024 * 1024),
|
|
8769
8792
|
contentHash: Hash,
|
|
8770
8793
|
provenance: z24.object({
|
|
8771
|
-
taskId: z24.string().
|
|
8794
|
+
taskId: z24.string().guid(),
|
|
8772
8795
|
scanId: z24.string().min(1).max(200).optional(),
|
|
8773
8796
|
sourceUrl: z24.string().url().max(4096).optional(),
|
|
8774
8797
|
externalAdId: z24.string().min(1).max(200).optional()
|
|
@@ -8798,7 +8821,7 @@ var LandingGifReuseCandidateSchema = z24.discriminatedUnion("kind", [
|
|
|
8798
8821
|
var GeneratedResolvedSourceSchema = z24.object({
|
|
8799
8822
|
kind: z24.literal("generated"),
|
|
8800
8823
|
referenceSelectionRevision: Revision2,
|
|
8801
|
-
referenceImageAssetId: z24.string().
|
|
8824
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8802
8825
|
referenceKeys: z24.array(StorageKey).min(1).max(4),
|
|
8803
8826
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
8804
8827
|
identityReferenceFingerprint: Hash.optional(),
|
|
@@ -8820,7 +8843,7 @@ var AutomaticResolvedSourceSchema = GeneratedResolvedSourceSchema.omit({
|
|
|
8820
8843
|
referenceImageAssetId: true
|
|
8821
8844
|
}).extend({
|
|
8822
8845
|
kind: z24.literal("automatic"),
|
|
8823
|
-
ownerTaskId: z24.string().
|
|
8846
|
+
ownerTaskId: z24.string().guid(),
|
|
8824
8847
|
productName: z24.string().min(1).max(500),
|
|
8825
8848
|
productTruth: JsonValueSchema.optional(),
|
|
8826
8849
|
useSheet: JsonValueSchema.optional(),
|
|
@@ -8884,7 +8907,7 @@ var LandingGifPlacementSchema = z24.discriminatedUnion("kind", [
|
|
|
8884
8907
|
}).strict(),
|
|
8885
8908
|
z24.object({
|
|
8886
8909
|
kind: z24.literal("classic"),
|
|
8887
|
-
ownerTaskId: z24.string().
|
|
8910
|
+
ownerTaskId: z24.string().guid(),
|
|
8888
8911
|
afterSourceIndex: z24.number().finite().int().min(1)
|
|
8889
8912
|
}).strict(),
|
|
8890
8913
|
z24.object({
|
|
@@ -8899,7 +8922,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8899
8922
|
placement: LandingGifPlacementSchema,
|
|
8900
8923
|
expectedLandingRevision: Revision2,
|
|
8901
8924
|
expectedGifRevision: Revision2,
|
|
8902
|
-
gifId: z24.string().
|
|
8925
|
+
gifId: z24.string().guid().optional(),
|
|
8903
8926
|
expectedDocumentRevision: Revision2.optional()
|
|
8904
8927
|
}).strict().superRefine((request, ctx) => {
|
|
8905
8928
|
if (request.gifId === void 0 !== (request.expectedDocumentRevision === void 0)) {
|
|
@@ -8939,7 +8962,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8939
8962
|
});
|
|
8940
8963
|
var LandingGifSubmitRequestSchema = z24.object({
|
|
8941
8964
|
request: LandingGifCreateRequestSchema,
|
|
8942
|
-
quoteId: z24.string().
|
|
8965
|
+
quoteId: z24.string().guid(),
|
|
8943
8966
|
idempotencyKey: z24.string().trim().min(1).max(200)
|
|
8944
8967
|
}).strict();
|
|
8945
8968
|
var LandingGifRemoveRequestSchema = z24.object({
|
|
@@ -8975,17 +8998,17 @@ var LandingGifStoredDescriptorSchema = GifTechnicalMetadataSchema.extend({
|
|
|
8975
8998
|
quality: LandingGifQualitySchema
|
|
8976
8999
|
}).strict();
|
|
8977
9000
|
var LandingGifReadableSchema = LandingGifStoredDescriptorSchema.extend({
|
|
8978
|
-
ownerTaskId: z24.string().
|
|
9001
|
+
ownerTaskId: z24.string().guid(),
|
|
8979
9002
|
gifRevision: Revision2,
|
|
8980
9003
|
gifUrl: z24.string().url(),
|
|
8981
9004
|
posterUrl: z24.string().url()
|
|
8982
9005
|
}).strict();
|
|
8983
9006
|
var LandingGifSelectionSchema = z24.object({
|
|
8984
|
-
ownerTaskId: z24.string().
|
|
9007
|
+
ownerTaskId: z24.string().guid(),
|
|
8985
9008
|
gifRevision: Revision2
|
|
8986
9009
|
}).strict();
|
|
8987
9010
|
var LandingGifOperationStatusSchema = z24.object({
|
|
8988
|
-
operationId: z24.string().
|
|
9011
|
+
operationId: z24.string().guid(),
|
|
8989
9012
|
status: z24.enum([
|
|
8990
9013
|
"reserved",
|
|
8991
9014
|
"queued",
|
|
@@ -9007,13 +9030,13 @@ var LandingGifOperationStatusSchema = z24.object({
|
|
|
9007
9030
|
reservedUserCents: z24.number().finite().int().nonnegative()
|
|
9008
9031
|
}).strict();
|
|
9009
9032
|
var LandingGifUseProposalSchema = z24.object({
|
|
9010
|
-
id: z24.string().
|
|
9011
|
-
gifId: z24.string().
|
|
9033
|
+
id: z24.string().guid(),
|
|
9034
|
+
gifId: z24.string().guid(),
|
|
9012
9035
|
idea: z24.string().trim().min(1).max(300),
|
|
9013
9036
|
motionBrief: z24.string().trim().min(1).max(1500),
|
|
9014
9037
|
productFingerprint: Hash,
|
|
9015
9038
|
referenceFingerprint: Hash.nullable(),
|
|
9016
|
-
referenceImageAssetId: z24.string().
|
|
9039
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
9017
9040
|
referenceImageAssetKey: StorageKey.optional(),
|
|
9018
9041
|
referenceImageUrl: z24.string().url().optional(),
|
|
9019
9042
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
@@ -9034,8 +9057,8 @@ var LandingGifStateSchema = z24.enum([
|
|
|
9034
9057
|
"removed"
|
|
9035
9058
|
]);
|
|
9036
9059
|
var LandingGifItemSchema = z24.object({
|
|
9037
|
-
gifId: z24.string().
|
|
9038
|
-
ownerTaskId: z24.string().
|
|
9060
|
+
gifId: z24.string().guid(),
|
|
9061
|
+
ownerTaskId: z24.string().guid(),
|
|
9039
9062
|
gifRevision: Revision2,
|
|
9040
9063
|
state: LandingGifStateSchema,
|
|
9041
9064
|
/** Server-derived compatibility for an already delivered singular primary. */
|
|
@@ -9075,8 +9098,8 @@ function isDeliverableLandingGif(item) {
|
|
|
9075
9098
|
}
|
|
9076
9099
|
__name(isDeliverableLandingGif, "isDeliverableLandingGif");
|
|
9077
9100
|
var InitialLandingGifStatusSchema = z24.object({
|
|
9078
|
-
intentId: z24.string().
|
|
9079
|
-
gifId: z24.string().
|
|
9101
|
+
intentId: z24.string().guid(),
|
|
9102
|
+
gifId: z24.string().guid(),
|
|
9080
9103
|
status: z24.enum([
|
|
9081
9104
|
"funded",
|
|
9082
9105
|
"awaiting_usage",
|
|
@@ -9092,7 +9115,7 @@ var InitialLandingGifStatusSchema = z24.object({
|
|
|
9092
9115
|
refundStatus: LandingGifOperationStatusSchema.shape.refundStatus
|
|
9093
9116
|
}).strict();
|
|
9094
9117
|
var LandingGifCollectionResponseSchema = z24.object({
|
|
9095
|
-
ownerTaskId: z24.string().
|
|
9118
|
+
ownerTaskId: z24.string().guid(),
|
|
9096
9119
|
landingRevision: Revision2,
|
|
9097
9120
|
document: ClassicLandingDocumentSchema,
|
|
9098
9121
|
gifs: z24.array(LandingGifItemSchema).max(100),
|
|
@@ -9106,15 +9129,15 @@ var LandingGifCollectionResponseSchema = z24.object({
|
|
|
9106
9129
|
}
|
|
9107
9130
|
});
|
|
9108
9131
|
var LandingGifTargetSchema = z24.object({
|
|
9109
|
-
gifId: z24.string().
|
|
9132
|
+
gifId: z24.string().guid(),
|
|
9110
9133
|
expectedGifRevision: Revision2
|
|
9111
9134
|
}).strict();
|
|
9112
9135
|
var LandingGifProposalRequestSchema = z24.object({
|
|
9113
|
-
gifId: z24.string().
|
|
9136
|
+
gifId: z24.string().guid().optional(),
|
|
9114
9137
|
expectedDocumentRevision: Revision2,
|
|
9115
9138
|
afterBlockId: z24.string().min(1).max(300).optional(),
|
|
9116
9139
|
merchantIdea: z24.string().trim().min(8).max(300).optional(),
|
|
9117
|
-
referenceImageAssetId: z24.string().
|
|
9140
|
+
referenceImageAssetId: z24.string().guid().nullable().optional()
|
|
9118
9141
|
}).strict();
|
|
9119
9142
|
var LandingGifQuoteResponseSchema = z24.object({
|
|
9120
9143
|
quote: LandingOperationQuoteDto.extend({
|
|
@@ -9125,7 +9148,7 @@ var LandingGifCreateResponseSchema = z24.object({
|
|
|
9125
9148
|
operation: LandingGifOperationStatusSchema
|
|
9126
9149
|
}).strict();
|
|
9127
9150
|
var LandingGifStatusResponseSchema = z24.object({
|
|
9128
|
-
ownerTaskId: z24.string().
|
|
9151
|
+
ownerTaskId: z24.string().guid(),
|
|
9129
9152
|
landingRevision: Revision2,
|
|
9130
9153
|
gifRevision: Revision2,
|
|
9131
9154
|
demoGif: LandingGifReadableSchema.nullable(),
|
|
@@ -9163,9 +9186,9 @@ var LandingGifPresentationResponseSchema = z24.object({
|
|
|
9163
9186
|
}).strict();
|
|
9164
9187
|
var LandingGifCompletionReceiptBase = z24.object({
|
|
9165
9188
|
version: z24.literal(1),
|
|
9166
|
-
operationId: z24.string().
|
|
9167
|
-
taskId: z24.string().
|
|
9168
|
-
stepId: z24.string().
|
|
9189
|
+
operationId: z24.string().guid(),
|
|
9190
|
+
taskId: z24.string().guid(),
|
|
9191
|
+
stepId: z24.string().guid(),
|
|
9169
9192
|
stepEpoch: Revision2,
|
|
9170
9193
|
acceptedGifRevision: z24.number().finite().int().positive(),
|
|
9171
9194
|
gifAssetKey: z24.string().min(1),
|
|
@@ -9177,7 +9200,7 @@ var LandingGifCompletionReceiptSchema = z24.discriminatedUnion("version", [
|
|
|
9177
9200
|
LandingGifCompletionReceiptBase,
|
|
9178
9201
|
LandingGifCompletionReceiptBase.extend({
|
|
9179
9202
|
version: z24.literal(2),
|
|
9180
|
-
gifId: z24.string().
|
|
9203
|
+
gifId: z24.string().guid(),
|
|
9181
9204
|
disposition: z24.enum([
|
|
9182
9205
|
"activated",
|
|
9183
9206
|
"retained"
|
|
@@ -9478,7 +9501,7 @@ var VideoCreativeContext = z27.object({
|
|
|
9478
9501
|
productTitle: z27.string(),
|
|
9479
9502
|
primaryAngle: z27.string(),
|
|
9480
9503
|
buyerPersona: z27.string().optional(),
|
|
9481
|
-
brandId: z27.string().
|
|
9504
|
+
brandId: z27.string().guid().optional(),
|
|
9482
9505
|
features: z27.array(z27.string()).default([]),
|
|
9483
9506
|
scriptNotes: z27.string().optional(),
|
|
9484
9507
|
cta: z27.string().optional(),
|
|
@@ -9637,19 +9660,19 @@ var ImageCreativeJobStatusEnum = z27.enum([
|
|
|
9637
9660
|
"error"
|
|
9638
9661
|
]);
|
|
9639
9662
|
var ImageCreativeJobStatus = z27.object({
|
|
9640
|
-
jobId: z27.string().
|
|
9663
|
+
jobId: z27.string().guid(),
|
|
9641
9664
|
status: ImageCreativeJobStatusEnum,
|
|
9642
9665
|
error: z27.string().optional(),
|
|
9643
9666
|
result: ImageCreativeResult.nullable().optional(),
|
|
9644
9667
|
request: ImageCreativeEditableRequest.optional()
|
|
9645
9668
|
});
|
|
9646
9669
|
var ImageCreativeJobPayload = z27.object({
|
|
9647
|
-
jobId: z27.string().
|
|
9670
|
+
jobId: z27.string().guid(),
|
|
9648
9671
|
status: ImageCreativeJobStatusEnum,
|
|
9649
9672
|
replayed: z27.boolean().optional()
|
|
9650
9673
|
});
|
|
9651
9674
|
var ImageCreativeHistoryEntry = z27.object({
|
|
9652
|
-
id: z27.string().
|
|
9675
|
+
id: z27.string().guid(),
|
|
9653
9676
|
createdAt: z27.string().datetime(),
|
|
9654
9677
|
status: ImageCreativeJobStatusEnum,
|
|
9655
9678
|
result: ImageCreativeResult.nullable(),
|
|
@@ -9669,27 +9692,27 @@ var LandingCreativeResult = z27.object({
|
|
|
9669
9692
|
createdAt: z27.string().datetime().optional()
|
|
9670
9693
|
});
|
|
9671
9694
|
var LandingCreativeJobStatus = z27.object({
|
|
9672
|
-
jobId: z27.string().
|
|
9695
|
+
jobId: z27.string().guid(),
|
|
9673
9696
|
status: LandingCreativeJobStatusEnum,
|
|
9674
9697
|
error: z27.string().optional(),
|
|
9675
9698
|
result: LandingCreativeResult.nullable().optional()
|
|
9676
9699
|
});
|
|
9677
9700
|
var LandingCreativeJobPayload = z27.object({
|
|
9678
|
-
jobId: z27.string().
|
|
9701
|
+
jobId: z27.string().guid(),
|
|
9679
9702
|
status: LandingCreativeJobStatusEnum,
|
|
9680
9703
|
replayed: z27.boolean().optional()
|
|
9681
9704
|
});
|
|
9682
9705
|
var LandingCreativeHistoryEntry = z27.object({
|
|
9683
|
-
id: z27.string().
|
|
9706
|
+
id: z27.string().guid(),
|
|
9684
9707
|
createdAt: z27.string().datetime(),
|
|
9685
9708
|
status: LandingCreativeJobStatusEnum,
|
|
9686
9709
|
result: LandingCreativeResult.nullable(),
|
|
9687
9710
|
error: z27.string().optional()
|
|
9688
9711
|
});
|
|
9689
9712
|
var CreativeGeneratorJob = z27.object({
|
|
9690
|
-
taskId: z27.string().
|
|
9713
|
+
taskId: z27.string().guid(),
|
|
9691
9714
|
/** Immutable approved product-reference snapshot consumed by the worker. */
|
|
9692
|
-
referenceVersionId: z27.string().
|
|
9715
|
+
referenceVersionId: z27.string().guid().optional(),
|
|
9693
9716
|
cleanImagesWaitAttempt: z27.number().int().nonnegative().optional()
|
|
9694
9717
|
});
|
|
9695
9718
|
var ImageCreativeEditStatus = z27.enum([
|
|
@@ -9705,8 +9728,8 @@ var ImageCreativeRegenerateRequest = z27.object({
|
|
|
9705
9728
|
});
|
|
9706
9729
|
var ImageCreativeEditStatusResponse = z27.object({
|
|
9707
9730
|
ok: z27.literal(true),
|
|
9708
|
-
operationId: z27.string().
|
|
9709
|
-
taskId: z27.string().
|
|
9731
|
+
operationId: z27.string().guid(),
|
|
9732
|
+
taskId: z27.string().guid(),
|
|
9710
9733
|
variantIndex: z27.number().int().nonnegative(),
|
|
9711
9734
|
status: ImageCreativeEditStatus,
|
|
9712
9735
|
assetKey: z27.string().optional(),
|
|
@@ -9847,20 +9870,20 @@ var CreativeGenderPin = z33.enum([
|
|
|
9847
9870
|
var CreativeDirectionSchema = z33.string().transform((value) => value.trim()).pipe(z33.string().max(CREATIVE_DIRECTION_MAX_CHARS));
|
|
9848
9871
|
var IngestOptions = z33.object({
|
|
9849
9872
|
/** Optional owner-scoped guided journey context. Never bypasses ingest gates. */
|
|
9850
|
-
dropshippingProjectId: z33.string().
|
|
9851
|
-
languageCode: LanguageCodeSchema.default("es-CO"),
|
|
9852
|
-
ugcFormat: VideoFormat.default("single_15s"),
|
|
9873
|
+
dropshippingProjectId: z33.string().guid().optional(),
|
|
9874
|
+
languageCode: LanguageCodeSchema.default("es-CO").nonoptional(),
|
|
9875
|
+
ugcFormat: VideoFormat.default("single_15s").nonoptional(),
|
|
9853
9876
|
country: CountrySchema,
|
|
9854
9877
|
price: PriceSchema,
|
|
9855
9878
|
offer: OfferSchema,
|
|
9856
9879
|
compareAtPrice: CompareAtPriceSchema,
|
|
9857
9880
|
pricingInput: SellerPricingInputSchema.optional(),
|
|
9858
9881
|
paymentMethods: PaymentMethodsSchema,
|
|
9859
|
-
videoStyle: VideoStyle.default("ugc"),
|
|
9882
|
+
videoStyle: VideoStyle.default("ugc").nonoptional(),
|
|
9860
9883
|
/** Canonical public route axes; legacy provider fields remain compatibility aliases. */
|
|
9861
9884
|
videoStructure: VideoStructure.optional(),
|
|
9862
9885
|
videoQuality: VideoQuality.optional(),
|
|
9863
|
-
videoModel: VideoModel.default("veo"),
|
|
9886
|
+
videoModel: VideoModel.default("veo").nonoptional(),
|
|
9864
9887
|
/**
|
|
9865
9888
|
* An explicit registry model id for Free mode (Defect 1, follow-up to the
|
|
9866
9889
|
* model-agnostic video plan). Validated against `activeVideoModels()` in
|
|
@@ -9875,15 +9898,15 @@ var IngestOptions = z33.object({
|
|
|
9875
9898
|
]).optional(),
|
|
9876
9899
|
rawPrompt: FreeVideoOptionsSchema.shape.rawPrompt.optional(),
|
|
9877
9900
|
durationSeconds: FreeVideoOptionsSchema.shape.durationSeconds.optional(),
|
|
9878
|
-
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.optional(),
|
|
9901
|
+
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.nonoptional().optional(),
|
|
9879
9902
|
subtitleText: z33.string().transform((value) => value.trim()).pipe(z33.string().max(FREE_VIDEO_SUBTITLE_MAX_CHARS)).optional(),
|
|
9880
|
-
videoTier: WritableVideoTier.default(DEFAULT_VIDEO_TIER),
|
|
9881
|
-
narrativeStyle: NarrativeStyle.default("review"),
|
|
9903
|
+
videoTier: WritableVideoTier.default(WritableVideoTier.parse(DEFAULT_VIDEO_TIER)).nonoptional(),
|
|
9904
|
+
narrativeStyle: NarrativeStyle.default("review").nonoptional(),
|
|
9882
9905
|
videoPreset: VideoPreset.optional(),
|
|
9883
9906
|
/** Orthogonal visual style for animated narratives only. The API rejects it
|
|
9884
9907
|
* on non-animated presets; absent → the pipeline resolves 'pixar_3d'. */
|
|
9885
9908
|
animationStyle: AnimationStyleSchema.optional(),
|
|
9886
|
-
multiAngleVideos: z33.boolean().default(false),
|
|
9909
|
+
multiAngleVideos: z33.boolean().default(false).nonoptional(),
|
|
9887
9910
|
videoAngleCount: z33.number().int().min(1).max(3).optional(),
|
|
9888
9911
|
/** Per-angle narrative override (positional). angleNarratives[i] forces the
|
|
9889
9912
|
* narrative of angle position i, overriding the batch auto-selector; a list
|
|
@@ -9895,7 +9918,7 @@ var IngestOptions = z33.object({
|
|
|
9895
9918
|
// quality levels; an explicit 720p pick wins. Callers that omit the field
|
|
9896
9919
|
// use the same 480p compatibility fallback in resolveSingleCallAwareResolution.
|
|
9897
9920
|
videoResolution: VideoResolution.optional(),
|
|
9898
|
-
generateAdCopy: z33.boolean().default(true),
|
|
9921
|
+
generateAdCopy: z33.boolean().default(true).nonoptional(),
|
|
9899
9922
|
generateAiMusic: z33.boolean().optional(),
|
|
9900
9923
|
/** «Edición con IA» opt-in; a music request aliases to it. */
|
|
9901
9924
|
generateAiEdit: AiEditRequestSchema.optional(),
|
|
@@ -9906,7 +9929,7 @@ var IngestOptions = z33.object({
|
|
|
9906
9929
|
* the multipart path on 2026-09-01, so an unbounded opaque string was newly persistable
|
|
9907
9930
|
* per task. Length only, never `.uuid()` — Actor.id is a CUID. */
|
|
9908
9931
|
actorId: z33.string().min(1).max(120).optional(),
|
|
9909
|
-
isCombo: z33.boolean().default(false),
|
|
9932
|
+
isCombo: z33.boolean().default(false).nonoptional(),
|
|
9910
9933
|
productContext: z33.string().transform(canonicalizeProductContext).pipe(z33.string().max(PRODUCT_CONTEXT_MAX_CHARS)).optional(),
|
|
9911
9934
|
creativeDirection: CreativeDirectionSchema.optional(),
|
|
9912
9935
|
/** Exact copy the user pinned. Rendered VERBATIM on the image creatives this task
|
|
@@ -9979,8 +10002,8 @@ var IngestOptions = z33.object({
|
|
|
9979
10002
|
* chosen videoPreset. Default true preserves the 2026-08-04 decision;
|
|
9980
10003
|
* only a deliberate `false` suspends replication. See
|
|
9981
10004
|
* `shouldAskReplicationConsent` for when this is even asked. */
|
|
9982
|
-
replicateWinnerWhenFound: z33.boolean().default(true),
|
|
9983
|
-
brandId: z33.string().
|
|
10005
|
+
replicateWinnerWhenFound: z33.boolean().default(true).nonoptional(),
|
|
10006
|
+
brandId: z33.string().guid().optional()
|
|
9984
10007
|
}).partial().transform(normalizeSellerPricingFields).superRefine((data, ctx) => {
|
|
9985
10008
|
const message = validatePriceInversion(data.price, data.compareAtPrice);
|
|
9986
10009
|
if (message) {
|
|
@@ -10727,7 +10750,7 @@ var CreativeEngineWinnerContextSchema = z38.object({
|
|
|
10727
10750
|
version: z38.literal(1),
|
|
10728
10751
|
winnerAdId: z38.string().min(1).max(200),
|
|
10729
10752
|
/** Owned parsed gap blueprint of the selected winner (opaque evidence). */
|
|
10730
|
-
gapBlueprint: z38.unknown(),
|
|
10753
|
+
gapBlueprint: z38.unknown().optional(),
|
|
10731
10754
|
observed: z38.object({
|
|
10732
10755
|
scenes: z38.array(CreativeEngineWinnerObservedSceneSchema).max(40),
|
|
10733
10756
|
/**
|
|
@@ -11487,6 +11510,13 @@ var CreativeEngineRepairAuthorContractRetrySchema = z38.object({
|
|
|
11487
11510
|
requestedAtMs: z38.number().int().nonnegative(),
|
|
11488
11511
|
token: id2
|
|
11489
11512
|
}).strict();
|
|
11513
|
+
var CreativeEngineReplanAuthorContractRetrySchema = z38.object({
|
|
11514
|
+
failedOperationId: id2,
|
|
11515
|
+
planHash: hash,
|
|
11516
|
+
context: CreativeEngineContextBindingSchema,
|
|
11517
|
+
requestedAtMs: z38.number().int().nonnegative(),
|
|
11518
|
+
token: id2
|
|
11519
|
+
}).strict();
|
|
11490
11520
|
var CreativeEngineCompositionRepairSchema = z38.object({
|
|
11491
11521
|
reviewId: id2,
|
|
11492
11522
|
outputHash: hash,
|
|
@@ -11620,6 +11650,7 @@ var CreativeEngineStateSchema = z38.object({
|
|
|
11620
11650
|
token: id2
|
|
11621
11651
|
}).strict().optional(),
|
|
11622
11652
|
repairAuthorContractRetry: CreativeEngineRepairAuthorContractRetrySchema.optional(),
|
|
11653
|
+
replanAuthorContractRetry: CreativeEngineReplanAuthorContractRetrySchema.optional(),
|
|
11623
11654
|
final: CreativeEngineFinalSchema.optional()
|
|
11624
11655
|
}).strict().superRefine((state, ctx) => {
|
|
11625
11656
|
const repairAuthorContractRetry = state.repairAuthorContractRetry;
|
|
@@ -11778,6 +11809,13 @@ var CreativeEngineEventSchema = z38.discriminatedUnion("type", [
|
|
|
11778
11809
|
context: CreativeEngineContextBindingSchema,
|
|
11779
11810
|
token: id2
|
|
11780
11811
|
}).strict(),
|
|
11812
|
+
z38.object({
|
|
11813
|
+
type: z38.literal("replan_author_contract_retry_requested"),
|
|
11814
|
+
failedOperationId: id2,
|
|
11815
|
+
planHash: hash,
|
|
11816
|
+
context: CreativeEngineContextBindingSchema,
|
|
11817
|
+
token: id2
|
|
11818
|
+
}).strict(),
|
|
11781
11819
|
z38.object({
|
|
11782
11820
|
type: z38.literal("repair_author_contract_retry_requested"),
|
|
11783
11821
|
failedOperationId: id2,
|
|
@@ -11898,7 +11936,7 @@ var VideoGenerator = z39.object({
|
|
|
11898
11936
|
ctx.addIssue({
|
|
11899
11937
|
code: z39.ZodIssueCode.too_small,
|
|
11900
11938
|
minimum: 1,
|
|
11901
|
-
|
|
11939
|
+
origin: "string",
|
|
11902
11940
|
inclusive: true,
|
|
11903
11941
|
path: [
|
|
11904
11942
|
"prompt"
|
|
@@ -12006,7 +12044,7 @@ var RegenerateVideoScriptNarrativeResponse = z39.object({
|
|
|
12006
12044
|
var RegenerateVideoRequest = z39.object({
|
|
12007
12045
|
angleKey: z39.string().min(1),
|
|
12008
12046
|
/** Stable new-intent identity for regeneration of an already delivered engine video. */
|
|
12009
|
-
clientRequestId: z39.string().
|
|
12047
|
+
clientRequestId: z39.string().guid().optional()
|
|
12010
12048
|
}).strict();
|
|
12011
12049
|
var RegenerateVideoResponse = z39.object({
|
|
12012
12050
|
ok: z39.literal(true),
|
|
@@ -12017,7 +12055,7 @@ var RegenerateVideoResponse = z39.object({
|
|
|
12017
12055
|
"single_call"
|
|
12018
12056
|
]),
|
|
12019
12057
|
/** New immutable child, when this command bought a new delivered-video intent. */
|
|
12020
|
-
taskId: z39.string().
|
|
12058
|
+
taskId: z39.string().guid().optional()
|
|
12021
12059
|
});
|
|
12022
12060
|
|
|
12023
12061
|
// ../../packages/types/src/billing.ts
|
|
@@ -12025,10 +12063,10 @@ import { z as z40 } from "zod";
|
|
|
12025
12063
|
var MAX_BILLING_DECIMAL_PLACES = 10;
|
|
12026
12064
|
function countDecimalPlaces(value) {
|
|
12027
12065
|
if (!Number.isFinite(value)) return MAX_BILLING_DECIMAL_PLACES + 1;
|
|
12028
|
-
|
|
12066
|
+
let normalized = value.toString();
|
|
12029
12067
|
if (/e/i.test(normalized)) {
|
|
12030
|
-
|
|
12031
|
-
|
|
12068
|
+
if (Math.abs(value) >= 1e21) return 0;
|
|
12069
|
+
normalized = value.toFixed(MAX_BILLING_DECIMAL_PLACES);
|
|
12032
12070
|
}
|
|
12033
12071
|
const parts = normalized.split(".");
|
|
12034
12072
|
if (parts.length < 2) return 0;
|
|
@@ -12059,16 +12097,16 @@ var BillingProvider = z40.enum([
|
|
|
12059
12097
|
]);
|
|
12060
12098
|
var BillingRecordInput = z40.object({
|
|
12061
12099
|
userId: z40.string().min(1),
|
|
12062
|
-
taskId: z40.string().
|
|
12063
|
-
mixTaskId: z40.string().
|
|
12064
|
-
productResearchRunId: z40.string().
|
|
12065
|
-
servicePageId: z40.string().
|
|
12100
|
+
taskId: z40.string().guid().optional(),
|
|
12101
|
+
mixTaskId: z40.string().guid().optional(),
|
|
12102
|
+
productResearchRunId: z40.string().guid().optional(),
|
|
12103
|
+
servicePageId: z40.string().guid().optional(),
|
|
12066
12104
|
provider: BillingProvider,
|
|
12067
12105
|
label: z40.string().optional(),
|
|
12068
12106
|
units: z40.number().int().nonnegative().optional(),
|
|
12069
12107
|
ourCostCents: BillingNonNegativeAmount,
|
|
12070
12108
|
userPriceCents: BillingNonNegativeAmount,
|
|
12071
|
-
metadata: z40.record(z40.unknown()).optional()
|
|
12109
|
+
metadata: z40.record(z40.string(), z40.unknown()).optional()
|
|
12072
12110
|
}).superRefine((value, ctx) => {
|
|
12073
12111
|
const scopedIds = [
|
|
12074
12112
|
value.taskId,
|
|
@@ -12090,7 +12128,7 @@ var BillingSummary = z40.object({
|
|
|
12090
12128
|
// ../../packages/types/src/shopify.ts
|
|
12091
12129
|
import { z as z41 } from "zod";
|
|
12092
12130
|
var ShopifyShopSummary = z41.object({
|
|
12093
|
-
id: z41.string().
|
|
12131
|
+
id: z41.string().guid(),
|
|
12094
12132
|
shopDomain: z41.string(),
|
|
12095
12133
|
primaryDomain: z41.string().nullable(),
|
|
12096
12134
|
scopes: z41.array(z41.string()),
|
|
@@ -12137,7 +12175,7 @@ var ShopifyPublicationMode = z41.enum([
|
|
|
12137
12175
|
var SHOPIFY_ANNOUNCEMENT_BAR_MAX_LENGTH = 160;
|
|
12138
12176
|
var ShopifyPublishRequest = z41.object({
|
|
12139
12177
|
/** Correlates a mutation with read-only recovery after a lost response. */
|
|
12140
|
-
publishAttemptId: z41.string().
|
|
12178
|
+
publishAttemptId: z41.string().guid().optional(),
|
|
12141
12179
|
/** Omitted keeps legacy publication behavior; null explicitly excludes the GIF. */
|
|
12142
12180
|
selectedLandingGif: LandingGifSelectionSchema.nullable().optional(),
|
|
12143
12181
|
classicSelection: ClassicLandingSelectionSnapshotSchema.optional(),
|
|
@@ -12196,7 +12234,7 @@ var ShopifyPublishRequest = z41.object({
|
|
|
12196
12234
|
});
|
|
12197
12235
|
}
|
|
12198
12236
|
});
|
|
12199
|
-
var CodeLandingThemeSetupRequest = ShopifyPublishRequest.
|
|
12237
|
+
var CodeLandingThemeSetupRequest = z41.object(ShopifyPublishRequest.shape).omit({
|
|
12200
12238
|
publishAttemptId: true,
|
|
12201
12239
|
commerceCorrection: true
|
|
12202
12240
|
});
|
|
@@ -12266,8 +12304,8 @@ var ShopifyBundleMappingResult = z41.discriminatedUnion("status", [
|
|
|
12266
12304
|
]);
|
|
12267
12305
|
var ShopifyPublishResponse = z41.object({
|
|
12268
12306
|
pricingNotices: z41.array(SellerPricingNoticeSchema).max(32).optional(),
|
|
12269
|
-
publicationId: z41.string().
|
|
12270
|
-
taskId: z41.string().
|
|
12307
|
+
publicationId: z41.string().guid(),
|
|
12308
|
+
taskId: z41.string().guid(),
|
|
12271
12309
|
status: ShopifyPublicationStatus,
|
|
12272
12310
|
shopDomain: z41.string(),
|
|
12273
12311
|
productId: z41.string().optional(),
|
|
@@ -12338,8 +12376,8 @@ var ShopifyImportOutcomeResponse = z41.discriminatedUnion("status", [
|
|
|
12338
12376
|
]);
|
|
12339
12377
|
var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
12340
12378
|
z41.object({
|
|
12341
|
-
publicationId: z41.string().
|
|
12342
|
-
taskId: z41.string().
|
|
12379
|
+
publicationId: z41.string().guid(),
|
|
12380
|
+
taskId: z41.string().guid(),
|
|
12343
12381
|
status: z41.enum([
|
|
12344
12382
|
"pending",
|
|
12345
12383
|
"processing"
|
|
@@ -12347,8 +12385,8 @@ var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
|
12347
12385
|
productId: z41.string().optional()
|
|
12348
12386
|
}),
|
|
12349
12387
|
z41.object({
|
|
12350
|
-
publicationId: z41.string().
|
|
12351
|
-
taskId: z41.string().
|
|
12388
|
+
publicationId: z41.string().guid(),
|
|
12389
|
+
taskId: z41.string().guid(),
|
|
12352
12390
|
status: z41.literal("error"),
|
|
12353
12391
|
productId: z41.string().optional(),
|
|
12354
12392
|
failure: z41.discriminatedUnion("kind", [
|
|
@@ -12502,7 +12540,7 @@ var CreateShopifyBillingChargeRequest = z41.object({
|
|
|
12502
12540
|
});
|
|
12503
12541
|
var ShopifyBillingCallbackQuery = z41.object({
|
|
12504
12542
|
charge_id: z41.string().regex(/^\d+$/),
|
|
12505
|
-
transactionId: z41.string().
|
|
12543
|
+
transactionId: z41.string().guid()
|
|
12506
12544
|
});
|
|
12507
12545
|
var CancelShopifySubscriptionRequest = z41.object({
|
|
12508
12546
|
subscriptionId: z41.string().min(1)
|
|
@@ -12568,12 +12606,12 @@ var ApproveAnglesRefusalReason = z42.enum([
|
|
|
12568
12606
|
]);
|
|
12569
12607
|
var ApproveAnglesResponse = z42.object({
|
|
12570
12608
|
success: z42.boolean(),
|
|
12571
|
-
taskId: z42.string().
|
|
12609
|
+
taskId: z42.string().guid(),
|
|
12572
12610
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12573
12611
|
});
|
|
12574
12612
|
var IngestResumeRefusalResponse = z42.object({
|
|
12575
12613
|
success: z42.literal(false),
|
|
12576
|
-
taskId: z42.string().
|
|
12614
|
+
taskId: z42.string().guid(),
|
|
12577
12615
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12578
12616
|
});
|
|
12579
12617
|
var GenerateSuggestionsResponse = z42.object({
|
|
@@ -12588,7 +12626,7 @@ var SaveDraftRequest = z42.object({
|
|
|
12588
12626
|
});
|
|
12589
12627
|
var SaveDraftResponse = z42.object({
|
|
12590
12628
|
success: z42.boolean(),
|
|
12591
|
-
taskId: z42.string().
|
|
12629
|
+
taskId: z42.string().guid()
|
|
12592
12630
|
});
|
|
12593
12631
|
var ProductReferenceRecoveryImageMimeType = z42.enum([
|
|
12594
12632
|
"image/jpeg",
|
|
@@ -12633,7 +12671,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12633
12671
|
"keep_selection"
|
|
12634
12672
|
]),
|
|
12635
12673
|
affectedRefKeys: z42.array(z42.string().min(1).max(200)).min(1).max(5).optional(),
|
|
12636
|
-
expectedReferenceVersionId: z42.string().
|
|
12674
|
+
expectedReferenceVersionId: z42.string().guid().optional(),
|
|
12637
12675
|
expectedEvidenceHash: z42.string().min(1).max(128).optional(),
|
|
12638
12676
|
uploadedImages: z42.array(ProductReferenceRecoveryUpload).max(INGEST_MAX_REFERENCE_IMAGES).optional()
|
|
12639
12677
|
}).optional()
|
|
@@ -12670,7 +12708,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12670
12708
|
});
|
|
12671
12709
|
var ConfirmProductReferencesResponse = z42.object({
|
|
12672
12710
|
success: z42.boolean(),
|
|
12673
|
-
taskId: z42.string().
|
|
12711
|
+
taskId: z42.string().guid(),
|
|
12674
12712
|
anglesQueued: z42.boolean()
|
|
12675
12713
|
});
|
|
12676
12714
|
var UpdateProductFeaturesRequest = z42.object({
|
|
@@ -12737,7 +12775,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12737
12775
|
"meta",
|
|
12738
12776
|
"upload"
|
|
12739
12777
|
]).optional(),
|
|
12740
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12778
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional(),
|
|
12741
12779
|
/** Whether to pause for video script review before final generation */
|
|
12742
12780
|
pauseForVideoScriptReview: z42.boolean().optional(),
|
|
12743
12781
|
/** Whether to produce an additional AI-music video variant */
|
|
@@ -12751,7 +12789,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12751
12789
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, true));
|
|
12752
12790
|
var ApproveVideoAnglesResponse = z42.object({
|
|
12753
12791
|
success: z42.boolean(),
|
|
12754
|
-
taskId: z42.string().
|
|
12792
|
+
taskId: z42.string().guid(),
|
|
12755
12793
|
/** Persisted keys scheduled by this approval; visible candidate indices are not worker keys. */
|
|
12756
12794
|
approvedAngleKeys: z42.array(z42.string().regex(/^angle_\d+$/)).min(1).max(3).optional(),
|
|
12757
12795
|
reason: ApproveAnglesRefusalReason.optional()
|
|
@@ -12771,11 +12809,11 @@ var SaveVideoDraftRequest = z42.object({
|
|
|
12771
12809
|
"meta",
|
|
12772
12810
|
"upload"
|
|
12773
12811
|
]).optional(),
|
|
12774
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12812
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional()
|
|
12775
12813
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, false));
|
|
12776
12814
|
var SaveVideoDraftResponse = z42.object({
|
|
12777
12815
|
success: z42.boolean(),
|
|
12778
|
-
taskId: z42.string().
|
|
12816
|
+
taskId: z42.string().guid()
|
|
12779
12817
|
});
|
|
12780
12818
|
var ApproveImageAnglesRequest = z42.object({
|
|
12781
12819
|
/** Zero-based index of the generated angle explicitly selected for production. */
|
|
@@ -12799,7 +12837,7 @@ var ApproveImageAnglesRequest = z42.object({
|
|
|
12799
12837
|
});
|
|
12800
12838
|
var ApproveImageAnglesResponse = z42.object({
|
|
12801
12839
|
success: z42.boolean(),
|
|
12802
|
-
taskId: z42.string().
|
|
12840
|
+
taskId: z42.string().guid(),
|
|
12803
12841
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12804
12842
|
});
|
|
12805
12843
|
var SaveImageDraftRequest = z42.object({
|
|
@@ -12810,7 +12848,7 @@ var SaveImageDraftRequest = z42.object({
|
|
|
12810
12848
|
});
|
|
12811
12849
|
var SaveImageDraftResponse = z42.object({
|
|
12812
12850
|
success: z42.boolean(),
|
|
12813
|
-
taskId: z42.string().
|
|
12851
|
+
taskId: z42.string().guid()
|
|
12814
12852
|
});
|
|
12815
12853
|
var ImageSuggestionsResponse = z42.object({
|
|
12816
12854
|
painPoints: z42.array(z42.string()),
|
|
@@ -12856,8 +12894,8 @@ var QualityReportReason = z43.enum([
|
|
|
12856
12894
|
"other"
|
|
12857
12895
|
]);
|
|
12858
12896
|
var QualityReportRequest = z43.object({
|
|
12859
|
-
taskId: z43.string().
|
|
12860
|
-
mixTaskId: z43.string().
|
|
12897
|
+
taskId: z43.string().guid().optional(),
|
|
12898
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12861
12899
|
kind: QualityReportKind,
|
|
12862
12900
|
/**
|
|
12863
12901
|
* URL or internal proxy path (e.g. `/api/assets/...`).
|
|
@@ -12883,9 +12921,9 @@ var QualityReportRequest = z43.object({
|
|
|
12883
12921
|
]
|
|
12884
12922
|
});
|
|
12885
12923
|
var QualityReportResponse = z43.object({
|
|
12886
|
-
reportId: z43.string().
|
|
12887
|
-
taskId: z43.string().
|
|
12888
|
-
mixTaskId: z43.string().
|
|
12924
|
+
reportId: z43.string().guid(),
|
|
12925
|
+
taskId: z43.string().guid().optional(),
|
|
12926
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12889
12927
|
kind: QualityReportKind,
|
|
12890
12928
|
resourceUrl: z43.string().min(1),
|
|
12891
12929
|
reason: QualityReportReason,
|
|
@@ -13314,7 +13352,7 @@ var TaskCreativeVariantVideoPreset = VideoPreset.exclude([
|
|
|
13314
13352
|
...BLOCKED_VIDEO_PRESETS
|
|
13315
13353
|
]);
|
|
13316
13354
|
var CreateTaskCreativeVariantBase = z47.object({
|
|
13317
|
-
clientRequestId: z47.string().
|
|
13355
|
+
clientRequestId: z47.string().guid(),
|
|
13318
13356
|
angle: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.angle),
|
|
13319
13357
|
buyerPersona: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.buyerPersona).optional()
|
|
13320
13358
|
});
|
|
@@ -13337,7 +13375,7 @@ var CreateTaskImageVariantRequest = CreateTaskCreativeVariantBase.extend({
|
|
|
13337
13375
|
styleMix: z47.boolean().optional()
|
|
13338
13376
|
}).strict();
|
|
13339
13377
|
var CreateTaskLandingSectionVariantRequest = z47.object({
|
|
13340
|
-
clientRequestId: z47.string().
|
|
13378
|
+
clientRequestId: z47.string().guid(),
|
|
13341
13379
|
kind: z47.literal("landing"),
|
|
13342
13380
|
sectionKey: LandingSectionKeySchema,
|
|
13343
13381
|
instructions: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.landingInstructions).optional()
|
|
@@ -13365,8 +13403,8 @@ var EstimateTaskCreativeVariantRequest = z47.discriminatedUnion("kind", [
|
|
|
13365
13403
|
]);
|
|
13366
13404
|
var CreateTaskCreativeVariantResponse = z47.object({
|
|
13367
13405
|
ok: z47.literal(true),
|
|
13368
|
-
sourceTaskId: z47.string().
|
|
13369
|
-
variantTaskId: z47.string().
|
|
13406
|
+
sourceTaskId: z47.string().guid(),
|
|
13407
|
+
variantTaskId: z47.string().guid(),
|
|
13370
13408
|
kind: TaskCreativeVariantKind,
|
|
13371
13409
|
status: TaskCreativeVariantStatus
|
|
13372
13410
|
}).strict();
|
|
@@ -13389,15 +13427,15 @@ var TaskCreativeVariantRecommendationRequest = z47.object({
|
|
|
13389
13427
|
}).strict();
|
|
13390
13428
|
var TaskCreativeVariantRecommendationResponse = z47.object({
|
|
13391
13429
|
ok: z47.literal(true),
|
|
13392
|
-
sourceTaskId: z47.string().
|
|
13430
|
+
sourceTaskId: z47.string().guid(),
|
|
13393
13431
|
kind: TaskCreativeVariantKind,
|
|
13394
13432
|
field: TaskCreativeVariantRecommendationField,
|
|
13395
13433
|
value: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.scriptNotes),
|
|
13396
13434
|
rationale: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.recommendationRationale).optional()
|
|
13397
13435
|
}).strict();
|
|
13398
13436
|
var TaskCreativeVariantBaseResult = z47.object({
|
|
13399
|
-
variantTaskId: z47.string().
|
|
13400
|
-
sourceTaskId: z47.string().
|
|
13437
|
+
variantTaskId: z47.string().guid(),
|
|
13438
|
+
sourceTaskId: z47.string().guid(),
|
|
13401
13439
|
kind: TaskCreativeVariantKind,
|
|
13402
13440
|
status: TaskCreativeVariantStatus,
|
|
13403
13441
|
angle: z47.string().min(1),
|
|
@@ -13571,7 +13609,7 @@ var ResultAngle = Angle.extend({
|
|
|
13571
13609
|
aiEdit: AiEditTierSchema.nullable().optional()
|
|
13572
13610
|
});
|
|
13573
13611
|
var MVPResult = z49.object({
|
|
13574
|
-
taskId: z49.string().
|
|
13612
|
+
taskId: z49.string().guid(),
|
|
13575
13613
|
/** Read-only identity derived from validated persisted request context.
|
|
13576
13614
|
* Optional for older APIs and content-only tasks; absence never implies a service. */
|
|
13577
13615
|
subjectKind: z49.enum([
|
|
@@ -13749,7 +13787,7 @@ var PendingUserActionSchema = z49.discriminatedUnion("kind", [
|
|
|
13749
13787
|
z49.object({
|
|
13750
13788
|
kind: z49.literal("service_angle_approval"),
|
|
13751
13789
|
angles: z49.array(z49.object({
|
|
13752
|
-
id: z49.string().
|
|
13790
|
+
id: z49.string().guid(),
|
|
13753
13791
|
content: z49.string(),
|
|
13754
13792
|
creativeDirection: z49.string(),
|
|
13755
13793
|
actor: z49.string(),
|
|
@@ -13828,7 +13866,7 @@ var CommercialStudySummarySchema = z49.union([
|
|
|
13828
13866
|
})
|
|
13829
13867
|
]);
|
|
13830
13868
|
var StatusResponse = z49.object({
|
|
13831
|
-
taskId: z49.string().
|
|
13869
|
+
taskId: z49.string().guid(),
|
|
13832
13870
|
status: TaskStatusSchema,
|
|
13833
13871
|
/** ENGINEERING string (`Task.error`). Never render this to a seller. */
|
|
13834
13872
|
error: z49.string().optional(),
|
|
@@ -14036,7 +14074,7 @@ var StatusResponse = z49.object({
|
|
|
14036
14074
|
frankensteinRun: FrankensteinRunProgressSchema.optional()
|
|
14037
14075
|
});
|
|
14038
14076
|
var TaskSummary = z49.object({
|
|
14039
|
-
taskId: z49.string().
|
|
14077
|
+
taskId: z49.string().guid(),
|
|
14040
14078
|
/** A projected ServicePage, opened through its own editor and lifecycle. */
|
|
14041
14079
|
resourceType: z49.literal("service_page").optional(),
|
|
14042
14080
|
status: TaskStatusSchema,
|
|
@@ -14465,7 +14503,7 @@ var RegenerateLandingRoleBody = z50.object({
|
|
|
14465
14503
|
comment: z50.string().max(2e3).optional(),
|
|
14466
14504
|
sourceKey: z50.string().max(200).optional(),
|
|
14467
14505
|
/** Client-generated key makes a lost response safe to retry without another charge. */
|
|
14468
|
-
clientRequestId: z50.string().
|
|
14506
|
+
clientRequestId: z50.string().guid().optional()
|
|
14469
14507
|
}).strict();
|
|
14470
14508
|
var LandingRegenerateEstimationOptions = z50.object({
|
|
14471
14509
|
/** KIE image endpoint has non-linear pricing by nVariants; for landing we default to 2. */
|
|
@@ -14571,6 +14609,8 @@ var CostEstimationRequest = z50.discriminatedUnion("type", [
|
|
|
14571
14609
|
var CostEstimationResponse = z50.object({
|
|
14572
14610
|
/** Server confirms the range includes the first generated classic-landing GIF. */
|
|
14573
14611
|
includesInitialLandingGif: z50.boolean().optional(),
|
|
14612
|
+
/** The initial-GIF choice is offerable for this config (code landings only quote it after explicit consent). */
|
|
14613
|
+
initialLandingGifOffered: z50.boolean().optional(),
|
|
14574
14614
|
estimatedCostCents: z50.number().nonnegative(),
|
|
14575
14615
|
estimatedCostCredits: z50.number().int().nonnegative(),
|
|
14576
14616
|
/** Scan-only midpoint; excludes generating a winner replica. Not an admission limit. */
|
|
@@ -15452,7 +15492,7 @@ var UpdateUserCreditsRequest = z53.object({
|
|
|
15452
15492
|
/** Free-text detail. Required when the enum alone does not explain the grant. */
|
|
15453
15493
|
notes: z53.string().trim().min(1).max(500).optional(),
|
|
15454
15494
|
/** The task the grant compensates, when there is one. */
|
|
15455
|
-
taskId: z53.string().
|
|
15495
|
+
taskId: z53.string().guid().optional()
|
|
15456
15496
|
});
|
|
15457
15497
|
var QualityReportStatus = z53.enum([
|
|
15458
15498
|
"open",
|
|
@@ -15512,7 +15552,7 @@ var AdminSupportDeliveryStatus = z53.enum([
|
|
|
15512
15552
|
"blocked"
|
|
15513
15553
|
]);
|
|
15514
15554
|
var AdminSupportMessage = z53.object({
|
|
15515
|
-
id: z53.string().
|
|
15555
|
+
id: z53.string().guid(),
|
|
15516
15556
|
direction: z53.enum([
|
|
15517
15557
|
"inbound",
|
|
15518
15558
|
"outbound"
|
|
@@ -15536,7 +15576,7 @@ var AdminSupportMessage = z53.object({
|
|
|
15536
15576
|
createdAt: z53.string().datetime()
|
|
15537
15577
|
});
|
|
15538
15578
|
var AdminSupportTicket = z53.object({
|
|
15539
|
-
id: z53.string().
|
|
15579
|
+
id: z53.string().guid(),
|
|
15540
15580
|
category: z53.enum([
|
|
15541
15581
|
"how_to",
|
|
15542
15582
|
"credits",
|
|
@@ -15565,7 +15605,7 @@ var AdminSupportTicket = z53.object({
|
|
|
15565
15605
|
updatedAt: z53.string().datetime()
|
|
15566
15606
|
});
|
|
15567
15607
|
var AdminSupportConversation = z53.object({
|
|
15568
|
-
id: z53.string().
|
|
15608
|
+
id: z53.string().guid(),
|
|
15569
15609
|
status: AdminSupportConversationStatus,
|
|
15570
15610
|
priority: z53.enum([
|
|
15571
15611
|
"low",
|
|
@@ -15580,7 +15620,7 @@ var AdminSupportConversation = z53.object({
|
|
|
15580
15620
|
createdAt: z53.string().datetime(),
|
|
15581
15621
|
updatedAt: z53.string().datetime(),
|
|
15582
15622
|
contact: z53.object({
|
|
15583
|
-
id: z53.string().
|
|
15623
|
+
id: z53.string().guid(),
|
|
15584
15624
|
userId: z53.string().nullable(),
|
|
15585
15625
|
verifiedAt: z53.string().datetime().nullable(),
|
|
15586
15626
|
botMode: z53.enum([
|
|
@@ -15596,11 +15636,11 @@ var AdminSupportConversation = z53.object({
|
|
|
15596
15636
|
var AdminSupportListQuery = z53.object({
|
|
15597
15637
|
status: AdminSupportConversationStatus.optional(),
|
|
15598
15638
|
take: z53.coerce.number().int().min(1).max(100).default(50),
|
|
15599
|
-
cursorId: z53.string().
|
|
15639
|
+
cursorId: z53.string().guid().optional()
|
|
15600
15640
|
}).strict();
|
|
15601
15641
|
var AdminSupportListResponse = z53.object({
|
|
15602
15642
|
conversations: z53.array(AdminSupportConversation),
|
|
15603
|
-
nextCursor: z53.string().
|
|
15643
|
+
nextCursor: z53.string().guid().nullable()
|
|
15604
15644
|
});
|
|
15605
15645
|
var AdminSupportReplyRequest = z53.object({
|
|
15606
15646
|
body: z53.string().trim().min(1).max(4096),
|
|
@@ -15611,7 +15651,7 @@ var AdminSupportActionResponse = z53.object({
|
|
|
15611
15651
|
conversation: AdminSupportConversation
|
|
15612
15652
|
});
|
|
15613
15653
|
var AdminSupportReplyResponse = z53.object({
|
|
15614
|
-
messageId: z53.string().
|
|
15654
|
+
messageId: z53.string().guid(),
|
|
15615
15655
|
deliveryStatus: AdminSupportDeliveryStatus,
|
|
15616
15656
|
duplicate: z53.boolean()
|
|
15617
15657
|
});
|
|
@@ -15741,7 +15781,7 @@ var VideoVoiceJobSchema = z57.object({
|
|
|
15741
15781
|
wakeRevision: z57.number().int().nonnegative()
|
|
15742
15782
|
}).strict();
|
|
15743
15783
|
var ExtractJobSchema = z57.object({
|
|
15744
|
-
taskId: z57.string().
|
|
15784
|
+
taskId: z57.string().guid(),
|
|
15745
15785
|
imageKey: z57.string().min(1).optional(),
|
|
15746
15786
|
imageKeys: z57.array(z57.string().min(1)).min(1).max(INGEST_MAX_REFERENCE_IMAGES).optional(),
|
|
15747
15787
|
/** Existing clean references carried through a recovery extract. They are
|
|
@@ -15860,20 +15900,20 @@ var BrandExtractDocumentSchema = z57.object({
|
|
|
15860
15900
|
])
|
|
15861
15901
|
});
|
|
15862
15902
|
var VideoMixSubmitJobSchema = z57.object({
|
|
15863
|
-
mixTaskId: z57.string().
|
|
15903
|
+
mixTaskId: z57.string().guid()
|
|
15864
15904
|
});
|
|
15865
15905
|
var VideoMixAssembleJobSchema = z57.object({
|
|
15866
|
-
mixTaskId: z57.string().
|
|
15906
|
+
mixTaskId: z57.string().guid()
|
|
15867
15907
|
});
|
|
15868
15908
|
var VideoMixQaJobSchema = z57.object({
|
|
15869
|
-
mixSceneTaskId: z57.string().
|
|
15909
|
+
mixSceneTaskId: z57.string().guid(),
|
|
15870
15910
|
// externalId is included in the BullMQ payload by the producer (used in the
|
|
15871
15911
|
// jobId for retry uniqueness) but the worker only reads mixSceneTaskId.
|
|
15872
15912
|
externalId: z57.string().min(1).optional()
|
|
15873
15913
|
});
|
|
15874
15914
|
var BrandExtractLocaleSchema = z57.string().regex(/^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,8})?$/, "invalid locale");
|
|
15875
15915
|
var BrandExtractJobSchema = z57.object({
|
|
15876
|
-
brandId: z57.string().
|
|
15916
|
+
brandId: z57.string().guid(),
|
|
15877
15917
|
// Generation is part of the durable paid-spend identity. Default 1 keeps
|
|
15878
15918
|
// pre-migration BullMQ payloads parseable; their DB state fails safe.
|
|
15879
15919
|
generation: z57.number().int().positive().default(1),
|
|
@@ -15905,23 +15945,23 @@ import { z as z58 } from "zod";
|
|
|
15905
15945
|
var WhatsAppDeliveryConsumerSchema = z58.discriminatedUnion("kind", [
|
|
15906
15946
|
z58.object({
|
|
15907
15947
|
kind: z58.literal("presentation"),
|
|
15908
|
-
presentationId: z58.string().
|
|
15948
|
+
presentationId: z58.string().guid(),
|
|
15909
15949
|
pollAt: z58.number().int().nonnegative()
|
|
15910
15950
|
}).strict(),
|
|
15911
15951
|
z58.object({
|
|
15912
15952
|
kind: z58.literal("message"),
|
|
15913
|
-
messageId: z58.string().
|
|
15953
|
+
messageId: z58.string().guid(),
|
|
15914
15954
|
providerMessageId: z58.string().min(1).max(256)
|
|
15915
15955
|
}).strict(),
|
|
15916
15956
|
z58.object({
|
|
15917
15957
|
kind: z58.literal("task_watch"),
|
|
15918
|
-
commandId: z58.string().
|
|
15958
|
+
commandId: z58.string().guid(),
|
|
15919
15959
|
pollAt: z58.number().int().nonnegative()
|
|
15920
15960
|
}).strict(),
|
|
15921
15961
|
z58.object({
|
|
15922
15962
|
kind: z58.literal("research_watch"),
|
|
15923
|
-
commandId: z58.string().
|
|
15924
|
-
runId: z58.string().
|
|
15963
|
+
commandId: z58.string().guid(),
|
|
15964
|
+
runId: z58.string().guid(),
|
|
15925
15965
|
pollAt: z58.number().int().nonnegative()
|
|
15926
15966
|
}).strict()
|
|
15927
15967
|
]);
|
|
@@ -15970,9 +16010,9 @@ var ComboItemSchema = z60.object({
|
|
|
15970
16010
|
/** Physical details for this specific product */
|
|
15971
16011
|
details: z60.object({
|
|
15972
16012
|
packagingType: z60.string().optional(),
|
|
15973
|
-
geometry: z60.record(z60.unknown()).optional(),
|
|
15974
|
-
morphology: z60.record(z60.unknown()).optional(),
|
|
15975
|
-
estimatedDimensions: z60.record(z60.unknown()).optional()
|
|
16013
|
+
geometry: z60.record(z60.string(), z60.unknown()).optional(),
|
|
16014
|
+
morphology: z60.record(z60.string(), z60.unknown()).optional(),
|
|
16015
|
+
estimatedDimensions: z60.record(z60.string(), z60.unknown()).optional()
|
|
15976
16016
|
}).optional(),
|
|
15977
16017
|
/** Per-item usage spec extracted individually (fallback: global combo usageSpec) */
|
|
15978
16018
|
usageSpec: ProductUsageSpec.optional()
|
|
@@ -16011,7 +16051,7 @@ var FacebookConnectionStatusSchema = z61.object({
|
|
|
16011
16051
|
message: z61.string().optional()
|
|
16012
16052
|
});
|
|
16013
16053
|
var FacebookCreateCampaignRequestSchema = z61.object({
|
|
16014
|
-
taskId: z61.string().
|
|
16054
|
+
taskId: z61.string().guid(),
|
|
16015
16055
|
pixelId: z61.string().optional(),
|
|
16016
16056
|
landingUrl: HttpUrl2.optional()
|
|
16017
16057
|
});
|
|
@@ -16136,29 +16176,14 @@ var FacebookCreateCampaignResponseSchema = z61.object({
|
|
|
16136
16176
|
appliedBudget: z61.number().int().positive()
|
|
16137
16177
|
});
|
|
16138
16178
|
var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
16139
|
-
|
|
16140
|
-
|
|
16141
|
-
|
|
16142
|
-
|
|
16143
|
-
title: z61.string().max(120),
|
|
16144
|
-
description: z61.string().max(500),
|
|
16145
|
-
cta: MetaCtaType,
|
|
16179
|
+
...UploadToMetaRequest.shape,
|
|
16180
|
+
creatives: z61.array(UploadToMetaRequest.shape.creatives.element.extend({
|
|
16181
|
+
// Retain this endpoint's HTTP URL policy; the upload owner additionally
|
|
16182
|
+
// forbids credentials. Sharing its field shape must not tighten ours.
|
|
16146
16183
|
mediaUrl: HttpUrl2.optional(),
|
|
16147
|
-
|
|
16148
|
-
thumbnailUrl: HttpUrl2.optional(),
|
|
16149
|
-
thumbnailAssetId: z61.string().uuid().optional(),
|
|
16150
|
-
creativeId: z61.string().min(1).optional()
|
|
16184
|
+
thumbnailUrl: HttpUrl2.optional()
|
|
16151
16185
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
16152
|
-
adAccountId: MetaAdAccountId,
|
|
16153
|
-
portfolioId: z61.string().min(1).optional(),
|
|
16154
|
-
pageId: z61.string().min(1).optional(),
|
|
16155
|
-
pixelId: z61.string().optional(),
|
|
16156
|
-
/** Required unless campaignConfig.destination is 'whatsapp' (see superRefine below). */
|
|
16157
16186
|
landingUrl: HttpUrl2.optional(),
|
|
16158
|
-
/** Target country for ad targeting (ISO 3166-1 alpha-2 code or resolvable name) */
|
|
16159
|
-
targetCountry: CountryIso2Schema.default("US"),
|
|
16160
|
-
/** Custom campaign name */
|
|
16161
|
-
campaignName: z61.string().min(1).max(100).optional(),
|
|
16162
16187
|
campaignConfig: MetaCampaignConfig.optional()
|
|
16163
16188
|
}).superRefine((value, ctx) => {
|
|
16164
16189
|
const isWhatsapp = value.campaignConfig?.destination?.type === "whatsapp";
|
|
@@ -16171,30 +16196,7 @@ var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
|
16171
16196
|
message: "landingUrl is required unless destination is whatsapp"
|
|
16172
16197
|
});
|
|
16173
16198
|
}
|
|
16174
|
-
value
|
|
16175
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
16176
|
-
ctx.addIssue({
|
|
16177
|
-
code: z61.ZodIssueCode.custom,
|
|
16178
|
-
path: [
|
|
16179
|
-
"creatives",
|
|
16180
|
-
index,
|
|
16181
|
-
"mediaUrl"
|
|
16182
|
-
],
|
|
16183
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
16184
|
-
});
|
|
16185
|
-
}
|
|
16186
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
16187
|
-
ctx.addIssue({
|
|
16188
|
-
code: z61.ZodIssueCode.custom,
|
|
16189
|
-
path: [
|
|
16190
|
-
"creatives",
|
|
16191
|
-
index,
|
|
16192
|
-
"thumbnailUrl"
|
|
16193
|
-
],
|
|
16194
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
16195
|
-
});
|
|
16196
|
-
}
|
|
16197
|
-
});
|
|
16199
|
+
refineMetaCreativeSources(value, ctx);
|
|
16198
16200
|
if (value.campaignConfig?.destination?.type === "landing" && value.landingUrl && value.campaignConfig.destination.landingUrl !== value.landingUrl) {
|
|
16199
16201
|
ctx.addIssue({
|
|
16200
16202
|
code: z61.ZodIssueCode.custom,
|
|
@@ -16273,9 +16275,9 @@ var FacebookTaskCreativeSourceSchema = z61.object({
|
|
|
16273
16275
|
var FacebookMediaCreativeSourceSchema = z61.object({
|
|
16274
16276
|
type: z61.literal("media"),
|
|
16275
16277
|
mediaUrl: HttpUrl2.optional(),
|
|
16276
|
-
mediaAssetId: z61.string().
|
|
16278
|
+
mediaAssetId: z61.string().guid().optional(),
|
|
16277
16279
|
thumbnailUrl: HttpUrl2.optional(),
|
|
16278
|
-
thumbnailAssetId: z61.string().
|
|
16280
|
+
thumbnailAssetId: z61.string().guid().optional()
|
|
16279
16281
|
});
|
|
16280
16282
|
var FacebookCreativeSourceSchema = z61.discriminatedUnion("type", [
|
|
16281
16283
|
FacebookTaskCreativeSourceSchema,
|
|
@@ -16298,15 +16300,15 @@ var FacebookCreateCampaignFromTasksBodySchema = z61.object({
|
|
|
16298
16300
|
pageId: z61.string().min(1),
|
|
16299
16301
|
pixelId: z61.string().optional(),
|
|
16300
16302
|
/**
|
|
16301
|
-
|
|
16302
|
-
|
|
16303
|
-
|
|
16304
|
-
|
|
16303
|
+
* Omitted: a campaign with task creatives lands on the published service
|
|
16304
|
+
* landing of its service tasks (resolved server side, META_NO_LANDING_URL
|
|
16305
|
+
* when there is none); a media-only campaign must name it.
|
|
16306
|
+
*/
|
|
16305
16307
|
landingUrl: HttpUrl2.optional(),
|
|
16306
16308
|
/**
|
|
16307
|
-
|
|
16308
|
-
|
|
16309
|
-
|
|
16309
|
+
* Omitted: the brand country of its service tasks; a product-only campaign
|
|
16310
|
+
* keeps "US". Never a hardcoded country for a service (META_NO_TARGET_COUNTRY).
|
|
16311
|
+
*/
|
|
16310
16312
|
targetCountry: CountryIso2Schema.optional(),
|
|
16311
16313
|
campaignName: z61.string().min(1).max(100),
|
|
16312
16314
|
campaignConfig: MetaCampaignConfig.optional()
|
|
@@ -16867,7 +16869,7 @@ var VideoSpeechAssetSchema = z64.object({
|
|
|
16867
16869
|
var VoiceProgressSchema = z64.discriminatedUnion("status", [
|
|
16868
16870
|
z64.object({
|
|
16869
16871
|
status: z64.literal("ready"),
|
|
16870
|
-
value: z64.unknown()
|
|
16872
|
+
value: z64.unknown().optional()
|
|
16871
16873
|
}).strict(),
|
|
16872
16874
|
z64.object({
|
|
16873
16875
|
status: z64.literal("waiting"),
|
|
@@ -17417,7 +17419,7 @@ var MixSceneResult = z67.object({
|
|
|
17417
17419
|
degradedReason: MixDegradationReasonSchema.optional()
|
|
17418
17420
|
});
|
|
17419
17421
|
var MixResult = z67.object({
|
|
17420
|
-
mixTaskId: z67.string().
|
|
17422
|
+
mixTaskId: z67.string().guid(),
|
|
17421
17423
|
status: z67.enum([
|
|
17422
17424
|
"queued",
|
|
17423
17425
|
"processing",
|
|
@@ -17460,7 +17462,7 @@ var PreparedImagePreviewUrlSchema = z68.string().url().max(2048).refine((value)
|
|
|
17460
17462
|
return protocol === "https:" || protocol === "http:";
|
|
17461
17463
|
}, "Prepared image preview URLs must use HTTP(S)");
|
|
17462
17464
|
var WinningProductPreparedImageSchema = z68.object({
|
|
17463
|
-
assetId: z68.string().
|
|
17465
|
+
assetId: z68.string().guid(),
|
|
17464
17466
|
previewUrl: PreparedImagePreviewUrlSchema,
|
|
17465
17467
|
productName: z68.string().trim().min(1).max(240),
|
|
17466
17468
|
presentation: MediaPresentationImageSchema
|
|
@@ -17759,14 +17761,16 @@ var LandingOperationStepSelectionSchema = CodeLandingStepSelectionSchema.extend(
|
|
|
17759
17761
|
var LandingOperationReceiptStepSchema = LandingOperationStepSelectionSchema.extend({
|
|
17760
17762
|
receipt: CodeLandingEffectiveReceiptSchema.optional()
|
|
17761
17763
|
});
|
|
17762
|
-
var LandingOperationEnvelopeNodeSchema = CodeLandingEnvelopeNodeSchema.
|
|
17764
|
+
var LandingOperationEnvelopeNodeSchema = z73.object(CodeLandingEnvelopeNodeSchema.shape).strict().extend({
|
|
17763
17765
|
phase: LandingOperationStepPhaseSchema
|
|
17764
17766
|
}).superRefine((node, ctx) => {
|
|
17765
17767
|
const legacy = CodeLandingEnvelopeNodeSchema.safeParse({
|
|
17766
17768
|
...node,
|
|
17767
17769
|
phase: "asset"
|
|
17768
17770
|
});
|
|
17769
|
-
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue(
|
|
17771
|
+
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue({
|
|
17772
|
+
...issue
|
|
17773
|
+
});
|
|
17770
17774
|
});
|
|
17771
17775
|
var LandingGifGenerationPolicySchema = z73.discriminatedUnion("model", [
|
|
17772
17776
|
z73.object({
|
|
@@ -18153,7 +18157,7 @@ var LandingRegenerationStatusResponse = z75.object({
|
|
|
18153
18157
|
});
|
|
18154
18158
|
|
|
18155
18159
|
// ../../packages/types/src/shopify-meta-tracking.ts
|
|
18156
|
-
import
|
|
18160
|
+
import * as z76 from "zod";
|
|
18157
18161
|
var MetaTrackingOwnerSchema = z76.enum([
|
|
18158
18162
|
"auto",
|
|
18159
18163
|
"external",
|
|
@@ -18361,7 +18365,7 @@ var UploadedAssetRole = z78.enum([
|
|
|
18361
18365
|
]);
|
|
18362
18366
|
var UPLOADED_ASSET_MAX_FILES = 10;
|
|
18363
18367
|
var UPLOADED_ASSET_IMAGE_MAX_FILES = 5;
|
|
18364
|
-
var UploadedAssetId = z78.string().
|
|
18368
|
+
var UploadedAssetId = z78.string().guid();
|
|
18365
18369
|
var HttpsUrl = z78.string().url().refine((value) => {
|
|
18366
18370
|
try {
|
|
18367
18371
|
const url2 = new URL(value);
|
|
@@ -18502,7 +18506,7 @@ var DropshippingProjectRewardMilestoneStateSchema = z79.object({
|
|
|
18502
18506
|
credits: z79.number().int().positive(),
|
|
18503
18507
|
available: z79.boolean().optional(),
|
|
18504
18508
|
earned: z79.boolean(),
|
|
18505
|
-
grantId: z79.string().
|
|
18509
|
+
grantId: z79.string().guid().nullable(),
|
|
18506
18510
|
grantedAt: z79.string().datetime().nullable()
|
|
18507
18511
|
});
|
|
18508
18512
|
var DropshippingProjectRewardProgressSchema = z79.object({
|
|
@@ -18568,16 +18572,16 @@ var HttpUrlSchema = z79.string().url().max(2e3).refine((value) => {
|
|
|
18568
18572
|
}, "Product URL must use HTTP(S)");
|
|
18569
18573
|
var ResearchCandidateOriginSchema = z79.object({
|
|
18570
18574
|
type: z79.literal("research_candidate"),
|
|
18571
|
-
runId: z79.string().
|
|
18575
|
+
runId: z79.string().guid(),
|
|
18572
18576
|
candidateSourceId: z79.string().min(1).max(160)
|
|
18573
18577
|
});
|
|
18574
18578
|
var TaskOriginSchema = z79.object({
|
|
18575
18579
|
type: z79.literal("task"),
|
|
18576
|
-
taskId: z79.string().
|
|
18580
|
+
taskId: z79.string().guid()
|
|
18577
18581
|
});
|
|
18578
18582
|
var ManualOriginSchema = z79.object({
|
|
18579
18583
|
type: z79.literal("manual"),
|
|
18580
|
-
clientRequestId: z79.string().
|
|
18584
|
+
clientRequestId: z79.string().guid(),
|
|
18581
18585
|
country: z79.string().min(2).max(3).optional()
|
|
18582
18586
|
});
|
|
18583
18587
|
var CreateDropshippingProjectRequestSchema = z79.object({
|
|
@@ -18650,11 +18654,11 @@ var DropshippingProjectNextActionSchema = z79.discriminatedUnion("kind", [
|
|
|
18650
18654
|
})
|
|
18651
18655
|
]);
|
|
18652
18656
|
var DropshippingProjectResponseSchema = z79.object({
|
|
18653
|
-
id: z79.string().
|
|
18654
|
-
taskId: z79.string().
|
|
18657
|
+
id: z79.string().guid(),
|
|
18658
|
+
taskId: z79.string().guid().nullable(),
|
|
18655
18659
|
status: DropshippingProjectStatusSchema,
|
|
18656
18660
|
originKey: z79.string().min(1),
|
|
18657
|
-
researchRunId: z79.string().
|
|
18661
|
+
researchRunId: z79.string().guid().nullable(),
|
|
18658
18662
|
candidateSourceId: z79.string().nullable(),
|
|
18659
18663
|
productName: z79.string().nullable(),
|
|
18660
18664
|
productUrl: HttpUrlSchema.nullable(),
|
|
@@ -19009,7 +19013,7 @@ var mediaVideoFields = {
|
|
|
19009
19013
|
var mediaImageFields = {
|
|
19010
19014
|
kind: z81.literal("image"),
|
|
19011
19015
|
durationSec: z81.never({
|
|
19012
|
-
|
|
19016
|
+
error: "a photo has no duration"
|
|
19013
19017
|
}).optional()
|
|
19014
19018
|
};
|
|
19015
19019
|
var mediaOriginFields = {
|
|
@@ -19254,7 +19258,7 @@ var LegacyMotionGraphicsClipSpecSchema = z84.discriminatedUnion("kind", [
|
|
|
19254
19258
|
...clipSpecFields,
|
|
19255
19259
|
kind: z84.literal("broll"),
|
|
19256
19260
|
speech: z84.never({
|
|
19257
|
-
|
|
19261
|
+
error: "only a speaking clip carries speech"
|
|
19258
19262
|
}).optional()
|
|
19259
19263
|
}).strict(),
|
|
19260
19264
|
z84.object({
|
|
@@ -19827,8 +19831,8 @@ var MotionGraphicsCreativeBatchSchema = z89.object({
|
|
|
19827
19831
|
version: z89.literal("v1"),
|
|
19828
19832
|
count: MotionGraphicsHookVariantsSchema,
|
|
19829
19833
|
index: MotionGraphicsHookVariantsSchema,
|
|
19830
|
-
rootTaskId: z89.string().
|
|
19831
|
-
taskIds: z89.array(z89.string().
|
|
19834
|
+
rootTaskId: z89.string().guid().optional(),
|
|
19835
|
+
taskIds: z89.array(z89.string().guid()).min(1).max(3).optional(),
|
|
19832
19836
|
plans: MotionGraphicsCreativePlansSchema.optional()
|
|
19833
19837
|
}).strict().superRefine((batch, ctx) => {
|
|
19834
19838
|
if (batch.index > batch.count) ctx.addIssue({
|
|
@@ -19924,7 +19928,7 @@ var MotionGraphicsMusicStatusResponseSchema = z90.discriminatedUnion("status", [
|
|
|
19924
19928
|
// ../../packages/types/src/website-capture-artifact.ts
|
|
19925
19929
|
import { z as z91 } from "zod";
|
|
19926
19930
|
var WebsiteCaptureBindingSchema = z91.object({
|
|
19927
|
-
captureId: z91.string().
|
|
19931
|
+
captureId: z91.string().guid(),
|
|
19928
19932
|
bundleKey: z91.string().min(1),
|
|
19929
19933
|
sha256: z91.string().regex(/^[a-f0-9]{64}$/)
|
|
19930
19934
|
});
|
|
@@ -20068,7 +20072,7 @@ var motionGraphicsStateSchema = z93.object({
|
|
|
20068
20072
|
/** Durable, unpaid Generate intent. Removed only after capture admission and payment. */
|
|
20069
20073
|
captureAdmission: z93.object({
|
|
20070
20074
|
version: z93.literal("v1"),
|
|
20071
|
-
captureId: z93.string().
|
|
20075
|
+
captureId: z93.string().guid().optional(),
|
|
20072
20076
|
maxSocialAcquisitionPriceCents: z93.number().finite().nonnegative(),
|
|
20073
20077
|
maxTotalPriceCents: z93.number().finite().nonnegative(),
|
|
20074
20078
|
deadlineAt: z93.string().datetime(),
|
|
@@ -22032,7 +22036,7 @@ var DailyControlProductFactsSchema = z96.object({
|
|
|
22032
22036
|
currency: z96.string()
|
|
22033
22037
|
});
|
|
22034
22038
|
var DailyControlProductSchema = z96.object({
|
|
22035
|
-
projectId: z96.string().
|
|
22039
|
+
projectId: z96.string().guid(),
|
|
22036
22040
|
productName: z96.string().nullable(),
|
|
22037
22041
|
status: DailyControlStatusSchema,
|
|
22038
22042
|
/** Motivo legible cuando status !== 'ok'. Nunca se rellenan métricas en ese caso. */
|
|
@@ -22077,7 +22081,7 @@ var DailyControlQuerySchema = z96.object({
|
|
|
22077
22081
|
* necesita ese producto; sin este filtro cada carga de página lee el gasto
|
|
22078
22082
|
* de TODOS los proyectos activos del usuario contra Meta/TikTok/Shopify.
|
|
22079
22083
|
*/
|
|
22080
|
-
projectId: z96.string().
|
|
22084
|
+
projectId: z96.string().guid().optional()
|
|
22081
22085
|
});
|
|
22082
22086
|
var LinkableCampaignSchema = z96.object({
|
|
22083
22087
|
provider: z96.enum([
|
|
@@ -22286,7 +22290,7 @@ var CreateFinanceOperationSchema = z97.object({
|
|
|
22286
22290
|
label: z97.string().trim().min(1).max(60).optional()
|
|
22287
22291
|
}).strict();
|
|
22288
22292
|
var FinanceOperationSchema = z97.object({
|
|
22289
|
-
id: z97.string().
|
|
22293
|
+
id: z97.string().guid(),
|
|
22290
22294
|
countryCode: z97.string().length(2),
|
|
22291
22295
|
currency: z97.string().min(3).max(3),
|
|
22292
22296
|
label: z97.string().min(1)
|
|
@@ -22295,7 +22299,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22295
22299
|
/** Opcional a propósito: con UNA sola operación —el caso de casi todo el
|
|
22296
22300
|
* mundo— el servidor la resuelve solo. Con varias devuelve cuáles son,
|
|
22297
22301
|
* para poder preguntar por país en vez de fallar. */
|
|
22298
|
-
operationId: z97.string().
|
|
22302
|
+
operationId: z97.string().guid().optional(),
|
|
22299
22303
|
/** YYYY-MM. Solo mes calendario: es el periodo con el que se piensa un
|
|
22300
22304
|
* negocio, y prorratear gastos fijos sobre un rango libre confunde más de
|
|
22301
22305
|
* lo que ayuda. */
|
|
@@ -22304,7 +22308,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22304
22308
|
var RESERVED_EXPENSE_LABEL_PREFIX = "__ad_spend__";
|
|
22305
22309
|
var isReservedExpenseLabel = /* @__PURE__ */ __name((label) => label.trim().startsWith(RESERVED_EXPENSE_LABEL_PREFIX), "isReservedExpenseLabel");
|
|
22306
22310
|
var SaveMonthlyExpenseSchema = z97.object({
|
|
22307
|
-
operationId: z97.string().
|
|
22311
|
+
operationId: z97.string().guid().optional(),
|
|
22308
22312
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22309
22313
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22310
22314
|
message: "reserved_expense_label"
|
|
@@ -22312,7 +22316,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22312
22316
|
/** Unidades mayores de la moneda; conserva decimales donde aplique. */
|
|
22313
22317
|
amount: z97.number().finite().min(0),
|
|
22314
22318
|
allocations: z97.array(z97.object({
|
|
22315
|
-
operationId: z97.string().
|
|
22319
|
+
operationId: z97.string().guid(),
|
|
22316
22320
|
sharePct: z97.number().int().min(1).max(100)
|
|
22317
22321
|
})).min(1).refine((allocations) => allocations.reduce((sum, one) => sum + one.sharePct, 0) <= 100, {
|
|
22318
22322
|
message: "allocations_must_sum_to_100"
|
|
@@ -22321,7 +22325,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22321
22325
|
}).optional()
|
|
22322
22326
|
}).strict();
|
|
22323
22327
|
var DeleteMonthlyExpenseSchema = z97.object({
|
|
22324
|
-
operationId: z97.string().
|
|
22328
|
+
operationId: z97.string().guid().optional(),
|
|
22325
22329
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/),
|
|
22326
22330
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22327
22331
|
message: "reserved_expense_label"
|
|
@@ -22329,11 +22333,11 @@ var DeleteMonthlyExpenseSchema = z97.object({
|
|
|
22329
22333
|
}).strict();
|
|
22330
22334
|
var SetAdSpendSchema = z97.object({
|
|
22331
22335
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22332
|
-
operationId: z97.string().
|
|
22336
|
+
operationId: z97.string().guid().optional(),
|
|
22333
22337
|
amount: z97.number().finite().min(0).nullable()
|
|
22334
22338
|
}).strict();
|
|
22335
22339
|
var MonthlyExpensesQuerySchema = z97.object({
|
|
22336
|
-
operationId: z97.string().
|
|
22340
|
+
operationId: z97.string().guid().optional(),
|
|
22337
22341
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional()
|
|
22338
22342
|
}).strict();
|
|
22339
22343
|
|
|
@@ -22362,13 +22366,13 @@ var ResolveUnmatchedProductSchema = z98.object({
|
|
|
22362
22366
|
provider: z98.enum(PRODUCT_ALIAS_PROVIDERS),
|
|
22363
22367
|
externalId: z98.string().trim().min(1).max(64),
|
|
22364
22368
|
label: z98.string().trim().min(1).max(PRODUCT_ALIAS_LABEL_MAX_LENGTH),
|
|
22365
|
-
operationId: z98.string().
|
|
22369
|
+
operationId: z98.string().guid(),
|
|
22366
22370
|
/** Presente ⇒ es el producto al que pertenece. Ausente ⇒ es uno nuevo. */
|
|
22367
|
-
productControlId: z98.string().
|
|
22371
|
+
productControlId: z98.string().guid().optional()
|
|
22368
22372
|
}).strict();
|
|
22369
22373
|
var MergeProductsSchema = z98.object({
|
|
22370
|
-
sourceId: z98.string().
|
|
22371
|
-
targetId: z98.string().
|
|
22374
|
+
sourceId: z98.string().guid(),
|
|
22375
|
+
targetId: z98.string().guid()
|
|
22372
22376
|
}).strict().refine((value) => value.sourceId !== value.targetId, {
|
|
22373
22377
|
message: "merge_same_product",
|
|
22374
22378
|
path: [
|
|
@@ -22376,8 +22380,8 @@ var MergeProductsSchema = z98.object({
|
|
|
22376
22380
|
]
|
|
22377
22381
|
});
|
|
22378
22382
|
var CreateProductControlFromTaskSchema = z98.object({
|
|
22379
|
-
taskId: z98.string().
|
|
22380
|
-
operationId: z98.string().
|
|
22383
|
+
taskId: z98.string().guid(),
|
|
22384
|
+
operationId: z98.string().guid().optional()
|
|
22381
22385
|
}).strict();
|
|
22382
22386
|
|
|
22383
22387
|
// ../../packages/types/src/product-order-line.ts
|
|
@@ -22425,7 +22429,7 @@ var ProductOrderLineSchema = z99.object({
|
|
|
22425
22429
|
}).strict();
|
|
22426
22430
|
var ORDER_LINES_BATCH_MAX = 5e3;
|
|
22427
22431
|
var ImportOrderLinesSchema = z99.object({
|
|
22428
|
-
operationId: z99.string().
|
|
22432
|
+
operationId: z99.string().guid(),
|
|
22429
22433
|
provider: z99.string().min(1).max(32),
|
|
22430
22434
|
source: z99.string().min(1).max(32),
|
|
22431
22435
|
reportedAt: z99.string().datetime(),
|
|
@@ -22451,7 +22455,7 @@ var ImportOrderLinesFileSchema = z99.object({
|
|
|
22451
22455
|
/** El archivo en base64. `.xlsx` del proveedor. */
|
|
22452
22456
|
fileBase64: z99.string().min(1).max(Math.ceil(8 * 1024 * 1024 / 3) * 4),
|
|
22453
22457
|
filename: z99.string().min(1).max(200),
|
|
22454
|
-
operationId: z99.string().
|
|
22458
|
+
operationId: z99.string().guid().optional(),
|
|
22455
22459
|
provider: z99.string().min(1).max(32).default("dropi"),
|
|
22456
22460
|
/**
|
|
22457
22461
|
* Solo mirar: devuelve el resumen y NO escribe nada.
|
|
@@ -22485,7 +22489,7 @@ var OrderLinesFileSummarySchema = z99.object({
|
|
|
22485
22489
|
});
|
|
22486
22490
|
var SyncShopifyOrdersSchema = z99.object({
|
|
22487
22491
|
shopDomain: z99.string().min(3).max(120).optional(),
|
|
22488
|
-
operationId: z99.string().
|
|
22492
|
+
operationId: z99.string().guid().optional(),
|
|
22489
22493
|
/** YYYY-MM-DD. Sin rango, el mes en curso. */
|
|
22490
22494
|
since: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
22491
22495
|
until: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
@@ -22686,7 +22690,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22686
22690
|
/** El de Shopify, cuando el producto vive en la tienda. */
|
|
22687
22691
|
shopifyProductId: z100.string().min(1).optional(),
|
|
22688
22692
|
/** El NUESTRO, para el producto que nació del archivo del proveedor. */
|
|
22689
|
-
productControlId: z100.string().
|
|
22693
|
+
productControlId: z100.string().guid().optional(),
|
|
22690
22694
|
/** Su precio de venta, solo si el producto no vive en Shopify. */
|
|
22691
22695
|
manualSellingPrice: z100.number().positive().nullable().optional(),
|
|
22692
22696
|
targetCountry: z100.string().min(2).max(2),
|
|
@@ -22726,7 +22730,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22726
22730
|
});
|
|
22727
22731
|
var SaveProductCatalogSchema = z100.object({
|
|
22728
22732
|
shopDomain: z100.string().min(1).optional(),
|
|
22729
|
-
productControlId: z100.string().
|
|
22733
|
+
productControlId: z100.string().guid(),
|
|
22730
22734
|
/** Nulo BORRA la meta. Cero sería una meta de no ganar nada. */
|
|
22731
22735
|
targetMonthlyProfit: z100.number().finite().positive().nullable().optional(),
|
|
22732
22736
|
lifecycleStatus: z100.enum([
|
|
@@ -22749,7 +22753,7 @@ var ProductControlCampaignFieldsSchema = z100.object({
|
|
|
22749
22753
|
}).strict();
|
|
22750
22754
|
var LinkProductControlCampaignSchema = z100.union([
|
|
22751
22755
|
ProductControlCampaignFieldsSchema.extend({
|
|
22752
|
-
productControlId: z100.string().
|
|
22756
|
+
productControlId: z100.string().guid()
|
|
22753
22757
|
}).strict(),
|
|
22754
22758
|
ProductControlCampaignFieldsSchema.extend({
|
|
22755
22759
|
shopDomain: z100.string().min(1),
|
|
@@ -22896,7 +22900,7 @@ var ImportFulfillmentCountsResponseSchema = z100.object({
|
|
|
22896
22900
|
});
|
|
22897
22901
|
var CreateManualProductControlSchema = z100.object({
|
|
22898
22902
|
/** UUID que el diálogo fija por apertura; es además el id del producto. */
|
|
22899
|
-
requestId: z100.string().
|
|
22903
|
+
requestId: z100.string().guid(),
|
|
22900
22904
|
title: z100.string().trim().min(1).max(200),
|
|
22901
22905
|
/** País donde vende este producto; la moneda sale de él en el servidor. */
|
|
22902
22906
|
targetCountry: z100.string().regex(/^[A-Z]{2}$/).refine((code) => {
|
|
@@ -22908,7 +22912,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22908
22912
|
}
|
|
22909
22913
|
}, "unsupported_finance_country"),
|
|
22910
22914
|
/** Solo cuando coincide con el país elegido; si no, se omite. */
|
|
22911
|
-
operationId: z100.string().
|
|
22915
|
+
operationId: z100.string().guid().optional(),
|
|
22912
22916
|
manualSellingPrice: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22913
22917
|
supplierCost: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22914
22918
|
shippingCost: z100.number().finite().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
@@ -22926,7 +22930,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22926
22930
|
}
|
|
22927
22931
|
});
|
|
22928
22932
|
var CreateManualProductControlResponseSchema = z100.object({
|
|
22929
|
-
productControlId: z100.string().
|
|
22933
|
+
productControlId: z100.string().guid(),
|
|
22930
22934
|
created: z100.boolean()
|
|
22931
22935
|
});
|
|
22932
22936
|
|
|
@@ -23017,7 +23021,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23017
23021
|
"approve_video_script",
|
|
23018
23022
|
// 2026-10-14: optional exact plan binding shared by legacy/unified review.
|
|
23019
23023
|
// Hash captured from the real registered schema in apps/mcp/src/server.test.ts.
|
|
23020
|
-
"
|
|
23024
|
+
"5f7722993798d952d4a920a9bc7929a8c6a54f8ca13bff1b824d555dd680a6d2",
|
|
23021
23025
|
"credit_consuming",
|
|
23022
23026
|
"creative",
|
|
23023
23027
|
[
|
|
@@ -23059,7 +23063,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23059
23063
|
], [
|
|
23060
23064
|
"staging_asset"
|
|
23061
23065
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
23062
|
-
defineCapability("check_media_upload", "
|
|
23066
|
+
defineCapability("check_media_upload", "58acbc7574d140389efbddfd45e660a353429681891b3d85a08b74351bb5acab", "none", "read_only", [
|
|
23063
23067
|
"read"
|
|
23064
23068
|
], [
|
|
23065
23069
|
slot("upload_session", true, [
|
|
@@ -23070,7 +23074,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23070
23074
|
], [
|
|
23071
23075
|
"uploaded_asset"
|
|
23072
23076
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23073
|
-
defineCapability("cost_dropshipping_project", "
|
|
23077
|
+
defineCapability("cost_dropshipping_project", "fead3bca76b7531c52020cd64135072593783fe12c0c605865a08f1d7d028001", "state_change", "business", [
|
|
23074
23078
|
"state_change"
|
|
23075
23079
|
], [
|
|
23076
23080
|
slot("project_revision", true, [
|
|
@@ -23107,7 +23111,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23107
23111
|
], [
|
|
23108
23112
|
"project_costing"
|
|
23109
23113
|
]),
|
|
23110
|
-
defineCapability("cost_product", "
|
|
23114
|
+
defineCapability("cost_product", "2272a6a3375401ced9deba82e41796b037aef20d712bc7996221e7fee0d7a4d7", "none", "read_only", [
|
|
23111
23115
|
"read"
|
|
23112
23116
|
], [
|
|
23113
23117
|
slot("product_reference", false, [], [
|
|
@@ -23151,7 +23155,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23151
23155
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
23152
23156
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23153
23157
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23154
|
-
"
|
|
23158
|
+
"5991b2e897aad7b10c4e38a93e8c58234741498393439cf0228ed9ffd966efef",
|
|
23155
23159
|
"credit_consuming",
|
|
23156
23160
|
"creative",
|
|
23157
23161
|
[
|
|
@@ -23209,7 +23213,8 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23209
23213
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23210
23214
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23211
23215
|
// MCP 12.4.0: landingStrategy narrowed to classic + social_proof.
|
|
23212
|
-
|
|
23216
|
+
// MCP 12.5.0: pain_solution restored to landingStrategy.
|
|
23217
|
+
"68a740d97238e720000c16db56ae5748ceb560e342f8fbfe605c954e6284fda7",
|
|
23213
23218
|
"credit_consuming",
|
|
23214
23219
|
"creative",
|
|
23215
23220
|
[
|
|
@@ -23369,7 +23374,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23369
23374
|
// SHARED_CHANNEL_EXPOSURE to restore it.
|
|
23370
23375
|
WHATSAPP_ONLY_CHANNEL_EXPOSURE
|
|
23371
23376
|
),
|
|
23372
|
-
defineCapability("edit_image_creative", "
|
|
23377
|
+
defineCapability("edit_image_creative", "eb487773c4a9ffd5d4472c5a1d77e0fef7b625dbf9ca15b5da700a903ba30945", "credit_consuming", "creative", [
|
|
23373
23378
|
"credit_consuming",
|
|
23374
23379
|
"state_change"
|
|
23375
23380
|
], [
|
|
@@ -23388,7 +23393,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23388
23393
|
], [
|
|
23389
23394
|
"creative"
|
|
23390
23395
|
]),
|
|
23391
|
-
defineCapability("get_image_edit_status", "
|
|
23396
|
+
defineCapability("get_image_edit_status", "3feb680140ab8459c10c22fb3aba3a7d41e147fddfcdd7e4cdac050c0f7ea34e", "none", "read_only", [
|
|
23392
23397
|
"read"
|
|
23393
23398
|
], [
|
|
23394
23399
|
slot("creative_operation", true, [
|
|
@@ -23400,7 +23405,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23400
23405
|
], [
|
|
23401
23406
|
"creative_edit_status"
|
|
23402
23407
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23403
|
-
defineCapability("edit_task_draft", "
|
|
23408
|
+
defineCapability("edit_task_draft", "6df71b63f0c00ba9eac12f31fb0b71610225ece74df85032025bb77197bb7c22", "state_change", "creative", [
|
|
23404
23409
|
"state_change"
|
|
23405
23410
|
], [
|
|
23406
23411
|
slot("task_angle", true, [
|
|
@@ -23415,7 +23420,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23415
23420
|
], [
|
|
23416
23421
|
"task_draft"
|
|
23417
23422
|
]),
|
|
23418
|
-
defineCapability("estimate_creative_variant", "
|
|
23423
|
+
defineCapability("estimate_creative_variant", "468079ba24e5e0d3c5c707cd54fec64571be429e66cadc12019af4d6e9d10c4e", "none", "read_only", [
|
|
23419
23424
|
"read"
|
|
23420
23425
|
], [
|
|
23421
23426
|
slot("source_task", true, [
|
|
@@ -23437,7 +23442,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23437
23442
|
], [
|
|
23438
23443
|
"cost_estimate"
|
|
23439
23444
|
]),
|
|
23440
|
-
defineCapability("estimate_market_study_cost", "
|
|
23445
|
+
defineCapability("estimate_market_study_cost", "d1fbe8ead642d481258c419a1eed059f9c8188d1cd9f2d4eed12e202fc8800a4", "none", "read_only", [
|
|
23441
23446
|
"read"
|
|
23442
23447
|
], [
|
|
23443
23448
|
slot("creative_kind", true, [
|
|
@@ -23462,7 +23467,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23462
23467
|
], [
|
|
23463
23468
|
"cost_estimate"
|
|
23464
23469
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23465
|
-
defineCapability("find_winning_products", "
|
|
23470
|
+
defineCapability("find_winning_products", "b73a18bb9618b96067b17791bf2f8e7450e17e34881c4f997e117be89abe058d", "credit_consuming", "business", [
|
|
23466
23471
|
"credit_consuming",
|
|
23467
23472
|
"state_change"
|
|
23468
23473
|
], [
|
|
@@ -23490,7 +23495,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23490
23495
|
// from `pnpm --filter @productmaker/mcp test` printing the real digest.
|
|
23491
23496
|
// Re-baselined 2026-09-26: `idempotencyKey` field description corrected —
|
|
23492
23497
|
// paid tools ignore caller-provided keys and derive their own semantic key.
|
|
23493
|
-
"
|
|
23498
|
+
"e9ae8370da117bae121714da12b78f234e07a0805093bce354d7fb9fcec2291e",
|
|
23494
23499
|
"credit_consuming",
|
|
23495
23500
|
"creative",
|
|
23496
23501
|
[
|
|
@@ -23549,7 +23554,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23549
23554
|
"video"
|
|
23550
23555
|
]
|
|
23551
23556
|
),
|
|
23552
|
-
defineCapability("generate_image_creatives", "
|
|
23557
|
+
defineCapability("generate_image_creatives", "f0d1f771d83c50070ebdef6554072e984997336cb9b7f7f06acd818b021a0187", "credit_consuming", "creative", [
|
|
23553
23558
|
"credit_consuming",
|
|
23554
23559
|
"state_change"
|
|
23555
23560
|
], [
|
|
@@ -23655,7 +23660,8 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23655
23660
|
defineCapability(
|
|
23656
23661
|
"generate_landing",
|
|
23657
23662
|
// MCP 12.4.0: guided landingStrategy narrowed to classic + social_proof.
|
|
23658
|
-
|
|
23663
|
+
// MCP 12.5.0: pain_solution restored to guided landingStrategy.
|
|
23664
|
+
"16c4e1ea0cd12ee3367e06b4f73a177c94e16ab7d5323d971d577301ba2c7b70",
|
|
23659
23665
|
"credit_consuming",
|
|
23660
23666
|
"creative",
|
|
23661
23667
|
[
|
|
@@ -23768,7 +23774,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23768
23774
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
23769
23775
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23770
23776
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23771
|
-
"
|
|
23777
|
+
"66dee35d59da0e88e72e24c503f3f1dc46c17c1162d98d48705e2bfe552f3f02",
|
|
23772
23778
|
"credit_consuming",
|
|
23773
23779
|
"creative",
|
|
23774
23780
|
[
|
|
@@ -23889,7 +23895,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23889
23895
|
}
|
|
23890
23896
|
]
|
|
23891
23897
|
),
|
|
23892
|
-
defineCapability("get_meta_campaign_status", "
|
|
23898
|
+
defineCapability("get_meta_campaign_status", "a89fa144b69309bffd3d402c63ab6697757c447022d4af2a20d321f084efb274", "none", "read_only", [
|
|
23893
23899
|
"read"
|
|
23894
23900
|
], [
|
|
23895
23901
|
slot("campaign", true, [
|
|
@@ -23900,7 +23906,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23900
23906
|
], [
|
|
23901
23907
|
"campaign_status"
|
|
23902
23908
|
]),
|
|
23903
|
-
defineCapability("get_product_research_run", "
|
|
23909
|
+
defineCapability("get_product_research_run", "fd6d6260b4c9cf9cac5c0d210ceec54f99825d6214f7e3625622e82305e69550", "none", "read_only", [
|
|
23904
23910
|
"read"
|
|
23905
23911
|
], [
|
|
23906
23912
|
slot("research_run", true, [
|
|
@@ -23911,7 +23917,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23911
23917
|
], [
|
|
23912
23918
|
"product_research_run"
|
|
23913
23919
|
]),
|
|
23914
|
-
defineCapability("get_task_status", "
|
|
23920
|
+
defineCapability("get_task_status", "308241071b3ec785b1f0eba0fc17383e9fe8f2452c6a5a5ef27fd792a99b9d4c", "none", "read_only", [
|
|
23915
23921
|
"read"
|
|
23916
23922
|
], [
|
|
23917
23923
|
slot("task", true, [
|
|
@@ -23925,7 +23931,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23925
23931
|
], [
|
|
23926
23932
|
"task_status"
|
|
23927
23933
|
]),
|
|
23928
|
-
defineCapability("get_tiktok_campaign_status", "
|
|
23934
|
+
defineCapability("get_tiktok_campaign_status", "e19b1536d8e317185fb9662a244cc1e94986004b5a4bf84beaf473b5de28562f", "none", "read_only", [
|
|
23929
23935
|
"read"
|
|
23930
23936
|
], [
|
|
23931
23937
|
slot("campaign", true, [
|
|
@@ -23939,7 +23945,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23939
23945
|
], [
|
|
23940
23946
|
"campaign_status"
|
|
23941
23947
|
]),
|
|
23942
|
-
defineCapability("get_video_script", "
|
|
23948
|
+
defineCapability("get_video_script", "1de9980596c34b71ce8843c090549cf310ed52933f53c2b9c3fca13204441d64", "none", "read_only", [
|
|
23943
23949
|
"read"
|
|
23944
23950
|
], [
|
|
23945
23951
|
slot("task", true, [
|
|
@@ -23953,7 +23959,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23953
23959
|
], [
|
|
23954
23960
|
"video_script"
|
|
23955
23961
|
]),
|
|
23956
|
-
defineCapability("guide_dropshipping_launch", "
|
|
23962
|
+
defineCapability("guide_dropshipping_launch", "1ab3654ed7ef02fbc7b690826a475f27839a3402ca301b8cf26992c11e8f7cf8", "none", "business", [
|
|
23957
23963
|
"read"
|
|
23958
23964
|
], [
|
|
23959
23965
|
slot("project", false, [
|
|
@@ -23975,7 +23981,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23975
23981
|
"get_actor_voice_capabilities",
|
|
23976
23982
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
23977
23983
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
23978
|
-
"
|
|
23984
|
+
"862c210dd3c6bf0584ac61deb84617ecb41bf0219098995a1c5b84133af33239",
|
|
23979
23985
|
"none",
|
|
23980
23986
|
"read_only",
|
|
23981
23987
|
[
|
|
@@ -23994,7 +24000,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23994
24000
|
],
|
|
23995
24001
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
23996
24002
|
),
|
|
23997
|
-
defineCapability("quote_actor_voice", "
|
|
24003
|
+
defineCapability("quote_actor_voice", "4d2e9a643abf4cfe5e02789fed36cdfebc9ede6ab4557d0e5be1e4edb46fb836", "none", "read_only", [
|
|
23998
24004
|
"read"
|
|
23999
24005
|
], [
|
|
24000
24006
|
slot("actor", true, [
|
|
@@ -24008,7 +24014,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24008
24014
|
], [
|
|
24009
24015
|
"actor_voice_quote"
|
|
24010
24016
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24011
|
-
defineCapability("generate_actor_voice_preview", "
|
|
24017
|
+
defineCapability("generate_actor_voice_preview", "cb5a0033621df9bc88f4dcea658885eb35a4ebdc6ef88865c3d8afbe3b229548", "credit_consuming", "creative", [
|
|
24012
24018
|
"credit_consuming",
|
|
24013
24019
|
"state_change"
|
|
24014
24020
|
], [
|
|
@@ -24032,7 +24038,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24032
24038
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24033
24039
|
defineCapability(
|
|
24034
24040
|
"get_actor_voice_preview",
|
|
24035
|
-
"
|
|
24041
|
+
"b28f1c7d7e7981ed672509398242b7b7256e2ab44185699e6a0ecd8f39882761",
|
|
24036
24042
|
"none",
|
|
24037
24043
|
"creative",
|
|
24038
24044
|
// Recovery uses the original accepted quote; it must not ask to pay again.
|
|
@@ -24057,7 +24063,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24057
24063
|
],
|
|
24058
24064
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
24059
24065
|
),
|
|
24060
|
-
defineCapability("approve_actor_voice", "
|
|
24066
|
+
defineCapability("approve_actor_voice", "5b1c61b992dce69b35f9fb1a388bbd73d41c99575fa86b72121b043045254944", "state_change", "creative", [
|
|
24061
24067
|
"state_change"
|
|
24062
24068
|
], [
|
|
24063
24069
|
slot("actor", true, [
|
|
@@ -24091,7 +24097,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24091
24097
|
], [
|
|
24092
24098
|
"meta_destination"
|
|
24093
24099
|
]),
|
|
24094
|
-
defineCapability("list_product_research_runs", "
|
|
24100
|
+
defineCapability("list_product_research_runs", "ee2d750bfd65a34a9c16bb39dac584fe0784956eaf7b0428a88b1e886846f2af", "none", "read_only", [
|
|
24095
24101
|
"read"
|
|
24096
24102
|
], [
|
|
24097
24103
|
slot("pagination", false, [
|
|
@@ -24102,7 +24108,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24102
24108
|
], [
|
|
24103
24109
|
"product_research_run"
|
|
24104
24110
|
]),
|
|
24105
|
-
defineCapability("list_shopify_products", "
|
|
24111
|
+
defineCapability("list_shopify_products", "c3daf527e345f737c8b23eb347b77fbf2290433257753122a8d55fdc65d58e78", "none", "read_only", [
|
|
24106
24112
|
"read"
|
|
24107
24113
|
], [
|
|
24108
24114
|
slot("shop", true, [
|
|
@@ -24126,7 +24132,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24126
24132
|
], [
|
|
24127
24133
|
"shop"
|
|
24128
24134
|
]),
|
|
24129
|
-
defineCapability("list_tasks", "
|
|
24135
|
+
defineCapability("list_tasks", "4a553c287e590c2dcb905c63eb92c8612093a82476093b9f55c0821cad486598", "none", "read_only", [
|
|
24130
24136
|
"read"
|
|
24131
24137
|
], [
|
|
24132
24138
|
slot("pagination", false, [
|
|
@@ -24148,7 +24154,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24148
24154
|
], [
|
|
24149
24155
|
"tiktok_advertiser"
|
|
24150
24156
|
]),
|
|
24151
|
-
defineCapability("publish_creatives_to_meta", "
|
|
24157
|
+
defineCapability("publish_creatives_to_meta", "d9b8961cb26c2357f45b0ed95eae479affc840742b5b09620a67ce325568cbee", "external_mutation", "publishing", [
|
|
24152
24158
|
"external_mutation",
|
|
24153
24159
|
"state_change"
|
|
24154
24160
|
], [
|
|
@@ -24183,7 +24189,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24183
24189
|
], [
|
|
24184
24190
|
"meta_campaign"
|
|
24185
24191
|
]),
|
|
24186
|
-
defineCapability("publish_to_meta", "
|
|
24192
|
+
defineCapability("publish_to_meta", "663d574b4aa005a5df41f6b8ff458e3f983f874fe6caef94ab0ae8a1477f70bb", "external_mutation", "publishing", [
|
|
24187
24193
|
"external_mutation",
|
|
24188
24194
|
"state_change"
|
|
24189
24195
|
], [
|
|
@@ -24221,7 +24227,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24221
24227
|
], [
|
|
24222
24228
|
"meta_publication"
|
|
24223
24229
|
]),
|
|
24224
|
-
defineCapability("publish_to_shopify", "
|
|
24230
|
+
defineCapability("publish_to_shopify", "00c4c7af09bb45a72896118ca154a2dc9518f05d74bb9386c825be541fa10fdb", "external_mutation", "publishing", [
|
|
24225
24231
|
"external_mutation",
|
|
24226
24232
|
"state_change"
|
|
24227
24233
|
], [
|
|
@@ -24264,7 +24270,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24264
24270
|
// capability set unchanged, so the live agent's parity gate (which forces
|
|
24265
24271
|
// shadow mode on any canonical gap) is not tripped. Gated server-side by
|
|
24266
24272
|
// SERVICE_MOTION_GRAPHICS_ENABLED + the `service-motion-graphics` feature.
|
|
24267
|
-
defineCapability("create_animated_video", "
|
|
24273
|
+
defineCapability("create_animated_video", "2177ed726e767978eb61fa007f621b389f3b1eb3a2da967fdb44c279bf20fecd", "credit_consuming", "creative", [
|
|
24268
24274
|
"credit_consuming",
|
|
24269
24275
|
"state_change"
|
|
24270
24276
|
], [
|
|
@@ -24315,7 +24321,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24315
24321
|
// MCP-only service journey (2026-10-11): brand analysis → service landing →
|
|
24316
24322
|
// create_animated_video. WhatsApp has no adapter for either, so both are
|
|
24317
24323
|
// declared unavailable there and its parity gate is unchanged.
|
|
24318
|
-
defineCapability("create_brand", "
|
|
24324
|
+
defineCapability("create_brand", "0dba1e46eaaf3ae6ffda459de7eebbdfb2f04da1180b21f84ae4caae434dbbcf", "credit_consuming", "creative", [
|
|
24319
24325
|
"credit_consuming",
|
|
24320
24326
|
"state_change"
|
|
24321
24327
|
], [
|
|
@@ -24338,7 +24344,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24338
24344
|
], [
|
|
24339
24345
|
"brand"
|
|
24340
24346
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24341
|
-
defineCapability("create_service_landing", "
|
|
24347
|
+
defineCapability("create_service_landing", "9e0f68278d2daa3bcf0326dd8e796d4dc82423f850c765efd48881c99f04a14f", "credit_consuming", "creative", [
|
|
24342
24348
|
"credit_consuming",
|
|
24343
24349
|
"state_change"
|
|
24344
24350
|
], [
|
|
@@ -24363,7 +24369,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24363
24369
|
], [
|
|
24364
24370
|
"service_landing"
|
|
24365
24371
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24366
|
-
defineCapability("create_service_images", "
|
|
24372
|
+
defineCapability("create_service_images", "937e86a1b0e3e0678a029062cddb0a9b632c8bcbb9864225f66488e3e2abdbed", "credit_consuming", "creative", [
|
|
24367
24373
|
"credit_consuming",
|
|
24368
24374
|
"state_change"
|
|
24369
24375
|
], [
|
|
@@ -24400,7 +24406,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24400
24406
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24401
24407
|
// MCP-only recovery of an existing code edit. WhatsApp has no code-landing
|
|
24402
24408
|
// editor or edit receipt input; it hands this recovery to ProductMaker Web.
|
|
24403
|
-
defineCapability("verify_landing_commerce", "
|
|
24409
|
+
defineCapability("verify_landing_commerce", "f6dcbfbf8e90c39246f0b377745cd2c6c0f76f314c9736a257087c6d00a90f29", "external_mutation", "publishing", [
|
|
24404
24410
|
"read",
|
|
24405
24411
|
"state_change",
|
|
24406
24412
|
"external_mutation"
|
|
@@ -24419,7 +24425,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24419
24425
|
defineCapability(
|
|
24420
24426
|
"publish_to_tiktok",
|
|
24421
24427
|
// MCP 11.7.0: native WhatsApp destination and major-currency budget inputs.
|
|
24422
|
-
"
|
|
24428
|
+
"ce6e6572583a615203835f6e191a50883ba00f95b8813b3c2bc3d5d92746b24f",
|
|
24423
24429
|
"external_mutation",
|
|
24424
24430
|
"publishing",
|
|
24425
24431
|
[
|
|
@@ -24457,7 +24463,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24457
24463
|
"tiktok_publication"
|
|
24458
24464
|
]
|
|
24459
24465
|
),
|
|
24460
|
-
defineCapability("prepare_winning_product_image", "
|
|
24466
|
+
defineCapability("prepare_winning_product_image", "51c4795176c13b67901e2aad161124598675c7e5ae476b35a63be5b06906ccca", "none", "business", [
|
|
24461
24467
|
"state_change"
|
|
24462
24468
|
], [
|
|
24463
24469
|
slot("winner_reference", true, [
|
|
@@ -24469,7 +24475,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24469
24475
|
], [
|
|
24470
24476
|
"product_media"
|
|
24471
24477
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24472
|
-
defineCapability("regenerate_video_script", "
|
|
24478
|
+
defineCapability("regenerate_video_script", "e68fa5f4f6adb37c4275c60dcb6983d14655a030450c0ed75012044cff0aa29c", "credit_consuming", "creative", [
|
|
24473
24479
|
"credit_consuming",
|
|
24474
24480
|
"state_change"
|
|
24475
24481
|
], [
|
|
@@ -24509,7 +24515,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24509
24515
|
], [
|
|
24510
24516
|
"meta_upload_session"
|
|
24511
24517
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
24512
|
-
defineCapability("request_media_upload", "
|
|
24518
|
+
defineCapability("request_media_upload", "ab70248efd499351ff119e5563e31185040b57e42ccc0e09efe6b6fbeea794a5", "none", "creative", [
|
|
24513
24519
|
"state_change"
|
|
24514
24520
|
], [
|
|
24515
24521
|
slot("media_kind", true, [
|
|
@@ -24532,7 +24538,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24532
24538
|
], [
|
|
24533
24539
|
"media_upload_session"
|
|
24534
24540
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24535
|
-
defineCapability("resolve_pending_action", "
|
|
24541
|
+
defineCapability("resolve_pending_action", "a7fef1e3299c2bfb387a16b3e1e243fba8df1db961ebc1f27d2119209124c293", "credit_consuming", "creative", [
|
|
24536
24542
|
"credit_consuming",
|
|
24537
24543
|
"state_change"
|
|
24538
24544
|
], [
|
|
@@ -24568,7 +24574,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24568
24574
|
], [
|
|
24569
24575
|
"task"
|
|
24570
24576
|
]),
|
|
24571
|
-
defineCapability("start_dropshipping_project", "
|
|
24577
|
+
defineCapability("start_dropshipping_project", "996385df905ed85a933c5726fbebf5a29a98f29364badd8256ff306aff38797c", "state_change", "business", [
|
|
24572
24578
|
"state_change"
|
|
24573
24579
|
], [
|
|
24574
24580
|
slot("origin", true, [
|
|
@@ -24589,7 +24595,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24589
24595
|
], [
|
|
24590
24596
|
"dropshipping_project"
|
|
24591
24597
|
]),
|
|
24592
|
-
defineCapability("get_daily_control", "
|
|
24598
|
+
defineCapability("get_daily_control", "f68e63aeda284d8f07040f6ec55c84ba5e55a515667a20bfe3a60268a6827130", "none", "read_only", [
|
|
24593
24599
|
"read"
|
|
24594
24600
|
], [
|
|
24595
24601
|
slot("window_end", false, [
|
|
@@ -24607,7 +24613,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24607
24613
|
], [
|
|
24608
24614
|
"daily_control_report"
|
|
24609
24615
|
]),
|
|
24610
|
-
defineCapability("link_campaign_to_project", "
|
|
24616
|
+
defineCapability("link_campaign_to_project", "1a6d51234a38259e9fa00475c76919742818efb32491a75ffa768ff9fede4013", "state_change", "business", [
|
|
24611
24617
|
"state_change"
|
|
24612
24618
|
], [
|
|
24613
24619
|
slot("project", true, [
|
|
@@ -24627,7 +24633,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24627
24633
|
], [
|
|
24628
24634
|
"campaign_link"
|
|
24629
24635
|
]),
|
|
24630
|
-
defineCapability("list_importable_products", "
|
|
24636
|
+
defineCapability("list_importable_products", "30404855a9d9c61bd437703f0287041ac77bf997fb7c6e5c7dafdf68712020a9", "none", "read_only", [
|
|
24631
24637
|
"read"
|
|
24632
24638
|
], [
|
|
24633
24639
|
slot("search", false, [
|
|
@@ -24644,7 +24650,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24644
24650
|
], [
|
|
24645
24651
|
"importable_product_page"
|
|
24646
24652
|
]),
|
|
24647
|
-
defineCapability("import_product_controls", "
|
|
24653
|
+
defineCapability("import_product_controls", "f0e1de3062389541317f1351977e77fdcb50ee5d0d5251bbc1f1e7e2ab034515", "state_change", "business", [
|
|
24648
24654
|
"state_change"
|
|
24649
24655
|
], [
|
|
24650
24656
|
slot("products", true, [
|
|
@@ -24661,7 +24667,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24661
24667
|
], [
|
|
24662
24668
|
"product_control"
|
|
24663
24669
|
]),
|
|
24664
|
-
defineCapability("set_product_costing", "
|
|
24670
|
+
defineCapability("set_product_costing", "de1353c7061d00bf793ecc789c0300c6dd54f758dbff86b10915a51592a99df9", "state_change", "business", [
|
|
24665
24671
|
"state_change"
|
|
24666
24672
|
], [
|
|
24667
24673
|
/* La identidad sin tienda solo existe en el contrato MCP: el
|
|
@@ -24699,7 +24705,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24699
24705
|
], [
|
|
24700
24706
|
"product_control_costing"
|
|
24701
24707
|
]),
|
|
24702
|
-
defineCapability("get_product_control", "
|
|
24708
|
+
defineCapability("get_product_control", "cc67eec02bc5fba649e705078ecebf4703a3e3e25b9d3189921a7e2bae7f6c0c", "none", "read_only", [
|
|
24703
24709
|
"read"
|
|
24704
24710
|
], [
|
|
24705
24711
|
slot("day", false, [
|
|
@@ -24717,7 +24723,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24717
24723
|
], [
|
|
24718
24724
|
"product_control_report"
|
|
24719
24725
|
]),
|
|
24720
|
-
defineCapability("report_product_counts", "
|
|
24726
|
+
defineCapability("report_product_counts", "8fa2561901b7743506a3639038d7806186c0512470bc6988a54c6bee5dbbb0b0", "state_change", "business", [
|
|
24721
24727
|
"state_change"
|
|
24722
24728
|
], [
|
|
24723
24729
|
slot("product_control", true, [
|
|
@@ -24746,7 +24752,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24746
24752
|
], [
|
|
24747
24753
|
"product_control_daily_counts"
|
|
24748
24754
|
]),
|
|
24749
|
-
defineCapability("get_finances", "
|
|
24755
|
+
defineCapability("get_finances", "bb57d3594b204597e9abd2d9beb7df644d07f5683a159d4de1860fa9d03aa5b4", "none", "read_only", [
|
|
24750
24756
|
"read"
|
|
24751
24757
|
], [
|
|
24752
24758
|
slot("month", false, [
|
|
@@ -24760,7 +24766,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24760
24766
|
], [
|
|
24761
24767
|
"monthly_pl"
|
|
24762
24768
|
]),
|
|
24763
|
-
defineCapability("sync_shopify_orders", "
|
|
24769
|
+
defineCapability("sync_shopify_orders", "0f821de23aa171e89e7e03c1910be57d8dbd878491cbad45a43c4540b4872910", "state_change", "business", [
|
|
24764
24770
|
"state_change"
|
|
24765
24771
|
], [
|
|
24766
24772
|
slot("shop", false, [
|
|
@@ -24780,7 +24786,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24780
24786
|
], [
|
|
24781
24787
|
"product_order_line"
|
|
24782
24788
|
]),
|
|
24783
|
-
defineCapability("import_orders_file", "
|
|
24789
|
+
defineCapability("import_orders_file", "449352851f20e229d488fd10dcfde682774d5c6ef0c66294bedfd6da8d1d93e9", "state_change", "business", [
|
|
24784
24790
|
"state_change"
|
|
24785
24791
|
], [
|
|
24786
24792
|
slot("orders_file", true, [
|
|
@@ -24802,7 +24808,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24802
24808
|
], [
|
|
24803
24809
|
"product_order_line"
|
|
24804
24810
|
]),
|
|
24805
|
-
defineCapability("create_operation", "
|
|
24811
|
+
defineCapability("create_operation", "569501e4e03e6f1782fcf7458e752864804b1ffaa9eb7bd9522e05260939c938", "state_change", "business", [
|
|
24806
24812
|
"state_change"
|
|
24807
24813
|
], [
|
|
24808
24814
|
slot("country", true, [
|
|
@@ -24816,7 +24822,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24816
24822
|
], [
|
|
24817
24823
|
"finance_operation"
|
|
24818
24824
|
]),
|
|
24819
|
-
defineCapability("merge_products", "
|
|
24825
|
+
defineCapability("merge_products", "8519963a68603ed7f4a2a82d24e43f317f0a9840e7fd7ba5a90832c4f4a6bcaf", "state_change", "business", [
|
|
24820
24826
|
"state_change"
|
|
24821
24827
|
], [
|
|
24822
24828
|
slot("source_product", true, [
|
|
@@ -24830,7 +24836,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24830
24836
|
], [
|
|
24831
24837
|
"product_control"
|
|
24832
24838
|
]),
|
|
24833
|
-
defineCapability("set_monthly_expense", "
|
|
24839
|
+
defineCapability("set_monthly_expense", "5ff786a29b44e1961c31fa30decd779d0a18fdf4d7a0bdff7fe130eda59640a4", "state_change", "business", [
|
|
24834
24840
|
"state_change"
|
|
24835
24841
|
], [
|
|
24836
24842
|
slot("expense_label", true, [
|
|
@@ -24850,7 +24856,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24850
24856
|
], [
|
|
24851
24857
|
"monthly_expense"
|
|
24852
24858
|
]),
|
|
24853
|
-
defineCapability("set_ad_spend", "
|
|
24859
|
+
defineCapability("set_ad_spend", "45f5515a91679304c27f2753ec568bcfe0343644363ec3d185eea3a3f220bbc0", "state_change", "business", [
|
|
24854
24860
|
"state_change"
|
|
24855
24861
|
], [
|
|
24856
24862
|
slot("amount", true, [
|
|
@@ -24871,7 +24877,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24871
24877
|
"get_dropi_status",
|
|
24872
24878
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
24873
24879
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
24874
|
-
"
|
|
24880
|
+
"dbbf0cae464909761b30d649f08ebf588bc34ab66a0b67abcf9ff3442e1ec457",
|
|
24875
24881
|
"none",
|
|
24876
24882
|
"read_only",
|
|
24877
24883
|
[
|
|
@@ -24896,7 +24902,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24896
24902
|
defineCapability(
|
|
24897
24903
|
"sync_dropi_orders",
|
|
24898
24904
|
// Filled by the MCP schema fingerprint test.
|
|
24899
|
-
"
|
|
24905
|
+
"a2b107f6f36ed6e9ed698e89ff54decf180bfce372adabd3bc0d00739ebd6a02",
|
|
24900
24906
|
"state_change",
|
|
24901
24907
|
"business",
|
|
24902
24908
|
[
|
|
@@ -24930,7 +24936,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24930
24936
|
defineCapability(
|
|
24931
24937
|
"create_manual_product",
|
|
24932
24938
|
// Filled by the MCP schema fingerprint test.
|
|
24933
|
-
"
|
|
24939
|
+
"00b0366e3c23989c10243e8c34ea74d2786c7f521093a006e53cc6e68750e5ad",
|
|
24934
24940
|
"state_change",
|
|
24935
24941
|
"business",
|
|
24936
24942
|
[
|
|
@@ -24973,7 +24979,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24973
24979
|
defineCapability(
|
|
24974
24980
|
"list_unmatched_products",
|
|
24975
24981
|
// Filled by the MCP schema fingerprint test.
|
|
24976
|
-
"
|
|
24982
|
+
"d72bf2d563daabe2ce719aeee4d3f1899154daba063ebca1ef69499e0ff09034",
|
|
24977
24983
|
"none",
|
|
24978
24984
|
"read_only",
|
|
24979
24985
|
[
|
|
@@ -24995,7 +25001,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24995
25001
|
defineCapability(
|
|
24996
25002
|
"resolve_unmatched_product",
|
|
24997
25003
|
// Filled by the MCP schema fingerprint test.
|
|
24998
|
-
"
|
|
25004
|
+
"05fb2d978e2e878cbbfeca78b87b0f7e25decedfcfa8490b7cfc055139953574",
|
|
24999
25005
|
"state_change",
|
|
25000
25006
|
"business",
|
|
25001
25007
|
[
|
|
@@ -25047,7 +25053,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25047
25053
|
defineCapability(
|
|
25048
25054
|
"link_product_campaign",
|
|
25049
25055
|
// Filled by the MCP schema fingerprint test.
|
|
25050
|
-
"
|
|
25056
|
+
"a4ea2424df8482eb5f004676aa6d43a24f8ad8790644a41f521cdeb879a306a9",
|
|
25051
25057
|
"state_change",
|
|
25052
25058
|
"business",
|
|
25053
25059
|
[
|
|
@@ -25085,7 +25091,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25085
25091
|
defineCapability(
|
|
25086
25092
|
"delete_monthly_expense",
|
|
25087
25093
|
// Filled by the MCP schema fingerprint test.
|
|
25088
|
-
"
|
|
25094
|
+
"e762a6d49f2ab0ce1f51315d0d0ec11e1456c8b8b8200c66b899808f89f706d5",
|
|
25089
25095
|
"state_change",
|
|
25090
25096
|
"business",
|
|
25091
25097
|
[
|
|
@@ -25113,7 +25119,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25113
25119
|
defineCapability(
|
|
25114
25120
|
"remove_product_control",
|
|
25115
25121
|
// Filled by the MCP schema fingerprint test.
|
|
25116
|
-
"
|
|
25122
|
+
"e29785ec81add0115499e3ae616f47224c2c01dc61c5d7f65d306bc1ac28929f",
|
|
25117
25123
|
"state_change",
|
|
25118
25124
|
"business",
|
|
25119
25125
|
[
|
|
@@ -25132,7 +25138,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25132
25138
|
],
|
|
25133
25139
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
25134
25140
|
),
|
|
25135
|
-
defineCapability("report_daily_returns", "
|
|
25141
|
+
defineCapability("report_daily_returns", "c64af9e1750adf5892caa76c0c170feec91e617ba1769ee5c0af17cbbb4fc6d2", "state_change", "business", [
|
|
25136
25142
|
"state_change"
|
|
25137
25143
|
], [
|
|
25138
25144
|
slot("project", true, [
|
|
@@ -25437,7 +25443,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25437
25443
|
z103.object({
|
|
25438
25444
|
...recoveryBase,
|
|
25439
25445
|
state: z103.literal("consumed"),
|
|
25440
|
-
successorCommandId: z103.string().
|
|
25446
|
+
successorCommandId: z103.string().guid(),
|
|
25441
25447
|
choice: z103.enum([
|
|
25442
25448
|
"without_winner",
|
|
25443
25449
|
"retry"
|
|
@@ -25447,7 +25453,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25447
25453
|
...recoveryBase,
|
|
25448
25454
|
state: z103.literal("awaiting_media"),
|
|
25449
25455
|
successorCommandId: z103.null(),
|
|
25450
|
-
successorCollectionId: z103.string().
|
|
25456
|
+
successorCollectionId: z103.string().guid(),
|
|
25451
25457
|
choice: z103.enum([
|
|
25452
25458
|
"without_winner",
|
|
25453
25459
|
"retry"
|
|
@@ -25475,10 +25481,10 @@ var json = z103.lazy(() => z103.union([
|
|
|
25475
25481
|
z103.number().finite(),
|
|
25476
25482
|
z103.string(),
|
|
25477
25483
|
z103.array(json),
|
|
25478
|
-
z103.record(json)
|
|
25484
|
+
z103.record(z103.string(), json)
|
|
25479
25485
|
]));
|
|
25480
25486
|
var commandBase = {
|
|
25481
|
-
commandId: z103.string().
|
|
25487
|
+
commandId: z103.string().guid(),
|
|
25482
25488
|
requestHash: z103.string().min(1).max(256),
|
|
25483
25489
|
expectedUpdatedAt: z103.string().datetime(),
|
|
25484
25490
|
result: json,
|
|
@@ -25486,7 +25492,7 @@ var commandBase = {
|
|
|
25486
25492
|
};
|
|
25487
25493
|
var proposedSnapshot = {
|
|
25488
25494
|
...commandBase,
|
|
25489
|
-
sourceMessageId: z103.string().
|
|
25495
|
+
sourceMessageId: z103.string().guid(),
|
|
25490
25496
|
expectedStatus: z103.literal("proposed"),
|
|
25491
25497
|
expectedResult: json
|
|
25492
25498
|
};
|
|
@@ -25547,19 +25553,19 @@ var WhatsAppPresentationFinalizerSchema = z103.object({
|
|
|
25547
25553
|
]).optional(),
|
|
25548
25554
|
plan: z103.object({
|
|
25549
25555
|
guardOnly: z103.boolean().optional(),
|
|
25550
|
-
planId: z103.string().
|
|
25556
|
+
planId: z103.string().guid(),
|
|
25551
25557
|
expectedPlanRevision: z103.number().int().nonnegative(),
|
|
25552
|
-
stepId: z103.string().
|
|
25558
|
+
stepId: z103.string().guid(),
|
|
25553
25559
|
expectedStepRevision: z103.number().int().nonnegative(),
|
|
25554
|
-
expectedCommandId: z103.string().
|
|
25560
|
+
expectedCommandId: z103.string().guid().nullable(),
|
|
25555
25561
|
next: z103.object({
|
|
25556
|
-
stepId: z103.string().
|
|
25562
|
+
stepId: z103.string().guid(),
|
|
25557
25563
|
expectedRevision: z103.number().int().nonnegative()
|
|
25558
25564
|
}).strict().nullable(),
|
|
25559
25565
|
outputArtifacts: json
|
|
25560
25566
|
}).strict().optional(),
|
|
25561
25567
|
collection: z103.object({
|
|
25562
|
-
collectionId: z103.string().
|
|
25568
|
+
collectionId: z103.string().guid(),
|
|
25563
25569
|
expectedRevision: z103.number().int().nonnegative(),
|
|
25564
25570
|
expiresAt: z103.string().datetime()
|
|
25565
25571
|
}).strict().optional()
|
|
@@ -25644,9 +25650,9 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25644
25650
|
"research_ready",
|
|
25645
25651
|
"research_failed"
|
|
25646
25652
|
]).optional(),
|
|
25647
|
-
commandId: z104.string().
|
|
25648
|
-
taskId: z104.string().
|
|
25649
|
-
researchRunId: z104.string().
|
|
25653
|
+
commandId: z104.string().guid().optional(),
|
|
25654
|
+
taskId: z104.string().guid().optional(),
|
|
25655
|
+
researchRunId: z104.string().guid().optional()
|
|
25650
25656
|
}).strict().refine((value) => value.resetSourceSequence === void 0 || value.conversationReset === "completed", "Reset source sequence requires a completed reset").optional(),
|
|
25651
25657
|
intentKey
|
|
25652
25658
|
}).strict(),
|
|
@@ -25678,16 +25684,16 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25678
25684
|
"tiktok"
|
|
25679
25685
|
])).max(3),
|
|
25680
25686
|
fullResultUrl: z104.string().url().max(8192),
|
|
25681
|
-
commandId: z104.string().
|
|
25682
|
-
taskId: z104.string().
|
|
25687
|
+
commandId: z104.string().guid(),
|
|
25688
|
+
taskId: z104.string().guid(),
|
|
25683
25689
|
intentKey
|
|
25684
25690
|
}).strict(),
|
|
25685
25691
|
z104.object({
|
|
25686
25692
|
kind: z104.literal("reference_review"),
|
|
25687
|
-
commandId: z104.string().
|
|
25688
|
-
taskId: z104.string().
|
|
25693
|
+
commandId: z104.string().guid(),
|
|
25694
|
+
taskId: z104.string().guid(),
|
|
25689
25695
|
snapshotHash: z104.string().length(64).regex(/^[a-f0-9]+$/),
|
|
25690
|
-
pendingAction: z104.record(z104.unknown()),
|
|
25696
|
+
pendingAction: z104.record(z104.string(), z104.unknown()),
|
|
25691
25697
|
previews: z104.array(preview).max(20),
|
|
25692
25698
|
expectedPreviewCount: z104.number().int().min(0).max(50),
|
|
25693
25699
|
intentKey
|
|
@@ -26113,7 +26119,7 @@ var ProductTruthBody = z107.object({
|
|
|
26113
26119
|
out[key2] = rawIndexes.filter((i) => typeof i === "number" && Number.isInteger(i) && i >= 0 && i < 20);
|
|
26114
26120
|
}
|
|
26115
26121
|
return out;
|
|
26116
|
-
}, z107.record(z107.array(z107.number().int().min(0).max(19))))
|
|
26122
|
+
}, z107.record(z107.string(), z107.array(z107.number().int().min(0).max(19))))
|
|
26117
26123
|
})),
|
|
26118
26124
|
confidence: z107.preprocess((v) => typeof v === "number" && Number.isFinite(v) ? Math.min(1, Math.max(0, v)) : 0, z107.number().min(0).max(1))
|
|
26119
26125
|
});
|
|
@@ -26456,15 +26462,16 @@ var CreativeCompositionExecutorRoleSchema = z109.enum(CREATIVE_COMPOSITION_EXECU
|
|
|
26456
26462
|
var CreativeCompositionJobSchema = z109.object({
|
|
26457
26463
|
kind: z109.literal("creative_composition"),
|
|
26458
26464
|
protocolVersion: CreativeCompositionProtocolVersionSchema,
|
|
26459
|
-
jobId: z109.string().
|
|
26465
|
+
jobId: z109.string().guid(),
|
|
26460
26466
|
owner: CreativeEngineOwnerSchema,
|
|
26461
26467
|
attempt,
|
|
26462
26468
|
leaseUntil: z109.string().datetime(),
|
|
26463
26469
|
deadlineAtMs: z109.number().int().nonnegative(),
|
|
26464
26470
|
/**
|
|
26465
26471
|
* Contract digest of the API that wrote the job. The renderer refuses a
|
|
26466
|
-
* job whose digest is
|
|
26467
|
-
*
|
|
26472
|
+
* job whose digest is neither current nor explicitly verified compatible
|
|
26473
|
+
* (`renderer_schema_stale`). Accepted jobs still meet the current schema.
|
|
26474
|
+
* Absent only on rows written before digests existed.
|
|
26468
26475
|
*/
|
|
26469
26476
|
contractDigest: hash2.optional(),
|
|
26470
26477
|
width: z109.number().int().positive().max(4096),
|
|
@@ -26542,10 +26549,10 @@ var CreativeCompositionClaimResponseSchema = z109.object({
|
|
|
26542
26549
|
job: CreativeCompositionJobSchema.nullable()
|
|
26543
26550
|
}).strict();
|
|
26544
26551
|
var CreativeCompositionHeartbeatSchema = MotionGraphicsStageReportSchema.extend({
|
|
26545
|
-
jobId: z109.string().
|
|
26552
|
+
jobId: z109.string().guid()
|
|
26546
26553
|
});
|
|
26547
26554
|
var CreativeCompositionUploadRequestSchema = z109.object({
|
|
26548
|
-
jobId: z109.string().
|
|
26555
|
+
jobId: z109.string().guid(),
|
|
26549
26556
|
attempt,
|
|
26550
26557
|
files: z109.array(z109.object({
|
|
26551
26558
|
kind: z109.enum([
|
|
@@ -26569,7 +26576,7 @@ var CreativeCompositionUploadResponseSchema = z109.object({
|
|
|
26569
26576
|
}).strict()).min(1).max(3)
|
|
26570
26577
|
}).strict();
|
|
26571
26578
|
var CreativeCompositionDoneRequestSchema = z109.object({
|
|
26572
|
-
jobId: z109.string().
|
|
26579
|
+
jobId: z109.string().guid(),
|
|
26573
26580
|
attempt,
|
|
26574
26581
|
width: z109.number().int().positive(),
|
|
26575
26582
|
height: z109.number().int().positive(),
|
|
@@ -26577,14 +26584,14 @@ var CreativeCompositionDoneRequestSchema = z109.object({
|
|
|
26577
26584
|
durationSec: z109.number().positive()
|
|
26578
26585
|
}).strict();
|
|
26579
26586
|
var CreativeCompositionFailedRequestSchema = z109.object({
|
|
26580
|
-
jobId: z109.string().
|
|
26587
|
+
jobId: z109.string().guid(),
|
|
26581
26588
|
attempt,
|
|
26582
26589
|
reason: z109.string().min(1).max(1e3),
|
|
26583
26590
|
retryable: z109.literal(false)
|
|
26584
26591
|
}).strict();
|
|
26585
26592
|
var CreativeCompositionLocalManifestSchema = z109.object({
|
|
26586
26593
|
kind: z109.literal("creative_composition"),
|
|
26587
|
-
jobId: z109.string().
|
|
26594
|
+
jobId: z109.string().guid(),
|
|
26588
26595
|
owner: CreativeEngineOwnerSchema,
|
|
26589
26596
|
plan: z109.object({
|
|
26590
26597
|
revision: z109.number().int().positive(),
|
|
@@ -26670,8 +26677,8 @@ var CreativeEngineEditContextSnapshotSchema = z111.object({
|
|
|
26670
26677
|
hash: hash3,
|
|
26671
26678
|
binding: CreativeEngineContextBindingSchema,
|
|
26672
26679
|
data: z111.object({
|
|
26673
|
-
physical: z111.record(z111.unknown()),
|
|
26674
|
-
commercial: z111.record(z111.unknown())
|
|
26680
|
+
physical: z111.record(z111.string(), z111.unknown()),
|
|
26681
|
+
commercial: z111.record(z111.string(), z111.unknown())
|
|
26675
26682
|
}).strict(),
|
|
26676
26683
|
references: z111.array(z111.object({
|
|
26677
26684
|
sourceId: id4,
|
|
@@ -26741,7 +26748,7 @@ var CreativeEngineEditExecutionSchema = z111.object({
|
|
|
26741
26748
|
version: z111.literal(1),
|
|
26742
26749
|
source: CreativeEngineEditSourceSchema,
|
|
26743
26750
|
intent: z111.object({
|
|
26744
|
-
clientRequestId: z111.string().
|
|
26751
|
+
clientRequestId: z111.string().guid(),
|
|
26745
26752
|
sectionsHash: hash3,
|
|
26746
26753
|
sourceBindingHash: hash3,
|
|
26747
26754
|
derivedPlanHash: hash3,
|
|
@@ -26853,7 +26860,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26853
26860
|
userId: id4,
|
|
26854
26861
|
taskId: id4,
|
|
26855
26862
|
angleKey: id4,
|
|
26856
|
-
clientRequestId: z111.string().
|
|
26863
|
+
clientRequestId: z111.string().guid(),
|
|
26857
26864
|
createdAtMs: z111.number().int().nonnegative(),
|
|
26858
26865
|
expiresAtMs: z111.number().int().positive(),
|
|
26859
26866
|
source: CreativeEngineEditSourceSchema,
|
|
@@ -26862,7 +26869,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26862
26869
|
context: CreativeEngineEditContextSnapshotSchema,
|
|
26863
26870
|
recipe: CreativeEngineRecipeSchema,
|
|
26864
26871
|
// The API validates these with its canonical section schema before persistence/use.
|
|
26865
|
-
sections: z111.array(z111.record(z111.unknown())).min(1).max(32)
|
|
26872
|
+
sections: z111.array(z111.record(z111.string(), z111.unknown())).min(1).max(32)
|
|
26866
26873
|
}).strict();
|
|
26867
26874
|
|
|
26868
26875
|
// ../../packages/types/src/creative-engine-retry.ts
|
|
@@ -26924,7 +26931,7 @@ var CreativeEngineFreshRetryProvenanceSchema = z112.object({
|
|
|
26924
26931
|
import { z as z113 } from "zod";
|
|
26925
26932
|
var CreativeEngineEntryRequestSchema = z113.object({
|
|
26926
26933
|
creativeEngine: z113.literal("unified_v1"),
|
|
26927
|
-
taskId: z113.string().
|
|
26934
|
+
taskId: z113.string().guid(),
|
|
26928
26935
|
angleKey: z113.string().min(1).max(200),
|
|
26929
26936
|
requestId: z113.string().min(1).max(200),
|
|
26930
26937
|
guide: z113.enum([
|
|
@@ -27136,7 +27143,7 @@ import { z as z116 } from "zod";
|
|
|
27136
27143
|
// ../../packages/types/src/service-landing-primitives.ts
|
|
27137
27144
|
import { z as z115 } from "zod";
|
|
27138
27145
|
var OptionalTextSchema = z115.string().trim().min(1).max(500).optional();
|
|
27139
|
-
var AssetIdSchema = z115.string().
|
|
27146
|
+
var AssetIdSchema = z115.string().guid().transform((value) => value.toLowerCase());
|
|
27140
27147
|
var ServiceLandingPrimaryCtaSchema = z115.object({
|
|
27141
27148
|
channelIndex: z115.number().int().nonnegative(),
|
|
27142
27149
|
label: z115.string().trim().min(1).max(80)
|
|
@@ -27272,7 +27279,7 @@ var ServiceLandingContactChannelSchema = z116.discriminatedUnion("kind", [
|
|
|
27272
27279
|
BookingUrlChannelSchema
|
|
27273
27280
|
]);
|
|
27274
27281
|
var ServiceLandingServiceSchema = z116.object({
|
|
27275
|
-
id: z116.string().
|
|
27282
|
+
id: z116.string().guid(),
|
|
27276
27283
|
name: z116.string().trim().min(1).max(120),
|
|
27277
27284
|
description: OptionalTextSchema,
|
|
27278
27285
|
inclusions: z116.array(z116.string().trim().min(1).max(160)).max(12),
|
|
@@ -27500,7 +27507,7 @@ var ServiceLandingArtifactSchema = z116.preprocess(applyCodeArtifactDefaults, z1
|
|
|
27500
27507
|
// ../../packages/types/src/service-landing-facts-brand.ts
|
|
27501
27508
|
import { z as z117 } from "zod";
|
|
27502
27509
|
var ServiceLandingServiceFactsSchema = z117.object({
|
|
27503
|
-
id: z117.string().
|
|
27510
|
+
id: z117.string().guid(),
|
|
27504
27511
|
name: z117.string().trim().min(1).max(120).optional(),
|
|
27505
27512
|
description: OptionalTextSchema,
|
|
27506
27513
|
inclusions: z117.array(z117.string().trim().min(1).max(160)).max(12).default([]),
|
|
@@ -27652,7 +27659,7 @@ var ServicePageParserMetadataSchema = z117.object({
|
|
|
27652
27659
|
}).strict()).max(100).optional()
|
|
27653
27660
|
}).strict();
|
|
27654
27661
|
var ServicePageSourceSchema = z117.object({
|
|
27655
|
-
id: z117.string().
|
|
27662
|
+
id: z117.string().guid(),
|
|
27656
27663
|
kind: ServicePageSourceKindSchema,
|
|
27657
27664
|
status: ServicePageSourceStatusSchema,
|
|
27658
27665
|
displayName: z117.string().trim().min(1).max(180).optional(),
|
|
@@ -27663,14 +27670,14 @@ var ServicePageSourceSchema = z117.object({
|
|
|
27663
27670
|
var ServicePageFactConflictSchema = z117.object({
|
|
27664
27671
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27665
27672
|
candidates: z117.array(z117.object({
|
|
27666
|
-
id: z117.string().
|
|
27673
|
+
id: z117.string().guid(),
|
|
27667
27674
|
value: z117.string().trim().min(1).max(500),
|
|
27668
|
-
sourceIds: z117.array(z117.string().
|
|
27675
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10)
|
|
27669
27676
|
}).strict()).min(2).max(8)
|
|
27670
27677
|
}).strict();
|
|
27671
27678
|
var ServicePageFactProvenanceSchema = z117.object({
|
|
27672
27679
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27673
|
-
sourceIds: z117.array(z117.string().
|
|
27680
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10),
|
|
27674
27681
|
evidence: z117.string().trim().max(1e3).optional()
|
|
27675
27682
|
}).strict();
|
|
27676
27683
|
var ServicePageFactsReviewSchema = z117.object({
|
|
@@ -27686,26 +27693,26 @@ var ServicePageFactsReviewSchema = z117.object({
|
|
|
27686
27693
|
// ../../packages/types/src/service-landing-api.ts
|
|
27687
27694
|
import { z as z118 } from "zod";
|
|
27688
27695
|
var ServicePageCreateRequestSchema = z118.object({
|
|
27689
|
-
brandId: z118.string().
|
|
27696
|
+
brandId: z118.string().guid(),
|
|
27690
27697
|
includeBrandLogo: z118.boolean().optional(),
|
|
27691
|
-
idempotencyKey: z118.string().
|
|
27698
|
+
idempotencyKey: z118.string().guid().optional()
|
|
27692
27699
|
}).strict();
|
|
27693
27700
|
var ServicePageFactsUpdateRequestSchema = z118.object({
|
|
27694
27701
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27695
|
-
idempotencyKey: z118.string().
|
|
27702
|
+
idempotencyKey: z118.string().guid(),
|
|
27696
27703
|
facts: ServicePageFactsSchema
|
|
27697
27704
|
}).strict();
|
|
27698
27705
|
var ServicePageFactsConfirmRequestSchema = z118.object({
|
|
27699
27706
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27700
|
-
idempotencyKey: z118.string().
|
|
27707
|
+
idempotencyKey: z118.string().guid(),
|
|
27701
27708
|
resolutions: z118.array(z118.object({
|
|
27702
27709
|
fieldPath: z118.string().trim().min(1).max(180),
|
|
27703
|
-
candidateId: z118.string().
|
|
27710
|
+
candidateId: z118.string().guid()
|
|
27704
27711
|
}).strict()).max(30)
|
|
27705
27712
|
}).strict();
|
|
27706
27713
|
var ServicePageIntakeRequestSchema = z118.object({
|
|
27707
27714
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27708
|
-
idempotencyKey: z118.string().
|
|
27715
|
+
idempotencyKey: z118.string().guid(),
|
|
27709
27716
|
text: z118.string().trim().max(3e4).optional(),
|
|
27710
27717
|
profileUrl: z118.string().trim().url().max(2048).refine((value) => {
|
|
27711
27718
|
try {
|
|
@@ -27736,7 +27743,7 @@ var ServicePageAttachmentRefSchema = z118.object({
|
|
|
27736
27743
|
"source",
|
|
27737
27744
|
"asset"
|
|
27738
27745
|
]),
|
|
27739
|
-
id: z118.string().
|
|
27746
|
+
id: z118.string().guid().transform((id6) => id6.toLowerCase())
|
|
27740
27747
|
}).strict();
|
|
27741
27748
|
var ServicePageAttachmentRefsSchema = z118.array(ServicePageAttachmentRefSchema).max(SERVICE_PAGE_CHAT_ATTACHMENT_MAX_SELECTION).superRefine((refs, ctx) => {
|
|
27742
27749
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -27769,13 +27776,13 @@ var ServicePageChatAttachmentUploadResponseSchema = z118.object({
|
|
|
27769
27776
|
}).strict();
|
|
27770
27777
|
var ServicePageChatAttachmentUploadRequestSchema = z118.object({
|
|
27771
27778
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27772
|
-
idempotencyKey: z118.string().
|
|
27779
|
+
idempotencyKey: z118.string().guid(),
|
|
27773
27780
|
profileUrl: z118.string().url().max(2048).optional()
|
|
27774
27781
|
}).strict();
|
|
27775
27782
|
var ServicePageEditInstructionSchema = z118.string().trim().min(3).max(SERVICE_PAGE_EDIT_INSTRUCTION_MAX_CHARS);
|
|
27776
27783
|
var ServicePageEditEstimateRequestSchema = z118.object({
|
|
27777
27784
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27778
|
-
baseCandidateOperationId: z118.string().
|
|
27785
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27779
27786
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27780
27787
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27781
27788
|
}).strict();
|
|
@@ -27787,12 +27794,12 @@ var ServicePageEditEstimateResponseSchema = z118.object({
|
|
|
27787
27794
|
}).strict();
|
|
27788
27795
|
var ServicePageGenerationQuoteRequestSchema = z118.object({
|
|
27789
27796
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27790
|
-
baseCandidateOperationId: z118.string().
|
|
27797
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27791
27798
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27792
27799
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27793
27800
|
}).strict();
|
|
27794
27801
|
var ServicePageQuoteResponseSchema = z118.object({
|
|
27795
|
-
quoteId: z118.string().
|
|
27802
|
+
quoteId: z118.string().guid(),
|
|
27796
27803
|
purpose: ServicePageQuotePurposeSchema,
|
|
27797
27804
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27798
27805
|
requestHash: z118.string().regex(/^[a-f0-9]{64}$/),
|
|
@@ -27806,16 +27813,16 @@ var ServicePageQuoteResponseSchema = z118.object({
|
|
|
27806
27813
|
requiresConfirmation: z118.literal(true)
|
|
27807
27814
|
}).strict();
|
|
27808
27815
|
var ServicePageGenerateRequestSchema = z118.object({
|
|
27809
|
-
quoteId: z118.string().
|
|
27810
|
-
idempotencyKey: z118.string().
|
|
27816
|
+
quoteId: z118.string().guid(),
|
|
27817
|
+
idempotencyKey: z118.string().guid(),
|
|
27811
27818
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27812
|
-
baseCandidateOperationId: z118.string().
|
|
27819
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27813
27820
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27814
27821
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27815
27822
|
}).strict();
|
|
27816
27823
|
var SERVICE_PAGE_CREATION_MAX_ATTEMPTS = 3;
|
|
27817
27824
|
var ServicePageCreationMarkerSchema = z118.object({
|
|
27818
|
-
rootOperationId: z118.string().
|
|
27825
|
+
rootOperationId: z118.string().guid().optional(),
|
|
27819
27826
|
attempt: z118.number().int().min(1).max(SERVICE_PAGE_CREATION_MAX_ATTEMPTS)
|
|
27820
27827
|
}).strict();
|
|
27821
27828
|
var ServicePageCreationEstimateRequestSchema = z118.object({
|
|
@@ -27850,8 +27857,8 @@ var ServicePageOperationStatusSchema = z118.enum([
|
|
|
27850
27857
|
"requires_reconciliation"
|
|
27851
27858
|
]);
|
|
27852
27859
|
var ServicePageOperationResponseSchema = z118.object({
|
|
27853
|
-
opId: z118.string().
|
|
27854
|
-
servicePageId: z118.string().
|
|
27860
|
+
opId: z118.string().guid(),
|
|
27861
|
+
servicePageId: z118.string().guid(),
|
|
27855
27862
|
kind: z118.enum([
|
|
27856
27863
|
"fact_extraction",
|
|
27857
27864
|
"generation"
|
|
@@ -27866,7 +27873,7 @@ var ServicePageOperationResponseSchema = z118.object({
|
|
|
27866
27873
|
recoverable: z118.boolean()
|
|
27867
27874
|
}).strict();
|
|
27868
27875
|
var ServicePageEditHistoryItemSchema = z118.object({
|
|
27869
|
-
opId: z118.string().
|
|
27876
|
+
opId: z118.string().guid(),
|
|
27870
27877
|
instruction: ServicePageEditInstructionSchema,
|
|
27871
27878
|
status: ServicePageOperationStatusSchema,
|
|
27872
27879
|
expectedRevision: z118.number().int().nonnegative(),
|
|
@@ -27881,8 +27888,8 @@ var ServicePageEditHistoryItemSchema = z118.object({
|
|
|
27881
27888
|
}).strict();
|
|
27882
27889
|
var ServicePageEditHistorySchema = z118.array(ServicePageEditHistoryItemSchema).max(50).default([]);
|
|
27883
27890
|
var ServicePageOperationJobSchema = z118.object({
|
|
27884
|
-
operationId: z118.string().
|
|
27885
|
-
servicePageId: z118.string().
|
|
27891
|
+
operationId: z118.string().guid(),
|
|
27892
|
+
servicePageId: z118.string().guid(),
|
|
27886
27893
|
userId: z118.string().min(1).max(256),
|
|
27887
27894
|
kind: z118.enum([
|
|
27888
27895
|
"fact_extraction",
|
|
@@ -27891,22 +27898,22 @@ var ServicePageOperationJobSchema = z118.object({
|
|
|
27891
27898
|
}).strict();
|
|
27892
27899
|
var ServicePageDraftUpdateRequestSchema = z118.object({
|
|
27893
27900
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27894
|
-
idempotencyKey: z118.string().
|
|
27895
|
-
candidateOperationId: z118.string().
|
|
27901
|
+
idempotencyKey: z118.string().guid(),
|
|
27902
|
+
candidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27896
27903
|
artifact: ServiceLandingArtifactSchema
|
|
27897
27904
|
}).strict();
|
|
27898
27905
|
var ServicePagePublishRequestSchema = z118.object({
|
|
27899
27906
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27900
27907
|
slug: z118.string().trim().toLowerCase().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(64),
|
|
27901
|
-
idempotencyKey: z118.string().
|
|
27908
|
+
idempotencyKey: z118.string().guid()
|
|
27902
27909
|
}).strict();
|
|
27903
27910
|
var ServicePageUnpublishRequestSchema = z118.object({
|
|
27904
27911
|
publishedRevision: z118.number().int().positive(),
|
|
27905
|
-
idempotencyKey: z118.string().
|
|
27912
|
+
idempotencyKey: z118.string().guid()
|
|
27906
27913
|
}).strict();
|
|
27907
27914
|
var ServicePageSummarySchema = z118.object({
|
|
27908
|
-
id: z118.string().
|
|
27909
|
-
brandId: z118.string().
|
|
27915
|
+
id: z118.string().guid(),
|
|
27916
|
+
brandId: z118.string().guid().nullable(),
|
|
27910
27917
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27911
27918
|
status: ServicePageStatusSchema,
|
|
27912
27919
|
draftRevision: z118.number().int().nonnegative(),
|
|
@@ -27950,7 +27957,7 @@ var ServicePageListResponseSchema = z118.object({
|
|
|
27950
27957
|
pages: z118.array(ServicePageSummarySchema)
|
|
27951
27958
|
}).strict();
|
|
27952
27959
|
var ServicePageIntakeResponseSchema = z118.object({
|
|
27953
|
-
servicePageId: z118.string().
|
|
27960
|
+
servicePageId: z118.string().guid(),
|
|
27954
27961
|
draftRevision: z118.number().int().nonnegative(),
|
|
27955
27962
|
sources: z118.array(ServicePageSourceSchema).max(50),
|
|
27956
27963
|
facts: ServicePageFactsSchema,
|
|
@@ -27959,13 +27966,13 @@ var ServicePageIntakeResponseSchema = z118.object({
|
|
|
27959
27966
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27960
27967
|
}).strict();
|
|
27961
27968
|
var ServicePagePreviewResponseSchema = z118.object({
|
|
27962
|
-
servicePageId: z118.string().
|
|
27969
|
+
servicePageId: z118.string().guid(),
|
|
27963
27970
|
revision: z118.number().int().nonnegative(),
|
|
27964
27971
|
artifact: ServiceLandingArtifactSchema,
|
|
27965
27972
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27966
27973
|
}).strict();
|
|
27967
27974
|
var ServicePageAdminViewSchema = z118.object({
|
|
27968
|
-
id: z118.string().
|
|
27975
|
+
id: z118.string().guid(),
|
|
27969
27976
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27970
27977
|
state: z118.enum([
|
|
27971
27978
|
"created",
|
|
@@ -27978,7 +27985,7 @@ var ServicePageAdminViewSchema = z118.object({
|
|
|
27978
27985
|
}).strict();
|
|
27979
27986
|
var ServicePagePreviewRequestSchema = z118.object({
|
|
27980
27987
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27981
|
-
candidateOperationId: z118.string().
|
|
27988
|
+
candidateOperationId: z118.string().guid().optional(),
|
|
27982
27989
|
artifact: ServiceLandingArtifactSchema.optional()
|
|
27983
27990
|
}).strict().superRefine((request, context) => {
|
|
27984
27991
|
if (!request.artifact && !request.candidateOperationId) {
|
|
@@ -28136,7 +28143,7 @@ var FlightRecorderEntrySchema = z120.object({
|
|
|
28136
28143
|
elements: z120.array(FlightRecorderElementSchema).optional(),
|
|
28137
28144
|
distillation: FlightRecorderDistillationSchema.optional(),
|
|
28138
28145
|
// Raw payload (sanitized of secrets)
|
|
28139
|
-
rawPayload: z120.record(z120.unknown())
|
|
28146
|
+
rawPayload: z120.record(z120.string(), z120.unknown())
|
|
28140
28147
|
});
|
|
28141
28148
|
var FlightRecorderQuerySchema = z120.object({
|
|
28142
28149
|
taskId: z120.string().min(1),
|
|
@@ -28191,7 +28198,7 @@ var Url = z122.string().url().refine((value) => {
|
|
|
28191
28198
|
var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
28192
28199
|
z122.object({
|
|
28193
28200
|
kind: z122.literal("image"),
|
|
28194
|
-
ownerTaskId: z122.string().
|
|
28201
|
+
ownerTaskId: z122.string().guid(),
|
|
28195
28202
|
sourceIndex: z122.number().int().positive(),
|
|
28196
28203
|
variantIndex: z122.number().int().nonnegative(),
|
|
28197
28204
|
url: Url,
|
|
@@ -28201,8 +28208,8 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
28201
28208
|
}).strict(),
|
|
28202
28209
|
z122.object({
|
|
28203
28210
|
kind: z122.literal("gif"),
|
|
28204
|
-
ownerTaskId: z122.string().
|
|
28205
|
-
gifId: z122.string().
|
|
28211
|
+
ownerTaskId: z122.string().guid(),
|
|
28212
|
+
gifId: z122.string().guid(),
|
|
28206
28213
|
gifRevision: z122.number().int().nonnegative(),
|
|
28207
28214
|
demo: LandingGifReadableSchema,
|
|
28208
28215
|
historicalDelivery: z122.literal(true).optional()
|
|
@@ -28210,10 +28217,10 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
28210
28217
|
]);
|
|
28211
28218
|
var PublishedClassicLandingSchema = z122.object({
|
|
28212
28219
|
version: z122.literal(1),
|
|
28213
|
-
ownerTaskId: z122.string().
|
|
28220
|
+
ownerTaskId: z122.string().guid(),
|
|
28214
28221
|
documentRevision: z122.number().int().nonnegative(),
|
|
28215
28222
|
ownerRevisions: z122.array(z122.object({
|
|
28216
|
-
ownerTaskId: z122.string().
|
|
28223
|
+
ownerTaskId: z122.string().guid(),
|
|
28217
28224
|
landingRevision: z122.number().int().nonnegative()
|
|
28218
28225
|
}).strict()).max(100),
|
|
28219
28226
|
blocks: z122.array(ClassicLandingAssetBlockSchema).max(100)
|
|
@@ -28260,18 +28267,18 @@ import { z as z123 } from "zod";
|
|
|
28260
28267
|
var DropiCountrySchema = z123.enum(DROPI_COUNTRY_CODES);
|
|
28261
28268
|
var DropiCountryQuerySchema = z123.object({
|
|
28262
28269
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28263
|
-
connectionId: z123.string().
|
|
28270
|
+
connectionId: z123.string().guid().optional()
|
|
28264
28271
|
}).strict();
|
|
28265
28272
|
var ConnectDropiFinancialSchema = z123.object({
|
|
28266
28273
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28267
|
-
connectionId: z123.string().
|
|
28274
|
+
connectionId: z123.string().guid().optional(),
|
|
28268
28275
|
label: z123.string().trim().min(1).max(80).optional(),
|
|
28269
28276
|
integrationKey: z123.string().trim().min(1).max(4096).regex(/^[\x21-\x7e]+$/)
|
|
28270
28277
|
}).strict();
|
|
28271
28278
|
var SyncDropiFinancialSchema = z123.object({
|
|
28272
28279
|
countryCode: DropiCountrySchema.optional(),
|
|
28273
|
-
operationId: z123.string().
|
|
28274
|
-
connectionId: z123.string().
|
|
28280
|
+
operationId: z123.string().guid().optional(),
|
|
28281
|
+
connectionId: z123.string().guid().optional(),
|
|
28275
28282
|
since: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
28276
28283
|
until: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
28277
28284
|
}).strict();
|
|
@@ -28279,7 +28286,7 @@ var connectionCountries = z123.array(DropiCountrySchema).max(DROPI_COUNTRY_CODES
|
|
|
28279
28286
|
var DropiFinancialConnectionsSchema = z123.object({
|
|
28280
28287
|
connectedCountries: connectionCountries,
|
|
28281
28288
|
connections: z123.array(z123.object({
|
|
28282
|
-
connectionId: z123.string().
|
|
28289
|
+
connectionId: z123.string().guid(),
|
|
28283
28290
|
countryCode: DropiCountrySchema,
|
|
28284
28291
|
label: z123.string().min(1).max(80)
|
|
28285
28292
|
}).strict()).max(21).optional(),
|
|
@@ -28289,7 +28296,7 @@ var DropiFinancialConnectionsSchema = z123.object({
|
|
|
28289
28296
|
var DropiFinancialStatusSchema = z123.object({
|
|
28290
28297
|
enabled: z123.boolean(),
|
|
28291
28298
|
connected: z123.boolean(),
|
|
28292
|
-
connectionId: z123.string().
|
|
28299
|
+
connectionId: z123.string().guid().optional(),
|
|
28293
28300
|
connectionCount: z123.number().int().nonnegative().optional(),
|
|
28294
28301
|
label: z123.string().min(1).max(80).optional(),
|
|
28295
28302
|
countryCode: DropiCountrySchema,
|
|
@@ -28416,7 +28423,7 @@ var ServiceImageContextSchema = z124.object({
|
|
|
28416
28423
|
// ../../packages/types/src/brand-creation.ts
|
|
28417
28424
|
import { z as z125 } from "zod";
|
|
28418
28425
|
var BrandCreationReceiptSchema = z125.object({
|
|
28419
|
-
brandId: z125.string().
|
|
28426
|
+
brandId: z125.string().guid(),
|
|
28420
28427
|
status: z125.enum([
|
|
28421
28428
|
"extracting",
|
|
28422
28429
|
"ready",
|
|
@@ -28559,7 +28566,7 @@ var WebsiteCaptureRequestSchema = z127.object({
|
|
|
28559
28566
|
language: MotionGraphicsLanguageSchema
|
|
28560
28567
|
}).strict();
|
|
28561
28568
|
var WebsiteCaptureResponseSchema = z127.object({
|
|
28562
|
-
captureId: z127.string().
|
|
28569
|
+
captureId: z127.string().guid(),
|
|
28563
28570
|
status: WebsiteCaptureStatusSchema,
|
|
28564
28571
|
expiresAt: z127.string().datetime(),
|
|
28565
28572
|
previewUrl: z127.string().url().optional(),
|
|
@@ -28568,7 +28575,7 @@ var WebsiteCaptureResponseSchema = z127.object({
|
|
|
28568
28575
|
cause: WebsiteCaptureCauseSchema.optional()
|
|
28569
28576
|
});
|
|
28570
28577
|
var WebsiteCaptureJobSchema = WebsiteCaptureRequestSchema.extend({
|
|
28571
|
-
captureId: z127.string().
|
|
28578
|
+
captureId: z127.string().guid(),
|
|
28572
28579
|
attempt: z127.number().int().positive(),
|
|
28573
28580
|
leaseUntil: z127.string().datetime(),
|
|
28574
28581
|
/** Public profile document prepared by the API; never contains a provider credential. */
|
|
@@ -28731,7 +28738,7 @@ var image = z128.object({
|
|
|
28731
28738
|
width: z128.number().int().positive(),
|
|
28732
28739
|
height: z128.number().int().positive(),
|
|
28733
28740
|
adCopy: nullableText,
|
|
28734
|
-
rawResponse: z128.unknown()
|
|
28741
|
+
rawResponse: z128.unknown().optional()
|
|
28735
28742
|
});
|
|
28736
28743
|
var ProductDemoSnapshotSchema = z128.object({
|
|
28737
28744
|
/** Optional only for packs frozen before seller review drafts were captured. */
|
|
@@ -28744,12 +28751,12 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28744
28751
|
country: nullableText,
|
|
28745
28752
|
features: z128.array(text3).max(100),
|
|
28746
28753
|
form: nullableText,
|
|
28747
|
-
details: z128.unknown(),
|
|
28754
|
+
details: z128.unknown().optional(),
|
|
28748
28755
|
isCombo: z128.boolean(),
|
|
28749
|
-
comboItems: z128.unknown(),
|
|
28756
|
+
comboItems: z128.unknown().optional(),
|
|
28750
28757
|
images: z128.array(text3).min(1).max(50),
|
|
28751
28758
|
cleanImages: z128.array(text3).max(50),
|
|
28752
|
-
cleanImagesMeta: z128.unknown()
|
|
28759
|
+
cleanImagesMeta: z128.unknown().optional()
|
|
28753
28760
|
}),
|
|
28754
28761
|
angles: z128.array(z128.object({
|
|
28755
28762
|
content: text3,
|
|
@@ -28768,7 +28775,7 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28768
28775
|
durationSeconds: z128.number().int().positive().nullable(),
|
|
28769
28776
|
format: VideoFormat,
|
|
28770
28777
|
resultUrls: z128.array(text3).min(1).max(10),
|
|
28771
|
-
rawResponse: z128.unknown(),
|
|
28778
|
+
rawResponse: z128.unknown().optional(),
|
|
28772
28779
|
adCopy: nullableText
|
|
28773
28780
|
})).min(1).max(10),
|
|
28774
28781
|
landingImages: z128.array(z128.object({
|
|
@@ -28779,17 +28786,17 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28779
28786
|
height: z128.number().int().positive(),
|
|
28780
28787
|
notes: nullableText
|
|
28781
28788
|
})).max(20),
|
|
28782
|
-
landingConfig: z128.unknown(),
|
|
28789
|
+
landingConfig: z128.unknown().optional(),
|
|
28783
28790
|
image,
|
|
28784
|
-
productUseSheet: z128.unknown(),
|
|
28785
|
-
productTruth: z128.unknown(),
|
|
28791
|
+
productUseSheet: z128.unknown().optional(),
|
|
28792
|
+
productTruth: z128.unknown().optional(),
|
|
28786
28793
|
productReference: z128.object({
|
|
28787
28794
|
referenceEvidenceVersion: z128.number().int().nonnegative(),
|
|
28788
28795
|
planVersion: z128.number().int().positive(),
|
|
28789
28796
|
baseReferenceSetHash: text3,
|
|
28790
|
-
referenceSet: z128.unknown(),
|
|
28791
|
-
preparationPlan: z128.unknown(),
|
|
28792
|
-
canonicalIdentityAnchors: z128.unknown()
|
|
28797
|
+
referenceSet: z128.unknown().optional(),
|
|
28798
|
+
preparationPlan: z128.unknown().optional(),
|
|
28799
|
+
canonicalIdentityAnchors: z128.unknown().optional()
|
|
28793
28800
|
})
|
|
28794
28801
|
});
|
|
28795
28802
|
var ProductDemoPhaseSchema = z128.enum([
|
|
@@ -28818,10 +28825,10 @@ var ProductDemoTaskStateSchema = z128.object({
|
|
|
28818
28825
|
// ../../packages/types/src/demo-mode-service-page-assets.ts
|
|
28819
28826
|
import { z as z129 } from "zod";
|
|
28820
28827
|
var DemoServicePageAssetSourceSchema = z129.object({
|
|
28821
|
-
pageId: z129.string().
|
|
28828
|
+
pageId: z129.string().guid(),
|
|
28822
28829
|
ownerId: z129.string().min(1),
|
|
28823
28830
|
assets: z129.array(z129.object({
|
|
28824
|
-
id: z129.string().
|
|
28831
|
+
id: z129.string().guid(),
|
|
28825
28832
|
storageKey: z129.string().min(1).max(1024),
|
|
28826
28833
|
mediaType: z129.enum([
|
|
28827
28834
|
"image/webp",
|
|
@@ -28897,14 +28904,14 @@ var DEMO_MODE_OPTIONAL_TEMPLATE_KEYS = [
|
|
|
28897
28904
|
...DEMO_MODE_OPTIONAL_MOTION_TEMPLATE_KEYS,
|
|
28898
28905
|
...DEMO_MODE_PRODUCT_ALL_TEMPLATE_KEYS
|
|
28899
28906
|
];
|
|
28900
|
-
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().
|
|
28907
|
+
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().guid().optional());
|
|
28901
28908
|
var DemoModeTemplatesSchema = z130.object({
|
|
28902
|
-
brandId: z130.string().
|
|
28903
|
-
servicePageId: z130.string().
|
|
28904
|
-
motionTaskId: z130.string().
|
|
28909
|
+
brandId: z130.string().guid(),
|
|
28910
|
+
servicePageId: z130.string().guid(),
|
|
28911
|
+
motionTaskId: z130.string().guid(),
|
|
28905
28912
|
motionVariantTaskId: optionalTemplateId,
|
|
28906
28913
|
motionThirdTaskId: optionalTemplateId,
|
|
28907
|
-
imageTaskId: z130.string().
|
|
28914
|
+
imageTaskId: z130.string().guid(),
|
|
28908
28915
|
productLandingTaskId: optionalTemplateId,
|
|
28909
28916
|
productVideoTaskId: optionalTemplateId,
|
|
28910
28917
|
productVideoVariantTaskId: optionalTemplateId,
|
|
@@ -28945,7 +28952,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28945
28952
|
product: ProductDemoSnapshotSchema.optional(),
|
|
28946
28953
|
brand: z130.object({
|
|
28947
28954
|
/** Columnas de identidad de `Brand` listas para un `update` (sin id/userId/slug/estado/fechas). */
|
|
28948
|
-
identity: z130.record(z130.unknown()),
|
|
28955
|
+
identity: z130.record(z130.string(), z130.unknown()),
|
|
28949
28956
|
productSamples: z130.array(z130.object({
|
|
28950
28957
|
name: z130.string(),
|
|
28951
28958
|
priceCents: z130.number().int().nullable(),
|
|
@@ -28965,9 +28972,9 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28965
28972
|
}))
|
|
28966
28973
|
}),
|
|
28967
28974
|
servicePage: z130.object({
|
|
28968
|
-
facts: z130.unknown(),
|
|
28969
|
-
review: z130.unknown(),
|
|
28970
|
-
artifact: z130.unknown(),
|
|
28975
|
+
facts: z130.unknown().optional(),
|
|
28976
|
+
review: z130.unknown().optional(),
|
|
28977
|
+
artifact: z130.unknown().optional(),
|
|
28971
28978
|
/** Optional only for snapshots saved before page-owned demo media. */
|
|
28972
28979
|
assetSource: DemoServicePageAssetSourceSchema.optional()
|
|
28973
28980
|
}),
|
|
@@ -28993,7 +29000,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28993
29000
|
width: z130.number().int(),
|
|
28994
29001
|
height: z130.number().int(),
|
|
28995
29002
|
adCopy: nullableString,
|
|
28996
|
-
rawResponse: z130.unknown()
|
|
29003
|
+
rawResponse: z130.unknown().optional()
|
|
28997
29004
|
})
|
|
28998
29005
|
});
|
|
28999
29006
|
var DemoModeConfigSchema = DemoModeEditableObjectSchema.extend({
|
|
@@ -29058,7 +29065,7 @@ var DemoModeJobSchema = z130.object({
|
|
|
29058
29065
|
productPhase: ProductDemoJobPhaseSchema.optional(),
|
|
29059
29066
|
step: DemoModeStepSchema,
|
|
29060
29067
|
/** brandId | servicePageOperationId | taskId según el flujo. */
|
|
29061
|
-
targetId: z130.string().
|
|
29068
|
+
targetId: z130.string().guid(),
|
|
29062
29069
|
userId: z130.string().min(1),
|
|
29063
29070
|
/** Solo marca: la generación de extracción que el guion completa. */
|
|
29064
29071
|
generation: z130.number().int().positive().optional(),
|
|
@@ -30980,7 +30987,7 @@ var ApiClient = class {
|
|
|
30980
30987
|
};
|
|
30981
30988
|
|
|
30982
30989
|
// src/index.ts
|
|
30983
|
-
var MCP_VERSION = "12.
|
|
30990
|
+
var MCP_VERSION = "12.5.0";
|
|
30984
30991
|
|
|
30985
30992
|
// src/meta-upload-app.ts
|
|
30986
30993
|
import { readFileSync } from "fs";
|
|
@@ -32138,7 +32145,7 @@ var ImageCreativeAspectRatioEnum = ImageCreativeAspectRatio;
|
|
|
32138
32145
|
var ImageRefSchema = z133.object({
|
|
32139
32146
|
url: z133.string().url().optional().describe('URL p\xFAblica HTTPS de la foto. Ej: una URL de Shopify CDN, Cloudinary, Imgur. \xDAsala cuando el usuario te diga "est\xE1 en X.com/foto.jpg" o cuando la foto ya est\xE9 hospedada.'),
|
|
32140
32147
|
path: z133.string().min(1).optional().describe('Ruta del archivo en el computador del usuario. Ej: "/Users/maria/Desktop/foto.jpg", "~/Pictures/camiseta.png", "C:\\Users\\Maria\\Desktop\\foto.jpg". El MCP local la lee del disco y la sube. SOLO funciona cuando el MCP corre local (stdio). NO funciona en mcp.productmaker.app (HTTP) \u2014 ah\xED usa `url`.'),
|
|
32141
|
-
assetId: z133.string().
|
|
32148
|
+
assetId: z133.string().guid().optional().describe("ID opaco devuelto por check_media_upload. \xDAsalo para una imagen subida desde el MCP App; ProductMaker adopta el archivo directamente y el MCP nunca descarga sus bytes.")
|
|
32142
32149
|
}).refine((v) => [
|
|
32143
32150
|
v.url,
|
|
32144
32151
|
v.path,
|
|
@@ -33170,8 +33177,8 @@ function serviceVideoResultMedia(result) {
|
|
|
33170
33177
|
}
|
|
33171
33178
|
__name(serviceVideoResultMedia, "serviceVideoResultMedia");
|
|
33172
33179
|
var CreativeVariantIdentity = z134.object({
|
|
33173
|
-
variantTaskId: z134.string().
|
|
33174
|
-
sourceTaskId: z134.string().
|
|
33180
|
+
variantTaskId: z134.string().guid(),
|
|
33181
|
+
sourceTaskId: z134.string().guid(),
|
|
33175
33182
|
kind: TaskCreativeVariantKind,
|
|
33176
33183
|
status: TaskStatusSchema,
|
|
33177
33184
|
error: z134.string().optional()
|
|
@@ -34314,9 +34321,9 @@ var CreateAnimatedVideoInput = z136.object({
|
|
|
34314
34321
|
"cancel",
|
|
34315
34322
|
"generate"
|
|
34316
34323
|
]).default("prepare").describe("prepare inicia una captura gratuita; status consulta websiteCaptureId; cancel la cancela; generate requiere captura ready y confirmaci\xF3n expl\xEDcita del usuario despu\xE9s de mostrar vista previa y precio."),
|
|
34317
|
-
brandId: z136.string().
|
|
34318
|
-
websiteCaptureId: z136.string().
|
|
34319
|
-
generationRequestId: z136.string().
|
|
34324
|
+
brandId: z136.string().guid().optional().describe("ID de un servicio propio y listo (de create_brand). Obligatorio al preparar y crear videos nuevos. Conserva el mismo brandId en reintentos; si recuperas una generaci\xF3n hist\xF3rica aceptada sin este campo, om\xEDtelo como en la petici\xF3n original. status/cancel no lo necesitan."),
|
|
34325
|
+
websiteCaptureId: z136.string().guid().optional().describe("ID de la captura preparada. Obligatorio para status/cancel/generate; no inventarlo."),
|
|
34326
|
+
generationRequestId: z136.string().guid().optional().describe("Identidad opcional de una generaci\xF3n confirmada. Repite el mismo UUID al recuperar una respuesta perdida; usa otro \xFAnicamente cuando el usuario pida y confirme otro video, nunca por un error de transporte."),
|
|
34320
34327
|
confirmed: z136.boolean().optional().describe("Solo true despu\xE9s de que el usuario confirme esta captura, formato, duraci\xF3n, idioma y precio. Obligatorio para generate; preparar no genera ni cobra."),
|
|
34321
34328
|
// Plain text, not `.url()`: users type «cal.com», and the web accepts it.
|
|
34322
34329
|
// normalizeWebAddress (shared with the web) adds https:// and refuses
|
|
@@ -34406,7 +34413,7 @@ var AnimatedVideoResultSchema = z136.object({
|
|
|
34406
34413
|
index: MotionGraphicsHookVariantsSchema,
|
|
34407
34414
|
count: MotionGraphicsHookVariantsSchema,
|
|
34408
34415
|
tasks: z136.array(z136.object({
|
|
34409
|
-
taskId: z136.string().
|
|
34416
|
+
taskId: z136.string().guid(),
|
|
34410
34417
|
index: MotionGraphicsHookVariantsSchema,
|
|
34411
34418
|
status: z136.enum([
|
|
34412
34419
|
"queued",
|
|
@@ -34717,7 +34724,7 @@ function registerAnimatedVideoTools(server, api) {
|
|
|
34717
34724
|
nowMs: 0
|
|
34718
34725
|
})
|
|
34719
34726
|
});
|
|
34720
|
-
const parsedTaskIds = z136.array(z136.string().
|
|
34727
|
+
const parsedTaskIds = z136.array(z136.string().guid()).min(1).max(MOTION_GRAPHICS_HOOK_VARIANTS_MAX).safeParse(created.taskIds);
|
|
34721
34728
|
const taskIds = parsedTaskIds.success && parsedTaskIds.data[0] === created.taskId ? parsedTaskIds.data : void 0;
|
|
34722
34729
|
const receipt = {
|
|
34723
34730
|
taskId: created.taskId,
|
|
@@ -34761,7 +34768,7 @@ __name(registerAnimatedVideoTools, "registerAnimatedVideoTools");
|
|
|
34761
34768
|
// src/tools/winning-product-image.ts
|
|
34762
34769
|
import { z as z137 } from "zod";
|
|
34763
34770
|
var WinnerReferenceInput = z137.object({
|
|
34764
|
-
runId: z137.string().
|
|
34771
|
+
runId: z137.string().guid(),
|
|
34765
34772
|
candidateSourceId: z137.string().trim().min(1).max(160)
|
|
34766
34773
|
}).strict().describe("Referencia opaca de un producto devuelto por find_winning_products/get_product_research_run.");
|
|
34767
34774
|
async function resolveWinnerImages(api, winnerReference, images) {
|
|
@@ -34802,7 +34809,7 @@ var editTaskDraftGuidance = getProductMakerCapabilityModelGuidance("edit_task_dr
|
|
|
34802
34809
|
var CreateProductTaskInput = z138.object({
|
|
34803
34810
|
images: ImagesInput.optional().describe("1\u20135 fotos del mismo producto. Omitir \xFAnicamente cuando projectId apunta a un proyecto propio con imagen guardada."),
|
|
34804
34811
|
winnerReference: WinnerReferenceInput.optional().describe(WINNER_IMAGE_CHOICE_GUIDANCE),
|
|
34805
|
-
projectId: z138.string().
|
|
34812
|
+
projectId: z138.string().guid().optional().describe("Opcional. Proyecto guiado propio. Permite continuar sin volver a subir la imagen guardada; nunca evita cr\xE9ditos, cuotas ni confirmaciones."),
|
|
34806
34813
|
productUrl: z138.string().url().optional().describe("Opcional. URL de la p\xE1gina del producto (Shopify, AliExpress, Amazon, etc.) para enriquecer el contexto. Si se omite, la IA infiere todo desde la imagen."),
|
|
34807
34814
|
language: Lang.describe('C\xF3digo de idioma para el contenido generado. Ejemplos: "es", "en", "pt". REQUERIDO \u2014 si el usuario no lo especific\xF3, PREG\xDANTALE antes de invocar. NUNCA infieras desde el contexto del chat ni asumas "es" por default.'),
|
|
34808
34815
|
country: Country.describe('C\xF3digo ISO del pa\xEDs objetivo. Ejemplos: "CO", "MX", "US", "AR". Define moneda, m\xE9todos de pago locales y tono. REQUERIDO \u2014 si el usuario no lo especific\xF3, PREG\xDANTALE antes de invocar. NUNCA infieras desde el contexto del chat.'),
|
|
@@ -34835,13 +34842,13 @@ var CreateProductTaskInput = z138.object({
|
|
|
34835
34842
|
competitorScanEnabled: z138.boolean().optional().describe("Opcional. Default false: omitirlo significa SIN estudio de mercado. Antes de crear, llama estimate_market_study_cost con kind=product_task, muestra al usuario el costo con y sin estudio y preg\xFAntale si lo quiere; env\xEDa true solo si lo acepta (o si solicita la narrativa an\xE1lisis de mercado). Si la tarea incluye video, true analiza anuncios de la competencia y desbloquea la narrativa an\xE1lisis de mercado; si el estudio no encuentra datos suficientes, degrada al planner cl\xE1sico."),
|
|
34836
34843
|
generateAiEdit: AiEditRequestSchema.optional().describe('Opcional. Pide la Edici\xF3n con IA: una pasada que a\xF1ade texto, efectos y m\xFAsica sobre cada video entregado (variante with_ai_edit; se cobra al entregar, por video). Nivel: "economy" (Econ\xF3mica, Sonnet 5.5, m\xE1s barata) o "pro" (Opus 5.5, mejor calidad, ~10 min). true equivale a "pro"; false/omitido = sin edici\xF3n.'),
|
|
34837
34844
|
replicateWinnerWhenFound: z138.boolean().optional().describe("Conserva la preferencia de copiar un ganador si existe. false estudia el mercado sin reemplazar un \xE1ngulo por el anuncio ganador. No a\xF1ade una pregunta obligatoria."),
|
|
34838
|
-
brandId: z138.string().
|
|
34845
|
+
brandId: z138.string().guid().optional().describe("Opcional. ID de una marca del usuario; si se env\xEDa, el sistema usa su voz, colores y persona para enriquecer los outputs generados."),
|
|
34839
34846
|
actorId: z138.string().trim().min(1).max(120).optional().describe("Opcional. ID de un personaje guardado (usa list_actors para verlos). Si lo env\xEDas, su foto y su voz mandan sobre la descripci\xF3n de texto."),
|
|
34840
34847
|
creativeGender: CreativeGenderEnum.optional().describe('Opcional. QUI\xC9N APARECE EN PANTALLA en todos los creativos de la task: el presentador del video, las personas fotografiadas en la landing y la persona del anuncio. NO es la voz. M\xE1ndalo en cuanto el usuario lo diga en cualquier momento de la conversaci\xF3n y con cualquier redacci\xF3n ("quiero una mujer", "que salga un hombre", "esto es para hombres"): si no lo mandas, el g\xE9nero lo inventa la IA y el usuario recibe lo contrario de lo que pidi\xF3 sin ning\xFAn aviso. "mixed" solo cuando pida expl\xEDcitamente ambos. Si adem\xE1s mandas actorId, el personaje guardado manda sobre este campo.'),
|
|
34841
34848
|
creativeDirection: z138.string().max(500).optional().describe('Opcional. Direcci\xF3n creativa en texto libre (colores, mood, estilo) que aplica a los outputs de IMAGEN y LANDING (no al video \u2014 el estilo/ambiente del video se dirige con scriptNotes). M\xC1XIMA PRIORIDAD: anula marca, colores y estilo por defecto. Ej. "amarillo y azul, minimalista". M\xE1x 500 caracteres.'),
|
|
34842
34849
|
headline: z138.string().max(120).optional().describe("Opcional. Titular EXACTO a renderizar. Se imprime tal cual: la IA no lo reescribe, no lo acorta y no lo traduce. Se aplica a las IM\xC1GENES y a la portada de la landing de esta task (el video no lo usa; para el video usa scriptNotes). \xDAsalo cuando el copy es de marca y no es negociable. M\xE1x 120 caracteres. Si lo omites, la IA escribe el titular."),
|
|
34843
34850
|
subheadline: z138.string().max(160).optional().describe("Opcional. Subt\xEDtulo EXACTO a renderizar, misma regla que headline. Independiente: puedes fijar solo el subt\xEDtulo. M\xE1x 160 caracteres."),
|
|
34844
|
-
landingStrategy: LandingStrategyEnum.optional().describe('Opcional. Estructura de la landing cl\xE1sica cuando landing est\xE1 entre outputs: "classic" (Landing cl\xE1sica de ProductMaker: estructura original probada y recomendada)
|
|
34851
|
+
landingStrategy: LandingStrategyEnum.optional().describe('Opcional. Estructura de la landing cl\xE1sica cuando landing est\xE1 entre outputs: "classic" (Landing cl\xE1sica de ProductMaker: estructura original probada y recomendada) , "social_proof" (Landing Viral: UGC, WhatsApp, Instagram y evidencia social) o "pain_solution" (Problema y soluci\xF3n: dolor reconocible, demostraci\xF3n y transformaci\xF3n). Default "classic".'),
|
|
34845
34852
|
landingImageFormat: LandingImageFormatEnum.default("9:16").describe('Opcional. Formato/relaci\xF3n de aspecto de las im\xE1genes de la landing cl\xE1sica cuando landing est\xE1 entre outputs: "9:16" (vertical, por defecto), "4:5" (vertical compacto para feed) o "1:1" (cuadrado). Default "9:16".')
|
|
34846
34853
|
}).strict();
|
|
34847
34854
|
var CreateServiceVideoInput = z138.object({
|
|
@@ -34849,7 +34856,7 @@ var CreateServiceVideoInput = z138.object({
|
|
|
34849
34856
|
additionalContext: z138.string().max(3e3).optional().describe('Instrucci\xF3n natural prioritaria. Ej.: "adapta el ritmo de estos competidores", "enfatiza reservas de demos" o restricciones de claims.'),
|
|
34850
34857
|
language: Lang.describe("Idioma del video: es, en o pt."),
|
|
34851
34858
|
voiceId: z138.string().trim().min(1).pipe(VoiceId).optional().describe('Opcional. Voz para toda la narraci\xF3n. Usa "auto" para que la IA la alinee con el presentador. Las voces del banco compartido fueron retiradas.'),
|
|
34852
|
-
brandId: z138.string().
|
|
34859
|
+
brandId: z138.string().guid().optional().describe("Marca guardada del usuario. Aplica voz, mensajes, paleta y persona predeterminada."),
|
|
34853
34860
|
reviewMode: z138.enum([
|
|
34854
34861
|
"automatic",
|
|
34855
34862
|
"guided"
|
|
@@ -34895,7 +34902,7 @@ var PendingActionPayload = z138.discriminatedUnion("kind", [
|
|
|
34895
34902
|
kind: z138.literal("product_reference_set_approval"),
|
|
34896
34903
|
scope: ProductReferenceScopeEnum.optional(),
|
|
34897
34904
|
scopeKey: z138.string().min(1).max(120).optional(),
|
|
34898
|
-
scopeSnapshotId: z138.string().
|
|
34905
|
+
scopeSnapshotId: z138.string().guid().optional(),
|
|
34899
34906
|
expectedScopeHash: z138.string().min(1).max(128).optional(),
|
|
34900
34907
|
decision: ProductReferenceResolutionDecisionEnum,
|
|
34901
34908
|
reason: ProductReferenceRejectionReasonEnum.optional(),
|
|
@@ -34960,7 +34967,7 @@ var PendingActionPayload = z138.discriminatedUnion("kind", [
|
|
|
34960
34967
|
}),
|
|
34961
34968
|
z138.object({
|
|
34962
34969
|
kind: z138.literal("service_angle_approval"),
|
|
34963
|
-
angleId: z138.string().
|
|
34970
|
+
angleId: z138.string().guid().optional(),
|
|
34964
34971
|
angleNumber: z138.number().int().positive().optional(),
|
|
34965
34972
|
content: z138.string().min(1).max(480).optional(),
|
|
34966
34973
|
creativeDirection: z138.string().min(1).max(1500).optional(),
|
|
@@ -35063,7 +35070,7 @@ var StatusForResolveSchema = z138.object({
|
|
|
35063
35070
|
}).optional(),
|
|
35064
35071
|
scope: ProductReferenceScopeEnum.optional(),
|
|
35065
35072
|
scopeKey: z138.string().optional(),
|
|
35066
|
-
scopeSnapshotId: z138.string().
|
|
35073
|
+
scopeSnapshotId: z138.string().guid().optional(),
|
|
35067
35074
|
scopeHash: z138.string().optional(),
|
|
35068
35075
|
baseReferenceSetHash: z138.string().optional(),
|
|
35069
35076
|
phase: z138.enum([
|
|
@@ -35092,7 +35099,7 @@ var StatusForResolveSchema = z138.object({
|
|
|
35092
35099
|
// dropped here, so the approval handler below could not echo it back on the
|
|
35093
35100
|
// PATCH — the selection looked accepted and reached no render.
|
|
35094
35101
|
angles: z138.array(z138.object({
|
|
35095
|
-
id: z138.string().
|
|
35102
|
+
id: z138.string().guid(),
|
|
35096
35103
|
content: z138.string(),
|
|
35097
35104
|
creativeDirection: z138.string(),
|
|
35098
35105
|
actor: z138.string(),
|
|
@@ -35454,8 +35461,8 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
35454
35461
|
server.registerTool("verify_landing_commerce", {
|
|
35455
35462
|
description: getProductMakerCapabilityModelGuidance("verify_landing_commerce").summary + " Verifica una correcci\xF3n manual de precios, tachados o packs de una landing editable existente. Solo relee Shopify y los recibos externos; no cambia precios, inventario, SKU ni compra una edici\xF3n. Pasa taskId y editId de la edici\xF3n ya conocida; nunca inventes IDs ni pidas repetir el cambio. Devuelve el estado can\xF3nico por proveedor: conserva el aviso pendiente hasta confirmar los valores reales. Solo despu\xE9s de confirmar todos los valores, el servidor puede volver a habilitar la compra. Web guardada no demuestra publicaci\xF3n p\xFAblica ni checkout; muestra las correcciones y enlaces pendientes sin c\xF3digos t\xE9cnicos. La disponibilidad del editor conserva sus permisos actuales.",
|
|
35456
35463
|
inputSchema: {
|
|
35457
|
-
taskId: z138.string().
|
|
35458
|
-
editId: z138.string().
|
|
35464
|
+
taskId: z138.string().guid(),
|
|
35465
|
+
editId: z138.string().guid()
|
|
35459
35466
|
},
|
|
35460
35467
|
annotations: OVERWRITES_EXTERNAL
|
|
35461
35468
|
}, async (input) => {
|
|
@@ -35734,7 +35741,7 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
35734
35741
|
...page.data,
|
|
35735
35742
|
items: page.data.items.map((item) => {
|
|
35736
35743
|
const servicePage = z138.object({
|
|
35737
|
-
taskId: z138.string().
|
|
35744
|
+
taskId: z138.string().guid(),
|
|
35738
35745
|
resourceType: z138.literal("service_page")
|
|
35739
35746
|
}).passthrough().safeParse(item);
|
|
35740
35747
|
if (!servicePage.success) return item;
|
|
@@ -36246,7 +36253,7 @@ var CreateBrandInput = z139.object({
|
|
|
36246
36253
|
"pt"
|
|
36247
36254
|
]).optional().describe("Idioma de la conversaci\xF3n. Solo se usa si la p\xE1gina del negocio no deja claro su idioma."),
|
|
36248
36255
|
confirmed: z139.boolean().optional().describe("Solo true despu\xE9s de mostrar el precio y que el usuario acepte. Sin confirmed, start solo cotiza y no cobra."),
|
|
36249
|
-
brandId: z139.string().
|
|
36256
|
+
brandId: z139.string().guid().optional().describe("ID de la marca. Obligatorio para status; no lo inventes.")
|
|
36250
36257
|
}).strict();
|
|
36251
36258
|
function normalizeBrandSourceUrl(raw) {
|
|
36252
36259
|
const value = raw.trim();
|
|
@@ -36541,12 +36548,12 @@ var CreateServiceLandingInput = z140.object({
|
|
|
36541
36548
|
"status",
|
|
36542
36549
|
"publish"
|
|
36543
36550
|
]).default("prepare").describe("prepare (gratis) crea o retoma la landing de la marca y da el precio; build (pagado, confirmed=true) genera la p\xE1gina directamente con la marca y los datos guardados; status sigue el avance; publish la publica y devuelve su enlace."),
|
|
36544
|
-
brandId: z140.string().
|
|
36545
|
-
servicePageId: z140.string().
|
|
36551
|
+
brandId: z140.string().guid().optional().describe("ID de la marca (de create_brand). Obligatorio para prepare. Nunca un taskId de producto."),
|
|
36552
|
+
servicePageId: z140.string().guid().optional().describe("ID de la landing que devolvi\xF3 prepare. Obligatorio para build, status y publish."),
|
|
36546
36553
|
businessInfo: z140.string().trim().max(SERVICE_LANDING_INFO_MAX_CHARS).optional().describe("Opcional. Lo que el usuario cont\xF3 del negocio y no estaba en su marca: servicios y precios, WhatsApp o tel\xE9fono, ciudad o zona, horarios. Copia sus palabras; no inventes datos."),
|
|
36547
36554
|
confirmed: z140.boolean().optional().describe("Solo true despu\xE9s de mostrar el precio total y que el usuario acepte. Obligatorio para build."),
|
|
36548
36555
|
maxCredits: z140.number().int().positive().optional().describe("El total en cr\xE9ditos que el usuario acept\xF3 (el que devolvi\xF3 prepare). Obligatorio para build: ninguna etapa se inicia si su precio supera este total."),
|
|
36549
|
-
operationId: z140.string().
|
|
36556
|
+
operationId: z140.string().guid().optional().describe("Opcional en status: la operaci\xF3n que devolvi\xF3 build."),
|
|
36550
36557
|
slug: z140.string().trim().toLowerCase().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(64).optional().describe("Opcional en publish: la direcci\xF3n corta de la p\xE1gina (ej. sanlucas-barberia). Si falta se usa la sugerida desde el nombre del negocio.")
|
|
36551
36558
|
}).strict();
|
|
36552
36559
|
function serviceKey(...parts) {
|
|
@@ -36940,7 +36947,7 @@ var LANGUAGE_TAGS = {
|
|
|
36940
36947
|
pt: "pt-BR"
|
|
36941
36948
|
};
|
|
36942
36949
|
var CreateServiceImagesInput = z141.object({
|
|
36943
|
-
brandId: z141.string().
|
|
36950
|
+
brandId: z141.string().guid().optional().describe("ID de un servicio propio y listo (de create_brand), obligatorio para cotizar y crear im\xE1genes nuevas. En un retry hist\xF3rico ya confirmado que originalmente no ten\xEDa este campo, conserva la petici\xF3n original. Nunca un taskId de producto."),
|
|
36944
36951
|
instruction: z141.string().trim().max(4e3).optional().describe("Opcional. Qu\xE9 servicio o promoci\xF3n mostrar, con las palabras del usuario (ej. \xABcorte + barba a $35.000 los martes\xBB). Si se omite, la IA propone la imagen usando la informaci\xF3n del servicio."),
|
|
36945
36952
|
delegateToAi: z141.boolean().optional().describe("true si el usuario prefiere que la IA elija qu\xE9 mostrar a partir de su servicio. Tambi\xE9n se delega cuando instruction est\xE1 vac\xEDo."),
|
|
36946
36953
|
format: z141.enum(SERVICE_IMAGE_FORMATS).optional().describe('Formato: "4:5" (feed, por defecto), "9:16" (historias/reels) o "1:1" (cuadrado).'),
|
|
@@ -37099,7 +37106,7 @@ var CreativeRefs = {
|
|
|
37099
37106
|
buyerPersona: z142.string().optional().describe('Opcional. Descripci\xF3n del comprador objetivo. Ej. "Mujeres 35-50, profesionales urbanas". Si se omite, la IA infiere desde el \xE1ngulo y producto.'),
|
|
37100
37107
|
isCombo: z142.boolean().optional().describe("Opcional. Si true, el creativo presenta el producto como combo/pack. Default false."),
|
|
37101
37108
|
competitorScanEnabled: z142.boolean().optional().describe("Opcional. Default false: omitirlo significa SIN estudio de mercado. Antes de crear, llama estimate_market_study_cost, muestra al usuario el costo con y sin estudio y preg\xFAntale si lo quiere; env\xEDa true solo si lo acepta (o si solicita la narrativa an\xE1lisis de mercado). En video, true analiza anuncios de la competencia y desbloquea la narrativa an\xE1lisis de mercado; si el estudio no encuentra datos suficientes, degrada al planner cl\xE1sico."),
|
|
37102
|
-
brandId: z142.string().
|
|
37109
|
+
brandId: z142.string().guid().optional().describe("Opcional. ID de una marca del usuario; si se env\xEDa, el sistema usa su voz, colores y persona para enriquecer el creativo.")
|
|
37103
37110
|
};
|
|
37104
37111
|
var VideoPresenter = z142.discriminatedUnion("mode", [
|
|
37105
37112
|
z142.object({
|
|
@@ -37204,7 +37211,7 @@ var FreeVideoInput = z142.object({
|
|
|
37204
37211
|
generateAiMusic: z142.boolean().default(false).describe('Opcional. Agrega m\xFAsica instrumental IA debajo del audio nativo. Default false. Equivale a generateAiEdit (nivel "pro"): la Edici\xF3n con IA trae su propia m\xFAsica.'),
|
|
37205
37212
|
generateAiEdit: AiEditRequestSchema.optional().describe('Opcional. Pide la Edici\xF3n con IA: una pasada que a\xF1ade texto, gr\xE1ficos y m\xFAsica sobre el video ya entregado (variante with_ai_edit; se cobra al entregar). Nivel: "economy" (Econ\xF3mica, Sonnet 5.5, m\xE1s barata) o "pro" (Opus 5.5, mejor calidad, ~10 min). true equivale a "pro". Default sin edici\xF3n.'),
|
|
37206
37213
|
addSubtitles: z142.boolean().default(false).describe("Opcional. Quema subt\xEDtulos usando el rawPrompt exacto. Default false."),
|
|
37207
|
-
idempotencyKey: z142.string().
|
|
37214
|
+
idempotencyKey: z142.string().guid().optional().describe("Opcional. Se acepta por compatibilidad pero se ignora: la identidad del reintento se deriva autom\xE1ticamente de los argumentos sem\xE1nticos, as\xED que un retry con los mismos argumentos ya es idempotente sin este campo.")
|
|
37208
37215
|
}).strict();
|
|
37209
37216
|
var imageStyleList = ImageCreativeStyleEnum.options.join(" | ");
|
|
37210
37217
|
var ImageCreativeSetup = z142.discriminatedUnion("mode", [
|
|
@@ -37306,7 +37313,7 @@ var ImageInput = z142.object({
|
|
|
37306
37313
|
brandId: CreativeRefs.brandId
|
|
37307
37314
|
});
|
|
37308
37315
|
var EditImageCreativeInput = z142.object({
|
|
37309
|
-
taskId: z142.string().
|
|
37316
|
+
taskId: z142.string().guid().describe("ID de la tarea de imagen ya finalizada."),
|
|
37310
37317
|
variantIndex: z142.number().int().min(0).max(10).describe("\xCDndice de la variante a corregir (0 = primera imagen)."),
|
|
37311
37318
|
clientRequestId: z142.string().min(1).max(160).optional().describe("Identidad estable de esta correcci\xF3n; reutil\xEDzala al reconciliar una respuesta perdida, no para otra instrucci\xF3n."),
|
|
37312
37319
|
instruction: z142.string().min(1).max(1e3).describe('Qu\xE9 cambiar en esa imagen. Ej. "quita el badge de env\xEDo gratis", "cambia el fondo a blanco".')
|
|
@@ -37601,8 +37608,8 @@ function registerCreativeTools(server, api, { transport = "http", proxyBaseUrl =
|
|
|
37601
37608
|
server.registerTool("get_image_edit_status", {
|
|
37602
37609
|
description: imageEditStatusGuidance.summary,
|
|
37603
37610
|
inputSchema: {
|
|
37604
|
-
taskId: z142.string().
|
|
37605
|
-
operationId: z142.string().
|
|
37611
|
+
taskId: z142.string().guid(),
|
|
37612
|
+
operationId: z142.string().guid()
|
|
37606
37613
|
},
|
|
37607
37614
|
annotations: READS_INTERNAL,
|
|
37608
37615
|
_meta: taskResultsToolMeta()
|
|
@@ -37741,7 +37748,7 @@ var CreativeVariantKindEnum = z143.enum([
|
|
|
37741
37748
|
"landing"
|
|
37742
37749
|
]);
|
|
37743
37750
|
var EstimateCreativeVariantInputBase = z143.object({
|
|
37744
|
-
sourceTaskId: z143.string().
|
|
37751
|
+
sourceTaskId: z143.string().guid().describe("ID de la tarea original completada."),
|
|
37745
37752
|
kind: CreativeVariantKindEnum,
|
|
37746
37753
|
videoPreset: TaskCreativeVariantVideoPresetEnum.optional().describe("Opcional para video. Solo cambia el preset p\xFAblico; el servidor conserva el modelo/tier del task origen."),
|
|
37747
37754
|
videoResolution: VideoResolutionEnum.optional().describe("Opcional para video. Resoluci\xF3n del nuevo render."),
|
|
@@ -37810,10 +37817,10 @@ var EstimateCreativeVariantInput = EstimateCreativeVariantInputBase.superRefine(
|
|
|
37810
37817
|
}
|
|
37811
37818
|
});
|
|
37812
37819
|
var CreateCreativeVariantInputBase = z143.object({
|
|
37813
|
-
sourceTaskId: z143.string().
|
|
37820
|
+
sourceTaskId: z143.string().guid().describe("ID de la tarea original completada."),
|
|
37814
37821
|
kind: CreativeVariantKindEnum,
|
|
37815
37822
|
confirm: z143.literal(true).describe("Confirmaci\xF3n expl\xEDcita del usuario despu\xE9s de mostrarle el estimado de cr\xE9ditos."),
|
|
37816
|
-
clientRequestId: z143.string().
|
|
37823
|
+
clientRequestId: z143.string().guid().describe("UUID estable para esta intenci\xF3n (obligatorio por compatibilidad de contrato; el servidor deriva la identidad real del request desde los argumentos sem\xE1nticos, as\xED que un UUID nuevo en un retry NO crea una variante duplicada). Si la API devuelve status=error, una nueva generaci\xF3n exige otra confirmaci\xF3n."),
|
|
37817
37824
|
angle: z143.string().trim().min(1).max(500).optional().describe("\xC1ngulo nuevo para video o imagen."),
|
|
37818
37825
|
buyerPersona: z143.string().trim().min(1).max(360).optional().describe("Buyer persona coherente con el \xE1ngulo."),
|
|
37819
37826
|
scriptNotes: z143.string().trim().min(1).max(2e3).optional().describe("Direcci\xF3n breve del guion para una variante de video."),
|
|
@@ -38182,7 +38189,7 @@ function registerConnectionTools(server, api) {
|
|
|
38182
38189
|
inputSchema: z145.object({
|
|
38183
38190
|
shopDomain: z145.string().min(3).max(120),
|
|
38184
38191
|
query: z145.string().trim().max(120).optional(),
|
|
38185
|
-
taskId: z145.string().
|
|
38192
|
+
taskId: z145.string().guid().optional()
|
|
38186
38193
|
}).shape,
|
|
38187
38194
|
annotations: READS_EXTERNAL
|
|
38188
38195
|
}, async ({ shopDomain, query, taskId }) => {
|
|
@@ -38534,8 +38541,8 @@ var GroupedMediaSource = z147.object({
|
|
|
38534
38541
|
var GroupedUploadedAssetSource = z147.object({
|
|
38535
38542
|
type: z147.literal("asset"),
|
|
38536
38543
|
/** Returned by check_media_upload. ProductMaker resolves ownership server-side. */
|
|
38537
|
-
assetId: z147.string().
|
|
38538
|
-
thumbnailAssetId: z147.string().
|
|
38544
|
+
assetId: z147.string().guid(),
|
|
38545
|
+
thumbnailAssetId: z147.string().guid().optional()
|
|
38539
38546
|
});
|
|
38540
38547
|
var GroupedCreative = z147.object({
|
|
38541
38548
|
type: z147.enum([
|
|
@@ -38682,7 +38689,7 @@ var PresignUploadResponseSchema = z147.object({
|
|
|
38682
38689
|
const url2 = new URL(value);
|
|
38683
38690
|
return !url2.username && !url2.password;
|
|
38684
38691
|
}, "public media URL must not contain embedded credentials"),
|
|
38685
|
-
stagingAssetId: z147.string().
|
|
38692
|
+
stagingAssetId: z147.string().guid()
|
|
38686
38693
|
});
|
|
38687
38694
|
async function uploadResolvedMedia(api, media, assetRole) {
|
|
38688
38695
|
if (!media.buffer) throw new ResolveMediaError("INVALID_INPUT", "resolved media has no bytes");
|
|
@@ -39171,7 +39178,7 @@ var UploadSessionToolInput = z148.object(UploadSessionToolInputShape).superRefin
|
|
|
39171
39178
|
}
|
|
39172
39179
|
});
|
|
39173
39180
|
var UploadSessionResponse = z148.object({
|
|
39174
|
-
sessionId: z148.string().
|
|
39181
|
+
sessionId: z148.string().guid(),
|
|
39175
39182
|
uploadPageUrl: z148.string().url(),
|
|
39176
39183
|
mediaKind: z148.enum([
|
|
39177
39184
|
"image",
|
|
@@ -39186,7 +39193,7 @@ var UploadSessionResponse = z148.object({
|
|
|
39186
39193
|
expiresAt: z148.string().datetime()
|
|
39187
39194
|
});
|
|
39188
39195
|
var UploadStatusInput = z148.object({
|
|
39189
|
-
sessionId: z148.string().
|
|
39196
|
+
sessionId: z148.string().guid().describe("The sessionId returned by request_media_upload.")
|
|
39190
39197
|
});
|
|
39191
39198
|
var UniversalUploadStatusResponse = z148.discriminatedUnion("status", [
|
|
39192
39199
|
z148.object({
|
|
@@ -39196,7 +39203,7 @@ var UniversalUploadStatusResponse = z148.discriminatedUnion("status", [
|
|
|
39196
39203
|
z148.object({
|
|
39197
39204
|
status: z148.literal("uploaded"),
|
|
39198
39205
|
assets: z148.array(z148.object({
|
|
39199
|
-
assetId: z148.string().
|
|
39206
|
+
assetId: z148.string().guid(),
|
|
39200
39207
|
mediaKind: z148.enum([
|
|
39201
39208
|
"image",
|
|
39202
39209
|
"video"
|
|
@@ -39508,7 +39515,7 @@ var ShippingReferenceSchema = z150.object({
|
|
|
39508
39515
|
});
|
|
39509
39516
|
}
|
|
39510
39517
|
});
|
|
39511
|
-
var SHIPPING_REFERENCES = z150.record(ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
39518
|
+
var SHIPPING_REFERENCES = z150.record(z150.string(), ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
39512
39519
|
var PRODUCT_COSTING_COUNTRY_CODES = Object.freeze(Object.keys(SHIPPING_REFERENCES));
|
|
39513
39520
|
var SPANISH_LOCALE_COUNTRIES = /* @__PURE__ */ new Set([
|
|
39514
39521
|
"MX",
|
|
@@ -40347,7 +40354,7 @@ var FindInput = z153.object({
|
|
|
40347
40354
|
waitSeconds: z153.number().int().min(0).max(MAX_WAIT_SECONDS).optional().describe("Segundos a esperar el reporte antes de devolver el runId. M\xE1ximo 120.")
|
|
40348
40355
|
});
|
|
40349
40356
|
var GetInput = z153.object({
|
|
40350
|
-
runId: z153.string().
|
|
40357
|
+
runId: z153.string().guid().describe("ID del run devuelto por find_winning_products.")
|
|
40351
40358
|
});
|
|
40352
40359
|
var ListInput = z153.object({
|
|
40353
40360
|
limit: z153.number().int().min(1).max(20).default(10)
|
|
@@ -40493,7 +40500,7 @@ import { z as z154 } from "zod";
|
|
|
40493
40500
|
var startDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("start_dropshipping_project");
|
|
40494
40501
|
var costDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("cost_dropshipping_project");
|
|
40495
40502
|
var guideDropshippingLaunchGuidance = getProductMakerCapabilityModelGuidance("guide_dropshipping_launch");
|
|
40496
|
-
var ProjectId = z154.string().
|
|
40503
|
+
var ProjectId = z154.string().guid();
|
|
40497
40504
|
var DropshippingProjectStatus = z154.enum([
|
|
40498
40505
|
"active",
|
|
40499
40506
|
"completed",
|
|
@@ -40607,15 +40614,7 @@ var DropshippingProjectNextAction = z154.discriminatedUnion("kind", NEXT_ACTION_
|
|
|
40607
40614
|
kind: z154.literal(kind2),
|
|
40608
40615
|
href: z154.string().min(1)
|
|
40609
40616
|
})));
|
|
40610
|
-
var CostingInputSchema = z154.object({
|
|
40611
|
-
country: z154.string().min(2).max(3),
|
|
40612
|
-
supplierCost: z154.number().finite().positive(),
|
|
40613
|
-
shippingCost: z154.number().finite().nonnegative(),
|
|
40614
|
-
returnRate: z154.number().finite().min(0).lt(1),
|
|
40615
|
-
cancellationRate: z154.number().finite().min(0).lt(1),
|
|
40616
|
-
adsManagerCpa: z154.number().finite().nonnegative(),
|
|
40617
|
-
desiredMargin: z154.number().finite().min(0).lt(1)
|
|
40618
|
-
}).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
40617
|
+
var CostingInputSchema = z154.object(DropshippingProjectCostingInputSchema.shape).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
40619
40618
|
if (returnRate + cancellationRate >= 1) context.addIssue({
|
|
40620
40619
|
code: z154.ZodIssueCode.custom,
|
|
40621
40620
|
path: [
|
|
@@ -40805,10 +40804,10 @@ var DateOnly = z155.string().regex(/^\d{4}-\d{2}-\d{2}$/);
|
|
|
40805
40804
|
var DailyControlInput = z155.object({
|
|
40806
40805
|
date: DateOnly.optional().describe("D\xEDa final de la ventana (YYYY-MM-DD). Si se omite, la ventana termina AYER en UTC \u2014 nunca hoy, porque el d\xEDa en curso est\xE1 incompleto \u2014 y el servidor puede correrla un d\xEDa m\xE1s atr\xE1s si en la zona horaria de la tienda ese d\xEDa todav\xEDa no ha cerrado."),
|
|
40807
40806
|
days: z155.number().int().min(1).max(14).default(3).describe("Tama\xF1o de la ventana, 1 a 14 d\xEDas."),
|
|
40808
|
-
projectId: z155.string().
|
|
40807
|
+
projectId: z155.string().guid().optional().describe("Opcional: limita el reporte a un solo proyecto en vez de todos los productos activos.")
|
|
40809
40808
|
}).strict();
|
|
40810
40809
|
var LinkCampaignInput = z155.object({
|
|
40811
|
-
projectId: z155.string().
|
|
40810
|
+
projectId: z155.string().guid(),
|
|
40812
40811
|
provider: z155.enum([
|
|
40813
40812
|
"meta",
|
|
40814
40813
|
"tiktok"
|
|
@@ -40817,7 +40816,7 @@ var LinkCampaignInput = z155.object({
|
|
|
40817
40816
|
campaignId: ProviderCampaignIdentifier
|
|
40818
40817
|
}).strict();
|
|
40819
40818
|
var ReportReturnsInput = z155.object({
|
|
40820
|
-
projectId: z155.string().
|
|
40819
|
+
projectId: z155.string().guid(),
|
|
40821
40820
|
date: DateOnly,
|
|
40822
40821
|
returnedOrders: z155.number().int().min(0).max(1e5),
|
|
40823
40822
|
note: z155.string().trim().max(280).optional()
|
|
@@ -40835,7 +40834,7 @@ var DailyControlDayMirror = z155.object({
|
|
|
40835
40834
|
light: DailyControlLightMirror
|
|
40836
40835
|
}).passthrough();
|
|
40837
40836
|
var DailyControlProductMirror = z155.object({
|
|
40838
|
-
projectId: z155.string().
|
|
40837
|
+
projectId: z155.string().guid(),
|
|
40839
40838
|
productName: z155.string().nullable(),
|
|
40840
40839
|
status: DailyControlStatusMirror,
|
|
40841
40840
|
statusMessage: z155.string().nullable(),
|
|
@@ -40968,7 +40967,7 @@ var SetProductCostingInput = z156.object({
|
|
|
40968
40967
|
tienda + id de Shopify. El esquema canónico también las admite juntas,
|
|
40969
40968
|
pero pedirlas por separado evita que el modelo emita una mezcla que
|
|
40970
40969
|
diga dos productos a la vez. */
|
|
40971
|
-
productControlId: z156.string().
|
|
40970
|
+
productControlId: z156.string().guid().optional().describe("El id nuestro (lo devuelven get_product_control y create_manual_product). Obligatorio para productos manuales o importados sin tienda."),
|
|
40972
40971
|
manualSellingPrice: z156.number().positive().nullable().optional().describe("Precio de venta \u2014 SOLO con productControlId: para el producto sin tienda no hay otra verdad. En un producto de Shopify NO se manda: el precio lo manda la tienda."),
|
|
40973
40972
|
shopDomain: z156.string().min(1).optional(),
|
|
40974
40973
|
shopifyProductId: z156.string().min(1).max(64).optional(),
|
|
@@ -40980,7 +40979,7 @@ var SetProductCostingInput = z156.object({
|
|
|
40980
40979
|
}).strict();
|
|
40981
40980
|
var Count = z156.number().int().min(0).max(1e5).nullable().optional();
|
|
40982
40981
|
var ReportProductCountsInput = z156.object({
|
|
40983
|
-
productControlId: z156.string().
|
|
40982
|
+
productControlId: z156.string().guid().describe("El identificador que devuelve get_product_control."),
|
|
40984
40983
|
date: DateOnly2,
|
|
40985
40984
|
orders: Count.describe("Pedidos que entraron ese d\xEDa."),
|
|
40986
40985
|
cancelledOrders: Count,
|
|
@@ -40993,7 +40992,7 @@ var SyncShopifyOrdersInput = SyncShopifyOrdersSchema;
|
|
|
40993
40992
|
var ImportOrdersFileInput = z156.object({
|
|
40994
40993
|
/** Ruta ABSOLUTA en la máquina de quien usa el MCP. */
|
|
40995
40994
|
path: z156.string().min(1),
|
|
40996
|
-
operationId: z156.string().
|
|
40995
|
+
operationId: z156.string().guid().optional(),
|
|
40997
40996
|
/** Solo mirar: devuelve el resumen y no escribe nada. */
|
|
40998
40997
|
dryRun: z156.boolean().optional()
|
|
40999
40998
|
}).strict();
|
|
@@ -41002,35 +41001,35 @@ var CreateOperationInput = z156.object({
|
|
|
41002
41001
|
label: z156.string().trim().min(1).max(60).optional()
|
|
41003
41002
|
}).strict();
|
|
41004
41003
|
var MergeProductsInput = z156.object({
|
|
41005
|
-
sourceId: z156.string().
|
|
41006
|
-
targetId: z156.string().
|
|
41004
|
+
sourceId: z156.string().guid(),
|
|
41005
|
+
targetId: z156.string().guid()
|
|
41007
41006
|
}).strict();
|
|
41008
41007
|
var SetMonthlyExpenseInput = z156.object({
|
|
41009
41008
|
month: z156.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
41010
41009
|
label: SaveMonthlyExpenseSchema.shape.label,
|
|
41011
41010
|
amount: z156.number().finite().min(0),
|
|
41012
|
-
operationId: z156.string().
|
|
41011
|
+
operationId: z156.string().guid().optional()
|
|
41013
41012
|
}).strict();
|
|
41014
41013
|
var SetAdSpendInput = z156.object({
|
|
41015
41014
|
month: z156.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
41016
|
-
operationId: z156.string().
|
|
41015
|
+
operationId: z156.string().guid().optional(),
|
|
41017
41016
|
/** null RETIRA la corrección; cero afirma que no pautó. */
|
|
41018
41017
|
amount: z156.number().finite().min(0).nullable()
|
|
41019
41018
|
}).strict();
|
|
41020
41019
|
var GetFinancesInput = z156.object({
|
|
41021
41020
|
month: z156.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional().describe("Mes en YYYY-MM. Si se omite, el mes en curso. Solo mes calendario."),
|
|
41022
|
-
operationId: z156.string().
|
|
41021
|
+
operationId: z156.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
41023
41022
|
}).strict();
|
|
41024
41023
|
var GetDropiStatusInput = DropiCountryQuerySchema.extend({
|
|
41025
41024
|
countryCode: DropiCountrySchema.optional().describe("Pa\xEDs de la cuenta (ISO-2). Si se omite, el servidor responde por Colombia (CO)."),
|
|
41026
|
-
connectionId: z156.string().
|
|
41025
|
+
connectionId: z156.string().guid().optional().describe("Una cuenta concreta cuando el pa\xEDs tiene varias. Sale de la lista de conexiones; nunca se inventa.")
|
|
41027
41026
|
});
|
|
41028
41027
|
var SyncDropiOrdersInput = SyncDropiFinancialSchema;
|
|
41029
|
-
var CreateManualProductInput = CreateManualProductControlSchema.
|
|
41028
|
+
var CreateManualProductInput = z156.strictObject(CreateManualProductControlSchema.shape).omit({
|
|
41030
41029
|
requestId: true
|
|
41031
41030
|
});
|
|
41032
41031
|
var ListUnmatchedProductsInput = z156.object({
|
|
41033
|
-
operationId: z156.string().
|
|
41032
|
+
operationId: z156.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
41034
41033
|
}).strict();
|
|
41035
41034
|
var ResolveUnmatchedProductInput = ResolveUnmatchedProductSchema;
|
|
41036
41035
|
var ListLinkableCampaignsInput = z156.object({}).strict();
|
|
@@ -41041,13 +41040,13 @@ var LinkProductCampaignInput = z156.object({
|
|
|
41041
41040
|
]).describe("La red publicitaria de la campa\xF1a."),
|
|
41042
41041
|
accountId: z156.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La cuenta publicitaria. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
41043
41042
|
campaignId: z156.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La campa\xF1a. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
41044
|
-
productControlId: z156.string().
|
|
41043
|
+
productControlId: z156.string().guid().optional().describe("El id del producto en su control financiero."),
|
|
41045
41044
|
shopDomain: z156.string().min(1).optional().describe("La tienda del producto; con shopifyProductId es la otra forma de decir cu\xE1l es."),
|
|
41046
41045
|
shopifyProductId: z156.string().min(1).optional().describe("El id del producto en su tienda. Va junto a shopDomain.")
|
|
41047
41046
|
}).strict();
|
|
41048
41047
|
var DeleteMonthlyExpenseInput = DeleteMonthlyExpenseSchema;
|
|
41049
41048
|
var RemoveProductControlInput = z156.object({
|
|
41050
|
-
productControlId: z156.string().
|
|
41049
|
+
productControlId: z156.string().guid().describe("El id del producto en su control. Sale del listado; nunca se inventa.")
|
|
41051
41050
|
}).strict();
|
|
41052
41051
|
function manualProductRequestId(input) {
|
|
41053
41052
|
const digest3 = createHash5("sha256").update(JSON.stringify(input, [
|
|
@@ -41541,6 +41540,8 @@ function createServer(opts) {
|
|
|
41541
41540
|
},
|
|
41542
41541
|
logging: {}
|
|
41543
41542
|
},
|
|
41543
|
+
// Bound structural work before parsing hosted tool arguments; stdio remains local.
|
|
41544
|
+
maxToolInputElements: transport === "http" ? 1e4 : void 0,
|
|
41544
41545
|
instructions
|
|
41545
41546
|
});
|
|
41546
41547
|
const api = new ApiClient(apiBaseUrl, opts.credential, {
|