@productmaker/mcp 12.3.1 → 12.4.1
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 +607 -626
- package/dist/stdio.js +607 -626
- 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
|
|
@@ -6106,6 +6106,11 @@ var LANDING_STRATEGIES = [
|
|
|
6106
6106
|
"lifestyle_identity"
|
|
6107
6107
|
];
|
|
6108
6108
|
var LandingStrategySchema = z14.enum(LANDING_STRATEGIES);
|
|
6109
|
+
var SELECTABLE_LANDING_STRATEGIES = [
|
|
6110
|
+
"classic",
|
|
6111
|
+
"social_proof"
|
|
6112
|
+
];
|
|
6113
|
+
var SelectableLandingStrategySchema = z14.enum(SELECTABLE_LANDING_STRATEGIES);
|
|
6109
6114
|
var EffectiveLandingStrategySchema = LandingStrategySchema.exclude([
|
|
6110
6115
|
"auto"
|
|
6111
6116
|
]);
|
|
@@ -6251,7 +6256,7 @@ var LandingImageReadable = z15.object({
|
|
|
6251
6256
|
*/
|
|
6252
6257
|
index: z15.number().int().min(1).max(20),
|
|
6253
6258
|
/** Child task that owns this image when variants are rendered alongside the root task. */
|
|
6254
|
-
variantTaskId: z15.string().
|
|
6259
|
+
variantTaskId: z15.string().guid().optional(),
|
|
6255
6260
|
/**
|
|
6256
6261
|
* The image's own `indexNum` within its OWN task (root or variant) — set
|
|
6257
6262
|
* once at render time and never recomputed. Unlike `index`, this is stable
|
|
@@ -6454,7 +6459,7 @@ var JsonValueSchema = z16.lazy(() => z16.union([
|
|
|
6454
6459
|
z16.boolean(),
|
|
6455
6460
|
z16.null(),
|
|
6456
6461
|
z16.array(JsonValueSchema),
|
|
6457
|
-
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(JsonValueSchema))
|
|
6462
|
+
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(z16.string(), JsonValueSchema))
|
|
6458
6463
|
]));
|
|
6459
6464
|
var CodeLandingRecipeSelectionSchema = z16.object({
|
|
6460
6465
|
blockId: z16.string().trim().min(1),
|
|
@@ -6913,7 +6918,7 @@ var PresignUploadResponse = z19.object({
|
|
|
6913
6918
|
/** Present only for purpose=service. */
|
|
6914
6919
|
assetToken: z19.string().min(1).optional(),
|
|
6915
6920
|
/** Present only for purpose=meta_staging. */
|
|
6916
|
-
stagingAssetId: z19.string().
|
|
6921
|
+
stagingAssetId: z19.string().guid().optional()
|
|
6917
6922
|
});
|
|
6918
6923
|
var MetaUploadMediaKind = z19.enum([
|
|
6919
6924
|
"image",
|
|
@@ -6923,7 +6928,7 @@ var MetaUploadMediaKind = z19.enum([
|
|
|
6923
6928
|
var META_UPLOAD_MAX_FILES = CAMPAIGN_LIMITS.MAX_CREATIVES;
|
|
6924
6929
|
var META_UPLOAD_IMAGE_MAX_FILES = 5;
|
|
6925
6930
|
var MetaUploadAssetSummary = z19.object({
|
|
6926
|
-
stagingAssetId: z19.string().
|
|
6931
|
+
stagingAssetId: z19.string().guid(),
|
|
6927
6932
|
mediaKind: MediaKind
|
|
6928
6933
|
}).strict();
|
|
6929
6934
|
var MetaCampaignType = z19.enum([
|
|
@@ -6931,7 +6936,7 @@ var MetaCampaignType = z19.enum([
|
|
|
6931
6936
|
"traffic",
|
|
6932
6937
|
"engagement"
|
|
6933
6938
|
]);
|
|
6934
|
-
var MetaPublishAttemptId = z19.string().
|
|
6939
|
+
var MetaPublishAttemptId = z19.string().guid();
|
|
6935
6940
|
var MetaOptimizationMode = z19.enum([
|
|
6936
6941
|
"advantage_plus",
|
|
6937
6942
|
"manual"
|
|
@@ -7004,14 +7009,14 @@ var ResolveMetaUploadSessionRequest = z19.object({
|
|
|
7004
7009
|
/** Opaque signed token embedded in the one-click upload page URL. */
|
|
7005
7010
|
token: z19.string().min(1).max(4096),
|
|
7006
7011
|
/** Stable browser-generated id so failed PUT retries reuse the same slot. */
|
|
7007
|
-
uploadId: z19.string().
|
|
7012
|
+
uploadId: z19.string().guid().optional(),
|
|
7008
7013
|
/** Browser-selected metadata; the API checks it against the session kind/role. */
|
|
7009
7014
|
contentType: z19.enum(META_STAGING_CONTENT_TYPES),
|
|
7010
7015
|
fileName: z19.string().min(1).max(255),
|
|
7011
7016
|
fileSize: z19.number().int().positive().max(CAMPAIGN_LIMITS.MAX_FILE_SIZE_BYTES)
|
|
7012
7017
|
}).strict();
|
|
7013
7018
|
var MetaUploadSessionResponse = z19.object({
|
|
7014
|
-
sessionId: z19.string().
|
|
7019
|
+
sessionId: z19.string().guid(),
|
|
7015
7020
|
uploadPageUrl: HttpUrl,
|
|
7016
7021
|
mediaKind: MetaUploadMediaKind,
|
|
7017
7022
|
assetRole: z19.enum([
|
|
@@ -7023,18 +7028,18 @@ var MetaUploadSessionResponse = z19.object({
|
|
|
7023
7028
|
}).strict();
|
|
7024
7029
|
var ResolveMetaUploadSessionResponse = z19.object({
|
|
7025
7030
|
uploadUrl: z19.string().url(),
|
|
7026
|
-
stagingAssetId: z19.string().
|
|
7031
|
+
stagingAssetId: z19.string().guid(),
|
|
7027
7032
|
expiresAt: z19.string().datetime()
|
|
7028
7033
|
}).strict();
|
|
7029
7034
|
var MetaUploadSessionStatusResponse = z19.object({
|
|
7030
|
-
sessionId: z19.string().
|
|
7035
|
+
sessionId: z19.string().guid(),
|
|
7031
7036
|
status: z19.enum([
|
|
7032
7037
|
"pending",
|
|
7033
7038
|
"uploaded"
|
|
7034
7039
|
]),
|
|
7035
7040
|
assets: z19.array(MetaUploadAssetSummary).max(META_UPLOAD_MAX_FILES),
|
|
7036
7041
|
/** Legacy single-file response field retained for older callers. */
|
|
7037
|
-
stagingAssetId: z19.string().
|
|
7042
|
+
stagingAssetId: z19.string().guid().optional()
|
|
7038
7043
|
}).strict();
|
|
7039
7044
|
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), {
|
|
7040
7045
|
message: 'adAccountId must look like "act_1234567890" (a bare numeric id is also accepted)'
|
|
@@ -7114,6 +7119,33 @@ var MetaCampaignDefaults = MetaCampaignConfigBase.omit({
|
|
|
7114
7119
|
*/
|
|
7115
7120
|
currency: z19.string().length(3).regex(/^[A-Z]{3}$/).nullable().optional()
|
|
7116
7121
|
});
|
|
7122
|
+
function refineMetaCreativeSources(value, ctx) {
|
|
7123
|
+
value.creatives.forEach((creative, index) => {
|
|
7124
|
+
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
7125
|
+
ctx.addIssue({
|
|
7126
|
+
code: z19.ZodIssueCode.custom,
|
|
7127
|
+
path: [
|
|
7128
|
+
"creatives",
|
|
7129
|
+
index,
|
|
7130
|
+
"mediaUrl"
|
|
7131
|
+
],
|
|
7132
|
+
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
7133
|
+
});
|
|
7134
|
+
}
|
|
7135
|
+
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
7136
|
+
ctx.addIssue({
|
|
7137
|
+
code: z19.ZodIssueCode.custom,
|
|
7138
|
+
path: [
|
|
7139
|
+
"creatives",
|
|
7140
|
+
index,
|
|
7141
|
+
"thumbnailUrl"
|
|
7142
|
+
],
|
|
7143
|
+
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
7144
|
+
});
|
|
7145
|
+
}
|
|
7146
|
+
});
|
|
7147
|
+
}
|
|
7148
|
+
__name(refineMetaCreativeSources, "refineMetaCreativeSources");
|
|
7117
7149
|
var UploadToMetaRequest = z19.object({
|
|
7118
7150
|
/** Caller-owned retry fence. Required before any provider operation. */
|
|
7119
7151
|
publishAttemptId: MetaPublishAttemptId,
|
|
@@ -7127,7 +7159,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
7127
7159
|
/** Legacy public URL; new Meta flows should use mediaAssetId. */
|
|
7128
7160
|
mediaUrl: HttpUrl.optional(),
|
|
7129
7161
|
/** Owner-scoped temporary asset created by the Meta staging upload flow. */
|
|
7130
|
-
mediaAssetId: z19.string().
|
|
7162
|
+
mediaAssetId: z19.string().guid().optional(),
|
|
7131
7163
|
/**
|
|
7132
7164
|
* Public URL of an extracted thumbnail. Required for video ads — Meta
|
|
7133
7165
|
* rejects video ad creatives without `image_hash`/`image_url` in
|
|
@@ -7136,7 +7168,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
7136
7168
|
*/
|
|
7137
7169
|
thumbnailUrl: HttpUrl.optional(),
|
|
7138
7170
|
/** Owner-scoped temporary thumbnail created by the Meta staging upload flow. */
|
|
7139
|
-
thumbnailAssetId: z19.string().
|
|
7171
|
+
thumbnailAssetId: z19.string().guid().optional()
|
|
7140
7172
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
7141
7173
|
/** Meta Ad Account ID */
|
|
7142
7174
|
adAccountId: MetaAdAccountId,
|
|
@@ -7163,30 +7195,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
7163
7195
|
message: "landingUrl is required for landing destinations"
|
|
7164
7196
|
});
|
|
7165
7197
|
}
|
|
7166
|
-
value
|
|
7167
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
7168
|
-
ctx.addIssue({
|
|
7169
|
-
code: z19.ZodIssueCode.custom,
|
|
7170
|
-
path: [
|
|
7171
|
-
"creatives",
|
|
7172
|
-
index,
|
|
7173
|
-
"mediaUrl"
|
|
7174
|
-
],
|
|
7175
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
7176
|
-
});
|
|
7177
|
-
}
|
|
7178
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
7179
|
-
ctx.addIssue({
|
|
7180
|
-
code: z19.ZodIssueCode.custom,
|
|
7181
|
-
path: [
|
|
7182
|
-
"creatives",
|
|
7183
|
-
index,
|
|
7184
|
-
"thumbnailUrl"
|
|
7185
|
-
],
|
|
7186
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
7187
|
-
});
|
|
7188
|
-
}
|
|
7189
|
-
});
|
|
7198
|
+
refineMetaCreativeSources(value, ctx);
|
|
7190
7199
|
});
|
|
7191
7200
|
var CampaignLifetimeMetricsSchema = z19.object({
|
|
7192
7201
|
spend: z19.number().nonnegative(),
|
|
@@ -7224,13 +7233,13 @@ var Revision = z20.number().finite().int().nonnegative();
|
|
|
7224
7233
|
var ClassicLandingBlockSchema = z20.discriminatedUnion("kind", [
|
|
7225
7234
|
z20.object({
|
|
7226
7235
|
kind: z20.literal("image"),
|
|
7227
|
-
ownerTaskId: z20.string().
|
|
7236
|
+
ownerTaskId: z20.string().guid(),
|
|
7228
7237
|
sourceIndex: z20.number().int().positive()
|
|
7229
7238
|
}).strict(),
|
|
7230
7239
|
z20.object({
|
|
7231
7240
|
kind: z20.literal("gif"),
|
|
7232
|
-
ownerTaskId: z20.string().
|
|
7233
|
-
gifId: z20.string().
|
|
7241
|
+
ownerTaskId: z20.string().guid(),
|
|
7242
|
+
gifId: z20.string().guid()
|
|
7234
7243
|
}).strict()
|
|
7235
7244
|
]);
|
|
7236
7245
|
function classicLandingBlockId(block) {
|
|
@@ -7253,17 +7262,17 @@ var Blocks = z20.array(ClassicLandingBlockSchema).max(100).superRefine((blocks,
|
|
|
7253
7262
|
});
|
|
7254
7263
|
var ClassicLandingDocumentSchema = z20.object({
|
|
7255
7264
|
version: z20.literal(1),
|
|
7256
|
-
ownerTaskId: z20.string().
|
|
7265
|
+
ownerTaskId: z20.string().guid(),
|
|
7257
7266
|
revision: Revision,
|
|
7258
7267
|
blocks: Blocks
|
|
7259
7268
|
}).strict();
|
|
7260
7269
|
var LandingGifBlockSelectionSchema = z20.object({
|
|
7261
|
-
ownerTaskId: z20.string().
|
|
7262
|
-
gifId: z20.string().
|
|
7270
|
+
ownerTaskId: z20.string().guid(),
|
|
7271
|
+
gifId: z20.string().guid(),
|
|
7263
7272
|
gifRevision: Revision
|
|
7264
7273
|
}).strict();
|
|
7265
7274
|
var ClassicLandingImageSelectionSchema = z20.object({
|
|
7266
|
-
ownerTaskId: z20.string().
|
|
7275
|
+
ownerTaskId: z20.string().guid(),
|
|
7267
7276
|
sourceIndex: z20.number().int().positive(),
|
|
7268
7277
|
variantIndex: z20.number().int().nonnegative()
|
|
7269
7278
|
}).strict();
|
|
@@ -7314,7 +7323,7 @@ var ClassicLandingBlockMutationSchema = z20.object({
|
|
|
7314
7323
|
blocks: Blocks
|
|
7315
7324
|
}).strict();
|
|
7316
7325
|
var LandingGifVisibilityMutationSchema = z20.object({
|
|
7317
|
-
gifId: z20.string().
|
|
7326
|
+
gifId: z20.string().guid(),
|
|
7318
7327
|
expectedGifRevision: Revision,
|
|
7319
7328
|
expectedDocumentRevision: Revision,
|
|
7320
7329
|
action: z20.enum([
|
|
@@ -8100,7 +8109,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
8100
8109
|
editorGifOwnership: z23.object({
|
|
8101
8110
|
version: z23.literal(1),
|
|
8102
8111
|
source: z23.object({
|
|
8103
|
-
ownerTaskId: z23.string().
|
|
8112
|
+
ownerTaskId: z23.string().guid(),
|
|
8104
8113
|
gifRevision: z23.number().int().nonnegative(),
|
|
8105
8114
|
contentHash: z23.string().regex(/^[a-f0-9]{64}$/),
|
|
8106
8115
|
posterHash: z23.string().regex(/^[a-f0-9]{64}$/)
|
|
@@ -8108,7 +8117,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
8108
8117
|
}).strict().optional(),
|
|
8109
8118
|
mode: LandingDocumentModeSchema,
|
|
8110
8119
|
strategyVersion: z23.string().min(1).max(60),
|
|
8111
|
-
sourceTaskId: z23.string().
|
|
8120
|
+
sourceTaskId: z23.string().guid().optional(),
|
|
8112
8121
|
winnerSourceUrl: CodeLandingUrlSchema.optional(),
|
|
8113
8122
|
notes: z23.array(z23.string().max(240)).max(16),
|
|
8114
8123
|
/**
|
|
@@ -8540,8 +8549,8 @@ var QuotedLandingEditRequest = z23.object({
|
|
|
8540
8549
|
"full"
|
|
8541
8550
|
]),
|
|
8542
8551
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([]),
|
|
8543
|
-
quoteId: z23.string().
|
|
8544
|
-
idempotencyKey: z23.string().
|
|
8552
|
+
quoteId: z23.string().guid(),
|
|
8553
|
+
idempotencyKey: z23.string().guid()
|
|
8545
8554
|
});
|
|
8546
8555
|
var CreateLandingEditRequest = z23.union([
|
|
8547
8556
|
QuotedLandingEditRequest,
|
|
@@ -8621,7 +8630,7 @@ var LandingEditDto = z23.object({
|
|
|
8621
8630
|
costCents: z23.number(),
|
|
8622
8631
|
error: z23.string().nullable(),
|
|
8623
8632
|
createdAt: z23.string(),
|
|
8624
|
-
operationId: z23.string().
|
|
8633
|
+
operationId: z23.string().guid().nullable().optional(),
|
|
8625
8634
|
expectedRevision: z23.number().int().nonnegative().optional(),
|
|
8626
8635
|
appliedRevision: z23.number().int().positive().nullable().optional(),
|
|
8627
8636
|
refundStatus: z23.enum([
|
|
@@ -8636,10 +8645,10 @@ var LandingEditDto = z23.object({
|
|
|
8636
8645
|
commerceReconciliation: CommerceReconciliationSchema.nullable().optional(),
|
|
8637
8646
|
delivery: z23.lazy(() => LandingEditDeliverySchema).optional(),
|
|
8638
8647
|
/** Photos the seller attached to this message (see LandingEditAttachmentDto). */
|
|
8639
|
-
attachmentIds: z23.array(z23.string().
|
|
8648
|
+
attachmentIds: z23.array(z23.string().guid()).max(4).optional()
|
|
8640
8649
|
});
|
|
8641
8650
|
var LandingEditAttachmentDto = z23.object({
|
|
8642
|
-
id: z23.string().
|
|
8651
|
+
id: z23.string().guid(),
|
|
8643
8652
|
url: z23.string().url(),
|
|
8644
8653
|
width: z23.number().int().positive().nullable(),
|
|
8645
8654
|
height: z23.number().int().positive().nullable()
|
|
@@ -8665,12 +8674,12 @@ var LandingEditQuoteRequest = z23.object({
|
|
|
8665
8674
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([])
|
|
8666
8675
|
});
|
|
8667
8676
|
var LandingEditSubmitRequest = LandingEditQuoteRequest.extend({
|
|
8668
|
-
quoteId: z23.string().
|
|
8669
|
-
idempotencyKey: z23.string().
|
|
8677
|
+
quoteId: z23.string().guid(),
|
|
8678
|
+
idempotencyKey: z23.string().guid()
|
|
8670
8679
|
});
|
|
8671
8680
|
var LandingOperationQuoteDto = z23.object({
|
|
8672
8681
|
editPlanSummary: z23.lazy(() => LandingEditPlanSummarySchema).optional(),
|
|
8673
|
-
id: z23.string().
|
|
8682
|
+
id: z23.string().guid(),
|
|
8674
8683
|
kind: z23.enum([
|
|
8675
8684
|
"edit_patch",
|
|
8676
8685
|
"edit_full",
|
|
@@ -8692,7 +8701,7 @@ var LandingRevisionHistoryItemDto = z23.object({
|
|
|
8692
8701
|
parentRevision: z23.number().int().positive().nullable(),
|
|
8693
8702
|
source: z23.string().min(1),
|
|
8694
8703
|
summary: z23.string().nullable(),
|
|
8695
|
-
editId: z23.string().
|
|
8704
|
+
editId: z23.string().guid().nullable(),
|
|
8696
8705
|
createdAt: z23.string().datetime(),
|
|
8697
8706
|
isActive: z23.boolean(),
|
|
8698
8707
|
isRedoTarget: z23.boolean(),
|
|
@@ -8738,7 +8747,7 @@ var LandingGifSourceSchema = z24.discriminatedUnion("kind", [
|
|
|
8738
8747
|
z24.object({
|
|
8739
8748
|
kind: z24.literal("generated"),
|
|
8740
8749
|
referenceSelectionRevision: Revision2,
|
|
8741
|
-
referenceImageAssetId: z24.string().
|
|
8750
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8742
8751
|
motionBrief: z24.string().trim().min(1).max(1500)
|
|
8743
8752
|
}).strict()
|
|
8744
8753
|
]);
|
|
@@ -8763,7 +8772,7 @@ var ReuseIdentity = z24.object({
|
|
|
8763
8772
|
byteSize: z24.number().finite().int().positive().max(50 * 1024 * 1024),
|
|
8764
8773
|
contentHash: Hash,
|
|
8765
8774
|
provenance: z24.object({
|
|
8766
|
-
taskId: z24.string().
|
|
8775
|
+
taskId: z24.string().guid(),
|
|
8767
8776
|
scanId: z24.string().min(1).max(200).optional(),
|
|
8768
8777
|
sourceUrl: z24.string().url().max(4096).optional(),
|
|
8769
8778
|
externalAdId: z24.string().min(1).max(200).optional()
|
|
@@ -8793,7 +8802,7 @@ var LandingGifReuseCandidateSchema = z24.discriminatedUnion("kind", [
|
|
|
8793
8802
|
var GeneratedResolvedSourceSchema = z24.object({
|
|
8794
8803
|
kind: z24.literal("generated"),
|
|
8795
8804
|
referenceSelectionRevision: Revision2,
|
|
8796
|
-
referenceImageAssetId: z24.string().
|
|
8805
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8797
8806
|
referenceKeys: z24.array(StorageKey).min(1).max(4),
|
|
8798
8807
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
8799
8808
|
identityReferenceFingerprint: Hash.optional(),
|
|
@@ -8815,7 +8824,7 @@ var AutomaticResolvedSourceSchema = GeneratedResolvedSourceSchema.omit({
|
|
|
8815
8824
|
referenceImageAssetId: true
|
|
8816
8825
|
}).extend({
|
|
8817
8826
|
kind: z24.literal("automatic"),
|
|
8818
|
-
ownerTaskId: z24.string().
|
|
8827
|
+
ownerTaskId: z24.string().guid(),
|
|
8819
8828
|
productName: z24.string().min(1).max(500),
|
|
8820
8829
|
productTruth: JsonValueSchema.optional(),
|
|
8821
8830
|
useSheet: JsonValueSchema.optional(),
|
|
@@ -8879,7 +8888,7 @@ var LandingGifPlacementSchema = z24.discriminatedUnion("kind", [
|
|
|
8879
8888
|
}).strict(),
|
|
8880
8889
|
z24.object({
|
|
8881
8890
|
kind: z24.literal("classic"),
|
|
8882
|
-
ownerTaskId: z24.string().
|
|
8891
|
+
ownerTaskId: z24.string().guid(),
|
|
8883
8892
|
afterSourceIndex: z24.number().finite().int().min(1)
|
|
8884
8893
|
}).strict(),
|
|
8885
8894
|
z24.object({
|
|
@@ -8894,7 +8903,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8894
8903
|
placement: LandingGifPlacementSchema,
|
|
8895
8904
|
expectedLandingRevision: Revision2,
|
|
8896
8905
|
expectedGifRevision: Revision2,
|
|
8897
|
-
gifId: z24.string().
|
|
8906
|
+
gifId: z24.string().guid().optional(),
|
|
8898
8907
|
expectedDocumentRevision: Revision2.optional()
|
|
8899
8908
|
}).strict().superRefine((request, ctx) => {
|
|
8900
8909
|
if (request.gifId === void 0 !== (request.expectedDocumentRevision === void 0)) {
|
|
@@ -8934,7 +8943,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8934
8943
|
});
|
|
8935
8944
|
var LandingGifSubmitRequestSchema = z24.object({
|
|
8936
8945
|
request: LandingGifCreateRequestSchema,
|
|
8937
|
-
quoteId: z24.string().
|
|
8946
|
+
quoteId: z24.string().guid(),
|
|
8938
8947
|
idempotencyKey: z24.string().trim().min(1).max(200)
|
|
8939
8948
|
}).strict();
|
|
8940
8949
|
var LandingGifRemoveRequestSchema = z24.object({
|
|
@@ -8970,17 +8979,17 @@ var LandingGifStoredDescriptorSchema = GifTechnicalMetadataSchema.extend({
|
|
|
8970
8979
|
quality: LandingGifQualitySchema
|
|
8971
8980
|
}).strict();
|
|
8972
8981
|
var LandingGifReadableSchema = LandingGifStoredDescriptorSchema.extend({
|
|
8973
|
-
ownerTaskId: z24.string().
|
|
8982
|
+
ownerTaskId: z24.string().guid(),
|
|
8974
8983
|
gifRevision: Revision2,
|
|
8975
8984
|
gifUrl: z24.string().url(),
|
|
8976
8985
|
posterUrl: z24.string().url()
|
|
8977
8986
|
}).strict();
|
|
8978
8987
|
var LandingGifSelectionSchema = z24.object({
|
|
8979
|
-
ownerTaskId: z24.string().
|
|
8988
|
+
ownerTaskId: z24.string().guid(),
|
|
8980
8989
|
gifRevision: Revision2
|
|
8981
8990
|
}).strict();
|
|
8982
8991
|
var LandingGifOperationStatusSchema = z24.object({
|
|
8983
|
-
operationId: z24.string().
|
|
8992
|
+
operationId: z24.string().guid(),
|
|
8984
8993
|
status: z24.enum([
|
|
8985
8994
|
"reserved",
|
|
8986
8995
|
"queued",
|
|
@@ -9002,13 +9011,13 @@ var LandingGifOperationStatusSchema = z24.object({
|
|
|
9002
9011
|
reservedUserCents: z24.number().finite().int().nonnegative()
|
|
9003
9012
|
}).strict();
|
|
9004
9013
|
var LandingGifUseProposalSchema = z24.object({
|
|
9005
|
-
id: z24.string().
|
|
9006
|
-
gifId: z24.string().
|
|
9014
|
+
id: z24.string().guid(),
|
|
9015
|
+
gifId: z24.string().guid(),
|
|
9007
9016
|
idea: z24.string().trim().min(1).max(300),
|
|
9008
9017
|
motionBrief: z24.string().trim().min(1).max(1500),
|
|
9009
9018
|
productFingerprint: Hash,
|
|
9010
9019
|
referenceFingerprint: Hash.nullable(),
|
|
9011
|
-
referenceImageAssetId: z24.string().
|
|
9020
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
9012
9021
|
referenceImageAssetKey: StorageKey.optional(),
|
|
9013
9022
|
referenceImageUrl: z24.string().url().optional(),
|
|
9014
9023
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
@@ -9029,8 +9038,8 @@ var LandingGifStateSchema = z24.enum([
|
|
|
9029
9038
|
"removed"
|
|
9030
9039
|
]);
|
|
9031
9040
|
var LandingGifItemSchema = z24.object({
|
|
9032
|
-
gifId: z24.string().
|
|
9033
|
-
ownerTaskId: z24.string().
|
|
9041
|
+
gifId: z24.string().guid(),
|
|
9042
|
+
ownerTaskId: z24.string().guid(),
|
|
9034
9043
|
gifRevision: Revision2,
|
|
9035
9044
|
state: LandingGifStateSchema,
|
|
9036
9045
|
/** Server-derived compatibility for an already delivered singular primary. */
|
|
@@ -9070,8 +9079,8 @@ function isDeliverableLandingGif(item) {
|
|
|
9070
9079
|
}
|
|
9071
9080
|
__name(isDeliverableLandingGif, "isDeliverableLandingGif");
|
|
9072
9081
|
var InitialLandingGifStatusSchema = z24.object({
|
|
9073
|
-
intentId: z24.string().
|
|
9074
|
-
gifId: z24.string().
|
|
9082
|
+
intentId: z24.string().guid(),
|
|
9083
|
+
gifId: z24.string().guid(),
|
|
9075
9084
|
status: z24.enum([
|
|
9076
9085
|
"funded",
|
|
9077
9086
|
"awaiting_usage",
|
|
@@ -9087,7 +9096,7 @@ var InitialLandingGifStatusSchema = z24.object({
|
|
|
9087
9096
|
refundStatus: LandingGifOperationStatusSchema.shape.refundStatus
|
|
9088
9097
|
}).strict();
|
|
9089
9098
|
var LandingGifCollectionResponseSchema = z24.object({
|
|
9090
|
-
ownerTaskId: z24.string().
|
|
9099
|
+
ownerTaskId: z24.string().guid(),
|
|
9091
9100
|
landingRevision: Revision2,
|
|
9092
9101
|
document: ClassicLandingDocumentSchema,
|
|
9093
9102
|
gifs: z24.array(LandingGifItemSchema).max(100),
|
|
@@ -9101,15 +9110,15 @@ var LandingGifCollectionResponseSchema = z24.object({
|
|
|
9101
9110
|
}
|
|
9102
9111
|
});
|
|
9103
9112
|
var LandingGifTargetSchema = z24.object({
|
|
9104
|
-
gifId: z24.string().
|
|
9113
|
+
gifId: z24.string().guid(),
|
|
9105
9114
|
expectedGifRevision: Revision2
|
|
9106
9115
|
}).strict();
|
|
9107
9116
|
var LandingGifProposalRequestSchema = z24.object({
|
|
9108
|
-
gifId: z24.string().
|
|
9117
|
+
gifId: z24.string().guid().optional(),
|
|
9109
9118
|
expectedDocumentRevision: Revision2,
|
|
9110
9119
|
afterBlockId: z24.string().min(1).max(300).optional(),
|
|
9111
9120
|
merchantIdea: z24.string().trim().min(8).max(300).optional(),
|
|
9112
|
-
referenceImageAssetId: z24.string().
|
|
9121
|
+
referenceImageAssetId: z24.string().guid().nullable().optional()
|
|
9113
9122
|
}).strict();
|
|
9114
9123
|
var LandingGifQuoteResponseSchema = z24.object({
|
|
9115
9124
|
quote: LandingOperationQuoteDto.extend({
|
|
@@ -9120,7 +9129,7 @@ var LandingGifCreateResponseSchema = z24.object({
|
|
|
9120
9129
|
operation: LandingGifOperationStatusSchema
|
|
9121
9130
|
}).strict();
|
|
9122
9131
|
var LandingGifStatusResponseSchema = z24.object({
|
|
9123
|
-
ownerTaskId: z24.string().
|
|
9132
|
+
ownerTaskId: z24.string().guid(),
|
|
9124
9133
|
landingRevision: Revision2,
|
|
9125
9134
|
gifRevision: Revision2,
|
|
9126
9135
|
demoGif: LandingGifReadableSchema.nullable(),
|
|
@@ -9158,9 +9167,9 @@ var LandingGifPresentationResponseSchema = z24.object({
|
|
|
9158
9167
|
}).strict();
|
|
9159
9168
|
var LandingGifCompletionReceiptBase = z24.object({
|
|
9160
9169
|
version: z24.literal(1),
|
|
9161
|
-
operationId: z24.string().
|
|
9162
|
-
taskId: z24.string().
|
|
9163
|
-
stepId: z24.string().
|
|
9170
|
+
operationId: z24.string().guid(),
|
|
9171
|
+
taskId: z24.string().guid(),
|
|
9172
|
+
stepId: z24.string().guid(),
|
|
9164
9173
|
stepEpoch: Revision2,
|
|
9165
9174
|
acceptedGifRevision: z24.number().finite().int().positive(),
|
|
9166
9175
|
gifAssetKey: z24.string().min(1),
|
|
@@ -9172,7 +9181,7 @@ var LandingGifCompletionReceiptSchema = z24.discriminatedUnion("version", [
|
|
|
9172
9181
|
LandingGifCompletionReceiptBase,
|
|
9173
9182
|
LandingGifCompletionReceiptBase.extend({
|
|
9174
9183
|
version: z24.literal(2),
|
|
9175
|
-
gifId: z24.string().
|
|
9184
|
+
gifId: z24.string().guid(),
|
|
9176
9185
|
disposition: z24.enum([
|
|
9177
9186
|
"activated",
|
|
9178
9187
|
"retained"
|
|
@@ -9473,7 +9482,7 @@ var VideoCreativeContext = z27.object({
|
|
|
9473
9482
|
productTitle: z27.string(),
|
|
9474
9483
|
primaryAngle: z27.string(),
|
|
9475
9484
|
buyerPersona: z27.string().optional(),
|
|
9476
|
-
brandId: z27.string().
|
|
9485
|
+
brandId: z27.string().guid().optional(),
|
|
9477
9486
|
features: z27.array(z27.string()).default([]),
|
|
9478
9487
|
scriptNotes: z27.string().optional(),
|
|
9479
9488
|
cta: z27.string().optional(),
|
|
@@ -9632,19 +9641,19 @@ var ImageCreativeJobStatusEnum = z27.enum([
|
|
|
9632
9641
|
"error"
|
|
9633
9642
|
]);
|
|
9634
9643
|
var ImageCreativeJobStatus = z27.object({
|
|
9635
|
-
jobId: z27.string().
|
|
9644
|
+
jobId: z27.string().guid(),
|
|
9636
9645
|
status: ImageCreativeJobStatusEnum,
|
|
9637
9646
|
error: z27.string().optional(),
|
|
9638
9647
|
result: ImageCreativeResult.nullable().optional(),
|
|
9639
9648
|
request: ImageCreativeEditableRequest.optional()
|
|
9640
9649
|
});
|
|
9641
9650
|
var ImageCreativeJobPayload = z27.object({
|
|
9642
|
-
jobId: z27.string().
|
|
9651
|
+
jobId: z27.string().guid(),
|
|
9643
9652
|
status: ImageCreativeJobStatusEnum,
|
|
9644
9653
|
replayed: z27.boolean().optional()
|
|
9645
9654
|
});
|
|
9646
9655
|
var ImageCreativeHistoryEntry = z27.object({
|
|
9647
|
-
id: z27.string().
|
|
9656
|
+
id: z27.string().guid(),
|
|
9648
9657
|
createdAt: z27.string().datetime(),
|
|
9649
9658
|
status: ImageCreativeJobStatusEnum,
|
|
9650
9659
|
result: ImageCreativeResult.nullable(),
|
|
@@ -9664,27 +9673,27 @@ var LandingCreativeResult = z27.object({
|
|
|
9664
9673
|
createdAt: z27.string().datetime().optional()
|
|
9665
9674
|
});
|
|
9666
9675
|
var LandingCreativeJobStatus = z27.object({
|
|
9667
|
-
jobId: z27.string().
|
|
9676
|
+
jobId: z27.string().guid(),
|
|
9668
9677
|
status: LandingCreativeJobStatusEnum,
|
|
9669
9678
|
error: z27.string().optional(),
|
|
9670
9679
|
result: LandingCreativeResult.nullable().optional()
|
|
9671
9680
|
});
|
|
9672
9681
|
var LandingCreativeJobPayload = z27.object({
|
|
9673
|
-
jobId: z27.string().
|
|
9682
|
+
jobId: z27.string().guid(),
|
|
9674
9683
|
status: LandingCreativeJobStatusEnum,
|
|
9675
9684
|
replayed: z27.boolean().optional()
|
|
9676
9685
|
});
|
|
9677
9686
|
var LandingCreativeHistoryEntry = z27.object({
|
|
9678
|
-
id: z27.string().
|
|
9687
|
+
id: z27.string().guid(),
|
|
9679
9688
|
createdAt: z27.string().datetime(),
|
|
9680
9689
|
status: LandingCreativeJobStatusEnum,
|
|
9681
9690
|
result: LandingCreativeResult.nullable(),
|
|
9682
9691
|
error: z27.string().optional()
|
|
9683
9692
|
});
|
|
9684
9693
|
var CreativeGeneratorJob = z27.object({
|
|
9685
|
-
taskId: z27.string().
|
|
9694
|
+
taskId: z27.string().guid(),
|
|
9686
9695
|
/** Immutable approved product-reference snapshot consumed by the worker. */
|
|
9687
|
-
referenceVersionId: z27.string().
|
|
9696
|
+
referenceVersionId: z27.string().guid().optional(),
|
|
9688
9697
|
cleanImagesWaitAttempt: z27.number().int().nonnegative().optional()
|
|
9689
9698
|
});
|
|
9690
9699
|
var ImageCreativeEditStatus = z27.enum([
|
|
@@ -9700,8 +9709,8 @@ var ImageCreativeRegenerateRequest = z27.object({
|
|
|
9700
9709
|
});
|
|
9701
9710
|
var ImageCreativeEditStatusResponse = z27.object({
|
|
9702
9711
|
ok: z27.literal(true),
|
|
9703
|
-
operationId: z27.string().
|
|
9704
|
-
taskId: z27.string().
|
|
9712
|
+
operationId: z27.string().guid(),
|
|
9713
|
+
taskId: z27.string().guid(),
|
|
9705
9714
|
variantIndex: z27.number().int().nonnegative(),
|
|
9706
9715
|
status: ImageCreativeEditStatus,
|
|
9707
9716
|
assetKey: z27.string().optional(),
|
|
@@ -9842,20 +9851,20 @@ var CreativeGenderPin = z33.enum([
|
|
|
9842
9851
|
var CreativeDirectionSchema = z33.string().transform((value) => value.trim()).pipe(z33.string().max(CREATIVE_DIRECTION_MAX_CHARS));
|
|
9843
9852
|
var IngestOptions = z33.object({
|
|
9844
9853
|
/** Optional owner-scoped guided journey context. Never bypasses ingest gates. */
|
|
9845
|
-
dropshippingProjectId: z33.string().
|
|
9846
|
-
languageCode: LanguageCodeSchema.default("es-CO"),
|
|
9847
|
-
ugcFormat: VideoFormat.default("single_15s"),
|
|
9854
|
+
dropshippingProjectId: z33.string().guid().optional(),
|
|
9855
|
+
languageCode: LanguageCodeSchema.default("es-CO").nonoptional(),
|
|
9856
|
+
ugcFormat: VideoFormat.default("single_15s").nonoptional(),
|
|
9848
9857
|
country: CountrySchema,
|
|
9849
9858
|
price: PriceSchema,
|
|
9850
9859
|
offer: OfferSchema,
|
|
9851
9860
|
compareAtPrice: CompareAtPriceSchema,
|
|
9852
9861
|
pricingInput: SellerPricingInputSchema.optional(),
|
|
9853
9862
|
paymentMethods: PaymentMethodsSchema,
|
|
9854
|
-
videoStyle: VideoStyle.default("ugc"),
|
|
9863
|
+
videoStyle: VideoStyle.default("ugc").nonoptional(),
|
|
9855
9864
|
/** Canonical public route axes; legacy provider fields remain compatibility aliases. */
|
|
9856
9865
|
videoStructure: VideoStructure.optional(),
|
|
9857
9866
|
videoQuality: VideoQuality.optional(),
|
|
9858
|
-
videoModel: VideoModel.default("veo"),
|
|
9867
|
+
videoModel: VideoModel.default("veo").nonoptional(),
|
|
9859
9868
|
/**
|
|
9860
9869
|
* An explicit registry model id for Free mode (Defect 1, follow-up to the
|
|
9861
9870
|
* model-agnostic video plan). Validated against `activeVideoModels()` in
|
|
@@ -9870,15 +9879,15 @@ var IngestOptions = z33.object({
|
|
|
9870
9879
|
]).optional(),
|
|
9871
9880
|
rawPrompt: FreeVideoOptionsSchema.shape.rawPrompt.optional(),
|
|
9872
9881
|
durationSeconds: FreeVideoOptionsSchema.shape.durationSeconds.optional(),
|
|
9873
|
-
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.optional(),
|
|
9882
|
+
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.nonoptional().optional(),
|
|
9874
9883
|
subtitleText: z33.string().transform((value) => value.trim()).pipe(z33.string().max(FREE_VIDEO_SUBTITLE_MAX_CHARS)).optional(),
|
|
9875
|
-
videoTier: WritableVideoTier.default(DEFAULT_VIDEO_TIER),
|
|
9876
|
-
narrativeStyle: NarrativeStyle.default("review"),
|
|
9884
|
+
videoTier: WritableVideoTier.default(WritableVideoTier.parse(DEFAULT_VIDEO_TIER)).nonoptional(),
|
|
9885
|
+
narrativeStyle: NarrativeStyle.default("review").nonoptional(),
|
|
9877
9886
|
videoPreset: VideoPreset.optional(),
|
|
9878
9887
|
/** Orthogonal visual style for animated narratives only. The API rejects it
|
|
9879
9888
|
* on non-animated presets; absent → the pipeline resolves 'pixar_3d'. */
|
|
9880
9889
|
animationStyle: AnimationStyleSchema.optional(),
|
|
9881
|
-
multiAngleVideos: z33.boolean().default(false),
|
|
9890
|
+
multiAngleVideos: z33.boolean().default(false).nonoptional(),
|
|
9882
9891
|
videoAngleCount: z33.number().int().min(1).max(3).optional(),
|
|
9883
9892
|
/** Per-angle narrative override (positional). angleNarratives[i] forces the
|
|
9884
9893
|
* narrative of angle position i, overriding the batch auto-selector; a list
|
|
@@ -9890,7 +9899,7 @@ var IngestOptions = z33.object({
|
|
|
9890
9899
|
// quality levels; an explicit 720p pick wins. Callers that omit the field
|
|
9891
9900
|
// use the same 480p compatibility fallback in resolveSingleCallAwareResolution.
|
|
9892
9901
|
videoResolution: VideoResolution.optional(),
|
|
9893
|
-
generateAdCopy: z33.boolean().default(true),
|
|
9902
|
+
generateAdCopy: z33.boolean().default(true).nonoptional(),
|
|
9894
9903
|
generateAiMusic: z33.boolean().optional(),
|
|
9895
9904
|
/** «Edición con IA» opt-in; a music request aliases to it. */
|
|
9896
9905
|
generateAiEdit: AiEditRequestSchema.optional(),
|
|
@@ -9901,7 +9910,7 @@ var IngestOptions = z33.object({
|
|
|
9901
9910
|
* the multipart path on 2026-09-01, so an unbounded opaque string was newly persistable
|
|
9902
9911
|
* per task. Length only, never `.uuid()` — Actor.id is a CUID. */
|
|
9903
9912
|
actorId: z33.string().min(1).max(120).optional(),
|
|
9904
|
-
isCombo: z33.boolean().default(false),
|
|
9913
|
+
isCombo: z33.boolean().default(false).nonoptional(),
|
|
9905
9914
|
productContext: z33.string().transform(canonicalizeProductContext).pipe(z33.string().max(PRODUCT_CONTEXT_MAX_CHARS)).optional(),
|
|
9906
9915
|
creativeDirection: CreativeDirectionSchema.optional(),
|
|
9907
9916
|
/** Exact copy the user pinned. Rendered VERBATIM on the image creatives this task
|
|
@@ -9974,8 +9983,8 @@ var IngestOptions = z33.object({
|
|
|
9974
9983
|
* chosen videoPreset. Default true preserves the 2026-08-04 decision;
|
|
9975
9984
|
* only a deliberate `false` suspends replication. See
|
|
9976
9985
|
* `shouldAskReplicationConsent` for when this is even asked. */
|
|
9977
|
-
replicateWinnerWhenFound: z33.boolean().default(true),
|
|
9978
|
-
brandId: z33.string().
|
|
9986
|
+
replicateWinnerWhenFound: z33.boolean().default(true).nonoptional(),
|
|
9987
|
+
brandId: z33.string().guid().optional()
|
|
9979
9988
|
}).partial().transform(normalizeSellerPricingFields).superRefine((data, ctx) => {
|
|
9980
9989
|
const message = validatePriceInversion(data.price, data.compareAtPrice);
|
|
9981
9990
|
if (message) {
|
|
@@ -10722,7 +10731,7 @@ var CreativeEngineWinnerContextSchema = z38.object({
|
|
|
10722
10731
|
version: z38.literal(1),
|
|
10723
10732
|
winnerAdId: z38.string().min(1).max(200),
|
|
10724
10733
|
/** Owned parsed gap blueprint of the selected winner (opaque evidence). */
|
|
10725
|
-
gapBlueprint: z38.unknown(),
|
|
10734
|
+
gapBlueprint: z38.unknown().optional(),
|
|
10726
10735
|
observed: z38.object({
|
|
10727
10736
|
scenes: z38.array(CreativeEngineWinnerObservedSceneSchema).max(40),
|
|
10728
10737
|
/**
|
|
@@ -11893,7 +11902,7 @@ var VideoGenerator = z39.object({
|
|
|
11893
11902
|
ctx.addIssue({
|
|
11894
11903
|
code: z39.ZodIssueCode.too_small,
|
|
11895
11904
|
minimum: 1,
|
|
11896
|
-
|
|
11905
|
+
origin: "string",
|
|
11897
11906
|
inclusive: true,
|
|
11898
11907
|
path: [
|
|
11899
11908
|
"prompt"
|
|
@@ -12001,7 +12010,7 @@ var RegenerateVideoScriptNarrativeResponse = z39.object({
|
|
|
12001
12010
|
var RegenerateVideoRequest = z39.object({
|
|
12002
12011
|
angleKey: z39.string().min(1),
|
|
12003
12012
|
/** Stable new-intent identity for regeneration of an already delivered engine video. */
|
|
12004
|
-
clientRequestId: z39.string().
|
|
12013
|
+
clientRequestId: z39.string().guid().optional()
|
|
12005
12014
|
}).strict();
|
|
12006
12015
|
var RegenerateVideoResponse = z39.object({
|
|
12007
12016
|
ok: z39.literal(true),
|
|
@@ -12012,7 +12021,7 @@ var RegenerateVideoResponse = z39.object({
|
|
|
12012
12021
|
"single_call"
|
|
12013
12022
|
]),
|
|
12014
12023
|
/** New immutable child, when this command bought a new delivered-video intent. */
|
|
12015
|
-
taskId: z39.string().
|
|
12024
|
+
taskId: z39.string().guid().optional()
|
|
12016
12025
|
});
|
|
12017
12026
|
|
|
12018
12027
|
// ../../packages/types/src/billing.ts
|
|
@@ -12054,16 +12063,16 @@ var BillingProvider = z40.enum([
|
|
|
12054
12063
|
]);
|
|
12055
12064
|
var BillingRecordInput = z40.object({
|
|
12056
12065
|
userId: z40.string().min(1),
|
|
12057
|
-
taskId: z40.string().
|
|
12058
|
-
mixTaskId: z40.string().
|
|
12059
|
-
productResearchRunId: z40.string().
|
|
12060
|
-
servicePageId: z40.string().
|
|
12066
|
+
taskId: z40.string().guid().optional(),
|
|
12067
|
+
mixTaskId: z40.string().guid().optional(),
|
|
12068
|
+
productResearchRunId: z40.string().guid().optional(),
|
|
12069
|
+
servicePageId: z40.string().guid().optional(),
|
|
12061
12070
|
provider: BillingProvider,
|
|
12062
12071
|
label: z40.string().optional(),
|
|
12063
12072
|
units: z40.number().int().nonnegative().optional(),
|
|
12064
12073
|
ourCostCents: BillingNonNegativeAmount,
|
|
12065
12074
|
userPriceCents: BillingNonNegativeAmount,
|
|
12066
|
-
metadata: z40.record(z40.unknown()).optional()
|
|
12075
|
+
metadata: z40.record(z40.string(), z40.unknown()).optional()
|
|
12067
12076
|
}).superRefine((value, ctx) => {
|
|
12068
12077
|
const scopedIds = [
|
|
12069
12078
|
value.taskId,
|
|
@@ -12085,7 +12094,7 @@ var BillingSummary = z40.object({
|
|
|
12085
12094
|
// ../../packages/types/src/shopify.ts
|
|
12086
12095
|
import { z as z41 } from "zod";
|
|
12087
12096
|
var ShopifyShopSummary = z41.object({
|
|
12088
|
-
id: z41.string().
|
|
12097
|
+
id: z41.string().guid(),
|
|
12089
12098
|
shopDomain: z41.string(),
|
|
12090
12099
|
primaryDomain: z41.string().nullable(),
|
|
12091
12100
|
scopes: z41.array(z41.string()),
|
|
@@ -12132,7 +12141,7 @@ var ShopifyPublicationMode = z41.enum([
|
|
|
12132
12141
|
var SHOPIFY_ANNOUNCEMENT_BAR_MAX_LENGTH = 160;
|
|
12133
12142
|
var ShopifyPublishRequest = z41.object({
|
|
12134
12143
|
/** Correlates a mutation with read-only recovery after a lost response. */
|
|
12135
|
-
publishAttemptId: z41.string().
|
|
12144
|
+
publishAttemptId: z41.string().guid().optional(),
|
|
12136
12145
|
/** Omitted keeps legacy publication behavior; null explicitly excludes the GIF. */
|
|
12137
12146
|
selectedLandingGif: LandingGifSelectionSchema.nullable().optional(),
|
|
12138
12147
|
classicSelection: ClassicLandingSelectionSnapshotSchema.optional(),
|
|
@@ -12191,7 +12200,7 @@ var ShopifyPublishRequest = z41.object({
|
|
|
12191
12200
|
});
|
|
12192
12201
|
}
|
|
12193
12202
|
});
|
|
12194
|
-
var CodeLandingThemeSetupRequest = ShopifyPublishRequest.
|
|
12203
|
+
var CodeLandingThemeSetupRequest = z41.object(ShopifyPublishRequest.shape).omit({
|
|
12195
12204
|
publishAttemptId: true,
|
|
12196
12205
|
commerceCorrection: true
|
|
12197
12206
|
});
|
|
@@ -12261,8 +12270,8 @@ var ShopifyBundleMappingResult = z41.discriminatedUnion("status", [
|
|
|
12261
12270
|
]);
|
|
12262
12271
|
var ShopifyPublishResponse = z41.object({
|
|
12263
12272
|
pricingNotices: z41.array(SellerPricingNoticeSchema).max(32).optional(),
|
|
12264
|
-
publicationId: z41.string().
|
|
12265
|
-
taskId: z41.string().
|
|
12273
|
+
publicationId: z41.string().guid(),
|
|
12274
|
+
taskId: z41.string().guid(),
|
|
12266
12275
|
status: ShopifyPublicationStatus,
|
|
12267
12276
|
shopDomain: z41.string(),
|
|
12268
12277
|
productId: z41.string().optional(),
|
|
@@ -12333,8 +12342,8 @@ var ShopifyImportOutcomeResponse = z41.discriminatedUnion("status", [
|
|
|
12333
12342
|
]);
|
|
12334
12343
|
var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
12335
12344
|
z41.object({
|
|
12336
|
-
publicationId: z41.string().
|
|
12337
|
-
taskId: z41.string().
|
|
12345
|
+
publicationId: z41.string().guid(),
|
|
12346
|
+
taskId: z41.string().guid(),
|
|
12338
12347
|
status: z41.enum([
|
|
12339
12348
|
"pending",
|
|
12340
12349
|
"processing"
|
|
@@ -12342,8 +12351,8 @@ var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
|
12342
12351
|
productId: z41.string().optional()
|
|
12343
12352
|
}),
|
|
12344
12353
|
z41.object({
|
|
12345
|
-
publicationId: z41.string().
|
|
12346
|
-
taskId: z41.string().
|
|
12354
|
+
publicationId: z41.string().guid(),
|
|
12355
|
+
taskId: z41.string().guid(),
|
|
12347
12356
|
status: z41.literal("error"),
|
|
12348
12357
|
productId: z41.string().optional(),
|
|
12349
12358
|
failure: z41.discriminatedUnion("kind", [
|
|
@@ -12497,7 +12506,7 @@ var CreateShopifyBillingChargeRequest = z41.object({
|
|
|
12497
12506
|
});
|
|
12498
12507
|
var ShopifyBillingCallbackQuery = z41.object({
|
|
12499
12508
|
charge_id: z41.string().regex(/^\d+$/),
|
|
12500
|
-
transactionId: z41.string().
|
|
12509
|
+
transactionId: z41.string().guid()
|
|
12501
12510
|
});
|
|
12502
12511
|
var CancelShopifySubscriptionRequest = z41.object({
|
|
12503
12512
|
subscriptionId: z41.string().min(1)
|
|
@@ -12563,12 +12572,12 @@ var ApproveAnglesRefusalReason = z42.enum([
|
|
|
12563
12572
|
]);
|
|
12564
12573
|
var ApproveAnglesResponse = z42.object({
|
|
12565
12574
|
success: z42.boolean(),
|
|
12566
|
-
taskId: z42.string().
|
|
12575
|
+
taskId: z42.string().guid(),
|
|
12567
12576
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12568
12577
|
});
|
|
12569
12578
|
var IngestResumeRefusalResponse = z42.object({
|
|
12570
12579
|
success: z42.literal(false),
|
|
12571
|
-
taskId: z42.string().
|
|
12580
|
+
taskId: z42.string().guid(),
|
|
12572
12581
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12573
12582
|
});
|
|
12574
12583
|
var GenerateSuggestionsResponse = z42.object({
|
|
@@ -12583,7 +12592,7 @@ var SaveDraftRequest = z42.object({
|
|
|
12583
12592
|
});
|
|
12584
12593
|
var SaveDraftResponse = z42.object({
|
|
12585
12594
|
success: z42.boolean(),
|
|
12586
|
-
taskId: z42.string().
|
|
12595
|
+
taskId: z42.string().guid()
|
|
12587
12596
|
});
|
|
12588
12597
|
var ProductReferenceRecoveryImageMimeType = z42.enum([
|
|
12589
12598
|
"image/jpeg",
|
|
@@ -12628,7 +12637,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12628
12637
|
"keep_selection"
|
|
12629
12638
|
]),
|
|
12630
12639
|
affectedRefKeys: z42.array(z42.string().min(1).max(200)).min(1).max(5).optional(),
|
|
12631
|
-
expectedReferenceVersionId: z42.string().
|
|
12640
|
+
expectedReferenceVersionId: z42.string().guid().optional(),
|
|
12632
12641
|
expectedEvidenceHash: z42.string().min(1).max(128).optional(),
|
|
12633
12642
|
uploadedImages: z42.array(ProductReferenceRecoveryUpload).max(INGEST_MAX_REFERENCE_IMAGES).optional()
|
|
12634
12643
|
}).optional()
|
|
@@ -12665,7 +12674,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12665
12674
|
});
|
|
12666
12675
|
var ConfirmProductReferencesResponse = z42.object({
|
|
12667
12676
|
success: z42.boolean(),
|
|
12668
|
-
taskId: z42.string().
|
|
12677
|
+
taskId: z42.string().guid(),
|
|
12669
12678
|
anglesQueued: z42.boolean()
|
|
12670
12679
|
});
|
|
12671
12680
|
var UpdateProductFeaturesRequest = z42.object({
|
|
@@ -12732,7 +12741,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12732
12741
|
"meta",
|
|
12733
12742
|
"upload"
|
|
12734
12743
|
]).optional(),
|
|
12735
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12744
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional(),
|
|
12736
12745
|
/** Whether to pause for video script review before final generation */
|
|
12737
12746
|
pauseForVideoScriptReview: z42.boolean().optional(),
|
|
12738
12747
|
/** Whether to produce an additional AI-music video variant */
|
|
@@ -12746,7 +12755,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12746
12755
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, true));
|
|
12747
12756
|
var ApproveVideoAnglesResponse = z42.object({
|
|
12748
12757
|
success: z42.boolean(),
|
|
12749
|
-
taskId: z42.string().
|
|
12758
|
+
taskId: z42.string().guid(),
|
|
12750
12759
|
/** Persisted keys scheduled by this approval; visible candidate indices are not worker keys. */
|
|
12751
12760
|
approvedAngleKeys: z42.array(z42.string().regex(/^angle_\d+$/)).min(1).max(3).optional(),
|
|
12752
12761
|
reason: ApproveAnglesRefusalReason.optional()
|
|
@@ -12766,11 +12775,11 @@ var SaveVideoDraftRequest = z42.object({
|
|
|
12766
12775
|
"meta",
|
|
12767
12776
|
"upload"
|
|
12768
12777
|
]).optional(),
|
|
12769
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12778
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional()
|
|
12770
12779
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, false));
|
|
12771
12780
|
var SaveVideoDraftResponse = z42.object({
|
|
12772
12781
|
success: z42.boolean(),
|
|
12773
|
-
taskId: z42.string().
|
|
12782
|
+
taskId: z42.string().guid()
|
|
12774
12783
|
});
|
|
12775
12784
|
var ApproveImageAnglesRequest = z42.object({
|
|
12776
12785
|
/** Zero-based index of the generated angle explicitly selected for production. */
|
|
@@ -12794,7 +12803,7 @@ var ApproveImageAnglesRequest = z42.object({
|
|
|
12794
12803
|
});
|
|
12795
12804
|
var ApproveImageAnglesResponse = z42.object({
|
|
12796
12805
|
success: z42.boolean(),
|
|
12797
|
-
taskId: z42.string().
|
|
12806
|
+
taskId: z42.string().guid(),
|
|
12798
12807
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12799
12808
|
});
|
|
12800
12809
|
var SaveImageDraftRequest = z42.object({
|
|
@@ -12805,7 +12814,7 @@ var SaveImageDraftRequest = z42.object({
|
|
|
12805
12814
|
});
|
|
12806
12815
|
var SaveImageDraftResponse = z42.object({
|
|
12807
12816
|
success: z42.boolean(),
|
|
12808
|
-
taskId: z42.string().
|
|
12817
|
+
taskId: z42.string().guid()
|
|
12809
12818
|
});
|
|
12810
12819
|
var ImageSuggestionsResponse = z42.object({
|
|
12811
12820
|
painPoints: z42.array(z42.string()),
|
|
@@ -12851,8 +12860,8 @@ var QualityReportReason = z43.enum([
|
|
|
12851
12860
|
"other"
|
|
12852
12861
|
]);
|
|
12853
12862
|
var QualityReportRequest = z43.object({
|
|
12854
|
-
taskId: z43.string().
|
|
12855
|
-
mixTaskId: z43.string().
|
|
12863
|
+
taskId: z43.string().guid().optional(),
|
|
12864
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12856
12865
|
kind: QualityReportKind,
|
|
12857
12866
|
/**
|
|
12858
12867
|
* URL or internal proxy path (e.g. `/api/assets/...`).
|
|
@@ -12878,9 +12887,9 @@ var QualityReportRequest = z43.object({
|
|
|
12878
12887
|
]
|
|
12879
12888
|
});
|
|
12880
12889
|
var QualityReportResponse = z43.object({
|
|
12881
|
-
reportId: z43.string().
|
|
12882
|
-
taskId: z43.string().
|
|
12883
|
-
mixTaskId: z43.string().
|
|
12890
|
+
reportId: z43.string().guid(),
|
|
12891
|
+
taskId: z43.string().guid().optional(),
|
|
12892
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12884
12893
|
kind: QualityReportKind,
|
|
12885
12894
|
resourceUrl: z43.string().min(1),
|
|
12886
12895
|
reason: QualityReportReason,
|
|
@@ -13309,7 +13318,7 @@ var TaskCreativeVariantVideoPreset = VideoPreset.exclude([
|
|
|
13309
13318
|
...BLOCKED_VIDEO_PRESETS
|
|
13310
13319
|
]);
|
|
13311
13320
|
var CreateTaskCreativeVariantBase = z47.object({
|
|
13312
|
-
clientRequestId: z47.string().
|
|
13321
|
+
clientRequestId: z47.string().guid(),
|
|
13313
13322
|
angle: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.angle),
|
|
13314
13323
|
buyerPersona: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.buyerPersona).optional()
|
|
13315
13324
|
});
|
|
@@ -13332,7 +13341,7 @@ var CreateTaskImageVariantRequest = CreateTaskCreativeVariantBase.extend({
|
|
|
13332
13341
|
styleMix: z47.boolean().optional()
|
|
13333
13342
|
}).strict();
|
|
13334
13343
|
var CreateTaskLandingSectionVariantRequest = z47.object({
|
|
13335
|
-
clientRequestId: z47.string().
|
|
13344
|
+
clientRequestId: z47.string().guid(),
|
|
13336
13345
|
kind: z47.literal("landing"),
|
|
13337
13346
|
sectionKey: LandingSectionKeySchema,
|
|
13338
13347
|
instructions: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.landingInstructions).optional()
|
|
@@ -13360,8 +13369,8 @@ var EstimateTaskCreativeVariantRequest = z47.discriminatedUnion("kind", [
|
|
|
13360
13369
|
]);
|
|
13361
13370
|
var CreateTaskCreativeVariantResponse = z47.object({
|
|
13362
13371
|
ok: z47.literal(true),
|
|
13363
|
-
sourceTaskId: z47.string().
|
|
13364
|
-
variantTaskId: z47.string().
|
|
13372
|
+
sourceTaskId: z47.string().guid(),
|
|
13373
|
+
variantTaskId: z47.string().guid(),
|
|
13365
13374
|
kind: TaskCreativeVariantKind,
|
|
13366
13375
|
status: TaskCreativeVariantStatus
|
|
13367
13376
|
}).strict();
|
|
@@ -13384,15 +13393,15 @@ var TaskCreativeVariantRecommendationRequest = z47.object({
|
|
|
13384
13393
|
}).strict();
|
|
13385
13394
|
var TaskCreativeVariantRecommendationResponse = z47.object({
|
|
13386
13395
|
ok: z47.literal(true),
|
|
13387
|
-
sourceTaskId: z47.string().
|
|
13396
|
+
sourceTaskId: z47.string().guid(),
|
|
13388
13397
|
kind: TaskCreativeVariantKind,
|
|
13389
13398
|
field: TaskCreativeVariantRecommendationField,
|
|
13390
13399
|
value: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.scriptNotes),
|
|
13391
13400
|
rationale: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.recommendationRationale).optional()
|
|
13392
13401
|
}).strict();
|
|
13393
13402
|
var TaskCreativeVariantBaseResult = z47.object({
|
|
13394
|
-
variantTaskId: z47.string().
|
|
13395
|
-
sourceTaskId: z47.string().
|
|
13403
|
+
variantTaskId: z47.string().guid(),
|
|
13404
|
+
sourceTaskId: z47.string().guid(),
|
|
13396
13405
|
kind: TaskCreativeVariantKind,
|
|
13397
13406
|
status: TaskCreativeVariantStatus,
|
|
13398
13407
|
angle: z47.string().min(1),
|
|
@@ -13566,7 +13575,7 @@ var ResultAngle = Angle.extend({
|
|
|
13566
13575
|
aiEdit: AiEditTierSchema.nullable().optional()
|
|
13567
13576
|
});
|
|
13568
13577
|
var MVPResult = z49.object({
|
|
13569
|
-
taskId: z49.string().
|
|
13578
|
+
taskId: z49.string().guid(),
|
|
13570
13579
|
/** Read-only identity derived from validated persisted request context.
|
|
13571
13580
|
* Optional for older APIs and content-only tasks; absence never implies a service. */
|
|
13572
13581
|
subjectKind: z49.enum([
|
|
@@ -13744,7 +13753,7 @@ var PendingUserActionSchema = z49.discriminatedUnion("kind", [
|
|
|
13744
13753
|
z49.object({
|
|
13745
13754
|
kind: z49.literal("service_angle_approval"),
|
|
13746
13755
|
angles: z49.array(z49.object({
|
|
13747
|
-
id: z49.string().
|
|
13756
|
+
id: z49.string().guid(),
|
|
13748
13757
|
content: z49.string(),
|
|
13749
13758
|
creativeDirection: z49.string(),
|
|
13750
13759
|
actor: z49.string(),
|
|
@@ -13823,7 +13832,7 @@ var CommercialStudySummarySchema = z49.union([
|
|
|
13823
13832
|
})
|
|
13824
13833
|
]);
|
|
13825
13834
|
var StatusResponse = z49.object({
|
|
13826
|
-
taskId: z49.string().
|
|
13835
|
+
taskId: z49.string().guid(),
|
|
13827
13836
|
status: TaskStatusSchema,
|
|
13828
13837
|
/** ENGINEERING string (`Task.error`). Never render this to a seller. */
|
|
13829
13838
|
error: z49.string().optional(),
|
|
@@ -14031,7 +14040,7 @@ var StatusResponse = z49.object({
|
|
|
14031
14040
|
frankensteinRun: FrankensteinRunProgressSchema.optional()
|
|
14032
14041
|
});
|
|
14033
14042
|
var TaskSummary = z49.object({
|
|
14034
|
-
taskId: z49.string().
|
|
14043
|
+
taskId: z49.string().guid(),
|
|
14035
14044
|
/** A projected ServicePage, opened through its own editor and lifecycle. */
|
|
14036
14045
|
resourceType: z49.literal("service_page").optional(),
|
|
14037
14046
|
status: TaskStatusSchema,
|
|
@@ -14460,7 +14469,7 @@ var RegenerateLandingRoleBody = z50.object({
|
|
|
14460
14469
|
comment: z50.string().max(2e3).optional(),
|
|
14461
14470
|
sourceKey: z50.string().max(200).optional(),
|
|
14462
14471
|
/** Client-generated key makes a lost response safe to retry without another charge. */
|
|
14463
|
-
clientRequestId: z50.string().
|
|
14472
|
+
clientRequestId: z50.string().guid().optional()
|
|
14464
14473
|
}).strict();
|
|
14465
14474
|
var LandingRegenerateEstimationOptions = z50.object({
|
|
14466
14475
|
/** KIE image endpoint has non-linear pricing by nVariants; for landing we default to 2. */
|
|
@@ -15447,7 +15456,7 @@ var UpdateUserCreditsRequest = z53.object({
|
|
|
15447
15456
|
/** Free-text detail. Required when the enum alone does not explain the grant. */
|
|
15448
15457
|
notes: z53.string().trim().min(1).max(500).optional(),
|
|
15449
15458
|
/** The task the grant compensates, when there is one. */
|
|
15450
|
-
taskId: z53.string().
|
|
15459
|
+
taskId: z53.string().guid().optional()
|
|
15451
15460
|
});
|
|
15452
15461
|
var QualityReportStatus = z53.enum([
|
|
15453
15462
|
"open",
|
|
@@ -15507,7 +15516,7 @@ var AdminSupportDeliveryStatus = z53.enum([
|
|
|
15507
15516
|
"blocked"
|
|
15508
15517
|
]);
|
|
15509
15518
|
var AdminSupportMessage = z53.object({
|
|
15510
|
-
id: z53.string().
|
|
15519
|
+
id: z53.string().guid(),
|
|
15511
15520
|
direction: z53.enum([
|
|
15512
15521
|
"inbound",
|
|
15513
15522
|
"outbound"
|
|
@@ -15531,7 +15540,7 @@ var AdminSupportMessage = z53.object({
|
|
|
15531
15540
|
createdAt: z53.string().datetime()
|
|
15532
15541
|
});
|
|
15533
15542
|
var AdminSupportTicket = z53.object({
|
|
15534
|
-
id: z53.string().
|
|
15543
|
+
id: z53.string().guid(),
|
|
15535
15544
|
category: z53.enum([
|
|
15536
15545
|
"how_to",
|
|
15537
15546
|
"credits",
|
|
@@ -15560,7 +15569,7 @@ var AdminSupportTicket = z53.object({
|
|
|
15560
15569
|
updatedAt: z53.string().datetime()
|
|
15561
15570
|
});
|
|
15562
15571
|
var AdminSupportConversation = z53.object({
|
|
15563
|
-
id: z53.string().
|
|
15572
|
+
id: z53.string().guid(),
|
|
15564
15573
|
status: AdminSupportConversationStatus,
|
|
15565
15574
|
priority: z53.enum([
|
|
15566
15575
|
"low",
|
|
@@ -15575,7 +15584,7 @@ var AdminSupportConversation = z53.object({
|
|
|
15575
15584
|
createdAt: z53.string().datetime(),
|
|
15576
15585
|
updatedAt: z53.string().datetime(),
|
|
15577
15586
|
contact: z53.object({
|
|
15578
|
-
id: z53.string().
|
|
15587
|
+
id: z53.string().guid(),
|
|
15579
15588
|
userId: z53.string().nullable(),
|
|
15580
15589
|
verifiedAt: z53.string().datetime().nullable(),
|
|
15581
15590
|
botMode: z53.enum([
|
|
@@ -15591,11 +15600,11 @@ var AdminSupportConversation = z53.object({
|
|
|
15591
15600
|
var AdminSupportListQuery = z53.object({
|
|
15592
15601
|
status: AdminSupportConversationStatus.optional(),
|
|
15593
15602
|
take: z53.coerce.number().int().min(1).max(100).default(50),
|
|
15594
|
-
cursorId: z53.string().
|
|
15603
|
+
cursorId: z53.string().guid().optional()
|
|
15595
15604
|
}).strict();
|
|
15596
15605
|
var AdminSupportListResponse = z53.object({
|
|
15597
15606
|
conversations: z53.array(AdminSupportConversation),
|
|
15598
|
-
nextCursor: z53.string().
|
|
15607
|
+
nextCursor: z53.string().guid().nullable()
|
|
15599
15608
|
});
|
|
15600
15609
|
var AdminSupportReplyRequest = z53.object({
|
|
15601
15610
|
body: z53.string().trim().min(1).max(4096),
|
|
@@ -15606,7 +15615,7 @@ var AdminSupportActionResponse = z53.object({
|
|
|
15606
15615
|
conversation: AdminSupportConversation
|
|
15607
15616
|
});
|
|
15608
15617
|
var AdminSupportReplyResponse = z53.object({
|
|
15609
|
-
messageId: z53.string().
|
|
15618
|
+
messageId: z53.string().guid(),
|
|
15610
15619
|
deliveryStatus: AdminSupportDeliveryStatus,
|
|
15611
15620
|
duplicate: z53.boolean()
|
|
15612
15621
|
});
|
|
@@ -15736,7 +15745,7 @@ var VideoVoiceJobSchema = z57.object({
|
|
|
15736
15745
|
wakeRevision: z57.number().int().nonnegative()
|
|
15737
15746
|
}).strict();
|
|
15738
15747
|
var ExtractJobSchema = z57.object({
|
|
15739
|
-
taskId: z57.string().
|
|
15748
|
+
taskId: z57.string().guid(),
|
|
15740
15749
|
imageKey: z57.string().min(1).optional(),
|
|
15741
15750
|
imageKeys: z57.array(z57.string().min(1)).min(1).max(INGEST_MAX_REFERENCE_IMAGES).optional(),
|
|
15742
15751
|
/** Existing clean references carried through a recovery extract. They are
|
|
@@ -15855,20 +15864,20 @@ var BrandExtractDocumentSchema = z57.object({
|
|
|
15855
15864
|
])
|
|
15856
15865
|
});
|
|
15857
15866
|
var VideoMixSubmitJobSchema = z57.object({
|
|
15858
|
-
mixTaskId: z57.string().
|
|
15867
|
+
mixTaskId: z57.string().guid()
|
|
15859
15868
|
});
|
|
15860
15869
|
var VideoMixAssembleJobSchema = z57.object({
|
|
15861
|
-
mixTaskId: z57.string().
|
|
15870
|
+
mixTaskId: z57.string().guid()
|
|
15862
15871
|
});
|
|
15863
15872
|
var VideoMixQaJobSchema = z57.object({
|
|
15864
|
-
mixSceneTaskId: z57.string().
|
|
15873
|
+
mixSceneTaskId: z57.string().guid(),
|
|
15865
15874
|
// externalId is included in the BullMQ payload by the producer (used in the
|
|
15866
15875
|
// jobId for retry uniqueness) but the worker only reads mixSceneTaskId.
|
|
15867
15876
|
externalId: z57.string().min(1).optional()
|
|
15868
15877
|
});
|
|
15869
15878
|
var BrandExtractLocaleSchema = z57.string().regex(/^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,8})?$/, "invalid locale");
|
|
15870
15879
|
var BrandExtractJobSchema = z57.object({
|
|
15871
|
-
brandId: z57.string().
|
|
15880
|
+
brandId: z57.string().guid(),
|
|
15872
15881
|
// Generation is part of the durable paid-spend identity. Default 1 keeps
|
|
15873
15882
|
// pre-migration BullMQ payloads parseable; their DB state fails safe.
|
|
15874
15883
|
generation: z57.number().int().positive().default(1),
|
|
@@ -15900,23 +15909,23 @@ import { z as z58 } from "zod";
|
|
|
15900
15909
|
var WhatsAppDeliveryConsumerSchema = z58.discriminatedUnion("kind", [
|
|
15901
15910
|
z58.object({
|
|
15902
15911
|
kind: z58.literal("presentation"),
|
|
15903
|
-
presentationId: z58.string().
|
|
15912
|
+
presentationId: z58.string().guid(),
|
|
15904
15913
|
pollAt: z58.number().int().nonnegative()
|
|
15905
15914
|
}).strict(),
|
|
15906
15915
|
z58.object({
|
|
15907
15916
|
kind: z58.literal("message"),
|
|
15908
|
-
messageId: z58.string().
|
|
15917
|
+
messageId: z58.string().guid(),
|
|
15909
15918
|
providerMessageId: z58.string().min(1).max(256)
|
|
15910
15919
|
}).strict(),
|
|
15911
15920
|
z58.object({
|
|
15912
15921
|
kind: z58.literal("task_watch"),
|
|
15913
|
-
commandId: z58.string().
|
|
15922
|
+
commandId: z58.string().guid(),
|
|
15914
15923
|
pollAt: z58.number().int().nonnegative()
|
|
15915
15924
|
}).strict(),
|
|
15916
15925
|
z58.object({
|
|
15917
15926
|
kind: z58.literal("research_watch"),
|
|
15918
|
-
commandId: z58.string().
|
|
15919
|
-
runId: z58.string().
|
|
15927
|
+
commandId: z58.string().guid(),
|
|
15928
|
+
runId: z58.string().guid(),
|
|
15920
15929
|
pollAt: z58.number().int().nonnegative()
|
|
15921
15930
|
}).strict()
|
|
15922
15931
|
]);
|
|
@@ -15965,9 +15974,9 @@ var ComboItemSchema = z60.object({
|
|
|
15965
15974
|
/** Physical details for this specific product */
|
|
15966
15975
|
details: z60.object({
|
|
15967
15976
|
packagingType: z60.string().optional(),
|
|
15968
|
-
geometry: z60.record(z60.unknown()).optional(),
|
|
15969
|
-
morphology: z60.record(z60.unknown()).optional(),
|
|
15970
|
-
estimatedDimensions: z60.record(z60.unknown()).optional()
|
|
15977
|
+
geometry: z60.record(z60.string(), z60.unknown()).optional(),
|
|
15978
|
+
morphology: z60.record(z60.string(), z60.unknown()).optional(),
|
|
15979
|
+
estimatedDimensions: z60.record(z60.string(), z60.unknown()).optional()
|
|
15971
15980
|
}).optional(),
|
|
15972
15981
|
/** Per-item usage spec extracted individually (fallback: global combo usageSpec) */
|
|
15973
15982
|
usageSpec: ProductUsageSpec.optional()
|
|
@@ -16006,7 +16015,7 @@ var FacebookConnectionStatusSchema = z61.object({
|
|
|
16006
16015
|
message: z61.string().optional()
|
|
16007
16016
|
});
|
|
16008
16017
|
var FacebookCreateCampaignRequestSchema = z61.object({
|
|
16009
|
-
taskId: z61.string().
|
|
16018
|
+
taskId: z61.string().guid(),
|
|
16010
16019
|
pixelId: z61.string().optional(),
|
|
16011
16020
|
landingUrl: HttpUrl2.optional()
|
|
16012
16021
|
});
|
|
@@ -16131,29 +16140,14 @@ var FacebookCreateCampaignResponseSchema = z61.object({
|
|
|
16131
16140
|
appliedBudget: z61.number().int().positive()
|
|
16132
16141
|
});
|
|
16133
16142
|
var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
16134
|
-
|
|
16135
|
-
|
|
16136
|
-
|
|
16137
|
-
|
|
16138
|
-
title: z61.string().max(120),
|
|
16139
|
-
description: z61.string().max(500),
|
|
16140
|
-
cta: MetaCtaType,
|
|
16143
|
+
...UploadToMetaRequest.shape,
|
|
16144
|
+
creatives: z61.array(UploadToMetaRequest.shape.creatives.element.extend({
|
|
16145
|
+
// Retain this endpoint's HTTP URL policy; the upload owner additionally
|
|
16146
|
+
// forbids credentials. Sharing its field shape must not tighten ours.
|
|
16141
16147
|
mediaUrl: HttpUrl2.optional(),
|
|
16142
|
-
|
|
16143
|
-
thumbnailUrl: HttpUrl2.optional(),
|
|
16144
|
-
thumbnailAssetId: z61.string().uuid().optional(),
|
|
16145
|
-
creativeId: z61.string().min(1).optional()
|
|
16148
|
+
thumbnailUrl: HttpUrl2.optional()
|
|
16146
16149
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
16147
|
-
adAccountId: MetaAdAccountId,
|
|
16148
|
-
portfolioId: z61.string().min(1).optional(),
|
|
16149
|
-
pageId: z61.string().min(1).optional(),
|
|
16150
|
-
pixelId: z61.string().optional(),
|
|
16151
|
-
/** Required unless campaignConfig.destination is 'whatsapp' (see superRefine below). */
|
|
16152
16150
|
landingUrl: HttpUrl2.optional(),
|
|
16153
|
-
/** Target country for ad targeting (ISO 3166-1 alpha-2 code or resolvable name) */
|
|
16154
|
-
targetCountry: CountryIso2Schema.default("US"),
|
|
16155
|
-
/** Custom campaign name */
|
|
16156
|
-
campaignName: z61.string().min(1).max(100).optional(),
|
|
16157
16151
|
campaignConfig: MetaCampaignConfig.optional()
|
|
16158
16152
|
}).superRefine((value, ctx) => {
|
|
16159
16153
|
const isWhatsapp = value.campaignConfig?.destination?.type === "whatsapp";
|
|
@@ -16166,30 +16160,7 @@ var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
|
16166
16160
|
message: "landingUrl is required unless destination is whatsapp"
|
|
16167
16161
|
});
|
|
16168
16162
|
}
|
|
16169
|
-
value
|
|
16170
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
16171
|
-
ctx.addIssue({
|
|
16172
|
-
code: z61.ZodIssueCode.custom,
|
|
16173
|
-
path: [
|
|
16174
|
-
"creatives",
|
|
16175
|
-
index,
|
|
16176
|
-
"mediaUrl"
|
|
16177
|
-
],
|
|
16178
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
16179
|
-
});
|
|
16180
|
-
}
|
|
16181
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
16182
|
-
ctx.addIssue({
|
|
16183
|
-
code: z61.ZodIssueCode.custom,
|
|
16184
|
-
path: [
|
|
16185
|
-
"creatives",
|
|
16186
|
-
index,
|
|
16187
|
-
"thumbnailUrl"
|
|
16188
|
-
],
|
|
16189
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
16190
|
-
});
|
|
16191
|
-
}
|
|
16192
|
-
});
|
|
16163
|
+
refineMetaCreativeSources(value, ctx);
|
|
16193
16164
|
if (value.campaignConfig?.destination?.type === "landing" && value.landingUrl && value.campaignConfig.destination.landingUrl !== value.landingUrl) {
|
|
16194
16165
|
ctx.addIssue({
|
|
16195
16166
|
code: z61.ZodIssueCode.custom,
|
|
@@ -16268,9 +16239,9 @@ var FacebookTaskCreativeSourceSchema = z61.object({
|
|
|
16268
16239
|
var FacebookMediaCreativeSourceSchema = z61.object({
|
|
16269
16240
|
type: z61.literal("media"),
|
|
16270
16241
|
mediaUrl: HttpUrl2.optional(),
|
|
16271
|
-
mediaAssetId: z61.string().
|
|
16242
|
+
mediaAssetId: z61.string().guid().optional(),
|
|
16272
16243
|
thumbnailUrl: HttpUrl2.optional(),
|
|
16273
|
-
thumbnailAssetId: z61.string().
|
|
16244
|
+
thumbnailAssetId: z61.string().guid().optional()
|
|
16274
16245
|
});
|
|
16275
16246
|
var FacebookCreativeSourceSchema = z61.discriminatedUnion("type", [
|
|
16276
16247
|
FacebookTaskCreativeSourceSchema,
|
|
@@ -16293,15 +16264,15 @@ var FacebookCreateCampaignFromTasksBodySchema = z61.object({
|
|
|
16293
16264
|
pageId: z61.string().min(1),
|
|
16294
16265
|
pixelId: z61.string().optional(),
|
|
16295
16266
|
/**
|
|
16296
|
-
|
|
16297
|
-
|
|
16298
|
-
|
|
16299
|
-
|
|
16267
|
+
* Omitted: a campaign with task creatives lands on the published service
|
|
16268
|
+
* landing of its service tasks (resolved server side, META_NO_LANDING_URL
|
|
16269
|
+
* when there is none); a media-only campaign must name it.
|
|
16270
|
+
*/
|
|
16300
16271
|
landingUrl: HttpUrl2.optional(),
|
|
16301
16272
|
/**
|
|
16302
|
-
|
|
16303
|
-
|
|
16304
|
-
|
|
16273
|
+
* Omitted: the brand country of its service tasks; a product-only campaign
|
|
16274
|
+
* keeps "US". Never a hardcoded country for a service (META_NO_TARGET_COUNTRY).
|
|
16275
|
+
*/
|
|
16305
16276
|
targetCountry: CountryIso2Schema.optional(),
|
|
16306
16277
|
campaignName: z61.string().min(1).max(100),
|
|
16307
16278
|
campaignConfig: MetaCampaignConfig.optional()
|
|
@@ -16862,7 +16833,7 @@ var VideoSpeechAssetSchema = z64.object({
|
|
|
16862
16833
|
var VoiceProgressSchema = z64.discriminatedUnion("status", [
|
|
16863
16834
|
z64.object({
|
|
16864
16835
|
status: z64.literal("ready"),
|
|
16865
|
-
value: z64.unknown()
|
|
16836
|
+
value: z64.unknown().optional()
|
|
16866
16837
|
}).strict(),
|
|
16867
16838
|
z64.object({
|
|
16868
16839
|
status: z64.literal("waiting"),
|
|
@@ -17412,7 +17383,7 @@ var MixSceneResult = z67.object({
|
|
|
17412
17383
|
degradedReason: MixDegradationReasonSchema.optional()
|
|
17413
17384
|
});
|
|
17414
17385
|
var MixResult = z67.object({
|
|
17415
|
-
mixTaskId: z67.string().
|
|
17386
|
+
mixTaskId: z67.string().guid(),
|
|
17416
17387
|
status: z67.enum([
|
|
17417
17388
|
"queued",
|
|
17418
17389
|
"processing",
|
|
@@ -17455,7 +17426,7 @@ var PreparedImagePreviewUrlSchema = z68.string().url().max(2048).refine((value)
|
|
|
17455
17426
|
return protocol === "https:" || protocol === "http:";
|
|
17456
17427
|
}, "Prepared image preview URLs must use HTTP(S)");
|
|
17457
17428
|
var WinningProductPreparedImageSchema = z68.object({
|
|
17458
|
-
assetId: z68.string().
|
|
17429
|
+
assetId: z68.string().guid(),
|
|
17459
17430
|
previewUrl: PreparedImagePreviewUrlSchema,
|
|
17460
17431
|
productName: z68.string().trim().min(1).max(240),
|
|
17461
17432
|
presentation: MediaPresentationImageSchema
|
|
@@ -17754,14 +17725,16 @@ var LandingOperationStepSelectionSchema = CodeLandingStepSelectionSchema.extend(
|
|
|
17754
17725
|
var LandingOperationReceiptStepSchema = LandingOperationStepSelectionSchema.extend({
|
|
17755
17726
|
receipt: CodeLandingEffectiveReceiptSchema.optional()
|
|
17756
17727
|
});
|
|
17757
|
-
var LandingOperationEnvelopeNodeSchema = CodeLandingEnvelopeNodeSchema.
|
|
17728
|
+
var LandingOperationEnvelopeNodeSchema = z73.object(CodeLandingEnvelopeNodeSchema.shape).strict().extend({
|
|
17758
17729
|
phase: LandingOperationStepPhaseSchema
|
|
17759
17730
|
}).superRefine((node, ctx) => {
|
|
17760
17731
|
const legacy = CodeLandingEnvelopeNodeSchema.safeParse({
|
|
17761
17732
|
...node,
|
|
17762
17733
|
phase: "asset"
|
|
17763
17734
|
});
|
|
17764
|
-
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue(
|
|
17735
|
+
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue({
|
|
17736
|
+
...issue
|
|
17737
|
+
});
|
|
17765
17738
|
});
|
|
17766
17739
|
var LandingGifGenerationPolicySchema = z73.discriminatedUnion("model", [
|
|
17767
17740
|
z73.object({
|
|
@@ -18148,7 +18121,7 @@ var LandingRegenerationStatusResponse = z75.object({
|
|
|
18148
18121
|
});
|
|
18149
18122
|
|
|
18150
18123
|
// ../../packages/types/src/shopify-meta-tracking.ts
|
|
18151
|
-
import
|
|
18124
|
+
import * as z76 from "zod";
|
|
18152
18125
|
var MetaTrackingOwnerSchema = z76.enum([
|
|
18153
18126
|
"auto",
|
|
18154
18127
|
"external",
|
|
@@ -18356,7 +18329,7 @@ var UploadedAssetRole = z78.enum([
|
|
|
18356
18329
|
]);
|
|
18357
18330
|
var UPLOADED_ASSET_MAX_FILES = 10;
|
|
18358
18331
|
var UPLOADED_ASSET_IMAGE_MAX_FILES = 5;
|
|
18359
|
-
var UploadedAssetId = z78.string().
|
|
18332
|
+
var UploadedAssetId = z78.string().guid();
|
|
18360
18333
|
var HttpsUrl = z78.string().url().refine((value) => {
|
|
18361
18334
|
try {
|
|
18362
18335
|
const url2 = new URL(value);
|
|
@@ -18497,7 +18470,7 @@ var DropshippingProjectRewardMilestoneStateSchema = z79.object({
|
|
|
18497
18470
|
credits: z79.number().int().positive(),
|
|
18498
18471
|
available: z79.boolean().optional(),
|
|
18499
18472
|
earned: z79.boolean(),
|
|
18500
|
-
grantId: z79.string().
|
|
18473
|
+
grantId: z79.string().guid().nullable(),
|
|
18501
18474
|
grantedAt: z79.string().datetime().nullable()
|
|
18502
18475
|
});
|
|
18503
18476
|
var DropshippingProjectRewardProgressSchema = z79.object({
|
|
@@ -18563,16 +18536,16 @@ var HttpUrlSchema = z79.string().url().max(2e3).refine((value) => {
|
|
|
18563
18536
|
}, "Product URL must use HTTP(S)");
|
|
18564
18537
|
var ResearchCandidateOriginSchema = z79.object({
|
|
18565
18538
|
type: z79.literal("research_candidate"),
|
|
18566
|
-
runId: z79.string().
|
|
18539
|
+
runId: z79.string().guid(),
|
|
18567
18540
|
candidateSourceId: z79.string().min(1).max(160)
|
|
18568
18541
|
});
|
|
18569
18542
|
var TaskOriginSchema = z79.object({
|
|
18570
18543
|
type: z79.literal("task"),
|
|
18571
|
-
taskId: z79.string().
|
|
18544
|
+
taskId: z79.string().guid()
|
|
18572
18545
|
});
|
|
18573
18546
|
var ManualOriginSchema = z79.object({
|
|
18574
18547
|
type: z79.literal("manual"),
|
|
18575
|
-
clientRequestId: z79.string().
|
|
18548
|
+
clientRequestId: z79.string().guid(),
|
|
18576
18549
|
country: z79.string().min(2).max(3).optional()
|
|
18577
18550
|
});
|
|
18578
18551
|
var CreateDropshippingProjectRequestSchema = z79.object({
|
|
@@ -18645,11 +18618,11 @@ var DropshippingProjectNextActionSchema = z79.discriminatedUnion("kind", [
|
|
|
18645
18618
|
})
|
|
18646
18619
|
]);
|
|
18647
18620
|
var DropshippingProjectResponseSchema = z79.object({
|
|
18648
|
-
id: z79.string().
|
|
18649
|
-
taskId: z79.string().
|
|
18621
|
+
id: z79.string().guid(),
|
|
18622
|
+
taskId: z79.string().guid().nullable(),
|
|
18650
18623
|
status: DropshippingProjectStatusSchema,
|
|
18651
18624
|
originKey: z79.string().min(1),
|
|
18652
|
-
researchRunId: z79.string().
|
|
18625
|
+
researchRunId: z79.string().guid().nullable(),
|
|
18653
18626
|
candidateSourceId: z79.string().nullable(),
|
|
18654
18627
|
productName: z79.string().nullable(),
|
|
18655
18628
|
productUrl: HttpUrlSchema.nullable(),
|
|
@@ -19004,7 +18977,7 @@ var mediaVideoFields = {
|
|
|
19004
18977
|
var mediaImageFields = {
|
|
19005
18978
|
kind: z81.literal("image"),
|
|
19006
18979
|
durationSec: z81.never({
|
|
19007
|
-
|
|
18980
|
+
error: "a photo has no duration"
|
|
19008
18981
|
}).optional()
|
|
19009
18982
|
};
|
|
19010
18983
|
var mediaOriginFields = {
|
|
@@ -19249,7 +19222,7 @@ var LegacyMotionGraphicsClipSpecSchema = z84.discriminatedUnion("kind", [
|
|
|
19249
19222
|
...clipSpecFields,
|
|
19250
19223
|
kind: z84.literal("broll"),
|
|
19251
19224
|
speech: z84.never({
|
|
19252
|
-
|
|
19225
|
+
error: "only a speaking clip carries speech"
|
|
19253
19226
|
}).optional()
|
|
19254
19227
|
}).strict(),
|
|
19255
19228
|
z84.object({
|
|
@@ -19822,8 +19795,8 @@ var MotionGraphicsCreativeBatchSchema = z89.object({
|
|
|
19822
19795
|
version: z89.literal("v1"),
|
|
19823
19796
|
count: MotionGraphicsHookVariantsSchema,
|
|
19824
19797
|
index: MotionGraphicsHookVariantsSchema,
|
|
19825
|
-
rootTaskId: z89.string().
|
|
19826
|
-
taskIds: z89.array(z89.string().
|
|
19798
|
+
rootTaskId: z89.string().guid().optional(),
|
|
19799
|
+
taskIds: z89.array(z89.string().guid()).min(1).max(3).optional(),
|
|
19827
19800
|
plans: MotionGraphicsCreativePlansSchema.optional()
|
|
19828
19801
|
}).strict().superRefine((batch, ctx) => {
|
|
19829
19802
|
if (batch.index > batch.count) ctx.addIssue({
|
|
@@ -19919,7 +19892,7 @@ var MotionGraphicsMusicStatusResponseSchema = z90.discriminatedUnion("status", [
|
|
|
19919
19892
|
// ../../packages/types/src/website-capture-artifact.ts
|
|
19920
19893
|
import { z as z91 } from "zod";
|
|
19921
19894
|
var WebsiteCaptureBindingSchema = z91.object({
|
|
19922
|
-
captureId: z91.string().
|
|
19895
|
+
captureId: z91.string().guid(),
|
|
19923
19896
|
bundleKey: z91.string().min(1),
|
|
19924
19897
|
sha256: z91.string().regex(/^[a-f0-9]{64}$/)
|
|
19925
19898
|
});
|
|
@@ -20063,7 +20036,7 @@ var motionGraphicsStateSchema = z93.object({
|
|
|
20063
20036
|
/** Durable, unpaid Generate intent. Removed only after capture admission and payment. */
|
|
20064
20037
|
captureAdmission: z93.object({
|
|
20065
20038
|
version: z93.literal("v1"),
|
|
20066
|
-
captureId: z93.string().
|
|
20039
|
+
captureId: z93.string().guid().optional(),
|
|
20067
20040
|
maxSocialAcquisitionPriceCents: z93.number().finite().nonnegative(),
|
|
20068
20041
|
maxTotalPriceCents: z93.number().finite().nonnegative(),
|
|
20069
20042
|
deadlineAt: z93.string().datetime(),
|
|
@@ -22027,7 +22000,7 @@ var DailyControlProductFactsSchema = z96.object({
|
|
|
22027
22000
|
currency: z96.string()
|
|
22028
22001
|
});
|
|
22029
22002
|
var DailyControlProductSchema = z96.object({
|
|
22030
|
-
projectId: z96.string().
|
|
22003
|
+
projectId: z96.string().guid(),
|
|
22031
22004
|
productName: z96.string().nullable(),
|
|
22032
22005
|
status: DailyControlStatusSchema,
|
|
22033
22006
|
/** Motivo legible cuando status !== 'ok'. Nunca se rellenan métricas en ese caso. */
|
|
@@ -22072,7 +22045,7 @@ var DailyControlQuerySchema = z96.object({
|
|
|
22072
22045
|
* necesita ese producto; sin este filtro cada carga de página lee el gasto
|
|
22073
22046
|
* de TODOS los proyectos activos del usuario contra Meta/TikTok/Shopify.
|
|
22074
22047
|
*/
|
|
22075
|
-
projectId: z96.string().
|
|
22048
|
+
projectId: z96.string().guid().optional()
|
|
22076
22049
|
});
|
|
22077
22050
|
var LinkableCampaignSchema = z96.object({
|
|
22078
22051
|
provider: z96.enum([
|
|
@@ -22281,7 +22254,7 @@ var CreateFinanceOperationSchema = z97.object({
|
|
|
22281
22254
|
label: z97.string().trim().min(1).max(60).optional()
|
|
22282
22255
|
}).strict();
|
|
22283
22256
|
var FinanceOperationSchema = z97.object({
|
|
22284
|
-
id: z97.string().
|
|
22257
|
+
id: z97.string().guid(),
|
|
22285
22258
|
countryCode: z97.string().length(2),
|
|
22286
22259
|
currency: z97.string().min(3).max(3),
|
|
22287
22260
|
label: z97.string().min(1)
|
|
@@ -22290,7 +22263,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22290
22263
|
/** Opcional a propósito: con UNA sola operación —el caso de casi todo el
|
|
22291
22264
|
* mundo— el servidor la resuelve solo. Con varias devuelve cuáles son,
|
|
22292
22265
|
* para poder preguntar por país en vez de fallar. */
|
|
22293
|
-
operationId: z97.string().
|
|
22266
|
+
operationId: z97.string().guid().optional(),
|
|
22294
22267
|
/** YYYY-MM. Solo mes calendario: es el periodo con el que se piensa un
|
|
22295
22268
|
* negocio, y prorratear gastos fijos sobre un rango libre confunde más de
|
|
22296
22269
|
* lo que ayuda. */
|
|
@@ -22299,7 +22272,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22299
22272
|
var RESERVED_EXPENSE_LABEL_PREFIX = "__ad_spend__";
|
|
22300
22273
|
var isReservedExpenseLabel = /* @__PURE__ */ __name((label) => label.trim().startsWith(RESERVED_EXPENSE_LABEL_PREFIX), "isReservedExpenseLabel");
|
|
22301
22274
|
var SaveMonthlyExpenseSchema = z97.object({
|
|
22302
|
-
operationId: z97.string().
|
|
22275
|
+
operationId: z97.string().guid().optional(),
|
|
22303
22276
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22304
22277
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22305
22278
|
message: "reserved_expense_label"
|
|
@@ -22307,7 +22280,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22307
22280
|
/** Unidades mayores de la moneda; conserva decimales donde aplique. */
|
|
22308
22281
|
amount: z97.number().finite().min(0),
|
|
22309
22282
|
allocations: z97.array(z97.object({
|
|
22310
|
-
operationId: z97.string().
|
|
22283
|
+
operationId: z97.string().guid(),
|
|
22311
22284
|
sharePct: z97.number().int().min(1).max(100)
|
|
22312
22285
|
})).min(1).refine((allocations) => allocations.reduce((sum, one) => sum + one.sharePct, 0) <= 100, {
|
|
22313
22286
|
message: "allocations_must_sum_to_100"
|
|
@@ -22316,7 +22289,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22316
22289
|
}).optional()
|
|
22317
22290
|
}).strict();
|
|
22318
22291
|
var DeleteMonthlyExpenseSchema = z97.object({
|
|
22319
|
-
operationId: z97.string().
|
|
22292
|
+
operationId: z97.string().guid().optional(),
|
|
22320
22293
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/),
|
|
22321
22294
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22322
22295
|
message: "reserved_expense_label"
|
|
@@ -22324,11 +22297,11 @@ var DeleteMonthlyExpenseSchema = z97.object({
|
|
|
22324
22297
|
}).strict();
|
|
22325
22298
|
var SetAdSpendSchema = z97.object({
|
|
22326
22299
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22327
|
-
operationId: z97.string().
|
|
22300
|
+
operationId: z97.string().guid().optional(),
|
|
22328
22301
|
amount: z97.number().finite().min(0).nullable()
|
|
22329
22302
|
}).strict();
|
|
22330
22303
|
var MonthlyExpensesQuerySchema = z97.object({
|
|
22331
|
-
operationId: z97.string().
|
|
22304
|
+
operationId: z97.string().guid().optional(),
|
|
22332
22305
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional()
|
|
22333
22306
|
}).strict();
|
|
22334
22307
|
|
|
@@ -22357,13 +22330,13 @@ var ResolveUnmatchedProductSchema = z98.object({
|
|
|
22357
22330
|
provider: z98.enum(PRODUCT_ALIAS_PROVIDERS),
|
|
22358
22331
|
externalId: z98.string().trim().min(1).max(64),
|
|
22359
22332
|
label: z98.string().trim().min(1).max(PRODUCT_ALIAS_LABEL_MAX_LENGTH),
|
|
22360
|
-
operationId: z98.string().
|
|
22333
|
+
operationId: z98.string().guid(),
|
|
22361
22334
|
/** Presente ⇒ es el producto al que pertenece. Ausente ⇒ es uno nuevo. */
|
|
22362
|
-
productControlId: z98.string().
|
|
22335
|
+
productControlId: z98.string().guid().optional()
|
|
22363
22336
|
}).strict();
|
|
22364
22337
|
var MergeProductsSchema = z98.object({
|
|
22365
|
-
sourceId: z98.string().
|
|
22366
|
-
targetId: z98.string().
|
|
22338
|
+
sourceId: z98.string().guid(),
|
|
22339
|
+
targetId: z98.string().guid()
|
|
22367
22340
|
}).strict().refine((value) => value.sourceId !== value.targetId, {
|
|
22368
22341
|
message: "merge_same_product",
|
|
22369
22342
|
path: [
|
|
@@ -22371,8 +22344,8 @@ var MergeProductsSchema = z98.object({
|
|
|
22371
22344
|
]
|
|
22372
22345
|
});
|
|
22373
22346
|
var CreateProductControlFromTaskSchema = z98.object({
|
|
22374
|
-
taskId: z98.string().
|
|
22375
|
-
operationId: z98.string().
|
|
22347
|
+
taskId: z98.string().guid(),
|
|
22348
|
+
operationId: z98.string().guid().optional()
|
|
22376
22349
|
}).strict();
|
|
22377
22350
|
|
|
22378
22351
|
// ../../packages/types/src/product-order-line.ts
|
|
@@ -22420,7 +22393,7 @@ var ProductOrderLineSchema = z99.object({
|
|
|
22420
22393
|
}).strict();
|
|
22421
22394
|
var ORDER_LINES_BATCH_MAX = 5e3;
|
|
22422
22395
|
var ImportOrderLinesSchema = z99.object({
|
|
22423
|
-
operationId: z99.string().
|
|
22396
|
+
operationId: z99.string().guid(),
|
|
22424
22397
|
provider: z99.string().min(1).max(32),
|
|
22425
22398
|
source: z99.string().min(1).max(32),
|
|
22426
22399
|
reportedAt: z99.string().datetime(),
|
|
@@ -22446,7 +22419,7 @@ var ImportOrderLinesFileSchema = z99.object({
|
|
|
22446
22419
|
/** El archivo en base64. `.xlsx` del proveedor. */
|
|
22447
22420
|
fileBase64: z99.string().min(1).max(Math.ceil(8 * 1024 * 1024 / 3) * 4),
|
|
22448
22421
|
filename: z99.string().min(1).max(200),
|
|
22449
|
-
operationId: z99.string().
|
|
22422
|
+
operationId: z99.string().guid().optional(),
|
|
22450
22423
|
provider: z99.string().min(1).max(32).default("dropi"),
|
|
22451
22424
|
/**
|
|
22452
22425
|
* Solo mirar: devuelve el resumen y NO escribe nada.
|
|
@@ -22480,7 +22453,7 @@ var OrderLinesFileSummarySchema = z99.object({
|
|
|
22480
22453
|
});
|
|
22481
22454
|
var SyncShopifyOrdersSchema = z99.object({
|
|
22482
22455
|
shopDomain: z99.string().min(3).max(120).optional(),
|
|
22483
|
-
operationId: z99.string().
|
|
22456
|
+
operationId: z99.string().guid().optional(),
|
|
22484
22457
|
/** YYYY-MM-DD. Sin rango, el mes en curso. */
|
|
22485
22458
|
since: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
22486
22459
|
until: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
@@ -22681,7 +22654,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22681
22654
|
/** El de Shopify, cuando el producto vive en la tienda. */
|
|
22682
22655
|
shopifyProductId: z100.string().min(1).optional(),
|
|
22683
22656
|
/** El NUESTRO, para el producto que nació del archivo del proveedor. */
|
|
22684
|
-
productControlId: z100.string().
|
|
22657
|
+
productControlId: z100.string().guid().optional(),
|
|
22685
22658
|
/** Su precio de venta, solo si el producto no vive en Shopify. */
|
|
22686
22659
|
manualSellingPrice: z100.number().positive().nullable().optional(),
|
|
22687
22660
|
targetCountry: z100.string().min(2).max(2),
|
|
@@ -22721,7 +22694,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22721
22694
|
});
|
|
22722
22695
|
var SaveProductCatalogSchema = z100.object({
|
|
22723
22696
|
shopDomain: z100.string().min(1).optional(),
|
|
22724
|
-
productControlId: z100.string().
|
|
22697
|
+
productControlId: z100.string().guid(),
|
|
22725
22698
|
/** Nulo BORRA la meta. Cero sería una meta de no ganar nada. */
|
|
22726
22699
|
targetMonthlyProfit: z100.number().finite().positive().nullable().optional(),
|
|
22727
22700
|
lifecycleStatus: z100.enum([
|
|
@@ -22744,7 +22717,7 @@ var ProductControlCampaignFieldsSchema = z100.object({
|
|
|
22744
22717
|
}).strict();
|
|
22745
22718
|
var LinkProductControlCampaignSchema = z100.union([
|
|
22746
22719
|
ProductControlCampaignFieldsSchema.extend({
|
|
22747
|
-
productControlId: z100.string().
|
|
22720
|
+
productControlId: z100.string().guid()
|
|
22748
22721
|
}).strict(),
|
|
22749
22722
|
ProductControlCampaignFieldsSchema.extend({
|
|
22750
22723
|
shopDomain: z100.string().min(1),
|
|
@@ -22891,7 +22864,7 @@ var ImportFulfillmentCountsResponseSchema = z100.object({
|
|
|
22891
22864
|
});
|
|
22892
22865
|
var CreateManualProductControlSchema = z100.object({
|
|
22893
22866
|
/** UUID que el diálogo fija por apertura; es además el id del producto. */
|
|
22894
|
-
requestId: z100.string().
|
|
22867
|
+
requestId: z100.string().guid(),
|
|
22895
22868
|
title: z100.string().trim().min(1).max(200),
|
|
22896
22869
|
/** País donde vende este producto; la moneda sale de él en el servidor. */
|
|
22897
22870
|
targetCountry: z100.string().regex(/^[A-Z]{2}$/).refine((code) => {
|
|
@@ -22903,7 +22876,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22903
22876
|
}
|
|
22904
22877
|
}, "unsupported_finance_country"),
|
|
22905
22878
|
/** Solo cuando coincide con el país elegido; si no, se omite. */
|
|
22906
|
-
operationId: z100.string().
|
|
22879
|
+
operationId: z100.string().guid().optional(),
|
|
22907
22880
|
manualSellingPrice: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22908
22881
|
supplierCost: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22909
22882
|
shippingCost: z100.number().finite().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
@@ -22921,7 +22894,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22921
22894
|
}
|
|
22922
22895
|
});
|
|
22923
22896
|
var CreateManualProductControlResponseSchema = z100.object({
|
|
22924
|
-
productControlId: z100.string().
|
|
22897
|
+
productControlId: z100.string().guid(),
|
|
22925
22898
|
created: z100.boolean()
|
|
22926
22899
|
});
|
|
22927
22900
|
|
|
@@ -23012,7 +22985,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23012
22985
|
"approve_video_script",
|
|
23013
22986
|
// 2026-10-14: optional exact plan binding shared by legacy/unified review.
|
|
23014
22987
|
// Hash captured from the real registered schema in apps/mcp/src/server.test.ts.
|
|
23015
|
-
"
|
|
22988
|
+
"5f7722993798d952d4a920a9bc7929a8c6a54f8ca13bff1b824d555dd680a6d2",
|
|
23016
22989
|
"credit_consuming",
|
|
23017
22990
|
"creative",
|
|
23018
22991
|
[
|
|
@@ -23054,7 +23027,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23054
23027
|
], [
|
|
23055
23028
|
"staging_asset"
|
|
23056
23029
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
23057
|
-
defineCapability("check_media_upload", "
|
|
23030
|
+
defineCapability("check_media_upload", "58acbc7574d140389efbddfd45e660a353429681891b3d85a08b74351bb5acab", "none", "read_only", [
|
|
23058
23031
|
"read"
|
|
23059
23032
|
], [
|
|
23060
23033
|
slot("upload_session", true, [
|
|
@@ -23065,7 +23038,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23065
23038
|
], [
|
|
23066
23039
|
"uploaded_asset"
|
|
23067
23040
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23068
|
-
defineCapability("cost_dropshipping_project", "
|
|
23041
|
+
defineCapability("cost_dropshipping_project", "fead3bca76b7531c52020cd64135072593783fe12c0c605865a08f1d7d028001", "state_change", "business", [
|
|
23069
23042
|
"state_change"
|
|
23070
23043
|
], [
|
|
23071
23044
|
slot("project_revision", true, [
|
|
@@ -23102,7 +23075,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23102
23075
|
], [
|
|
23103
23076
|
"project_costing"
|
|
23104
23077
|
]),
|
|
23105
|
-
defineCapability("cost_product", "
|
|
23078
|
+
defineCapability("cost_product", "2272a6a3375401ced9deba82e41796b037aef20d712bc7996221e7fee0d7a4d7", "none", "read_only", [
|
|
23106
23079
|
"read"
|
|
23107
23080
|
], [
|
|
23108
23081
|
slot("product_reference", false, [], [
|
|
@@ -23146,7 +23119,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23146
23119
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
23147
23120
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23148
23121
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23149
|
-
"
|
|
23122
|
+
"5991b2e897aad7b10c4e38a93e8c58234741498393439cf0228ed9ffd966efef",
|
|
23150
23123
|
"credit_consuming",
|
|
23151
23124
|
"creative",
|
|
23152
23125
|
[
|
|
@@ -23203,7 +23176,8 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23203
23176
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
23204
23177
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23205
23178
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23206
|
-
|
|
23179
|
+
// MCP 12.4.0: landingStrategy narrowed to classic + social_proof.
|
|
23180
|
+
"5a6dd48977702dbb92a315fb668054f13918fd1cfae5056de82e94144e6f5804",
|
|
23207
23181
|
"credit_consuming",
|
|
23208
23182
|
"creative",
|
|
23209
23183
|
[
|
|
@@ -23363,7 +23337,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23363
23337
|
// SHARED_CHANNEL_EXPOSURE to restore it.
|
|
23364
23338
|
WHATSAPP_ONLY_CHANNEL_EXPOSURE
|
|
23365
23339
|
),
|
|
23366
|
-
defineCapability("edit_image_creative", "
|
|
23340
|
+
defineCapability("edit_image_creative", "eb487773c4a9ffd5d4472c5a1d77e0fef7b625dbf9ca15b5da700a903ba30945", "credit_consuming", "creative", [
|
|
23367
23341
|
"credit_consuming",
|
|
23368
23342
|
"state_change"
|
|
23369
23343
|
], [
|
|
@@ -23382,7 +23356,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23382
23356
|
], [
|
|
23383
23357
|
"creative"
|
|
23384
23358
|
]),
|
|
23385
|
-
defineCapability("get_image_edit_status", "
|
|
23359
|
+
defineCapability("get_image_edit_status", "3feb680140ab8459c10c22fb3aba3a7d41e147fddfcdd7e4cdac050c0f7ea34e", "none", "read_only", [
|
|
23386
23360
|
"read"
|
|
23387
23361
|
], [
|
|
23388
23362
|
slot("creative_operation", true, [
|
|
@@ -23394,7 +23368,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23394
23368
|
], [
|
|
23395
23369
|
"creative_edit_status"
|
|
23396
23370
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23397
|
-
defineCapability("edit_task_draft", "
|
|
23371
|
+
defineCapability("edit_task_draft", "6df71b63f0c00ba9eac12f31fb0b71610225ece74df85032025bb77197bb7c22", "state_change", "creative", [
|
|
23398
23372
|
"state_change"
|
|
23399
23373
|
], [
|
|
23400
23374
|
slot("task_angle", true, [
|
|
@@ -23409,7 +23383,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23409
23383
|
], [
|
|
23410
23384
|
"task_draft"
|
|
23411
23385
|
]),
|
|
23412
|
-
defineCapability("estimate_creative_variant", "
|
|
23386
|
+
defineCapability("estimate_creative_variant", "468079ba24e5e0d3c5c707cd54fec64571be429e66cadc12019af4d6e9d10c4e", "none", "read_only", [
|
|
23413
23387
|
"read"
|
|
23414
23388
|
], [
|
|
23415
23389
|
slot("source_task", true, [
|
|
@@ -23431,7 +23405,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23431
23405
|
], [
|
|
23432
23406
|
"cost_estimate"
|
|
23433
23407
|
]),
|
|
23434
|
-
defineCapability("estimate_market_study_cost", "
|
|
23408
|
+
defineCapability("estimate_market_study_cost", "d1fbe8ead642d481258c419a1eed059f9c8188d1cd9f2d4eed12e202fc8800a4", "none", "read_only", [
|
|
23435
23409
|
"read"
|
|
23436
23410
|
], [
|
|
23437
23411
|
slot("creative_kind", true, [
|
|
@@ -23456,7 +23430,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23456
23430
|
], [
|
|
23457
23431
|
"cost_estimate"
|
|
23458
23432
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23459
|
-
defineCapability("find_winning_products", "
|
|
23433
|
+
defineCapability("find_winning_products", "b73a18bb9618b96067b17791bf2f8e7450e17e34881c4f997e117be89abe058d", "credit_consuming", "business", [
|
|
23460
23434
|
"credit_consuming",
|
|
23461
23435
|
"state_change"
|
|
23462
23436
|
], [
|
|
@@ -23484,7 +23458,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23484
23458
|
// from `pnpm --filter @productmaker/mcp test` printing the real digest.
|
|
23485
23459
|
// Re-baselined 2026-09-26: `idempotencyKey` field description corrected —
|
|
23486
23460
|
// paid tools ignore caller-provided keys and derive their own semantic key.
|
|
23487
|
-
"
|
|
23461
|
+
"e9ae8370da117bae121714da12b78f234e07a0805093bce354d7fb9fcec2291e",
|
|
23488
23462
|
"credit_consuming",
|
|
23489
23463
|
"creative",
|
|
23490
23464
|
[
|
|
@@ -23543,7 +23517,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23543
23517
|
"video"
|
|
23544
23518
|
]
|
|
23545
23519
|
),
|
|
23546
|
-
defineCapability("generate_image_creatives", "
|
|
23520
|
+
defineCapability("generate_image_creatives", "f0d1f771d83c50070ebdef6554072e984997336cb9b7f7f06acd818b021a0187", "credit_consuming", "creative", [
|
|
23547
23521
|
"credit_consuming",
|
|
23548
23522
|
"state_change"
|
|
23549
23523
|
], [
|
|
@@ -23646,111 +23620,123 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23646
23620
|
]
|
|
23647
23621
|
}
|
|
23648
23622
|
]),
|
|
23649
|
-
defineCapability(
|
|
23623
|
+
defineCapability(
|
|
23624
|
+
"generate_landing",
|
|
23625
|
+
// MCP 12.4.0: guided landingStrategy narrowed to classic + social_proof.
|
|
23626
|
+
"6db8df9db5410d0abe0f44da7027af4cc40aff37ef6e66e82164edbd889eeb63",
|
|
23650
23627
|
"credit_consuming",
|
|
23651
|
-
"
|
|
23652
|
-
|
|
23653
|
-
|
|
23654
|
-
"
|
|
23655
|
-
|
|
23656
|
-
|
|
23657
|
-
"
|
|
23658
|
-
|
|
23659
|
-
|
|
23660
|
-
|
|
23661
|
-
|
|
23662
|
-
|
|
23663
|
-
|
|
23664
|
-
|
|
23665
|
-
|
|
23666
|
-
|
|
23667
|
-
|
|
23668
|
-
|
|
23669
|
-
|
|
23670
|
-
"
|
|
23671
|
-
|
|
23672
|
-
|
|
23673
|
-
|
|
23674
|
-
|
|
23675
|
-
|
|
23676
|
-
|
|
23677
|
-
|
|
23678
|
-
|
|
23679
|
-
|
|
23680
|
-
|
|
23681
|
-
|
|
23682
|
-
|
|
23683
|
-
|
|
23684
|
-
|
|
23685
|
-
|
|
23686
|
-
|
|
23687
|
-
"
|
|
23688
|
-
|
|
23689
|
-
|
|
23690
|
-
|
|
23691
|
-
|
|
23692
|
-
|
|
23693
|
-
|
|
23694
|
-
|
|
23695
|
-
"
|
|
23696
|
-
|
|
23697
|
-
|
|
23698
|
-
|
|
23699
|
-
|
|
23700
|
-
|
|
23701
|
-
|
|
23702
|
-
|
|
23703
|
-
|
|
23704
|
-
"
|
|
23705
|
-
|
|
23706
|
-
|
|
23707
|
-
|
|
23708
|
-
|
|
23709
|
-
|
|
23710
|
-
|
|
23711
|
-
|
|
23712
|
-
|
|
23713
|
-
|
|
23714
|
-
|
|
23715
|
-
|
|
23716
|
-
|
|
23717
|
-
|
|
23718
|
-
|
|
23719
|
-
|
|
23720
|
-
|
|
23721
|
-
|
|
23722
|
-
|
|
23723
|
-
|
|
23724
|
-
|
|
23725
|
-
|
|
23726
|
-
|
|
23727
|
-
|
|
23728
|
-
|
|
23729
|
-
|
|
23730
|
-
|
|
23731
|
-
|
|
23732
|
-
|
|
23733
|
-
|
|
23734
|
-
|
|
23735
|
-
|
|
23736
|
-
|
|
23737
|
-
|
|
23738
|
-
"
|
|
23739
|
-
|
|
23740
|
-
|
|
23741
|
-
|
|
23742
|
-
|
|
23743
|
-
|
|
23744
|
-
|
|
23745
|
-
|
|
23746
|
-
|
|
23747
|
-
|
|
23628
|
+
"creative",
|
|
23629
|
+
[
|
|
23630
|
+
"credit_consuming",
|
|
23631
|
+
"state_change"
|
|
23632
|
+
],
|
|
23633
|
+
[
|
|
23634
|
+
slot("product_reference", true, [
|
|
23635
|
+
"images",
|
|
23636
|
+
"winnerReference"
|
|
23637
|
+
], [
|
|
23638
|
+
"imageMessageIds",
|
|
23639
|
+
"imageAssetIds",
|
|
23640
|
+
"projectId",
|
|
23641
|
+
"productUrl"
|
|
23642
|
+
]),
|
|
23643
|
+
slot("locale", true, [
|
|
23644
|
+
"language",
|
|
23645
|
+
"country"
|
|
23646
|
+
]),
|
|
23647
|
+
slot("initial_landing_gif", false, [
|
|
23648
|
+
"includeInitialLandingGif"
|
|
23649
|
+
], []),
|
|
23650
|
+
slot("sales_context", false, [
|
|
23651
|
+
"salesAngle",
|
|
23652
|
+
"buyerPersona"
|
|
23653
|
+
]),
|
|
23654
|
+
slot("commercial_offer", false, [
|
|
23655
|
+
"price",
|
|
23656
|
+
"compareAtPrice",
|
|
23657
|
+
"offer"
|
|
23658
|
+
], [
|
|
23659
|
+
"price",
|
|
23660
|
+
"offer",
|
|
23661
|
+
"compareAtPrice",
|
|
23662
|
+
"paymentMethods"
|
|
23663
|
+
]),
|
|
23664
|
+
slot("product_context", false, [
|
|
23665
|
+
"productLabel",
|
|
23666
|
+
"isCombo"
|
|
23667
|
+
], [
|
|
23668
|
+
"productContext",
|
|
23669
|
+
"productLabel",
|
|
23670
|
+
"isCombo"
|
|
23671
|
+
]),
|
|
23672
|
+
slot("brand_direction", false, [
|
|
23673
|
+
"brandId"
|
|
23674
|
+
], [
|
|
23675
|
+
"brandId",
|
|
23676
|
+
"creativeDirection",
|
|
23677
|
+
"headline",
|
|
23678
|
+
"subheadline"
|
|
23679
|
+
]),
|
|
23680
|
+
slot(
|
|
23681
|
+
"landing_options",
|
|
23682
|
+
// Required by the direct MCP schema, optional for the WhatsApp adapter.
|
|
23683
|
+
false,
|
|
23684
|
+
[
|
|
23685
|
+
"creativeSetup"
|
|
23686
|
+
],
|
|
23687
|
+
[
|
|
23688
|
+
"competitorScanEnabled",
|
|
23689
|
+
"landingStrategy",
|
|
23690
|
+
"landingImageFormat",
|
|
23691
|
+
"pauseForAngleReview"
|
|
23692
|
+
]
|
|
23693
|
+
)
|
|
23694
|
+
],
|
|
23695
|
+
[
|
|
23696
|
+
"product_reference"
|
|
23697
|
+
],
|
|
23698
|
+
[
|
|
23699
|
+
"task",
|
|
23700
|
+
"product",
|
|
23701
|
+
"landing"
|
|
23702
|
+
],
|
|
23703
|
+
SHARED_CHANNEL_EXPOSURE,
|
|
23704
|
+
[
|
|
23705
|
+
{
|
|
23706
|
+
slot: "product_reference",
|
|
23707
|
+
askBeforePaidExecution: true,
|
|
23708
|
+
explicitOmissionAllowed: false,
|
|
23709
|
+
fieldCompletion: "any"
|
|
23710
|
+
},
|
|
23711
|
+
{
|
|
23712
|
+
slot: "locale",
|
|
23713
|
+
askBeforePaidExecution: true,
|
|
23714
|
+
explicitOmissionAllowed: false,
|
|
23715
|
+
fieldCompletion: "all"
|
|
23716
|
+
},
|
|
23717
|
+
{
|
|
23718
|
+
slot: "sales_context",
|
|
23719
|
+
askBeforePaidExecution: true,
|
|
23720
|
+
explicitOmissionAllowed: true,
|
|
23721
|
+
fieldCompletion: "any",
|
|
23722
|
+
completionFields: [
|
|
23723
|
+
"salesAngle"
|
|
23724
|
+
]
|
|
23725
|
+
},
|
|
23726
|
+
{
|
|
23727
|
+
slot: "commercial_offer",
|
|
23728
|
+
askBeforePaidExecution: true,
|
|
23729
|
+
explicitOmissionAllowed: true,
|
|
23730
|
+
fieldCompletion: "all"
|
|
23731
|
+
}
|
|
23732
|
+
]
|
|
23733
|
+
),
|
|
23748
23734
|
defineCapability(
|
|
23749
23735
|
"generate_video_creative",
|
|
23750
23736
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
23751
23737
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23752
23738
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23753
|
-
"
|
|
23739
|
+
"66dee35d59da0e88e72e24c503f3f1dc46c17c1162d98d48705e2bfe552f3f02",
|
|
23754
23740
|
"credit_consuming",
|
|
23755
23741
|
"creative",
|
|
23756
23742
|
[
|
|
@@ -23871,7 +23857,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23871
23857
|
}
|
|
23872
23858
|
]
|
|
23873
23859
|
),
|
|
23874
|
-
defineCapability("get_meta_campaign_status", "
|
|
23860
|
+
defineCapability("get_meta_campaign_status", "a89fa144b69309bffd3d402c63ab6697757c447022d4af2a20d321f084efb274", "none", "read_only", [
|
|
23875
23861
|
"read"
|
|
23876
23862
|
], [
|
|
23877
23863
|
slot("campaign", true, [
|
|
@@ -23882,7 +23868,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23882
23868
|
], [
|
|
23883
23869
|
"campaign_status"
|
|
23884
23870
|
]),
|
|
23885
|
-
defineCapability("get_product_research_run", "
|
|
23871
|
+
defineCapability("get_product_research_run", "fd6d6260b4c9cf9cac5c0d210ceec54f99825d6214f7e3625622e82305e69550", "none", "read_only", [
|
|
23886
23872
|
"read"
|
|
23887
23873
|
], [
|
|
23888
23874
|
slot("research_run", true, [
|
|
@@ -23893,7 +23879,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23893
23879
|
], [
|
|
23894
23880
|
"product_research_run"
|
|
23895
23881
|
]),
|
|
23896
|
-
defineCapability("get_task_status", "
|
|
23882
|
+
defineCapability("get_task_status", "308241071b3ec785b1f0eba0fc17383e9fe8f2452c6a5a5ef27fd792a99b9d4c", "none", "read_only", [
|
|
23897
23883
|
"read"
|
|
23898
23884
|
], [
|
|
23899
23885
|
slot("task", true, [
|
|
@@ -23907,7 +23893,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23907
23893
|
], [
|
|
23908
23894
|
"task_status"
|
|
23909
23895
|
]),
|
|
23910
|
-
defineCapability("get_tiktok_campaign_status", "
|
|
23896
|
+
defineCapability("get_tiktok_campaign_status", "e19b1536d8e317185fb9662a244cc1e94986004b5a4bf84beaf473b5de28562f", "none", "read_only", [
|
|
23911
23897
|
"read"
|
|
23912
23898
|
], [
|
|
23913
23899
|
slot("campaign", true, [
|
|
@@ -23921,7 +23907,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23921
23907
|
], [
|
|
23922
23908
|
"campaign_status"
|
|
23923
23909
|
]),
|
|
23924
|
-
defineCapability("get_video_script", "
|
|
23910
|
+
defineCapability("get_video_script", "1de9980596c34b71ce8843c090549cf310ed52933f53c2b9c3fca13204441d64", "none", "read_only", [
|
|
23925
23911
|
"read"
|
|
23926
23912
|
], [
|
|
23927
23913
|
slot("task", true, [
|
|
@@ -23935,7 +23921,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23935
23921
|
], [
|
|
23936
23922
|
"video_script"
|
|
23937
23923
|
]),
|
|
23938
|
-
defineCapability("guide_dropshipping_launch", "
|
|
23924
|
+
defineCapability("guide_dropshipping_launch", "1ab3654ed7ef02fbc7b690826a475f27839a3402ca301b8cf26992c11e8f7cf8", "none", "business", [
|
|
23939
23925
|
"read"
|
|
23940
23926
|
], [
|
|
23941
23927
|
slot("project", false, [
|
|
@@ -23957,7 +23943,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23957
23943
|
"get_actor_voice_capabilities",
|
|
23958
23944
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
23959
23945
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
23960
|
-
"
|
|
23946
|
+
"862c210dd3c6bf0584ac61deb84617ecb41bf0219098995a1c5b84133af33239",
|
|
23961
23947
|
"none",
|
|
23962
23948
|
"read_only",
|
|
23963
23949
|
[
|
|
@@ -23976,7 +23962,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23976
23962
|
],
|
|
23977
23963
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
23978
23964
|
),
|
|
23979
|
-
defineCapability("quote_actor_voice", "
|
|
23965
|
+
defineCapability("quote_actor_voice", "4d2e9a643abf4cfe5e02789fed36cdfebc9ede6ab4557d0e5be1e4edb46fb836", "none", "read_only", [
|
|
23980
23966
|
"read"
|
|
23981
23967
|
], [
|
|
23982
23968
|
slot("actor", true, [
|
|
@@ -23990,7 +23976,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23990
23976
|
], [
|
|
23991
23977
|
"actor_voice_quote"
|
|
23992
23978
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23993
|
-
defineCapability("generate_actor_voice_preview", "
|
|
23979
|
+
defineCapability("generate_actor_voice_preview", "cb5a0033621df9bc88f4dcea658885eb35a4ebdc6ef88865c3d8afbe3b229548", "credit_consuming", "creative", [
|
|
23994
23980
|
"credit_consuming",
|
|
23995
23981
|
"state_change"
|
|
23996
23982
|
], [
|
|
@@ -24014,7 +24000,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24014
24000
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24015
24001
|
defineCapability(
|
|
24016
24002
|
"get_actor_voice_preview",
|
|
24017
|
-
"
|
|
24003
|
+
"b28f1c7d7e7981ed672509398242b7b7256e2ab44185699e6a0ecd8f39882761",
|
|
24018
24004
|
"none",
|
|
24019
24005
|
"creative",
|
|
24020
24006
|
// Recovery uses the original accepted quote; it must not ask to pay again.
|
|
@@ -24039,7 +24025,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24039
24025
|
],
|
|
24040
24026
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
24041
24027
|
),
|
|
24042
|
-
defineCapability("approve_actor_voice", "
|
|
24028
|
+
defineCapability("approve_actor_voice", "5b1c61b992dce69b35f9fb1a388bbd73d41c99575fa86b72121b043045254944", "state_change", "creative", [
|
|
24043
24029
|
"state_change"
|
|
24044
24030
|
], [
|
|
24045
24031
|
slot("actor", true, [
|
|
@@ -24073,7 +24059,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24073
24059
|
], [
|
|
24074
24060
|
"meta_destination"
|
|
24075
24061
|
]),
|
|
24076
|
-
defineCapability("list_product_research_runs", "
|
|
24062
|
+
defineCapability("list_product_research_runs", "ee2d750bfd65a34a9c16bb39dac584fe0784956eaf7b0428a88b1e886846f2af", "none", "read_only", [
|
|
24077
24063
|
"read"
|
|
24078
24064
|
], [
|
|
24079
24065
|
slot("pagination", false, [
|
|
@@ -24084,7 +24070,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24084
24070
|
], [
|
|
24085
24071
|
"product_research_run"
|
|
24086
24072
|
]),
|
|
24087
|
-
defineCapability("list_shopify_products", "
|
|
24073
|
+
defineCapability("list_shopify_products", "c3daf527e345f737c8b23eb347b77fbf2290433257753122a8d55fdc65d58e78", "none", "read_only", [
|
|
24088
24074
|
"read"
|
|
24089
24075
|
], [
|
|
24090
24076
|
slot("shop", true, [
|
|
@@ -24108,7 +24094,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24108
24094
|
], [
|
|
24109
24095
|
"shop"
|
|
24110
24096
|
]),
|
|
24111
|
-
defineCapability("list_tasks", "
|
|
24097
|
+
defineCapability("list_tasks", "4a553c287e590c2dcb905c63eb92c8612093a82476093b9f55c0821cad486598", "none", "read_only", [
|
|
24112
24098
|
"read"
|
|
24113
24099
|
], [
|
|
24114
24100
|
slot("pagination", false, [
|
|
@@ -24130,7 +24116,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24130
24116
|
], [
|
|
24131
24117
|
"tiktok_advertiser"
|
|
24132
24118
|
]),
|
|
24133
|
-
defineCapability("publish_creatives_to_meta", "
|
|
24119
|
+
defineCapability("publish_creatives_to_meta", "d9b8961cb26c2357f45b0ed95eae479affc840742b5b09620a67ce325568cbee", "external_mutation", "publishing", [
|
|
24134
24120
|
"external_mutation",
|
|
24135
24121
|
"state_change"
|
|
24136
24122
|
], [
|
|
@@ -24165,7 +24151,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24165
24151
|
], [
|
|
24166
24152
|
"meta_campaign"
|
|
24167
24153
|
]),
|
|
24168
|
-
defineCapability("publish_to_meta", "
|
|
24154
|
+
defineCapability("publish_to_meta", "663d574b4aa005a5df41f6b8ff458e3f983f874fe6caef94ab0ae8a1477f70bb", "external_mutation", "publishing", [
|
|
24169
24155
|
"external_mutation",
|
|
24170
24156
|
"state_change"
|
|
24171
24157
|
], [
|
|
@@ -24203,7 +24189,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24203
24189
|
], [
|
|
24204
24190
|
"meta_publication"
|
|
24205
24191
|
]),
|
|
24206
|
-
defineCapability("publish_to_shopify", "
|
|
24192
|
+
defineCapability("publish_to_shopify", "00c4c7af09bb45a72896118ca154a2dc9518f05d74bb9386c825be541fa10fdb", "external_mutation", "publishing", [
|
|
24207
24193
|
"external_mutation",
|
|
24208
24194
|
"state_change"
|
|
24209
24195
|
], [
|
|
@@ -24246,7 +24232,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24246
24232
|
// capability set unchanged, so the live agent's parity gate (which forces
|
|
24247
24233
|
// shadow mode on any canonical gap) is not tripped. Gated server-side by
|
|
24248
24234
|
// SERVICE_MOTION_GRAPHICS_ENABLED + the `service-motion-graphics` feature.
|
|
24249
|
-
defineCapability("create_animated_video", "
|
|
24235
|
+
defineCapability("create_animated_video", "2177ed726e767978eb61fa007f621b389f3b1eb3a2da967fdb44c279bf20fecd", "credit_consuming", "creative", [
|
|
24250
24236
|
"credit_consuming",
|
|
24251
24237
|
"state_change"
|
|
24252
24238
|
], [
|
|
@@ -24297,7 +24283,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24297
24283
|
// MCP-only service journey (2026-10-11): brand analysis → service landing →
|
|
24298
24284
|
// create_animated_video. WhatsApp has no adapter for either, so both are
|
|
24299
24285
|
// declared unavailable there and its parity gate is unchanged.
|
|
24300
|
-
defineCapability("create_brand", "
|
|
24286
|
+
defineCapability("create_brand", "0dba1e46eaaf3ae6ffda459de7eebbdfb2f04da1180b21f84ae4caae434dbbcf", "credit_consuming", "creative", [
|
|
24301
24287
|
"credit_consuming",
|
|
24302
24288
|
"state_change"
|
|
24303
24289
|
], [
|
|
@@ -24320,7 +24306,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24320
24306
|
], [
|
|
24321
24307
|
"brand"
|
|
24322
24308
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24323
|
-
defineCapability("create_service_landing", "
|
|
24309
|
+
defineCapability("create_service_landing", "9e0f68278d2daa3bcf0326dd8e796d4dc82423f850c765efd48881c99f04a14f", "credit_consuming", "creative", [
|
|
24324
24310
|
"credit_consuming",
|
|
24325
24311
|
"state_change"
|
|
24326
24312
|
], [
|
|
@@ -24345,7 +24331,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24345
24331
|
], [
|
|
24346
24332
|
"service_landing"
|
|
24347
24333
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24348
|
-
defineCapability("create_service_images", "
|
|
24334
|
+
defineCapability("create_service_images", "937e86a1b0e3e0678a029062cddb0a9b632c8bcbb9864225f66488e3e2abdbed", "credit_consuming", "creative", [
|
|
24349
24335
|
"credit_consuming",
|
|
24350
24336
|
"state_change"
|
|
24351
24337
|
], [
|
|
@@ -24382,7 +24368,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24382
24368
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24383
24369
|
// MCP-only recovery of an existing code edit. WhatsApp has no code-landing
|
|
24384
24370
|
// editor or edit receipt input; it hands this recovery to ProductMaker Web.
|
|
24385
|
-
defineCapability("verify_landing_commerce", "
|
|
24371
|
+
defineCapability("verify_landing_commerce", "f6dcbfbf8e90c39246f0b377745cd2c6c0f76f314c9736a257087c6d00a90f29", "external_mutation", "publishing", [
|
|
24386
24372
|
"read",
|
|
24387
24373
|
"state_change",
|
|
24388
24374
|
"external_mutation"
|
|
@@ -24401,7 +24387,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24401
24387
|
defineCapability(
|
|
24402
24388
|
"publish_to_tiktok",
|
|
24403
24389
|
// MCP 11.7.0: native WhatsApp destination and major-currency budget inputs.
|
|
24404
|
-
"
|
|
24390
|
+
"ce6e6572583a615203835f6e191a50883ba00f95b8813b3c2bc3d5d92746b24f",
|
|
24405
24391
|
"external_mutation",
|
|
24406
24392
|
"publishing",
|
|
24407
24393
|
[
|
|
@@ -24439,7 +24425,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24439
24425
|
"tiktok_publication"
|
|
24440
24426
|
]
|
|
24441
24427
|
),
|
|
24442
|
-
defineCapability("prepare_winning_product_image", "
|
|
24428
|
+
defineCapability("prepare_winning_product_image", "51c4795176c13b67901e2aad161124598675c7e5ae476b35a63be5b06906ccca", "none", "business", [
|
|
24443
24429
|
"state_change"
|
|
24444
24430
|
], [
|
|
24445
24431
|
slot("winner_reference", true, [
|
|
@@ -24451,7 +24437,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24451
24437
|
], [
|
|
24452
24438
|
"product_media"
|
|
24453
24439
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24454
|
-
defineCapability("regenerate_video_script", "
|
|
24440
|
+
defineCapability("regenerate_video_script", "e68fa5f4f6adb37c4275c60dcb6983d14655a030450c0ed75012044cff0aa29c", "credit_consuming", "creative", [
|
|
24455
24441
|
"credit_consuming",
|
|
24456
24442
|
"state_change"
|
|
24457
24443
|
], [
|
|
@@ -24491,7 +24477,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24491
24477
|
], [
|
|
24492
24478
|
"meta_upload_session"
|
|
24493
24479
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
24494
|
-
defineCapability("request_media_upload", "
|
|
24480
|
+
defineCapability("request_media_upload", "ab70248efd499351ff119e5563e31185040b57e42ccc0e09efe6b6fbeea794a5", "none", "creative", [
|
|
24495
24481
|
"state_change"
|
|
24496
24482
|
], [
|
|
24497
24483
|
slot("media_kind", true, [
|
|
@@ -24514,7 +24500,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24514
24500
|
], [
|
|
24515
24501
|
"media_upload_session"
|
|
24516
24502
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24517
|
-
defineCapability("resolve_pending_action", "
|
|
24503
|
+
defineCapability("resolve_pending_action", "a7fef1e3299c2bfb387a16b3e1e243fba8df1db961ebc1f27d2119209124c293", "credit_consuming", "creative", [
|
|
24518
24504
|
"credit_consuming",
|
|
24519
24505
|
"state_change"
|
|
24520
24506
|
], [
|
|
@@ -24550,7 +24536,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24550
24536
|
], [
|
|
24551
24537
|
"task"
|
|
24552
24538
|
]),
|
|
24553
|
-
defineCapability("start_dropshipping_project", "
|
|
24539
|
+
defineCapability("start_dropshipping_project", "996385df905ed85a933c5726fbebf5a29a98f29364badd8256ff306aff38797c", "state_change", "business", [
|
|
24554
24540
|
"state_change"
|
|
24555
24541
|
], [
|
|
24556
24542
|
slot("origin", true, [
|
|
@@ -24571,7 +24557,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24571
24557
|
], [
|
|
24572
24558
|
"dropshipping_project"
|
|
24573
24559
|
]),
|
|
24574
|
-
defineCapability("get_daily_control", "
|
|
24560
|
+
defineCapability("get_daily_control", "f68e63aeda284d8f07040f6ec55c84ba5e55a515667a20bfe3a60268a6827130", "none", "read_only", [
|
|
24575
24561
|
"read"
|
|
24576
24562
|
], [
|
|
24577
24563
|
slot("window_end", false, [
|
|
@@ -24589,7 +24575,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24589
24575
|
], [
|
|
24590
24576
|
"daily_control_report"
|
|
24591
24577
|
]),
|
|
24592
|
-
defineCapability("link_campaign_to_project", "
|
|
24578
|
+
defineCapability("link_campaign_to_project", "1a6d51234a38259e9fa00475c76919742818efb32491a75ffa768ff9fede4013", "state_change", "business", [
|
|
24593
24579
|
"state_change"
|
|
24594
24580
|
], [
|
|
24595
24581
|
slot("project", true, [
|
|
@@ -24609,7 +24595,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24609
24595
|
], [
|
|
24610
24596
|
"campaign_link"
|
|
24611
24597
|
]),
|
|
24612
|
-
defineCapability("list_importable_products", "
|
|
24598
|
+
defineCapability("list_importable_products", "30404855a9d9c61bd437703f0287041ac77bf997fb7c6e5c7dafdf68712020a9", "none", "read_only", [
|
|
24613
24599
|
"read"
|
|
24614
24600
|
], [
|
|
24615
24601
|
slot("search", false, [
|
|
@@ -24626,7 +24612,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24626
24612
|
], [
|
|
24627
24613
|
"importable_product_page"
|
|
24628
24614
|
]),
|
|
24629
|
-
defineCapability("import_product_controls", "
|
|
24615
|
+
defineCapability("import_product_controls", "f0e1de3062389541317f1351977e77fdcb50ee5d0d5251bbc1f1e7e2ab034515", "state_change", "business", [
|
|
24630
24616
|
"state_change"
|
|
24631
24617
|
], [
|
|
24632
24618
|
slot("products", true, [
|
|
@@ -24643,7 +24629,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24643
24629
|
], [
|
|
24644
24630
|
"product_control"
|
|
24645
24631
|
]),
|
|
24646
|
-
defineCapability("set_product_costing", "
|
|
24632
|
+
defineCapability("set_product_costing", "de1353c7061d00bf793ecc789c0300c6dd54f758dbff86b10915a51592a99df9", "state_change", "business", [
|
|
24647
24633
|
"state_change"
|
|
24648
24634
|
], [
|
|
24649
24635
|
/* La identidad sin tienda solo existe en el contrato MCP: el
|
|
@@ -24681,7 +24667,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24681
24667
|
], [
|
|
24682
24668
|
"product_control_costing"
|
|
24683
24669
|
]),
|
|
24684
|
-
defineCapability("get_product_control", "
|
|
24670
|
+
defineCapability("get_product_control", "cc67eec02bc5fba649e705078ecebf4703a3e3e25b9d3189921a7e2bae7f6c0c", "none", "read_only", [
|
|
24685
24671
|
"read"
|
|
24686
24672
|
], [
|
|
24687
24673
|
slot("day", false, [
|
|
@@ -24699,7 +24685,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24699
24685
|
], [
|
|
24700
24686
|
"product_control_report"
|
|
24701
24687
|
]),
|
|
24702
|
-
defineCapability("report_product_counts", "
|
|
24688
|
+
defineCapability("report_product_counts", "8fa2561901b7743506a3639038d7806186c0512470bc6988a54c6bee5dbbb0b0", "state_change", "business", [
|
|
24703
24689
|
"state_change"
|
|
24704
24690
|
], [
|
|
24705
24691
|
slot("product_control", true, [
|
|
@@ -24728,7 +24714,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24728
24714
|
], [
|
|
24729
24715
|
"product_control_daily_counts"
|
|
24730
24716
|
]),
|
|
24731
|
-
defineCapability("get_finances", "
|
|
24717
|
+
defineCapability("get_finances", "bb57d3594b204597e9abd2d9beb7df644d07f5683a159d4de1860fa9d03aa5b4", "none", "read_only", [
|
|
24732
24718
|
"read"
|
|
24733
24719
|
], [
|
|
24734
24720
|
slot("month", false, [
|
|
@@ -24742,7 +24728,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24742
24728
|
], [
|
|
24743
24729
|
"monthly_pl"
|
|
24744
24730
|
]),
|
|
24745
|
-
defineCapability("sync_shopify_orders", "
|
|
24731
|
+
defineCapability("sync_shopify_orders", "0f821de23aa171e89e7e03c1910be57d8dbd878491cbad45a43c4540b4872910", "state_change", "business", [
|
|
24746
24732
|
"state_change"
|
|
24747
24733
|
], [
|
|
24748
24734
|
slot("shop", false, [
|
|
@@ -24762,7 +24748,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24762
24748
|
], [
|
|
24763
24749
|
"product_order_line"
|
|
24764
24750
|
]),
|
|
24765
|
-
defineCapability("import_orders_file", "
|
|
24751
|
+
defineCapability("import_orders_file", "449352851f20e229d488fd10dcfde682774d5c6ef0c66294bedfd6da8d1d93e9", "state_change", "business", [
|
|
24766
24752
|
"state_change"
|
|
24767
24753
|
], [
|
|
24768
24754
|
slot("orders_file", true, [
|
|
@@ -24784,7 +24770,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24784
24770
|
], [
|
|
24785
24771
|
"product_order_line"
|
|
24786
24772
|
]),
|
|
24787
|
-
defineCapability("create_operation", "
|
|
24773
|
+
defineCapability("create_operation", "569501e4e03e6f1782fcf7458e752864804b1ffaa9eb7bd9522e05260939c938", "state_change", "business", [
|
|
24788
24774
|
"state_change"
|
|
24789
24775
|
], [
|
|
24790
24776
|
slot("country", true, [
|
|
@@ -24798,7 +24784,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24798
24784
|
], [
|
|
24799
24785
|
"finance_operation"
|
|
24800
24786
|
]),
|
|
24801
|
-
defineCapability("merge_products", "
|
|
24787
|
+
defineCapability("merge_products", "8519963a68603ed7f4a2a82d24e43f317f0a9840e7fd7ba5a90832c4f4a6bcaf", "state_change", "business", [
|
|
24802
24788
|
"state_change"
|
|
24803
24789
|
], [
|
|
24804
24790
|
slot("source_product", true, [
|
|
@@ -24812,7 +24798,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24812
24798
|
], [
|
|
24813
24799
|
"product_control"
|
|
24814
24800
|
]),
|
|
24815
|
-
defineCapability("set_monthly_expense", "
|
|
24801
|
+
defineCapability("set_monthly_expense", "5ff786a29b44e1961c31fa30decd779d0a18fdf4d7a0bdff7fe130eda59640a4", "state_change", "business", [
|
|
24816
24802
|
"state_change"
|
|
24817
24803
|
], [
|
|
24818
24804
|
slot("expense_label", true, [
|
|
@@ -24832,7 +24818,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24832
24818
|
], [
|
|
24833
24819
|
"monthly_expense"
|
|
24834
24820
|
]),
|
|
24835
|
-
defineCapability("set_ad_spend", "
|
|
24821
|
+
defineCapability("set_ad_spend", "45f5515a91679304c27f2753ec568bcfe0343644363ec3d185eea3a3f220bbc0", "state_change", "business", [
|
|
24836
24822
|
"state_change"
|
|
24837
24823
|
], [
|
|
24838
24824
|
slot("amount", true, [
|
|
@@ -24853,7 +24839,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24853
24839
|
"get_dropi_status",
|
|
24854
24840
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
24855
24841
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
24856
|
-
"
|
|
24842
|
+
"dbbf0cae464909761b30d649f08ebf588bc34ab66a0b67abcf9ff3442e1ec457",
|
|
24857
24843
|
"none",
|
|
24858
24844
|
"read_only",
|
|
24859
24845
|
[
|
|
@@ -24878,7 +24864,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24878
24864
|
defineCapability(
|
|
24879
24865
|
"sync_dropi_orders",
|
|
24880
24866
|
// Filled by the MCP schema fingerprint test.
|
|
24881
|
-
"
|
|
24867
|
+
"a2b107f6f36ed6e9ed698e89ff54decf180bfce372adabd3bc0d00739ebd6a02",
|
|
24882
24868
|
"state_change",
|
|
24883
24869
|
"business",
|
|
24884
24870
|
[
|
|
@@ -24912,7 +24898,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24912
24898
|
defineCapability(
|
|
24913
24899
|
"create_manual_product",
|
|
24914
24900
|
// Filled by the MCP schema fingerprint test.
|
|
24915
|
-
"
|
|
24901
|
+
"00b0366e3c23989c10243e8c34ea74d2786c7f521093a006e53cc6e68750e5ad",
|
|
24916
24902
|
"state_change",
|
|
24917
24903
|
"business",
|
|
24918
24904
|
[
|
|
@@ -24955,7 +24941,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24955
24941
|
defineCapability(
|
|
24956
24942
|
"list_unmatched_products",
|
|
24957
24943
|
// Filled by the MCP schema fingerprint test.
|
|
24958
|
-
"
|
|
24944
|
+
"d72bf2d563daabe2ce719aeee4d3f1899154daba063ebca1ef69499e0ff09034",
|
|
24959
24945
|
"none",
|
|
24960
24946
|
"read_only",
|
|
24961
24947
|
[
|
|
@@ -24977,7 +24963,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24977
24963
|
defineCapability(
|
|
24978
24964
|
"resolve_unmatched_product",
|
|
24979
24965
|
// Filled by the MCP schema fingerprint test.
|
|
24980
|
-
"
|
|
24966
|
+
"05fb2d978e2e878cbbfeca78b87b0f7e25decedfcfa8490b7cfc055139953574",
|
|
24981
24967
|
"state_change",
|
|
24982
24968
|
"business",
|
|
24983
24969
|
[
|
|
@@ -25029,7 +25015,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25029
25015
|
defineCapability(
|
|
25030
25016
|
"link_product_campaign",
|
|
25031
25017
|
// Filled by the MCP schema fingerprint test.
|
|
25032
|
-
"
|
|
25018
|
+
"a4ea2424df8482eb5f004676aa6d43a24f8ad8790644a41f521cdeb879a306a9",
|
|
25033
25019
|
"state_change",
|
|
25034
25020
|
"business",
|
|
25035
25021
|
[
|
|
@@ -25067,7 +25053,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25067
25053
|
defineCapability(
|
|
25068
25054
|
"delete_monthly_expense",
|
|
25069
25055
|
// Filled by the MCP schema fingerprint test.
|
|
25070
|
-
"
|
|
25056
|
+
"e762a6d49f2ab0ce1f51315d0d0ec11e1456c8b8b8200c66b899808f89f706d5",
|
|
25071
25057
|
"state_change",
|
|
25072
25058
|
"business",
|
|
25073
25059
|
[
|
|
@@ -25095,7 +25081,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25095
25081
|
defineCapability(
|
|
25096
25082
|
"remove_product_control",
|
|
25097
25083
|
// Filled by the MCP schema fingerprint test.
|
|
25098
|
-
"
|
|
25084
|
+
"e29785ec81add0115499e3ae616f47224c2c01dc61c5d7f65d306bc1ac28929f",
|
|
25099
25085
|
"state_change",
|
|
25100
25086
|
"business",
|
|
25101
25087
|
[
|
|
@@ -25114,7 +25100,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
25114
25100
|
],
|
|
25115
25101
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
25116
25102
|
),
|
|
25117
|
-
defineCapability("report_daily_returns", "
|
|
25103
|
+
defineCapability("report_daily_returns", "c64af9e1750adf5892caa76c0c170feec91e617ba1769ee5c0af17cbbb4fc6d2", "state_change", "business", [
|
|
25118
25104
|
"state_change"
|
|
25119
25105
|
], [
|
|
25120
25106
|
slot("project", true, [
|
|
@@ -25419,7 +25405,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25419
25405
|
z103.object({
|
|
25420
25406
|
...recoveryBase,
|
|
25421
25407
|
state: z103.literal("consumed"),
|
|
25422
|
-
successorCommandId: z103.string().
|
|
25408
|
+
successorCommandId: z103.string().guid(),
|
|
25423
25409
|
choice: z103.enum([
|
|
25424
25410
|
"without_winner",
|
|
25425
25411
|
"retry"
|
|
@@ -25429,7 +25415,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25429
25415
|
...recoveryBase,
|
|
25430
25416
|
state: z103.literal("awaiting_media"),
|
|
25431
25417
|
successorCommandId: z103.null(),
|
|
25432
|
-
successorCollectionId: z103.string().
|
|
25418
|
+
successorCollectionId: z103.string().guid(),
|
|
25433
25419
|
choice: z103.enum([
|
|
25434
25420
|
"without_winner",
|
|
25435
25421
|
"retry"
|
|
@@ -25457,10 +25443,10 @@ var json = z103.lazy(() => z103.union([
|
|
|
25457
25443
|
z103.number().finite(),
|
|
25458
25444
|
z103.string(),
|
|
25459
25445
|
z103.array(json),
|
|
25460
|
-
z103.record(json)
|
|
25446
|
+
z103.record(z103.string(), json)
|
|
25461
25447
|
]));
|
|
25462
25448
|
var commandBase = {
|
|
25463
|
-
commandId: z103.string().
|
|
25449
|
+
commandId: z103.string().guid(),
|
|
25464
25450
|
requestHash: z103.string().min(1).max(256),
|
|
25465
25451
|
expectedUpdatedAt: z103.string().datetime(),
|
|
25466
25452
|
result: json,
|
|
@@ -25468,7 +25454,7 @@ var commandBase = {
|
|
|
25468
25454
|
};
|
|
25469
25455
|
var proposedSnapshot = {
|
|
25470
25456
|
...commandBase,
|
|
25471
|
-
sourceMessageId: z103.string().
|
|
25457
|
+
sourceMessageId: z103.string().guid(),
|
|
25472
25458
|
expectedStatus: z103.literal("proposed"),
|
|
25473
25459
|
expectedResult: json
|
|
25474
25460
|
};
|
|
@@ -25529,19 +25515,19 @@ var WhatsAppPresentationFinalizerSchema = z103.object({
|
|
|
25529
25515
|
]).optional(),
|
|
25530
25516
|
plan: z103.object({
|
|
25531
25517
|
guardOnly: z103.boolean().optional(),
|
|
25532
|
-
planId: z103.string().
|
|
25518
|
+
planId: z103.string().guid(),
|
|
25533
25519
|
expectedPlanRevision: z103.number().int().nonnegative(),
|
|
25534
|
-
stepId: z103.string().
|
|
25520
|
+
stepId: z103.string().guid(),
|
|
25535
25521
|
expectedStepRevision: z103.number().int().nonnegative(),
|
|
25536
|
-
expectedCommandId: z103.string().
|
|
25522
|
+
expectedCommandId: z103.string().guid().nullable(),
|
|
25537
25523
|
next: z103.object({
|
|
25538
|
-
stepId: z103.string().
|
|
25524
|
+
stepId: z103.string().guid(),
|
|
25539
25525
|
expectedRevision: z103.number().int().nonnegative()
|
|
25540
25526
|
}).strict().nullable(),
|
|
25541
25527
|
outputArtifacts: json
|
|
25542
25528
|
}).strict().optional(),
|
|
25543
25529
|
collection: z103.object({
|
|
25544
|
-
collectionId: z103.string().
|
|
25530
|
+
collectionId: z103.string().guid(),
|
|
25545
25531
|
expectedRevision: z103.number().int().nonnegative(),
|
|
25546
25532
|
expiresAt: z103.string().datetime()
|
|
25547
25533
|
}).strict().optional()
|
|
@@ -25626,9 +25612,9 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25626
25612
|
"research_ready",
|
|
25627
25613
|
"research_failed"
|
|
25628
25614
|
]).optional(),
|
|
25629
|
-
commandId: z104.string().
|
|
25630
|
-
taskId: z104.string().
|
|
25631
|
-
researchRunId: z104.string().
|
|
25615
|
+
commandId: z104.string().guid().optional(),
|
|
25616
|
+
taskId: z104.string().guid().optional(),
|
|
25617
|
+
researchRunId: z104.string().guid().optional()
|
|
25632
25618
|
}).strict().refine((value) => value.resetSourceSequence === void 0 || value.conversationReset === "completed", "Reset source sequence requires a completed reset").optional(),
|
|
25633
25619
|
intentKey
|
|
25634
25620
|
}).strict(),
|
|
@@ -25660,16 +25646,16 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25660
25646
|
"tiktok"
|
|
25661
25647
|
])).max(3),
|
|
25662
25648
|
fullResultUrl: z104.string().url().max(8192),
|
|
25663
|
-
commandId: z104.string().
|
|
25664
|
-
taskId: z104.string().
|
|
25649
|
+
commandId: z104.string().guid(),
|
|
25650
|
+
taskId: z104.string().guid(),
|
|
25665
25651
|
intentKey
|
|
25666
25652
|
}).strict(),
|
|
25667
25653
|
z104.object({
|
|
25668
25654
|
kind: z104.literal("reference_review"),
|
|
25669
|
-
commandId: z104.string().
|
|
25670
|
-
taskId: z104.string().
|
|
25655
|
+
commandId: z104.string().guid(),
|
|
25656
|
+
taskId: z104.string().guid(),
|
|
25671
25657
|
snapshotHash: z104.string().length(64).regex(/^[a-f0-9]+$/),
|
|
25672
|
-
pendingAction: z104.record(z104.unknown()),
|
|
25658
|
+
pendingAction: z104.record(z104.string(), z104.unknown()),
|
|
25673
25659
|
previews: z104.array(preview).max(20),
|
|
25674
25660
|
expectedPreviewCount: z104.number().int().min(0).max(50),
|
|
25675
25661
|
intentKey
|
|
@@ -26095,7 +26081,7 @@ var ProductTruthBody = z107.object({
|
|
|
26095
26081
|
out[key2] = rawIndexes.filter((i) => typeof i === "number" && Number.isInteger(i) && i >= 0 && i < 20);
|
|
26096
26082
|
}
|
|
26097
26083
|
return out;
|
|
26098
|
-
}, z107.record(z107.array(z107.number().int().min(0).max(19))))
|
|
26084
|
+
}, z107.record(z107.string(), z107.array(z107.number().int().min(0).max(19))))
|
|
26099
26085
|
})),
|
|
26100
26086
|
confidence: z107.preprocess((v) => typeof v === "number" && Number.isFinite(v) ? Math.min(1, Math.max(0, v)) : 0, z107.number().min(0).max(1))
|
|
26101
26087
|
});
|
|
@@ -26438,15 +26424,16 @@ var CreativeCompositionExecutorRoleSchema = z109.enum(CREATIVE_COMPOSITION_EXECU
|
|
|
26438
26424
|
var CreativeCompositionJobSchema = z109.object({
|
|
26439
26425
|
kind: z109.literal("creative_composition"),
|
|
26440
26426
|
protocolVersion: CreativeCompositionProtocolVersionSchema,
|
|
26441
|
-
jobId: z109.string().
|
|
26427
|
+
jobId: z109.string().guid(),
|
|
26442
26428
|
owner: CreativeEngineOwnerSchema,
|
|
26443
26429
|
attempt,
|
|
26444
26430
|
leaseUntil: z109.string().datetime(),
|
|
26445
26431
|
deadlineAtMs: z109.number().int().nonnegative(),
|
|
26446
26432
|
/**
|
|
26447
26433
|
* Contract digest of the API that wrote the job. The renderer refuses a
|
|
26448
|
-
* job whose digest is
|
|
26449
|
-
*
|
|
26434
|
+
* job whose digest is neither current nor explicitly verified compatible
|
|
26435
|
+
* (`renderer_schema_stale`). Accepted jobs still meet the current schema.
|
|
26436
|
+
* Absent only on rows written before digests existed.
|
|
26450
26437
|
*/
|
|
26451
26438
|
contractDigest: hash2.optional(),
|
|
26452
26439
|
width: z109.number().int().positive().max(4096),
|
|
@@ -26524,10 +26511,10 @@ var CreativeCompositionClaimResponseSchema = z109.object({
|
|
|
26524
26511
|
job: CreativeCompositionJobSchema.nullable()
|
|
26525
26512
|
}).strict();
|
|
26526
26513
|
var CreativeCompositionHeartbeatSchema = MotionGraphicsStageReportSchema.extend({
|
|
26527
|
-
jobId: z109.string().
|
|
26514
|
+
jobId: z109.string().guid()
|
|
26528
26515
|
});
|
|
26529
26516
|
var CreativeCompositionUploadRequestSchema = z109.object({
|
|
26530
|
-
jobId: z109.string().
|
|
26517
|
+
jobId: z109.string().guid(),
|
|
26531
26518
|
attempt,
|
|
26532
26519
|
files: z109.array(z109.object({
|
|
26533
26520
|
kind: z109.enum([
|
|
@@ -26551,7 +26538,7 @@ var CreativeCompositionUploadResponseSchema = z109.object({
|
|
|
26551
26538
|
}).strict()).min(1).max(3)
|
|
26552
26539
|
}).strict();
|
|
26553
26540
|
var CreativeCompositionDoneRequestSchema = z109.object({
|
|
26554
|
-
jobId: z109.string().
|
|
26541
|
+
jobId: z109.string().guid(),
|
|
26555
26542
|
attempt,
|
|
26556
26543
|
width: z109.number().int().positive(),
|
|
26557
26544
|
height: z109.number().int().positive(),
|
|
@@ -26559,14 +26546,14 @@ var CreativeCompositionDoneRequestSchema = z109.object({
|
|
|
26559
26546
|
durationSec: z109.number().positive()
|
|
26560
26547
|
}).strict();
|
|
26561
26548
|
var CreativeCompositionFailedRequestSchema = z109.object({
|
|
26562
|
-
jobId: z109.string().
|
|
26549
|
+
jobId: z109.string().guid(),
|
|
26563
26550
|
attempt,
|
|
26564
26551
|
reason: z109.string().min(1).max(1e3),
|
|
26565
26552
|
retryable: z109.literal(false)
|
|
26566
26553
|
}).strict();
|
|
26567
26554
|
var CreativeCompositionLocalManifestSchema = z109.object({
|
|
26568
26555
|
kind: z109.literal("creative_composition"),
|
|
26569
|
-
jobId: z109.string().
|
|
26556
|
+
jobId: z109.string().guid(),
|
|
26570
26557
|
owner: CreativeEngineOwnerSchema,
|
|
26571
26558
|
plan: z109.object({
|
|
26572
26559
|
revision: z109.number().int().positive(),
|
|
@@ -26652,8 +26639,8 @@ var CreativeEngineEditContextSnapshotSchema = z111.object({
|
|
|
26652
26639
|
hash: hash3,
|
|
26653
26640
|
binding: CreativeEngineContextBindingSchema,
|
|
26654
26641
|
data: z111.object({
|
|
26655
|
-
physical: z111.record(z111.unknown()),
|
|
26656
|
-
commercial: z111.record(z111.unknown())
|
|
26642
|
+
physical: z111.record(z111.string(), z111.unknown()),
|
|
26643
|
+
commercial: z111.record(z111.string(), z111.unknown())
|
|
26657
26644
|
}).strict(),
|
|
26658
26645
|
references: z111.array(z111.object({
|
|
26659
26646
|
sourceId: id4,
|
|
@@ -26723,7 +26710,7 @@ var CreativeEngineEditExecutionSchema = z111.object({
|
|
|
26723
26710
|
version: z111.literal(1),
|
|
26724
26711
|
source: CreativeEngineEditSourceSchema,
|
|
26725
26712
|
intent: z111.object({
|
|
26726
|
-
clientRequestId: z111.string().
|
|
26713
|
+
clientRequestId: z111.string().guid(),
|
|
26727
26714
|
sectionsHash: hash3,
|
|
26728
26715
|
sourceBindingHash: hash3,
|
|
26729
26716
|
derivedPlanHash: hash3,
|
|
@@ -26835,7 +26822,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26835
26822
|
userId: id4,
|
|
26836
26823
|
taskId: id4,
|
|
26837
26824
|
angleKey: id4,
|
|
26838
|
-
clientRequestId: z111.string().
|
|
26825
|
+
clientRequestId: z111.string().guid(),
|
|
26839
26826
|
createdAtMs: z111.number().int().nonnegative(),
|
|
26840
26827
|
expiresAtMs: z111.number().int().positive(),
|
|
26841
26828
|
source: CreativeEngineEditSourceSchema,
|
|
@@ -26844,7 +26831,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26844
26831
|
context: CreativeEngineEditContextSnapshotSchema,
|
|
26845
26832
|
recipe: CreativeEngineRecipeSchema,
|
|
26846
26833
|
// The API validates these with its canonical section schema before persistence/use.
|
|
26847
|
-
sections: z111.array(z111.record(z111.unknown())).min(1).max(32)
|
|
26834
|
+
sections: z111.array(z111.record(z111.string(), z111.unknown())).min(1).max(32)
|
|
26848
26835
|
}).strict();
|
|
26849
26836
|
|
|
26850
26837
|
// ../../packages/types/src/creative-engine-retry.ts
|
|
@@ -26906,7 +26893,7 @@ var CreativeEngineFreshRetryProvenanceSchema = z112.object({
|
|
|
26906
26893
|
import { z as z113 } from "zod";
|
|
26907
26894
|
var CreativeEngineEntryRequestSchema = z113.object({
|
|
26908
26895
|
creativeEngine: z113.literal("unified_v1"),
|
|
26909
|
-
taskId: z113.string().
|
|
26896
|
+
taskId: z113.string().guid(),
|
|
26910
26897
|
angleKey: z113.string().min(1).max(200),
|
|
26911
26898
|
requestId: z113.string().min(1).max(200),
|
|
26912
26899
|
guide: z113.enum([
|
|
@@ -27118,7 +27105,7 @@ import { z as z116 } from "zod";
|
|
|
27118
27105
|
// ../../packages/types/src/service-landing-primitives.ts
|
|
27119
27106
|
import { z as z115 } from "zod";
|
|
27120
27107
|
var OptionalTextSchema = z115.string().trim().min(1).max(500).optional();
|
|
27121
|
-
var AssetIdSchema = z115.string().
|
|
27108
|
+
var AssetIdSchema = z115.string().guid().transform((value) => value.toLowerCase());
|
|
27122
27109
|
var ServiceLandingPrimaryCtaSchema = z115.object({
|
|
27123
27110
|
channelIndex: z115.number().int().nonnegative(),
|
|
27124
27111
|
label: z115.string().trim().min(1).max(80)
|
|
@@ -27254,7 +27241,7 @@ var ServiceLandingContactChannelSchema = z116.discriminatedUnion("kind", [
|
|
|
27254
27241
|
BookingUrlChannelSchema
|
|
27255
27242
|
]);
|
|
27256
27243
|
var ServiceLandingServiceSchema = z116.object({
|
|
27257
|
-
id: z116.string().
|
|
27244
|
+
id: z116.string().guid(),
|
|
27258
27245
|
name: z116.string().trim().min(1).max(120),
|
|
27259
27246
|
description: OptionalTextSchema,
|
|
27260
27247
|
inclusions: z116.array(z116.string().trim().min(1).max(160)).max(12),
|
|
@@ -27482,7 +27469,7 @@ var ServiceLandingArtifactSchema = z116.preprocess(applyCodeArtifactDefaults, z1
|
|
|
27482
27469
|
// ../../packages/types/src/service-landing-facts-brand.ts
|
|
27483
27470
|
import { z as z117 } from "zod";
|
|
27484
27471
|
var ServiceLandingServiceFactsSchema = z117.object({
|
|
27485
|
-
id: z117.string().
|
|
27472
|
+
id: z117.string().guid(),
|
|
27486
27473
|
name: z117.string().trim().min(1).max(120).optional(),
|
|
27487
27474
|
description: OptionalTextSchema,
|
|
27488
27475
|
inclusions: z117.array(z117.string().trim().min(1).max(160)).max(12).default([]),
|
|
@@ -27634,7 +27621,7 @@ var ServicePageParserMetadataSchema = z117.object({
|
|
|
27634
27621
|
}).strict()).max(100).optional()
|
|
27635
27622
|
}).strict();
|
|
27636
27623
|
var ServicePageSourceSchema = z117.object({
|
|
27637
|
-
id: z117.string().
|
|
27624
|
+
id: z117.string().guid(),
|
|
27638
27625
|
kind: ServicePageSourceKindSchema,
|
|
27639
27626
|
status: ServicePageSourceStatusSchema,
|
|
27640
27627
|
displayName: z117.string().trim().min(1).max(180).optional(),
|
|
@@ -27645,14 +27632,14 @@ var ServicePageSourceSchema = z117.object({
|
|
|
27645
27632
|
var ServicePageFactConflictSchema = z117.object({
|
|
27646
27633
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27647
27634
|
candidates: z117.array(z117.object({
|
|
27648
|
-
id: z117.string().
|
|
27635
|
+
id: z117.string().guid(),
|
|
27649
27636
|
value: z117.string().trim().min(1).max(500),
|
|
27650
|
-
sourceIds: z117.array(z117.string().
|
|
27637
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10)
|
|
27651
27638
|
}).strict()).min(2).max(8)
|
|
27652
27639
|
}).strict();
|
|
27653
27640
|
var ServicePageFactProvenanceSchema = z117.object({
|
|
27654
27641
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27655
|
-
sourceIds: z117.array(z117.string().
|
|
27642
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10),
|
|
27656
27643
|
evidence: z117.string().trim().max(1e3).optional()
|
|
27657
27644
|
}).strict();
|
|
27658
27645
|
var ServicePageFactsReviewSchema = z117.object({
|
|
@@ -27668,26 +27655,26 @@ var ServicePageFactsReviewSchema = z117.object({
|
|
|
27668
27655
|
// ../../packages/types/src/service-landing-api.ts
|
|
27669
27656
|
import { z as z118 } from "zod";
|
|
27670
27657
|
var ServicePageCreateRequestSchema = z118.object({
|
|
27671
|
-
brandId: z118.string().
|
|
27658
|
+
brandId: z118.string().guid(),
|
|
27672
27659
|
includeBrandLogo: z118.boolean().optional(),
|
|
27673
|
-
idempotencyKey: z118.string().
|
|
27660
|
+
idempotencyKey: z118.string().guid().optional()
|
|
27674
27661
|
}).strict();
|
|
27675
27662
|
var ServicePageFactsUpdateRequestSchema = z118.object({
|
|
27676
27663
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27677
|
-
idempotencyKey: z118.string().
|
|
27664
|
+
idempotencyKey: z118.string().guid(),
|
|
27678
27665
|
facts: ServicePageFactsSchema
|
|
27679
27666
|
}).strict();
|
|
27680
27667
|
var ServicePageFactsConfirmRequestSchema = z118.object({
|
|
27681
27668
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27682
|
-
idempotencyKey: z118.string().
|
|
27669
|
+
idempotencyKey: z118.string().guid(),
|
|
27683
27670
|
resolutions: z118.array(z118.object({
|
|
27684
27671
|
fieldPath: z118.string().trim().min(1).max(180),
|
|
27685
|
-
candidateId: z118.string().
|
|
27672
|
+
candidateId: z118.string().guid()
|
|
27686
27673
|
}).strict()).max(30)
|
|
27687
27674
|
}).strict();
|
|
27688
27675
|
var ServicePageIntakeRequestSchema = z118.object({
|
|
27689
27676
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27690
|
-
idempotencyKey: z118.string().
|
|
27677
|
+
idempotencyKey: z118.string().guid(),
|
|
27691
27678
|
text: z118.string().trim().max(3e4).optional(),
|
|
27692
27679
|
profileUrl: z118.string().trim().url().max(2048).refine((value) => {
|
|
27693
27680
|
try {
|
|
@@ -27718,7 +27705,7 @@ var ServicePageAttachmentRefSchema = z118.object({
|
|
|
27718
27705
|
"source",
|
|
27719
27706
|
"asset"
|
|
27720
27707
|
]),
|
|
27721
|
-
id: z118.string().
|
|
27708
|
+
id: z118.string().guid().transform((id6) => id6.toLowerCase())
|
|
27722
27709
|
}).strict();
|
|
27723
27710
|
var ServicePageAttachmentRefsSchema = z118.array(ServicePageAttachmentRefSchema).max(SERVICE_PAGE_CHAT_ATTACHMENT_MAX_SELECTION).superRefine((refs, ctx) => {
|
|
27724
27711
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -27751,13 +27738,13 @@ var ServicePageChatAttachmentUploadResponseSchema = z118.object({
|
|
|
27751
27738
|
}).strict();
|
|
27752
27739
|
var ServicePageChatAttachmentUploadRequestSchema = z118.object({
|
|
27753
27740
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27754
|
-
idempotencyKey: z118.string().
|
|
27741
|
+
idempotencyKey: z118.string().guid(),
|
|
27755
27742
|
profileUrl: z118.string().url().max(2048).optional()
|
|
27756
27743
|
}).strict();
|
|
27757
27744
|
var ServicePageEditInstructionSchema = z118.string().trim().min(3).max(SERVICE_PAGE_EDIT_INSTRUCTION_MAX_CHARS);
|
|
27758
27745
|
var ServicePageEditEstimateRequestSchema = z118.object({
|
|
27759
27746
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27760
|
-
baseCandidateOperationId: z118.string().
|
|
27747
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27761
27748
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27762
27749
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27763
27750
|
}).strict();
|
|
@@ -27769,12 +27756,12 @@ var ServicePageEditEstimateResponseSchema = z118.object({
|
|
|
27769
27756
|
}).strict();
|
|
27770
27757
|
var ServicePageGenerationQuoteRequestSchema = z118.object({
|
|
27771
27758
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27772
|
-
baseCandidateOperationId: z118.string().
|
|
27759
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27773
27760
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27774
27761
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27775
27762
|
}).strict();
|
|
27776
27763
|
var ServicePageQuoteResponseSchema = z118.object({
|
|
27777
|
-
quoteId: z118.string().
|
|
27764
|
+
quoteId: z118.string().guid(),
|
|
27778
27765
|
purpose: ServicePageQuotePurposeSchema,
|
|
27779
27766
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27780
27767
|
requestHash: z118.string().regex(/^[a-f0-9]{64}$/),
|
|
@@ -27788,16 +27775,16 @@ var ServicePageQuoteResponseSchema = z118.object({
|
|
|
27788
27775
|
requiresConfirmation: z118.literal(true)
|
|
27789
27776
|
}).strict();
|
|
27790
27777
|
var ServicePageGenerateRequestSchema = z118.object({
|
|
27791
|
-
quoteId: z118.string().
|
|
27792
|
-
idempotencyKey: z118.string().
|
|
27778
|
+
quoteId: z118.string().guid(),
|
|
27779
|
+
idempotencyKey: z118.string().guid(),
|
|
27793
27780
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27794
|
-
baseCandidateOperationId: z118.string().
|
|
27781
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27795
27782
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27796
27783
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27797
27784
|
}).strict();
|
|
27798
27785
|
var SERVICE_PAGE_CREATION_MAX_ATTEMPTS = 3;
|
|
27799
27786
|
var ServicePageCreationMarkerSchema = z118.object({
|
|
27800
|
-
rootOperationId: z118.string().
|
|
27787
|
+
rootOperationId: z118.string().guid().optional(),
|
|
27801
27788
|
attempt: z118.number().int().min(1).max(SERVICE_PAGE_CREATION_MAX_ATTEMPTS)
|
|
27802
27789
|
}).strict();
|
|
27803
27790
|
var ServicePageCreationEstimateRequestSchema = z118.object({
|
|
@@ -27832,8 +27819,8 @@ var ServicePageOperationStatusSchema = z118.enum([
|
|
|
27832
27819
|
"requires_reconciliation"
|
|
27833
27820
|
]);
|
|
27834
27821
|
var ServicePageOperationResponseSchema = z118.object({
|
|
27835
|
-
opId: z118.string().
|
|
27836
|
-
servicePageId: z118.string().
|
|
27822
|
+
opId: z118.string().guid(),
|
|
27823
|
+
servicePageId: z118.string().guid(),
|
|
27837
27824
|
kind: z118.enum([
|
|
27838
27825
|
"fact_extraction",
|
|
27839
27826
|
"generation"
|
|
@@ -27848,7 +27835,7 @@ var ServicePageOperationResponseSchema = z118.object({
|
|
|
27848
27835
|
recoverable: z118.boolean()
|
|
27849
27836
|
}).strict();
|
|
27850
27837
|
var ServicePageEditHistoryItemSchema = z118.object({
|
|
27851
|
-
opId: z118.string().
|
|
27838
|
+
opId: z118.string().guid(),
|
|
27852
27839
|
instruction: ServicePageEditInstructionSchema,
|
|
27853
27840
|
status: ServicePageOperationStatusSchema,
|
|
27854
27841
|
expectedRevision: z118.number().int().nonnegative(),
|
|
@@ -27863,8 +27850,8 @@ var ServicePageEditHistoryItemSchema = z118.object({
|
|
|
27863
27850
|
}).strict();
|
|
27864
27851
|
var ServicePageEditHistorySchema = z118.array(ServicePageEditHistoryItemSchema).max(50).default([]);
|
|
27865
27852
|
var ServicePageOperationJobSchema = z118.object({
|
|
27866
|
-
operationId: z118.string().
|
|
27867
|
-
servicePageId: z118.string().
|
|
27853
|
+
operationId: z118.string().guid(),
|
|
27854
|
+
servicePageId: z118.string().guid(),
|
|
27868
27855
|
userId: z118.string().min(1).max(256),
|
|
27869
27856
|
kind: z118.enum([
|
|
27870
27857
|
"fact_extraction",
|
|
@@ -27873,22 +27860,22 @@ var ServicePageOperationJobSchema = z118.object({
|
|
|
27873
27860
|
}).strict();
|
|
27874
27861
|
var ServicePageDraftUpdateRequestSchema = z118.object({
|
|
27875
27862
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27876
|
-
idempotencyKey: z118.string().
|
|
27877
|
-
candidateOperationId: z118.string().
|
|
27863
|
+
idempotencyKey: z118.string().guid(),
|
|
27864
|
+
candidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27878
27865
|
artifact: ServiceLandingArtifactSchema
|
|
27879
27866
|
}).strict();
|
|
27880
27867
|
var ServicePagePublishRequestSchema = z118.object({
|
|
27881
27868
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27882
27869
|
slug: z118.string().trim().toLowerCase().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(64),
|
|
27883
|
-
idempotencyKey: z118.string().
|
|
27870
|
+
idempotencyKey: z118.string().guid()
|
|
27884
27871
|
}).strict();
|
|
27885
27872
|
var ServicePageUnpublishRequestSchema = z118.object({
|
|
27886
27873
|
publishedRevision: z118.number().int().positive(),
|
|
27887
|
-
idempotencyKey: z118.string().
|
|
27874
|
+
idempotencyKey: z118.string().guid()
|
|
27888
27875
|
}).strict();
|
|
27889
27876
|
var ServicePageSummarySchema = z118.object({
|
|
27890
|
-
id: z118.string().
|
|
27891
|
-
brandId: z118.string().
|
|
27877
|
+
id: z118.string().guid(),
|
|
27878
|
+
brandId: z118.string().guid().nullable(),
|
|
27892
27879
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27893
27880
|
status: ServicePageStatusSchema,
|
|
27894
27881
|
draftRevision: z118.number().int().nonnegative(),
|
|
@@ -27932,7 +27919,7 @@ var ServicePageListResponseSchema = z118.object({
|
|
|
27932
27919
|
pages: z118.array(ServicePageSummarySchema)
|
|
27933
27920
|
}).strict();
|
|
27934
27921
|
var ServicePageIntakeResponseSchema = z118.object({
|
|
27935
|
-
servicePageId: z118.string().
|
|
27922
|
+
servicePageId: z118.string().guid(),
|
|
27936
27923
|
draftRevision: z118.number().int().nonnegative(),
|
|
27937
27924
|
sources: z118.array(ServicePageSourceSchema).max(50),
|
|
27938
27925
|
facts: ServicePageFactsSchema,
|
|
@@ -27941,13 +27928,13 @@ var ServicePageIntakeResponseSchema = z118.object({
|
|
|
27941
27928
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27942
27929
|
}).strict();
|
|
27943
27930
|
var ServicePagePreviewResponseSchema = z118.object({
|
|
27944
|
-
servicePageId: z118.string().
|
|
27931
|
+
servicePageId: z118.string().guid(),
|
|
27945
27932
|
revision: z118.number().int().nonnegative(),
|
|
27946
27933
|
artifact: ServiceLandingArtifactSchema,
|
|
27947
27934
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27948
27935
|
}).strict();
|
|
27949
27936
|
var ServicePageAdminViewSchema = z118.object({
|
|
27950
|
-
id: z118.string().
|
|
27937
|
+
id: z118.string().guid(),
|
|
27951
27938
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27952
27939
|
state: z118.enum([
|
|
27953
27940
|
"created",
|
|
@@ -27960,7 +27947,7 @@ var ServicePageAdminViewSchema = z118.object({
|
|
|
27960
27947
|
}).strict();
|
|
27961
27948
|
var ServicePagePreviewRequestSchema = z118.object({
|
|
27962
27949
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27963
|
-
candidateOperationId: z118.string().
|
|
27950
|
+
candidateOperationId: z118.string().guid().optional(),
|
|
27964
27951
|
artifact: ServiceLandingArtifactSchema.optional()
|
|
27965
27952
|
}).strict().superRefine((request, context) => {
|
|
27966
27953
|
if (!request.artifact && !request.candidateOperationId) {
|
|
@@ -28118,7 +28105,7 @@ var FlightRecorderEntrySchema = z120.object({
|
|
|
28118
28105
|
elements: z120.array(FlightRecorderElementSchema).optional(),
|
|
28119
28106
|
distillation: FlightRecorderDistillationSchema.optional(),
|
|
28120
28107
|
// Raw payload (sanitized of secrets)
|
|
28121
|
-
rawPayload: z120.record(z120.unknown())
|
|
28108
|
+
rawPayload: z120.record(z120.string(), z120.unknown())
|
|
28122
28109
|
});
|
|
28123
28110
|
var FlightRecorderQuerySchema = z120.object({
|
|
28124
28111
|
taskId: z120.string().min(1),
|
|
@@ -28173,7 +28160,7 @@ var Url = z122.string().url().refine((value) => {
|
|
|
28173
28160
|
var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
28174
28161
|
z122.object({
|
|
28175
28162
|
kind: z122.literal("image"),
|
|
28176
|
-
ownerTaskId: z122.string().
|
|
28163
|
+
ownerTaskId: z122.string().guid(),
|
|
28177
28164
|
sourceIndex: z122.number().int().positive(),
|
|
28178
28165
|
variantIndex: z122.number().int().nonnegative(),
|
|
28179
28166
|
url: Url,
|
|
@@ -28183,8 +28170,8 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
28183
28170
|
}).strict(),
|
|
28184
28171
|
z122.object({
|
|
28185
28172
|
kind: z122.literal("gif"),
|
|
28186
|
-
ownerTaskId: z122.string().
|
|
28187
|
-
gifId: z122.string().
|
|
28173
|
+
ownerTaskId: z122.string().guid(),
|
|
28174
|
+
gifId: z122.string().guid(),
|
|
28188
28175
|
gifRevision: z122.number().int().nonnegative(),
|
|
28189
28176
|
demo: LandingGifReadableSchema,
|
|
28190
28177
|
historicalDelivery: z122.literal(true).optional()
|
|
@@ -28192,10 +28179,10 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
28192
28179
|
]);
|
|
28193
28180
|
var PublishedClassicLandingSchema = z122.object({
|
|
28194
28181
|
version: z122.literal(1),
|
|
28195
|
-
ownerTaskId: z122.string().
|
|
28182
|
+
ownerTaskId: z122.string().guid(),
|
|
28196
28183
|
documentRevision: z122.number().int().nonnegative(),
|
|
28197
28184
|
ownerRevisions: z122.array(z122.object({
|
|
28198
|
-
ownerTaskId: z122.string().
|
|
28185
|
+
ownerTaskId: z122.string().guid(),
|
|
28199
28186
|
landingRevision: z122.number().int().nonnegative()
|
|
28200
28187
|
}).strict()).max(100),
|
|
28201
28188
|
blocks: z122.array(ClassicLandingAssetBlockSchema).max(100)
|
|
@@ -28242,18 +28229,18 @@ import { z as z123 } from "zod";
|
|
|
28242
28229
|
var DropiCountrySchema = z123.enum(DROPI_COUNTRY_CODES);
|
|
28243
28230
|
var DropiCountryQuerySchema = z123.object({
|
|
28244
28231
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28245
|
-
connectionId: z123.string().
|
|
28232
|
+
connectionId: z123.string().guid().optional()
|
|
28246
28233
|
}).strict();
|
|
28247
28234
|
var ConnectDropiFinancialSchema = z123.object({
|
|
28248
28235
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28249
|
-
connectionId: z123.string().
|
|
28236
|
+
connectionId: z123.string().guid().optional(),
|
|
28250
28237
|
label: z123.string().trim().min(1).max(80).optional(),
|
|
28251
28238
|
integrationKey: z123.string().trim().min(1).max(4096).regex(/^[\x21-\x7e]+$/)
|
|
28252
28239
|
}).strict();
|
|
28253
28240
|
var SyncDropiFinancialSchema = z123.object({
|
|
28254
28241
|
countryCode: DropiCountrySchema.optional(),
|
|
28255
|
-
operationId: z123.string().
|
|
28256
|
-
connectionId: z123.string().
|
|
28242
|
+
operationId: z123.string().guid().optional(),
|
|
28243
|
+
connectionId: z123.string().guid().optional(),
|
|
28257
28244
|
since: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
28258
28245
|
until: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
28259
28246
|
}).strict();
|
|
@@ -28261,7 +28248,7 @@ var connectionCountries = z123.array(DropiCountrySchema).max(DROPI_COUNTRY_CODES
|
|
|
28261
28248
|
var DropiFinancialConnectionsSchema = z123.object({
|
|
28262
28249
|
connectedCountries: connectionCountries,
|
|
28263
28250
|
connections: z123.array(z123.object({
|
|
28264
|
-
connectionId: z123.string().
|
|
28251
|
+
connectionId: z123.string().guid(),
|
|
28265
28252
|
countryCode: DropiCountrySchema,
|
|
28266
28253
|
label: z123.string().min(1).max(80)
|
|
28267
28254
|
}).strict()).max(21).optional(),
|
|
@@ -28271,7 +28258,7 @@ var DropiFinancialConnectionsSchema = z123.object({
|
|
|
28271
28258
|
var DropiFinancialStatusSchema = z123.object({
|
|
28272
28259
|
enabled: z123.boolean(),
|
|
28273
28260
|
connected: z123.boolean(),
|
|
28274
|
-
connectionId: z123.string().
|
|
28261
|
+
connectionId: z123.string().guid().optional(),
|
|
28275
28262
|
connectionCount: z123.number().int().nonnegative().optional(),
|
|
28276
28263
|
label: z123.string().min(1).max(80).optional(),
|
|
28277
28264
|
countryCode: DropiCountrySchema,
|
|
@@ -28398,7 +28385,7 @@ var ServiceImageContextSchema = z124.object({
|
|
|
28398
28385
|
// ../../packages/types/src/brand-creation.ts
|
|
28399
28386
|
import { z as z125 } from "zod";
|
|
28400
28387
|
var BrandCreationReceiptSchema = z125.object({
|
|
28401
|
-
brandId: z125.string().
|
|
28388
|
+
brandId: z125.string().guid(),
|
|
28402
28389
|
status: z125.enum([
|
|
28403
28390
|
"extracting",
|
|
28404
28391
|
"ready",
|
|
@@ -28541,7 +28528,7 @@ var WebsiteCaptureRequestSchema = z127.object({
|
|
|
28541
28528
|
language: MotionGraphicsLanguageSchema
|
|
28542
28529
|
}).strict();
|
|
28543
28530
|
var WebsiteCaptureResponseSchema = z127.object({
|
|
28544
|
-
captureId: z127.string().
|
|
28531
|
+
captureId: z127.string().guid(),
|
|
28545
28532
|
status: WebsiteCaptureStatusSchema,
|
|
28546
28533
|
expiresAt: z127.string().datetime(),
|
|
28547
28534
|
previewUrl: z127.string().url().optional(),
|
|
@@ -28550,7 +28537,7 @@ var WebsiteCaptureResponseSchema = z127.object({
|
|
|
28550
28537
|
cause: WebsiteCaptureCauseSchema.optional()
|
|
28551
28538
|
});
|
|
28552
28539
|
var WebsiteCaptureJobSchema = WebsiteCaptureRequestSchema.extend({
|
|
28553
|
-
captureId: z127.string().
|
|
28540
|
+
captureId: z127.string().guid(),
|
|
28554
28541
|
attempt: z127.number().int().positive(),
|
|
28555
28542
|
leaseUntil: z127.string().datetime(),
|
|
28556
28543
|
/** Public profile document prepared by the API; never contains a provider credential. */
|
|
@@ -28713,7 +28700,7 @@ var image = z128.object({
|
|
|
28713
28700
|
width: z128.number().int().positive(),
|
|
28714
28701
|
height: z128.number().int().positive(),
|
|
28715
28702
|
adCopy: nullableText,
|
|
28716
|
-
rawResponse: z128.unknown()
|
|
28703
|
+
rawResponse: z128.unknown().optional()
|
|
28717
28704
|
});
|
|
28718
28705
|
var ProductDemoSnapshotSchema = z128.object({
|
|
28719
28706
|
/** Optional only for packs frozen before seller review drafts were captured. */
|
|
@@ -28726,12 +28713,12 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28726
28713
|
country: nullableText,
|
|
28727
28714
|
features: z128.array(text3).max(100),
|
|
28728
28715
|
form: nullableText,
|
|
28729
|
-
details: z128.unknown(),
|
|
28716
|
+
details: z128.unknown().optional(),
|
|
28730
28717
|
isCombo: z128.boolean(),
|
|
28731
|
-
comboItems: z128.unknown(),
|
|
28718
|
+
comboItems: z128.unknown().optional(),
|
|
28732
28719
|
images: z128.array(text3).min(1).max(50),
|
|
28733
28720
|
cleanImages: z128.array(text3).max(50),
|
|
28734
|
-
cleanImagesMeta: z128.unknown()
|
|
28721
|
+
cleanImagesMeta: z128.unknown().optional()
|
|
28735
28722
|
}),
|
|
28736
28723
|
angles: z128.array(z128.object({
|
|
28737
28724
|
content: text3,
|
|
@@ -28750,7 +28737,7 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28750
28737
|
durationSeconds: z128.number().int().positive().nullable(),
|
|
28751
28738
|
format: VideoFormat,
|
|
28752
28739
|
resultUrls: z128.array(text3).min(1).max(10),
|
|
28753
|
-
rawResponse: z128.unknown(),
|
|
28740
|
+
rawResponse: z128.unknown().optional(),
|
|
28754
28741
|
adCopy: nullableText
|
|
28755
28742
|
})).min(1).max(10),
|
|
28756
28743
|
landingImages: z128.array(z128.object({
|
|
@@ -28761,17 +28748,17 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28761
28748
|
height: z128.number().int().positive(),
|
|
28762
28749
|
notes: nullableText
|
|
28763
28750
|
})).max(20),
|
|
28764
|
-
landingConfig: z128.unknown(),
|
|
28751
|
+
landingConfig: z128.unknown().optional(),
|
|
28765
28752
|
image,
|
|
28766
|
-
productUseSheet: z128.unknown(),
|
|
28767
|
-
productTruth: z128.unknown(),
|
|
28753
|
+
productUseSheet: z128.unknown().optional(),
|
|
28754
|
+
productTruth: z128.unknown().optional(),
|
|
28768
28755
|
productReference: z128.object({
|
|
28769
28756
|
referenceEvidenceVersion: z128.number().int().nonnegative(),
|
|
28770
28757
|
planVersion: z128.number().int().positive(),
|
|
28771
28758
|
baseReferenceSetHash: text3,
|
|
28772
|
-
referenceSet: z128.unknown(),
|
|
28773
|
-
preparationPlan: z128.unknown(),
|
|
28774
|
-
canonicalIdentityAnchors: z128.unknown()
|
|
28759
|
+
referenceSet: z128.unknown().optional(),
|
|
28760
|
+
preparationPlan: z128.unknown().optional(),
|
|
28761
|
+
canonicalIdentityAnchors: z128.unknown().optional()
|
|
28775
28762
|
})
|
|
28776
28763
|
});
|
|
28777
28764
|
var ProductDemoPhaseSchema = z128.enum([
|
|
@@ -28800,10 +28787,10 @@ var ProductDemoTaskStateSchema = z128.object({
|
|
|
28800
28787
|
// ../../packages/types/src/demo-mode-service-page-assets.ts
|
|
28801
28788
|
import { z as z129 } from "zod";
|
|
28802
28789
|
var DemoServicePageAssetSourceSchema = z129.object({
|
|
28803
|
-
pageId: z129.string().
|
|
28790
|
+
pageId: z129.string().guid(),
|
|
28804
28791
|
ownerId: z129.string().min(1),
|
|
28805
28792
|
assets: z129.array(z129.object({
|
|
28806
|
-
id: z129.string().
|
|
28793
|
+
id: z129.string().guid(),
|
|
28807
28794
|
storageKey: z129.string().min(1).max(1024),
|
|
28808
28795
|
mediaType: z129.enum([
|
|
28809
28796
|
"image/webp",
|
|
@@ -28879,14 +28866,14 @@ var DEMO_MODE_OPTIONAL_TEMPLATE_KEYS = [
|
|
|
28879
28866
|
...DEMO_MODE_OPTIONAL_MOTION_TEMPLATE_KEYS,
|
|
28880
28867
|
...DEMO_MODE_PRODUCT_ALL_TEMPLATE_KEYS
|
|
28881
28868
|
];
|
|
28882
|
-
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().
|
|
28869
|
+
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().guid().optional());
|
|
28883
28870
|
var DemoModeTemplatesSchema = z130.object({
|
|
28884
|
-
brandId: z130.string().
|
|
28885
|
-
servicePageId: z130.string().
|
|
28886
|
-
motionTaskId: z130.string().
|
|
28871
|
+
brandId: z130.string().guid(),
|
|
28872
|
+
servicePageId: z130.string().guid(),
|
|
28873
|
+
motionTaskId: z130.string().guid(),
|
|
28887
28874
|
motionVariantTaskId: optionalTemplateId,
|
|
28888
28875
|
motionThirdTaskId: optionalTemplateId,
|
|
28889
|
-
imageTaskId: z130.string().
|
|
28876
|
+
imageTaskId: z130.string().guid(),
|
|
28890
28877
|
productLandingTaskId: optionalTemplateId,
|
|
28891
28878
|
productVideoTaskId: optionalTemplateId,
|
|
28892
28879
|
productVideoVariantTaskId: optionalTemplateId,
|
|
@@ -28927,7 +28914,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28927
28914
|
product: ProductDemoSnapshotSchema.optional(),
|
|
28928
28915
|
brand: z130.object({
|
|
28929
28916
|
/** Columnas de identidad de `Brand` listas para un `update` (sin id/userId/slug/estado/fechas). */
|
|
28930
|
-
identity: z130.record(z130.unknown()),
|
|
28917
|
+
identity: z130.record(z130.string(), z130.unknown()),
|
|
28931
28918
|
productSamples: z130.array(z130.object({
|
|
28932
28919
|
name: z130.string(),
|
|
28933
28920
|
priceCents: z130.number().int().nullable(),
|
|
@@ -28947,9 +28934,9 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28947
28934
|
}))
|
|
28948
28935
|
}),
|
|
28949
28936
|
servicePage: z130.object({
|
|
28950
|
-
facts: z130.unknown(),
|
|
28951
|
-
review: z130.unknown(),
|
|
28952
|
-
artifact: z130.unknown(),
|
|
28937
|
+
facts: z130.unknown().optional(),
|
|
28938
|
+
review: z130.unknown().optional(),
|
|
28939
|
+
artifact: z130.unknown().optional(),
|
|
28953
28940
|
/** Optional only for snapshots saved before page-owned demo media. */
|
|
28954
28941
|
assetSource: DemoServicePageAssetSourceSchema.optional()
|
|
28955
28942
|
}),
|
|
@@ -28975,7 +28962,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28975
28962
|
width: z130.number().int(),
|
|
28976
28963
|
height: z130.number().int(),
|
|
28977
28964
|
adCopy: nullableString,
|
|
28978
|
-
rawResponse: z130.unknown()
|
|
28965
|
+
rawResponse: z130.unknown().optional()
|
|
28979
28966
|
})
|
|
28980
28967
|
});
|
|
28981
28968
|
var DemoModeConfigSchema = DemoModeEditableObjectSchema.extend({
|
|
@@ -29040,7 +29027,7 @@ var DemoModeJobSchema = z130.object({
|
|
|
29040
29027
|
productPhase: ProductDemoJobPhaseSchema.optional(),
|
|
29041
29028
|
step: DemoModeStepSchema,
|
|
29042
29029
|
/** brandId | servicePageOperationId | taskId según el flujo. */
|
|
29043
|
-
targetId: z130.string().
|
|
29030
|
+
targetId: z130.string().guid(),
|
|
29044
29031
|
userId: z130.string().min(1),
|
|
29045
29032
|
/** Solo marca: la generación de extracción que el guion completa. */
|
|
29046
29033
|
generation: z130.number().int().positive().optional(),
|
|
@@ -30962,7 +30949,7 @@ var ApiClient = class {
|
|
|
30962
30949
|
};
|
|
30963
30950
|
|
|
30964
30951
|
// src/index.ts
|
|
30965
|
-
var MCP_VERSION = "12.
|
|
30952
|
+
var MCP_VERSION = "12.4.1";
|
|
30966
30953
|
|
|
30967
30954
|
// src/meta-upload-app.ts
|
|
30968
30955
|
import { readFileSync } from "fs";
|
|
@@ -31956,7 +31943,7 @@ __name(resolveMediaRef, "resolveMediaRef");
|
|
|
31956
31943
|
import { z as z133 } from "zod";
|
|
31957
31944
|
var Lang = z133.string().regex(/^[a-z]{2}(?:[-_][a-zA-Z]{2})?$/, "Usa un c\xF3digo de idioma BCP-47, por ejemplo es, en-US o pt-BR").max(10);
|
|
31958
31945
|
var Country = z133.string().min(2).max(3);
|
|
31959
|
-
var LandingStrategyEnum =
|
|
31946
|
+
var LandingStrategyEnum = SelectableLandingStrategySchema;
|
|
31960
31947
|
var LandingImageFormatEnum = LandingImageFormatSchema;
|
|
31961
31948
|
var VideoPresetEnum = VideoPreset.extract([
|
|
31962
31949
|
"auto",
|
|
@@ -32120,7 +32107,7 @@ var ImageCreativeAspectRatioEnum = ImageCreativeAspectRatio;
|
|
|
32120
32107
|
var ImageRefSchema = z133.object({
|
|
32121
32108
|
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.'),
|
|
32122
32109
|
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`.'),
|
|
32123
|
-
assetId: z133.string().
|
|
32110
|
+
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.")
|
|
32124
32111
|
}).refine((v) => [
|
|
32125
32112
|
v.url,
|
|
32126
32113
|
v.path,
|
|
@@ -33152,8 +33139,8 @@ function serviceVideoResultMedia(result) {
|
|
|
33152
33139
|
}
|
|
33153
33140
|
__name(serviceVideoResultMedia, "serviceVideoResultMedia");
|
|
33154
33141
|
var CreativeVariantIdentity = z134.object({
|
|
33155
|
-
variantTaskId: z134.string().
|
|
33156
|
-
sourceTaskId: z134.string().
|
|
33142
|
+
variantTaskId: z134.string().guid(),
|
|
33143
|
+
sourceTaskId: z134.string().guid(),
|
|
33157
33144
|
kind: TaskCreativeVariantKind,
|
|
33158
33145
|
status: TaskStatusSchema,
|
|
33159
33146
|
error: z134.string().optional()
|
|
@@ -34296,9 +34283,9 @@ var CreateAnimatedVideoInput = z136.object({
|
|
|
34296
34283
|
"cancel",
|
|
34297
34284
|
"generate"
|
|
34298
34285
|
]).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."),
|
|
34299
|
-
brandId: z136.string().
|
|
34300
|
-
websiteCaptureId: z136.string().
|
|
34301
|
-
generationRequestId: z136.string().
|
|
34286
|
+
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."),
|
|
34287
|
+
websiteCaptureId: z136.string().guid().optional().describe("ID de la captura preparada. Obligatorio para status/cancel/generate; no inventarlo."),
|
|
34288
|
+
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."),
|
|
34302
34289
|
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."),
|
|
34303
34290
|
// Plain text, not `.url()`: users type «cal.com», and the web accepts it.
|
|
34304
34291
|
// normalizeWebAddress (shared with the web) adds https:// and refuses
|
|
@@ -34388,7 +34375,7 @@ var AnimatedVideoResultSchema = z136.object({
|
|
|
34388
34375
|
index: MotionGraphicsHookVariantsSchema,
|
|
34389
34376
|
count: MotionGraphicsHookVariantsSchema,
|
|
34390
34377
|
tasks: z136.array(z136.object({
|
|
34391
|
-
taskId: z136.string().
|
|
34378
|
+
taskId: z136.string().guid(),
|
|
34392
34379
|
index: MotionGraphicsHookVariantsSchema,
|
|
34393
34380
|
status: z136.enum([
|
|
34394
34381
|
"queued",
|
|
@@ -34699,7 +34686,7 @@ function registerAnimatedVideoTools(server, api) {
|
|
|
34699
34686
|
nowMs: 0
|
|
34700
34687
|
})
|
|
34701
34688
|
});
|
|
34702
|
-
const parsedTaskIds = z136.array(z136.string().
|
|
34689
|
+
const parsedTaskIds = z136.array(z136.string().guid()).min(1).max(MOTION_GRAPHICS_HOOK_VARIANTS_MAX).safeParse(created.taskIds);
|
|
34703
34690
|
const taskIds = parsedTaskIds.success && parsedTaskIds.data[0] === created.taskId ? parsedTaskIds.data : void 0;
|
|
34704
34691
|
const receipt = {
|
|
34705
34692
|
taskId: created.taskId,
|
|
@@ -34743,7 +34730,7 @@ __name(registerAnimatedVideoTools, "registerAnimatedVideoTools");
|
|
|
34743
34730
|
// src/tools/winning-product-image.ts
|
|
34744
34731
|
import { z as z137 } from "zod";
|
|
34745
34732
|
var WinnerReferenceInput = z137.object({
|
|
34746
|
-
runId: z137.string().
|
|
34733
|
+
runId: z137.string().guid(),
|
|
34747
34734
|
candidateSourceId: z137.string().trim().min(1).max(160)
|
|
34748
34735
|
}).strict().describe("Referencia opaca de un producto devuelto por find_winning_products/get_product_research_run.");
|
|
34749
34736
|
async function resolveWinnerImages(api, winnerReference, images) {
|
|
@@ -34784,7 +34771,7 @@ var editTaskDraftGuidance = getProductMakerCapabilityModelGuidance("edit_task_dr
|
|
|
34784
34771
|
var CreateProductTaskInput = z138.object({
|
|
34785
34772
|
images: ImagesInput.optional().describe("1\u20135 fotos del mismo producto. Omitir \xFAnicamente cuando projectId apunta a un proyecto propio con imagen guardada."),
|
|
34786
34773
|
winnerReference: WinnerReferenceInput.optional().describe(WINNER_IMAGE_CHOICE_GUIDANCE),
|
|
34787
|
-
projectId: z138.string().
|
|
34774
|
+
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."),
|
|
34788
34775
|
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."),
|
|
34789
34776
|
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.'),
|
|
34790
34777
|
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.'),
|
|
@@ -34817,13 +34804,13 @@ var CreateProductTaskInput = z138.object({
|
|
|
34817
34804
|
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."),
|
|
34818
34805
|
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.'),
|
|
34819
34806
|
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."),
|
|
34820
|
-
brandId: z138.string().
|
|
34807
|
+
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."),
|
|
34821
34808
|
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."),
|
|
34822
34809
|
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.'),
|
|
34823
34810
|
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.'),
|
|
34824
34811
|
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."),
|
|
34825
34812
|
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."),
|
|
34826
|
-
landingStrategy: LandingStrategyEnum.optional().describe('Opcional. Estructura de la landing cl\xE1sica cuando landing est\xE1 entre outputs: "classic" (estructura original probada y recomendada
|
|
34813
|
+
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) o "social_proof" (Landing Viral: UGC, WhatsApp, Instagram y evidencia social). Default "classic".'),
|
|
34827
34814
|
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".')
|
|
34828
34815
|
}).strict();
|
|
34829
34816
|
var CreateServiceVideoInput = z138.object({
|
|
@@ -34831,7 +34818,7 @@ var CreateServiceVideoInput = z138.object({
|
|
|
34831
34818
|
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.'),
|
|
34832
34819
|
language: Lang.describe("Idioma del video: es, en o pt."),
|
|
34833
34820
|
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.'),
|
|
34834
|
-
brandId: z138.string().
|
|
34821
|
+
brandId: z138.string().guid().optional().describe("Marca guardada del usuario. Aplica voz, mensajes, paleta y persona predeterminada."),
|
|
34835
34822
|
reviewMode: z138.enum([
|
|
34836
34823
|
"automatic",
|
|
34837
34824
|
"guided"
|
|
@@ -34877,7 +34864,7 @@ var PendingActionPayload = z138.discriminatedUnion("kind", [
|
|
|
34877
34864
|
kind: z138.literal("product_reference_set_approval"),
|
|
34878
34865
|
scope: ProductReferenceScopeEnum.optional(),
|
|
34879
34866
|
scopeKey: z138.string().min(1).max(120).optional(),
|
|
34880
|
-
scopeSnapshotId: z138.string().
|
|
34867
|
+
scopeSnapshotId: z138.string().guid().optional(),
|
|
34881
34868
|
expectedScopeHash: z138.string().min(1).max(128).optional(),
|
|
34882
34869
|
decision: ProductReferenceResolutionDecisionEnum,
|
|
34883
34870
|
reason: ProductReferenceRejectionReasonEnum.optional(),
|
|
@@ -34942,7 +34929,7 @@ var PendingActionPayload = z138.discriminatedUnion("kind", [
|
|
|
34942
34929
|
}),
|
|
34943
34930
|
z138.object({
|
|
34944
34931
|
kind: z138.literal("service_angle_approval"),
|
|
34945
|
-
angleId: z138.string().
|
|
34932
|
+
angleId: z138.string().guid().optional(),
|
|
34946
34933
|
angleNumber: z138.number().int().positive().optional(),
|
|
34947
34934
|
content: z138.string().min(1).max(480).optional(),
|
|
34948
34935
|
creativeDirection: z138.string().min(1).max(1500).optional(),
|
|
@@ -35045,7 +35032,7 @@ var StatusForResolveSchema = z138.object({
|
|
|
35045
35032
|
}).optional(),
|
|
35046
35033
|
scope: ProductReferenceScopeEnum.optional(),
|
|
35047
35034
|
scopeKey: z138.string().optional(),
|
|
35048
|
-
scopeSnapshotId: z138.string().
|
|
35035
|
+
scopeSnapshotId: z138.string().guid().optional(),
|
|
35049
35036
|
scopeHash: z138.string().optional(),
|
|
35050
35037
|
baseReferenceSetHash: z138.string().optional(),
|
|
35051
35038
|
phase: z138.enum([
|
|
@@ -35074,7 +35061,7 @@ var StatusForResolveSchema = z138.object({
|
|
|
35074
35061
|
// dropped here, so the approval handler below could not echo it back on the
|
|
35075
35062
|
// PATCH — the selection looked accepted and reached no render.
|
|
35076
35063
|
angles: z138.array(z138.object({
|
|
35077
|
-
id: z138.string().
|
|
35064
|
+
id: z138.string().guid(),
|
|
35078
35065
|
content: z138.string(),
|
|
35079
35066
|
creativeDirection: z138.string(),
|
|
35080
35067
|
actor: z138.string(),
|
|
@@ -35436,8 +35423,8 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
35436
35423
|
server.registerTool("verify_landing_commerce", {
|
|
35437
35424
|
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.",
|
|
35438
35425
|
inputSchema: {
|
|
35439
|
-
taskId: z138.string().
|
|
35440
|
-
editId: z138.string().
|
|
35426
|
+
taskId: z138.string().guid(),
|
|
35427
|
+
editId: z138.string().guid()
|
|
35441
35428
|
},
|
|
35442
35429
|
annotations: OVERWRITES_EXTERNAL
|
|
35443
35430
|
}, async (input) => {
|
|
@@ -35716,7 +35703,7 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
35716
35703
|
...page.data,
|
|
35717
35704
|
items: page.data.items.map((item) => {
|
|
35718
35705
|
const servicePage = z138.object({
|
|
35719
|
-
taskId: z138.string().
|
|
35706
|
+
taskId: z138.string().guid(),
|
|
35720
35707
|
resourceType: z138.literal("service_page")
|
|
35721
35708
|
}).passthrough().safeParse(item);
|
|
35722
35709
|
if (!servicePage.success) return item;
|
|
@@ -36228,7 +36215,7 @@ var CreateBrandInput = z139.object({
|
|
|
36228
36215
|
"pt"
|
|
36229
36216
|
]).optional().describe("Idioma de la conversaci\xF3n. Solo se usa si la p\xE1gina del negocio no deja claro su idioma."),
|
|
36230
36217
|
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."),
|
|
36231
|
-
brandId: z139.string().
|
|
36218
|
+
brandId: z139.string().guid().optional().describe("ID de la marca. Obligatorio para status; no lo inventes.")
|
|
36232
36219
|
}).strict();
|
|
36233
36220
|
function normalizeBrandSourceUrl(raw) {
|
|
36234
36221
|
const value = raw.trim();
|
|
@@ -36523,12 +36510,12 @@ var CreateServiceLandingInput = z140.object({
|
|
|
36523
36510
|
"status",
|
|
36524
36511
|
"publish"
|
|
36525
36512
|
]).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."),
|
|
36526
|
-
brandId: z140.string().
|
|
36527
|
-
servicePageId: z140.string().
|
|
36513
|
+
brandId: z140.string().guid().optional().describe("ID de la marca (de create_brand). Obligatorio para prepare. Nunca un taskId de producto."),
|
|
36514
|
+
servicePageId: z140.string().guid().optional().describe("ID de la landing que devolvi\xF3 prepare. Obligatorio para build, status y publish."),
|
|
36528
36515
|
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."),
|
|
36529
36516
|
confirmed: z140.boolean().optional().describe("Solo true despu\xE9s de mostrar el precio total y que el usuario acepte. Obligatorio para build."),
|
|
36530
36517
|
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."),
|
|
36531
|
-
operationId: z140.string().
|
|
36518
|
+
operationId: z140.string().guid().optional().describe("Opcional en status: la operaci\xF3n que devolvi\xF3 build."),
|
|
36532
36519
|
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.")
|
|
36533
36520
|
}).strict();
|
|
36534
36521
|
function serviceKey(...parts) {
|
|
@@ -36922,7 +36909,7 @@ var LANGUAGE_TAGS = {
|
|
|
36922
36909
|
pt: "pt-BR"
|
|
36923
36910
|
};
|
|
36924
36911
|
var CreateServiceImagesInput = z141.object({
|
|
36925
|
-
brandId: z141.string().
|
|
36912
|
+
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."),
|
|
36926
36913
|
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."),
|
|
36927
36914
|
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."),
|
|
36928
36915
|
format: z141.enum(SERVICE_IMAGE_FORMATS).optional().describe('Formato: "4:5" (feed, por defecto), "9:16" (historias/reels) o "1:1" (cuadrado).'),
|
|
@@ -37081,7 +37068,7 @@ var CreativeRefs = {
|
|
|
37081
37068
|
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.'),
|
|
37082
37069
|
isCombo: z142.boolean().optional().describe("Opcional. Si true, el creativo presenta el producto como combo/pack. Default false."),
|
|
37083
37070
|
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."),
|
|
37084
|
-
brandId: z142.string().
|
|
37071
|
+
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.")
|
|
37085
37072
|
};
|
|
37086
37073
|
var VideoPresenter = z142.discriminatedUnion("mode", [
|
|
37087
37074
|
z142.object({
|
|
@@ -37186,7 +37173,7 @@ var FreeVideoInput = z142.object({
|
|
|
37186
37173
|
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.'),
|
|
37187
37174
|
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.'),
|
|
37188
37175
|
addSubtitles: z142.boolean().default(false).describe("Opcional. Quema subt\xEDtulos usando el rawPrompt exacto. Default false."),
|
|
37189
|
-
idempotencyKey: z142.string().
|
|
37176
|
+
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.")
|
|
37190
37177
|
}).strict();
|
|
37191
37178
|
var imageStyleList = ImageCreativeStyleEnum.options.join(" | ");
|
|
37192
37179
|
var ImageCreativeSetup = z142.discriminatedUnion("mode", [
|
|
@@ -37288,7 +37275,7 @@ var ImageInput = z142.object({
|
|
|
37288
37275
|
brandId: CreativeRefs.brandId
|
|
37289
37276
|
});
|
|
37290
37277
|
var EditImageCreativeInput = z142.object({
|
|
37291
|
-
taskId: z142.string().
|
|
37278
|
+
taskId: z142.string().guid().describe("ID de la tarea de imagen ya finalizada."),
|
|
37292
37279
|
variantIndex: z142.number().int().min(0).max(10).describe("\xCDndice de la variante a corregir (0 = primera imagen)."),
|
|
37293
37280
|
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."),
|
|
37294
37281
|
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".')
|
|
@@ -37583,8 +37570,8 @@ function registerCreativeTools(server, api, { transport = "http", proxyBaseUrl =
|
|
|
37583
37570
|
server.registerTool("get_image_edit_status", {
|
|
37584
37571
|
description: imageEditStatusGuidance.summary,
|
|
37585
37572
|
inputSchema: {
|
|
37586
|
-
taskId: z142.string().
|
|
37587
|
-
operationId: z142.string().
|
|
37573
|
+
taskId: z142.string().guid(),
|
|
37574
|
+
operationId: z142.string().guid()
|
|
37588
37575
|
},
|
|
37589
37576
|
annotations: READS_INTERNAL,
|
|
37590
37577
|
_meta: taskResultsToolMeta()
|
|
@@ -37723,7 +37710,7 @@ var CreativeVariantKindEnum = z143.enum([
|
|
|
37723
37710
|
"landing"
|
|
37724
37711
|
]);
|
|
37725
37712
|
var EstimateCreativeVariantInputBase = z143.object({
|
|
37726
|
-
sourceTaskId: z143.string().
|
|
37713
|
+
sourceTaskId: z143.string().guid().describe("ID de la tarea original completada."),
|
|
37727
37714
|
kind: CreativeVariantKindEnum,
|
|
37728
37715
|
videoPreset: TaskCreativeVariantVideoPresetEnum.optional().describe("Opcional para video. Solo cambia el preset p\xFAblico; el servidor conserva el modelo/tier del task origen."),
|
|
37729
37716
|
videoResolution: VideoResolutionEnum.optional().describe("Opcional para video. Resoluci\xF3n del nuevo render."),
|
|
@@ -37792,10 +37779,10 @@ var EstimateCreativeVariantInput = EstimateCreativeVariantInputBase.superRefine(
|
|
|
37792
37779
|
}
|
|
37793
37780
|
});
|
|
37794
37781
|
var CreateCreativeVariantInputBase = z143.object({
|
|
37795
|
-
sourceTaskId: z143.string().
|
|
37782
|
+
sourceTaskId: z143.string().guid().describe("ID de la tarea original completada."),
|
|
37796
37783
|
kind: CreativeVariantKindEnum,
|
|
37797
37784
|
confirm: z143.literal(true).describe("Confirmaci\xF3n expl\xEDcita del usuario despu\xE9s de mostrarle el estimado de cr\xE9ditos."),
|
|
37798
|
-
clientRequestId: z143.string().
|
|
37785
|
+
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."),
|
|
37799
37786
|
angle: z143.string().trim().min(1).max(500).optional().describe("\xC1ngulo nuevo para video o imagen."),
|
|
37800
37787
|
buyerPersona: z143.string().trim().min(1).max(360).optional().describe("Buyer persona coherente con el \xE1ngulo."),
|
|
37801
37788
|
scriptNotes: z143.string().trim().min(1).max(2e3).optional().describe("Direcci\xF3n breve del guion para una variante de video."),
|
|
@@ -38164,7 +38151,7 @@ function registerConnectionTools(server, api) {
|
|
|
38164
38151
|
inputSchema: z145.object({
|
|
38165
38152
|
shopDomain: z145.string().min(3).max(120),
|
|
38166
38153
|
query: z145.string().trim().max(120).optional(),
|
|
38167
|
-
taskId: z145.string().
|
|
38154
|
+
taskId: z145.string().guid().optional()
|
|
38168
38155
|
}).shape,
|
|
38169
38156
|
annotations: READS_EXTERNAL
|
|
38170
38157
|
}, async ({ shopDomain, query, taskId }) => {
|
|
@@ -38516,8 +38503,8 @@ var GroupedMediaSource = z147.object({
|
|
|
38516
38503
|
var GroupedUploadedAssetSource = z147.object({
|
|
38517
38504
|
type: z147.literal("asset"),
|
|
38518
38505
|
/** Returned by check_media_upload. ProductMaker resolves ownership server-side. */
|
|
38519
|
-
assetId: z147.string().
|
|
38520
|
-
thumbnailAssetId: z147.string().
|
|
38506
|
+
assetId: z147.string().guid(),
|
|
38507
|
+
thumbnailAssetId: z147.string().guid().optional()
|
|
38521
38508
|
});
|
|
38522
38509
|
var GroupedCreative = z147.object({
|
|
38523
38510
|
type: z147.enum([
|
|
@@ -38664,7 +38651,7 @@ var PresignUploadResponseSchema = z147.object({
|
|
|
38664
38651
|
const url2 = new URL(value);
|
|
38665
38652
|
return !url2.username && !url2.password;
|
|
38666
38653
|
}, "public media URL must not contain embedded credentials"),
|
|
38667
|
-
stagingAssetId: z147.string().
|
|
38654
|
+
stagingAssetId: z147.string().guid()
|
|
38668
38655
|
});
|
|
38669
38656
|
async function uploadResolvedMedia(api, media, assetRole) {
|
|
38670
38657
|
if (!media.buffer) throw new ResolveMediaError("INVALID_INPUT", "resolved media has no bytes");
|
|
@@ -39153,7 +39140,7 @@ var UploadSessionToolInput = z148.object(UploadSessionToolInputShape).superRefin
|
|
|
39153
39140
|
}
|
|
39154
39141
|
});
|
|
39155
39142
|
var UploadSessionResponse = z148.object({
|
|
39156
|
-
sessionId: z148.string().
|
|
39143
|
+
sessionId: z148.string().guid(),
|
|
39157
39144
|
uploadPageUrl: z148.string().url(),
|
|
39158
39145
|
mediaKind: z148.enum([
|
|
39159
39146
|
"image",
|
|
@@ -39168,7 +39155,7 @@ var UploadSessionResponse = z148.object({
|
|
|
39168
39155
|
expiresAt: z148.string().datetime()
|
|
39169
39156
|
});
|
|
39170
39157
|
var UploadStatusInput = z148.object({
|
|
39171
|
-
sessionId: z148.string().
|
|
39158
|
+
sessionId: z148.string().guid().describe("The sessionId returned by request_media_upload.")
|
|
39172
39159
|
});
|
|
39173
39160
|
var UniversalUploadStatusResponse = z148.discriminatedUnion("status", [
|
|
39174
39161
|
z148.object({
|
|
@@ -39178,7 +39165,7 @@ var UniversalUploadStatusResponse = z148.discriminatedUnion("status", [
|
|
|
39178
39165
|
z148.object({
|
|
39179
39166
|
status: z148.literal("uploaded"),
|
|
39180
39167
|
assets: z148.array(z148.object({
|
|
39181
|
-
assetId: z148.string().
|
|
39168
|
+
assetId: z148.string().guid(),
|
|
39182
39169
|
mediaKind: z148.enum([
|
|
39183
39170
|
"image",
|
|
39184
39171
|
"video"
|
|
@@ -39490,7 +39477,7 @@ var ShippingReferenceSchema = z150.object({
|
|
|
39490
39477
|
});
|
|
39491
39478
|
}
|
|
39492
39479
|
});
|
|
39493
|
-
var SHIPPING_REFERENCES = z150.record(ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
39480
|
+
var SHIPPING_REFERENCES = z150.record(z150.string(), ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
39494
39481
|
var PRODUCT_COSTING_COUNTRY_CODES = Object.freeze(Object.keys(SHIPPING_REFERENCES));
|
|
39495
39482
|
var SPANISH_LOCALE_COUNTRIES = /* @__PURE__ */ new Set([
|
|
39496
39483
|
"MX",
|
|
@@ -40329,7 +40316,7 @@ var FindInput = z153.object({
|
|
|
40329
40316
|
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.")
|
|
40330
40317
|
});
|
|
40331
40318
|
var GetInput = z153.object({
|
|
40332
|
-
runId: z153.string().
|
|
40319
|
+
runId: z153.string().guid().describe("ID del run devuelto por find_winning_products.")
|
|
40333
40320
|
});
|
|
40334
40321
|
var ListInput = z153.object({
|
|
40335
40322
|
limit: z153.number().int().min(1).max(20).default(10)
|
|
@@ -40475,7 +40462,7 @@ import { z as z154 } from "zod";
|
|
|
40475
40462
|
var startDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("start_dropshipping_project");
|
|
40476
40463
|
var costDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("cost_dropshipping_project");
|
|
40477
40464
|
var guideDropshippingLaunchGuidance = getProductMakerCapabilityModelGuidance("guide_dropshipping_launch");
|
|
40478
|
-
var ProjectId = z154.string().
|
|
40465
|
+
var ProjectId = z154.string().guid();
|
|
40479
40466
|
var DropshippingProjectStatus = z154.enum([
|
|
40480
40467
|
"active",
|
|
40481
40468
|
"completed",
|
|
@@ -40589,15 +40576,7 @@ var DropshippingProjectNextAction = z154.discriminatedUnion("kind", NEXT_ACTION_
|
|
|
40589
40576
|
kind: z154.literal(kind2),
|
|
40590
40577
|
href: z154.string().min(1)
|
|
40591
40578
|
})));
|
|
40592
|
-
var CostingInputSchema = z154.object({
|
|
40593
|
-
country: z154.string().min(2).max(3),
|
|
40594
|
-
supplierCost: z154.number().finite().positive(),
|
|
40595
|
-
shippingCost: z154.number().finite().nonnegative(),
|
|
40596
|
-
returnRate: z154.number().finite().min(0).lt(1),
|
|
40597
|
-
cancellationRate: z154.number().finite().min(0).lt(1),
|
|
40598
|
-
adsManagerCpa: z154.number().finite().nonnegative(),
|
|
40599
|
-
desiredMargin: z154.number().finite().min(0).lt(1)
|
|
40600
|
-
}).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
40579
|
+
var CostingInputSchema = z154.object(DropshippingProjectCostingInputSchema.shape).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
40601
40580
|
if (returnRate + cancellationRate >= 1) context.addIssue({
|
|
40602
40581
|
code: z154.ZodIssueCode.custom,
|
|
40603
40582
|
path: [
|
|
@@ -40787,10 +40766,10 @@ var DateOnly = z155.string().regex(/^\d{4}-\d{2}-\d{2}$/);
|
|
|
40787
40766
|
var DailyControlInput = z155.object({
|
|
40788
40767
|
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."),
|
|
40789
40768
|
days: z155.number().int().min(1).max(14).default(3).describe("Tama\xF1o de la ventana, 1 a 14 d\xEDas."),
|
|
40790
|
-
projectId: z155.string().
|
|
40769
|
+
projectId: z155.string().guid().optional().describe("Opcional: limita el reporte a un solo proyecto en vez de todos los productos activos.")
|
|
40791
40770
|
}).strict();
|
|
40792
40771
|
var LinkCampaignInput = z155.object({
|
|
40793
|
-
projectId: z155.string().
|
|
40772
|
+
projectId: z155.string().guid(),
|
|
40794
40773
|
provider: z155.enum([
|
|
40795
40774
|
"meta",
|
|
40796
40775
|
"tiktok"
|
|
@@ -40799,7 +40778,7 @@ var LinkCampaignInput = z155.object({
|
|
|
40799
40778
|
campaignId: ProviderCampaignIdentifier
|
|
40800
40779
|
}).strict();
|
|
40801
40780
|
var ReportReturnsInput = z155.object({
|
|
40802
|
-
projectId: z155.string().
|
|
40781
|
+
projectId: z155.string().guid(),
|
|
40803
40782
|
date: DateOnly,
|
|
40804
40783
|
returnedOrders: z155.number().int().min(0).max(1e5),
|
|
40805
40784
|
note: z155.string().trim().max(280).optional()
|
|
@@ -40817,7 +40796,7 @@ var DailyControlDayMirror = z155.object({
|
|
|
40817
40796
|
light: DailyControlLightMirror
|
|
40818
40797
|
}).passthrough();
|
|
40819
40798
|
var DailyControlProductMirror = z155.object({
|
|
40820
|
-
projectId: z155.string().
|
|
40799
|
+
projectId: z155.string().guid(),
|
|
40821
40800
|
productName: z155.string().nullable(),
|
|
40822
40801
|
status: DailyControlStatusMirror,
|
|
40823
40802
|
statusMessage: z155.string().nullable(),
|
|
@@ -40950,7 +40929,7 @@ var SetProductCostingInput = z156.object({
|
|
|
40950
40929
|
tienda + id de Shopify. El esquema canónico también las admite juntas,
|
|
40951
40930
|
pero pedirlas por separado evita que el modelo emita una mezcla que
|
|
40952
40931
|
diga dos productos a la vez. */
|
|
40953
|
-
productControlId: z156.string().
|
|
40932
|
+
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."),
|
|
40954
40933
|
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."),
|
|
40955
40934
|
shopDomain: z156.string().min(1).optional(),
|
|
40956
40935
|
shopifyProductId: z156.string().min(1).max(64).optional(),
|
|
@@ -40962,7 +40941,7 @@ var SetProductCostingInput = z156.object({
|
|
|
40962
40941
|
}).strict();
|
|
40963
40942
|
var Count = z156.number().int().min(0).max(1e5).nullable().optional();
|
|
40964
40943
|
var ReportProductCountsInput = z156.object({
|
|
40965
|
-
productControlId: z156.string().
|
|
40944
|
+
productControlId: z156.string().guid().describe("El identificador que devuelve get_product_control."),
|
|
40966
40945
|
date: DateOnly2,
|
|
40967
40946
|
orders: Count.describe("Pedidos que entraron ese d\xEDa."),
|
|
40968
40947
|
cancelledOrders: Count,
|
|
@@ -40975,7 +40954,7 @@ var SyncShopifyOrdersInput = SyncShopifyOrdersSchema;
|
|
|
40975
40954
|
var ImportOrdersFileInput = z156.object({
|
|
40976
40955
|
/** Ruta ABSOLUTA en la máquina de quien usa el MCP. */
|
|
40977
40956
|
path: z156.string().min(1),
|
|
40978
|
-
operationId: z156.string().
|
|
40957
|
+
operationId: z156.string().guid().optional(),
|
|
40979
40958
|
/** Solo mirar: devuelve el resumen y no escribe nada. */
|
|
40980
40959
|
dryRun: z156.boolean().optional()
|
|
40981
40960
|
}).strict();
|
|
@@ -40984,35 +40963,35 @@ var CreateOperationInput = z156.object({
|
|
|
40984
40963
|
label: z156.string().trim().min(1).max(60).optional()
|
|
40985
40964
|
}).strict();
|
|
40986
40965
|
var MergeProductsInput = z156.object({
|
|
40987
|
-
sourceId: z156.string().
|
|
40988
|
-
targetId: z156.string().
|
|
40966
|
+
sourceId: z156.string().guid(),
|
|
40967
|
+
targetId: z156.string().guid()
|
|
40989
40968
|
}).strict();
|
|
40990
40969
|
var SetMonthlyExpenseInput = z156.object({
|
|
40991
40970
|
month: z156.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
40992
40971
|
label: SaveMonthlyExpenseSchema.shape.label,
|
|
40993
40972
|
amount: z156.number().finite().min(0),
|
|
40994
|
-
operationId: z156.string().
|
|
40973
|
+
operationId: z156.string().guid().optional()
|
|
40995
40974
|
}).strict();
|
|
40996
40975
|
var SetAdSpendInput = z156.object({
|
|
40997
40976
|
month: z156.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
40998
|
-
operationId: z156.string().
|
|
40977
|
+
operationId: z156.string().guid().optional(),
|
|
40999
40978
|
/** null RETIRA la corrección; cero afirma que no pautó. */
|
|
41000
40979
|
amount: z156.number().finite().min(0).nullable()
|
|
41001
40980
|
}).strict();
|
|
41002
40981
|
var GetFinancesInput = z156.object({
|
|
41003
40982
|
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."),
|
|
41004
|
-
operationId: z156.string().
|
|
40983
|
+
operationId: z156.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
41005
40984
|
}).strict();
|
|
41006
40985
|
var GetDropiStatusInput = DropiCountryQuerySchema.extend({
|
|
41007
40986
|
countryCode: DropiCountrySchema.optional().describe("Pa\xEDs de la cuenta (ISO-2). Si se omite, el servidor responde por Colombia (CO)."),
|
|
41008
|
-
connectionId: z156.string().
|
|
40987
|
+
connectionId: z156.string().guid().optional().describe("Una cuenta concreta cuando el pa\xEDs tiene varias. Sale de la lista de conexiones; nunca se inventa.")
|
|
41009
40988
|
});
|
|
41010
40989
|
var SyncDropiOrdersInput = SyncDropiFinancialSchema;
|
|
41011
|
-
var CreateManualProductInput = CreateManualProductControlSchema.
|
|
40990
|
+
var CreateManualProductInput = z156.strictObject(CreateManualProductControlSchema.shape).omit({
|
|
41012
40991
|
requestId: true
|
|
41013
40992
|
});
|
|
41014
40993
|
var ListUnmatchedProductsInput = z156.object({
|
|
41015
|
-
operationId: z156.string().
|
|
40994
|
+
operationId: z156.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
41016
40995
|
}).strict();
|
|
41017
40996
|
var ResolveUnmatchedProductInput = ResolveUnmatchedProductSchema;
|
|
41018
40997
|
var ListLinkableCampaignsInput = z156.object({}).strict();
|
|
@@ -41023,13 +41002,13 @@ var LinkProductCampaignInput = z156.object({
|
|
|
41023
41002
|
]).describe("La red publicitaria de la campa\xF1a."),
|
|
41024
41003
|
accountId: z156.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La cuenta publicitaria. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
41025
41004
|
campaignId: z156.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La campa\xF1a. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
41026
|
-
productControlId: z156.string().
|
|
41005
|
+
productControlId: z156.string().guid().optional().describe("El id del producto en su control financiero."),
|
|
41027
41006
|
shopDomain: z156.string().min(1).optional().describe("La tienda del producto; con shopifyProductId es la otra forma de decir cu\xE1l es."),
|
|
41028
41007
|
shopifyProductId: z156.string().min(1).optional().describe("El id del producto en su tienda. Va junto a shopDomain.")
|
|
41029
41008
|
}).strict();
|
|
41030
41009
|
var DeleteMonthlyExpenseInput = DeleteMonthlyExpenseSchema;
|
|
41031
41010
|
var RemoveProductControlInput = z156.object({
|
|
41032
|
-
productControlId: z156.string().
|
|
41011
|
+
productControlId: z156.string().guid().describe("El id del producto en su control. Sale del listado; nunca se inventa.")
|
|
41033
41012
|
}).strict();
|
|
41034
41013
|
function manualProductRequestId(input) {
|
|
41035
41014
|
const digest3 = createHash5("sha256").update(JSON.stringify(input, [
|
|
@@ -41523,6 +41502,8 @@ function createServer(opts) {
|
|
|
41523
41502
|
},
|
|
41524
41503
|
logging: {}
|
|
41525
41504
|
},
|
|
41505
|
+
// Bound structural work before parsing hosted tool arguments; stdio remains local.
|
|
41506
|
+
maxToolInputElements: transport === "http" ? 1e4 : void 0,
|
|
41526
41507
|
instructions
|
|
41527
41508
|
});
|
|
41528
41509
|
const api = new ApiClient(apiBaseUrl, opts.credential, {
|