@productmaker/mcp 12.4.0 → 12.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/http.js +534 -533
- package/dist/stdio.js +534 -533
- package/package.json +3 -3
package/dist/stdio.js
CHANGED
|
@@ -156,7 +156,7 @@ var FrankensteinSourceProviderSchema = z2.enum([
|
|
|
156
156
|
"meta",
|
|
157
157
|
"upload"
|
|
158
158
|
]);
|
|
159
|
-
var FrankensteinSourceUploadIdSchema = z2.string().
|
|
159
|
+
var FrankensteinSourceUploadIdSchema = z2.string().guid();
|
|
160
160
|
var FrankensteinSourceUploadPresignRequestSchema = z2.object({
|
|
161
161
|
fileName: z2.string().trim().min(1).max(255),
|
|
162
162
|
contentType: z2.enum([
|
|
@@ -3957,8 +3957,8 @@ var AiEditJobSchema = z5.object({
|
|
|
3957
3957
|
tier: AiEditTierSchema.default(DEFAULT_AI_EDIT_TIER),
|
|
3958
3958
|
/** Explicit false suppresses generated music; absent keeps the legacy default. */
|
|
3959
3959
|
music: z5.boolean().optional(),
|
|
3960
|
-
editId: z5.string().
|
|
3961
|
-
taskId: z5.string().
|
|
3960
|
+
editId: z5.string().guid(),
|
|
3961
|
+
taskId: z5.string().guid(),
|
|
3962
3962
|
angleKey: z5.string().min(1),
|
|
3963
3963
|
sourceVideoUrl: z5.string().url(),
|
|
3964
3964
|
/** Medidas del video entregado (Grok 480p/720p también existen). */
|
|
@@ -4284,7 +4284,7 @@ var ProductReferencePreviewSchema = z9.object({
|
|
|
4284
4284
|
isAuthoritative: z9.boolean()
|
|
4285
4285
|
});
|
|
4286
4286
|
var ApprovedProductReferencesSchema = z9.object({
|
|
4287
|
-
scopeSnapshotId: z9.string().
|
|
4287
|
+
scopeSnapshotId: z9.string().guid(),
|
|
4288
4288
|
scopeHash: z9.string().min(1).max(128),
|
|
4289
4289
|
previews: z9.array(ProductReferencePreviewSchema).min(1)
|
|
4290
4290
|
});
|
|
@@ -4296,8 +4296,8 @@ var ProductReferencePendingActionSchema = z9.object({
|
|
|
4296
4296
|
]).default("final"),
|
|
4297
4297
|
scope: ProductReferenceScopeSchema,
|
|
4298
4298
|
scopeKey: z9.string().min(1).max(120),
|
|
4299
|
-
referenceVersionId: z9.string().
|
|
4300
|
-
scopeSnapshotId: z9.string().
|
|
4299
|
+
referenceVersionId: z9.string().guid(),
|
|
4300
|
+
scopeSnapshotId: z9.string().guid(),
|
|
4301
4301
|
baseReferenceSetHash: z9.string().min(1).max(128),
|
|
4302
4302
|
scopeHash: z9.string().min(1).max(128),
|
|
4303
4303
|
approvedRefKeys: z9.array(z9.string().min(1).max(200)).min(1),
|
|
@@ -4338,7 +4338,7 @@ var ResolutionEnvelopeSchema = z9.object({
|
|
|
4338
4338
|
expectedScopeHash: z9.string().min(1).max(128),
|
|
4339
4339
|
scope: ProductReferenceScopeSchema,
|
|
4340
4340
|
scopeKey: z9.string().min(1).max(120),
|
|
4341
|
-
scopeSnapshotId: z9.string().
|
|
4341
|
+
scopeSnapshotId: z9.string().guid()
|
|
4342
4342
|
});
|
|
4343
4343
|
var ResolveProductReferenceSetRequestSchema = z9.discriminatedUnion("decision", [
|
|
4344
4344
|
ResolutionEnvelopeSchema.extend({
|
|
@@ -4388,8 +4388,8 @@ var ResolveProductReferenceSetRequestSchema = z9.discriminatedUnion("decision",
|
|
|
4388
4388
|
});
|
|
4389
4389
|
var ResolveProductReferenceSetResponseSchema = z9.object({
|
|
4390
4390
|
success: z9.literal(true),
|
|
4391
|
-
taskId: z9.string().
|
|
4392
|
-
resolutionId: z9.string().
|
|
4391
|
+
taskId: z9.string().guid(),
|
|
4392
|
+
resolutionId: z9.string().guid(),
|
|
4393
4393
|
decision: ProductReferenceResolutionDecisionSchema
|
|
4394
4394
|
});
|
|
4395
4395
|
var ProductReferenceResolutionSchema = z9.object({
|
|
@@ -4427,7 +4427,7 @@ var ReferencePreparationPlanSchema = z9.object({
|
|
|
4427
4427
|
reusableOutputs: z9.array(z9.object({
|
|
4428
4428
|
outputKey: z9.string().min(1).max(200),
|
|
4429
4429
|
refKey: z9.string().min(1).max(200),
|
|
4430
|
-
sourceSnapshotId: z9.string().
|
|
4430
|
+
sourceSnapshotId: z9.string().guid()
|
|
4431
4431
|
})),
|
|
4432
4432
|
execution: z9.object({
|
|
4433
4433
|
inputKeys: z9.array(z9.string().min(1)),
|
|
@@ -4963,7 +4963,7 @@ var ProductPhysicalDetails = z10.object({
|
|
|
4963
4963
|
contentAppearance: z10.string().optional()
|
|
4964
4964
|
});
|
|
4965
4965
|
var Product = z10.object({
|
|
4966
|
-
id: z10.string().
|
|
4966
|
+
id: z10.string().guid().optional(),
|
|
4967
4967
|
title: z10.string(),
|
|
4968
4968
|
url: z10.string().optional(),
|
|
4969
4969
|
// Free-video tasks intentionally skip product extraction and may have no
|
|
@@ -5883,7 +5883,8 @@ var LANDING_STRATEGIES = [
|
|
|
5883
5883
|
var LandingStrategySchema = z14.enum(LANDING_STRATEGIES);
|
|
5884
5884
|
var SELECTABLE_LANDING_STRATEGIES = [
|
|
5885
5885
|
"classic",
|
|
5886
|
-
"social_proof"
|
|
5886
|
+
"social_proof",
|
|
5887
|
+
"pain_solution"
|
|
5887
5888
|
];
|
|
5888
5889
|
var SelectableLandingStrategySchema = z14.enum(SELECTABLE_LANDING_STRATEGIES);
|
|
5889
5890
|
var EffectiveLandingStrategySchema = LandingStrategySchema.exclude([
|
|
@@ -6031,7 +6032,7 @@ var LandingImageReadable = z15.object({
|
|
|
6031
6032
|
*/
|
|
6032
6033
|
index: z15.number().int().min(1).max(20),
|
|
6033
6034
|
/** Child task that owns this image when variants are rendered alongside the root task. */
|
|
6034
|
-
variantTaskId: z15.string().
|
|
6035
|
+
variantTaskId: z15.string().guid().optional(),
|
|
6035
6036
|
/**
|
|
6036
6037
|
* The image's own `indexNum` within its OWN task (root or variant) — set
|
|
6037
6038
|
* once at render time and never recomputed. Unlike `index`, this is stable
|
|
@@ -6164,6 +6165,13 @@ var CODE_LANDING_USAGE_VARIANTS = [
|
|
|
6164
6165
|
"steps"
|
|
6165
6166
|
];
|
|
6166
6167
|
var CodeLandingUsageVariantSchema = z16.enum(CODE_LANDING_USAGE_VARIANTS);
|
|
6168
|
+
var CODE_LANDING_BUY_BOX_FORMATS = [
|
|
6169
|
+
"classic",
|
|
6170
|
+
"benefits",
|
|
6171
|
+
"impact",
|
|
6172
|
+
"pop"
|
|
6173
|
+
];
|
|
6174
|
+
var CodeLandingBuyBoxFormatSchema = z16.enum(CODE_LANDING_BUY_BOX_FORMATS);
|
|
6167
6175
|
var CodeLandingRecipeVariantsSchema = z16.object({
|
|
6168
6176
|
hero: CodeLandingHeroVariantSchema,
|
|
6169
6177
|
"benefits-grid": CodeLandingBenefitsVariantSchema,
|
|
@@ -6204,7 +6212,8 @@ var CodeLandingRecipePlanFields = {
|
|
|
6204
6212
|
var CodeLandingRecipeProposalSchema = z16.object(CodeLandingRecipePlanFields).strict();
|
|
6205
6213
|
var CodeLandingRecipePlanObjectSchema = z16.object({
|
|
6206
6214
|
version: z16.literal(1),
|
|
6207
|
-
...CodeLandingRecipePlanFields
|
|
6215
|
+
...CodeLandingRecipePlanFields,
|
|
6216
|
+
buyBoxFormat: CodeLandingBuyBoxFormatSchema.optional()
|
|
6208
6217
|
}).strict();
|
|
6209
6218
|
function hasDuplicateIds(ids) {
|
|
6210
6219
|
return new Set(ids).size !== ids.length;
|
|
@@ -6234,7 +6243,7 @@ var JsonValueSchema = z16.lazy(() => z16.union([
|
|
|
6234
6243
|
z16.boolean(),
|
|
6235
6244
|
z16.null(),
|
|
6236
6245
|
z16.array(JsonValueSchema),
|
|
6237
|
-
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(JsonValueSchema))
|
|
6246
|
+
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(z16.string(), JsonValueSchema))
|
|
6238
6247
|
]));
|
|
6239
6248
|
var CodeLandingRecipeSelectionSchema = z16.object({
|
|
6240
6249
|
blockId: z16.string().trim().min(1),
|
|
@@ -6693,7 +6702,7 @@ var PresignUploadResponse = z19.object({
|
|
|
6693
6702
|
/** Present only for purpose=service. */
|
|
6694
6703
|
assetToken: z19.string().min(1).optional(),
|
|
6695
6704
|
/** Present only for purpose=meta_staging. */
|
|
6696
|
-
stagingAssetId: z19.string().
|
|
6705
|
+
stagingAssetId: z19.string().guid().optional()
|
|
6697
6706
|
});
|
|
6698
6707
|
var MetaUploadMediaKind = z19.enum([
|
|
6699
6708
|
"image",
|
|
@@ -6703,7 +6712,7 @@ var MetaUploadMediaKind = z19.enum([
|
|
|
6703
6712
|
var META_UPLOAD_MAX_FILES = CAMPAIGN_LIMITS.MAX_CREATIVES;
|
|
6704
6713
|
var META_UPLOAD_IMAGE_MAX_FILES = 5;
|
|
6705
6714
|
var MetaUploadAssetSummary = z19.object({
|
|
6706
|
-
stagingAssetId: z19.string().
|
|
6715
|
+
stagingAssetId: z19.string().guid(),
|
|
6707
6716
|
mediaKind: MediaKind
|
|
6708
6717
|
}).strict();
|
|
6709
6718
|
var MetaCampaignType = z19.enum([
|
|
@@ -6711,7 +6720,7 @@ var MetaCampaignType = z19.enum([
|
|
|
6711
6720
|
"traffic",
|
|
6712
6721
|
"engagement"
|
|
6713
6722
|
]);
|
|
6714
|
-
var MetaPublishAttemptId = z19.string().
|
|
6723
|
+
var MetaPublishAttemptId = z19.string().guid();
|
|
6715
6724
|
var MetaOptimizationMode = z19.enum([
|
|
6716
6725
|
"advantage_plus",
|
|
6717
6726
|
"manual"
|
|
@@ -6784,14 +6793,14 @@ var ResolveMetaUploadSessionRequest = z19.object({
|
|
|
6784
6793
|
/** Opaque signed token embedded in the one-click upload page URL. */
|
|
6785
6794
|
token: z19.string().min(1).max(4096),
|
|
6786
6795
|
/** Stable browser-generated id so failed PUT retries reuse the same slot. */
|
|
6787
|
-
uploadId: z19.string().
|
|
6796
|
+
uploadId: z19.string().guid().optional(),
|
|
6788
6797
|
/** Browser-selected metadata; the API checks it against the session kind/role. */
|
|
6789
6798
|
contentType: z19.enum(META_STAGING_CONTENT_TYPES),
|
|
6790
6799
|
fileName: z19.string().min(1).max(255),
|
|
6791
6800
|
fileSize: z19.number().int().positive().max(CAMPAIGN_LIMITS.MAX_FILE_SIZE_BYTES)
|
|
6792
6801
|
}).strict();
|
|
6793
6802
|
var MetaUploadSessionResponse = z19.object({
|
|
6794
|
-
sessionId: z19.string().
|
|
6803
|
+
sessionId: z19.string().guid(),
|
|
6795
6804
|
uploadPageUrl: HttpUrl,
|
|
6796
6805
|
mediaKind: MetaUploadMediaKind,
|
|
6797
6806
|
assetRole: z19.enum([
|
|
@@ -6803,18 +6812,18 @@ var MetaUploadSessionResponse = z19.object({
|
|
|
6803
6812
|
}).strict();
|
|
6804
6813
|
var ResolveMetaUploadSessionResponse = z19.object({
|
|
6805
6814
|
uploadUrl: z19.string().url(),
|
|
6806
|
-
stagingAssetId: z19.string().
|
|
6815
|
+
stagingAssetId: z19.string().guid(),
|
|
6807
6816
|
expiresAt: z19.string().datetime()
|
|
6808
6817
|
}).strict();
|
|
6809
6818
|
var MetaUploadSessionStatusResponse = z19.object({
|
|
6810
|
-
sessionId: z19.string().
|
|
6819
|
+
sessionId: z19.string().guid(),
|
|
6811
6820
|
status: z19.enum([
|
|
6812
6821
|
"pending",
|
|
6813
6822
|
"uploaded"
|
|
6814
6823
|
]),
|
|
6815
6824
|
assets: z19.array(MetaUploadAssetSummary).max(META_UPLOAD_MAX_FILES),
|
|
6816
6825
|
/** Legacy single-file response field retained for older callers. */
|
|
6817
|
-
stagingAssetId: z19.string().
|
|
6826
|
+
stagingAssetId: z19.string().guid().optional()
|
|
6818
6827
|
}).strict();
|
|
6819
6828
|
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), {
|
|
6820
6829
|
message: 'adAccountId must look like "act_1234567890" (a bare numeric id is also accepted)'
|
|
@@ -6894,6 +6903,33 @@ var MetaCampaignDefaults = MetaCampaignConfigBase.omit({
|
|
|
6894
6903
|
*/
|
|
6895
6904
|
currency: z19.string().length(3).regex(/^[A-Z]{3}$/).nullable().optional()
|
|
6896
6905
|
});
|
|
6906
|
+
function refineMetaCreativeSources(value, ctx) {
|
|
6907
|
+
value.creatives.forEach((creative, index) => {
|
|
6908
|
+
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
6909
|
+
ctx.addIssue({
|
|
6910
|
+
code: z19.ZodIssueCode.custom,
|
|
6911
|
+
path: [
|
|
6912
|
+
"creatives",
|
|
6913
|
+
index,
|
|
6914
|
+
"mediaUrl"
|
|
6915
|
+
],
|
|
6916
|
+
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
6917
|
+
});
|
|
6918
|
+
}
|
|
6919
|
+
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
6920
|
+
ctx.addIssue({
|
|
6921
|
+
code: z19.ZodIssueCode.custom,
|
|
6922
|
+
path: [
|
|
6923
|
+
"creatives",
|
|
6924
|
+
index,
|
|
6925
|
+
"thumbnailUrl"
|
|
6926
|
+
],
|
|
6927
|
+
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
6928
|
+
});
|
|
6929
|
+
}
|
|
6930
|
+
});
|
|
6931
|
+
}
|
|
6932
|
+
__name(refineMetaCreativeSources, "refineMetaCreativeSources");
|
|
6897
6933
|
var UploadToMetaRequest = z19.object({
|
|
6898
6934
|
/** Caller-owned retry fence. Required before any provider operation. */
|
|
6899
6935
|
publishAttemptId: MetaPublishAttemptId,
|
|
@@ -6907,7 +6943,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
6907
6943
|
/** Legacy public URL; new Meta flows should use mediaAssetId. */
|
|
6908
6944
|
mediaUrl: HttpUrl.optional(),
|
|
6909
6945
|
/** Owner-scoped temporary asset created by the Meta staging upload flow. */
|
|
6910
|
-
mediaAssetId: z19.string().
|
|
6946
|
+
mediaAssetId: z19.string().guid().optional(),
|
|
6911
6947
|
/**
|
|
6912
6948
|
* Public URL of an extracted thumbnail. Required for video ads — Meta
|
|
6913
6949
|
* rejects video ad creatives without `image_hash`/`image_url` in
|
|
@@ -6916,7 +6952,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
6916
6952
|
*/
|
|
6917
6953
|
thumbnailUrl: HttpUrl.optional(),
|
|
6918
6954
|
/** Owner-scoped temporary thumbnail created by the Meta staging upload flow. */
|
|
6919
|
-
thumbnailAssetId: z19.string().
|
|
6955
|
+
thumbnailAssetId: z19.string().guid().optional()
|
|
6920
6956
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
6921
6957
|
/** Meta Ad Account ID */
|
|
6922
6958
|
adAccountId: MetaAdAccountId,
|
|
@@ -6943,30 +6979,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
6943
6979
|
message: "landingUrl is required for landing destinations"
|
|
6944
6980
|
});
|
|
6945
6981
|
}
|
|
6946
|
-
value
|
|
6947
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
6948
|
-
ctx.addIssue({
|
|
6949
|
-
code: z19.ZodIssueCode.custom,
|
|
6950
|
-
path: [
|
|
6951
|
-
"creatives",
|
|
6952
|
-
index,
|
|
6953
|
-
"mediaUrl"
|
|
6954
|
-
],
|
|
6955
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
6956
|
-
});
|
|
6957
|
-
}
|
|
6958
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
6959
|
-
ctx.addIssue({
|
|
6960
|
-
code: z19.ZodIssueCode.custom,
|
|
6961
|
-
path: [
|
|
6962
|
-
"creatives",
|
|
6963
|
-
index,
|
|
6964
|
-
"thumbnailUrl"
|
|
6965
|
-
],
|
|
6966
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
6967
|
-
});
|
|
6968
|
-
}
|
|
6969
|
-
});
|
|
6982
|
+
refineMetaCreativeSources(value, ctx);
|
|
6970
6983
|
});
|
|
6971
6984
|
var CampaignLifetimeMetricsSchema = z19.object({
|
|
6972
6985
|
spend: z19.number().nonnegative(),
|
|
@@ -7004,13 +7017,13 @@ var Revision = z20.number().finite().int().nonnegative();
|
|
|
7004
7017
|
var ClassicLandingBlockSchema = z20.discriminatedUnion("kind", [
|
|
7005
7018
|
z20.object({
|
|
7006
7019
|
kind: z20.literal("image"),
|
|
7007
|
-
ownerTaskId: z20.string().
|
|
7020
|
+
ownerTaskId: z20.string().guid(),
|
|
7008
7021
|
sourceIndex: z20.number().int().positive()
|
|
7009
7022
|
}).strict(),
|
|
7010
7023
|
z20.object({
|
|
7011
7024
|
kind: z20.literal("gif"),
|
|
7012
|
-
ownerTaskId: z20.string().
|
|
7013
|
-
gifId: z20.string().
|
|
7025
|
+
ownerTaskId: z20.string().guid(),
|
|
7026
|
+
gifId: z20.string().guid()
|
|
7014
7027
|
}).strict()
|
|
7015
7028
|
]);
|
|
7016
7029
|
function classicLandingBlockId(block) {
|
|
@@ -7033,17 +7046,17 @@ var Blocks = z20.array(ClassicLandingBlockSchema).max(100).superRefine((blocks,
|
|
|
7033
7046
|
});
|
|
7034
7047
|
var ClassicLandingDocumentSchema = z20.object({
|
|
7035
7048
|
version: z20.literal(1),
|
|
7036
|
-
ownerTaskId: z20.string().
|
|
7049
|
+
ownerTaskId: z20.string().guid(),
|
|
7037
7050
|
revision: Revision,
|
|
7038
7051
|
blocks: Blocks
|
|
7039
7052
|
}).strict();
|
|
7040
7053
|
var LandingGifBlockSelectionSchema = z20.object({
|
|
7041
|
-
ownerTaskId: z20.string().
|
|
7042
|
-
gifId: z20.string().
|
|
7054
|
+
ownerTaskId: z20.string().guid(),
|
|
7055
|
+
gifId: z20.string().guid(),
|
|
7043
7056
|
gifRevision: Revision
|
|
7044
7057
|
}).strict();
|
|
7045
7058
|
var ClassicLandingImageSelectionSchema = z20.object({
|
|
7046
|
-
ownerTaskId: z20.string().
|
|
7059
|
+
ownerTaskId: z20.string().guid(),
|
|
7047
7060
|
sourceIndex: z20.number().int().positive(),
|
|
7048
7061
|
variantIndex: z20.number().int().nonnegative()
|
|
7049
7062
|
}).strict();
|
|
@@ -7094,7 +7107,7 @@ var ClassicLandingBlockMutationSchema = z20.object({
|
|
|
7094
7107
|
blocks: Blocks
|
|
7095
7108
|
}).strict();
|
|
7096
7109
|
var LandingGifVisibilityMutationSchema = z20.object({
|
|
7097
|
-
gifId: z20.string().
|
|
7110
|
+
gifId: z20.string().guid(),
|
|
7098
7111
|
expectedGifRevision: Revision,
|
|
7099
7112
|
expectedDocumentRevision: Revision,
|
|
7100
7113
|
action: z20.enum([
|
|
@@ -7880,7 +7893,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
7880
7893
|
editorGifOwnership: z23.object({
|
|
7881
7894
|
version: z23.literal(1),
|
|
7882
7895
|
source: z23.object({
|
|
7883
|
-
ownerTaskId: z23.string().
|
|
7896
|
+
ownerTaskId: z23.string().guid(),
|
|
7884
7897
|
gifRevision: z23.number().int().nonnegative(),
|
|
7885
7898
|
contentHash: z23.string().regex(/^[a-f0-9]{64}$/),
|
|
7886
7899
|
posterHash: z23.string().regex(/^[a-f0-9]{64}$/)
|
|
@@ -7888,7 +7901,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
7888
7901
|
}).strict().optional(),
|
|
7889
7902
|
mode: LandingDocumentModeSchema,
|
|
7890
7903
|
strategyVersion: z23.string().min(1).max(60),
|
|
7891
|
-
sourceTaskId: z23.string().
|
|
7904
|
+
sourceTaskId: z23.string().guid().optional(),
|
|
7892
7905
|
winnerSourceUrl: CodeLandingUrlSchema.optional(),
|
|
7893
7906
|
notes: z23.array(z23.string().max(240)).max(16),
|
|
7894
7907
|
/**
|
|
@@ -8320,8 +8333,8 @@ var QuotedLandingEditRequest = z23.object({
|
|
|
8320
8333
|
"full"
|
|
8321
8334
|
]),
|
|
8322
8335
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([]),
|
|
8323
|
-
quoteId: z23.string().
|
|
8324
|
-
idempotencyKey: z23.string().
|
|
8336
|
+
quoteId: z23.string().guid(),
|
|
8337
|
+
idempotencyKey: z23.string().guid()
|
|
8325
8338
|
});
|
|
8326
8339
|
var CreateLandingEditRequest = z23.union([
|
|
8327
8340
|
QuotedLandingEditRequest,
|
|
@@ -8401,7 +8414,7 @@ var LandingEditDto = z23.object({
|
|
|
8401
8414
|
costCents: z23.number(),
|
|
8402
8415
|
error: z23.string().nullable(),
|
|
8403
8416
|
createdAt: z23.string(),
|
|
8404
|
-
operationId: z23.string().
|
|
8417
|
+
operationId: z23.string().guid().nullable().optional(),
|
|
8405
8418
|
expectedRevision: z23.number().int().nonnegative().optional(),
|
|
8406
8419
|
appliedRevision: z23.number().int().positive().nullable().optional(),
|
|
8407
8420
|
refundStatus: z23.enum([
|
|
@@ -8416,14 +8429,24 @@ var LandingEditDto = z23.object({
|
|
|
8416
8429
|
commerceReconciliation: CommerceReconciliationSchema.nullable().optional(),
|
|
8417
8430
|
delivery: z23.lazy(() => LandingEditDeliverySchema).optional(),
|
|
8418
8431
|
/** Photos the seller attached to this message (see LandingEditAttachmentDto). */
|
|
8419
|
-
attachmentIds: z23.array(z23.string().
|
|
8432
|
+
attachmentIds: z23.array(z23.string().guid()).max(4).optional()
|
|
8420
8433
|
});
|
|
8421
8434
|
var LandingEditAttachmentDto = z23.object({
|
|
8422
|
-
id: z23.string().
|
|
8435
|
+
id: z23.string().guid(),
|
|
8423
8436
|
url: z23.string().url(),
|
|
8424
8437
|
width: z23.number().int().positive().nullable(),
|
|
8425
8438
|
height: z23.number().int().positive().nullable()
|
|
8426
8439
|
});
|
|
8440
|
+
var ApplyLandingCarouselGifRequest = z23.object({
|
|
8441
|
+
attachmentId: z23.string().uuid(),
|
|
8442
|
+
expectedRevision: z23.number().int().nonnegative(),
|
|
8443
|
+
idempotencyKey: z23.string().uuid()
|
|
8444
|
+
}).strict();
|
|
8445
|
+
var ApplyLandingCarouselGifResponse = z23.object({
|
|
8446
|
+
artifact: CodeLandingArtifactSchema,
|
|
8447
|
+
appliedRevision: z23.number().int().positive(),
|
|
8448
|
+
replayed: z23.boolean()
|
|
8449
|
+
});
|
|
8427
8450
|
var UploadLandingEditAttachmentResponse = z23.object({
|
|
8428
8451
|
attachment: LandingEditAttachmentDto
|
|
8429
8452
|
});
|
|
@@ -8445,12 +8468,12 @@ var LandingEditQuoteRequest = z23.object({
|
|
|
8445
8468
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([])
|
|
8446
8469
|
});
|
|
8447
8470
|
var LandingEditSubmitRequest = LandingEditQuoteRequest.extend({
|
|
8448
|
-
quoteId: z23.string().
|
|
8449
|
-
idempotencyKey: z23.string().
|
|
8471
|
+
quoteId: z23.string().guid(),
|
|
8472
|
+
idempotencyKey: z23.string().guid()
|
|
8450
8473
|
});
|
|
8451
8474
|
var LandingOperationQuoteDto = z23.object({
|
|
8452
8475
|
editPlanSummary: z23.lazy(() => LandingEditPlanSummarySchema).optional(),
|
|
8453
|
-
id: z23.string().
|
|
8476
|
+
id: z23.string().guid(),
|
|
8454
8477
|
kind: z23.enum([
|
|
8455
8478
|
"edit_patch",
|
|
8456
8479
|
"edit_full",
|
|
@@ -8472,7 +8495,7 @@ var LandingRevisionHistoryItemDto = z23.object({
|
|
|
8472
8495
|
parentRevision: z23.number().int().positive().nullable(),
|
|
8473
8496
|
source: z23.string().min(1),
|
|
8474
8497
|
summary: z23.string().nullable(),
|
|
8475
|
-
editId: z23.string().
|
|
8498
|
+
editId: z23.string().guid().nullable(),
|
|
8476
8499
|
createdAt: z23.string().datetime(),
|
|
8477
8500
|
isActive: z23.boolean(),
|
|
8478
8501
|
isRedoTarget: z23.boolean(),
|
|
@@ -8518,7 +8541,7 @@ var LandingGifSourceSchema = z24.discriminatedUnion("kind", [
|
|
|
8518
8541
|
z24.object({
|
|
8519
8542
|
kind: z24.literal("generated"),
|
|
8520
8543
|
referenceSelectionRevision: Revision2,
|
|
8521
|
-
referenceImageAssetId: z24.string().
|
|
8544
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8522
8545
|
motionBrief: z24.string().trim().min(1).max(1500)
|
|
8523
8546
|
}).strict()
|
|
8524
8547
|
]);
|
|
@@ -8543,7 +8566,7 @@ var ReuseIdentity = z24.object({
|
|
|
8543
8566
|
byteSize: z24.number().finite().int().positive().max(50 * 1024 * 1024),
|
|
8544
8567
|
contentHash: Hash,
|
|
8545
8568
|
provenance: z24.object({
|
|
8546
|
-
taskId: z24.string().
|
|
8569
|
+
taskId: z24.string().guid(),
|
|
8547
8570
|
scanId: z24.string().min(1).max(200).optional(),
|
|
8548
8571
|
sourceUrl: z24.string().url().max(4096).optional(),
|
|
8549
8572
|
externalAdId: z24.string().min(1).max(200).optional()
|
|
@@ -8573,7 +8596,7 @@ var LandingGifReuseCandidateSchema = z24.discriminatedUnion("kind", [
|
|
|
8573
8596
|
var GeneratedResolvedSourceSchema = z24.object({
|
|
8574
8597
|
kind: z24.literal("generated"),
|
|
8575
8598
|
referenceSelectionRevision: Revision2,
|
|
8576
|
-
referenceImageAssetId: z24.string().
|
|
8599
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8577
8600
|
referenceKeys: z24.array(StorageKey).min(1).max(4),
|
|
8578
8601
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
8579
8602
|
identityReferenceFingerprint: Hash.optional(),
|
|
@@ -8595,7 +8618,7 @@ var AutomaticResolvedSourceSchema = GeneratedResolvedSourceSchema.omit({
|
|
|
8595
8618
|
referenceImageAssetId: true
|
|
8596
8619
|
}).extend({
|
|
8597
8620
|
kind: z24.literal("automatic"),
|
|
8598
|
-
ownerTaskId: z24.string().
|
|
8621
|
+
ownerTaskId: z24.string().guid(),
|
|
8599
8622
|
productName: z24.string().min(1).max(500),
|
|
8600
8623
|
productTruth: JsonValueSchema.optional(),
|
|
8601
8624
|
useSheet: JsonValueSchema.optional(),
|
|
@@ -8659,7 +8682,7 @@ var LandingGifPlacementSchema = z24.discriminatedUnion("kind", [
|
|
|
8659
8682
|
}).strict(),
|
|
8660
8683
|
z24.object({
|
|
8661
8684
|
kind: z24.literal("classic"),
|
|
8662
|
-
ownerTaskId: z24.string().
|
|
8685
|
+
ownerTaskId: z24.string().guid(),
|
|
8663
8686
|
afterSourceIndex: z24.number().finite().int().min(1)
|
|
8664
8687
|
}).strict(),
|
|
8665
8688
|
z24.object({
|
|
@@ -8674,7 +8697,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8674
8697
|
placement: LandingGifPlacementSchema,
|
|
8675
8698
|
expectedLandingRevision: Revision2,
|
|
8676
8699
|
expectedGifRevision: Revision2,
|
|
8677
|
-
gifId: z24.string().
|
|
8700
|
+
gifId: z24.string().guid().optional(),
|
|
8678
8701
|
expectedDocumentRevision: Revision2.optional()
|
|
8679
8702
|
}).strict().superRefine((request, ctx) => {
|
|
8680
8703
|
if (request.gifId === void 0 !== (request.expectedDocumentRevision === void 0)) {
|
|
@@ -8714,7 +8737,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8714
8737
|
});
|
|
8715
8738
|
var LandingGifSubmitRequestSchema = z24.object({
|
|
8716
8739
|
request: LandingGifCreateRequestSchema,
|
|
8717
|
-
quoteId: z24.string().
|
|
8740
|
+
quoteId: z24.string().guid(),
|
|
8718
8741
|
idempotencyKey: z24.string().trim().min(1).max(200)
|
|
8719
8742
|
}).strict();
|
|
8720
8743
|
var LandingGifRemoveRequestSchema = z24.object({
|
|
@@ -8750,17 +8773,17 @@ var LandingGifStoredDescriptorSchema = GifTechnicalMetadataSchema.extend({
|
|
|
8750
8773
|
quality: LandingGifQualitySchema
|
|
8751
8774
|
}).strict();
|
|
8752
8775
|
var LandingGifReadableSchema = LandingGifStoredDescriptorSchema.extend({
|
|
8753
|
-
ownerTaskId: z24.string().
|
|
8776
|
+
ownerTaskId: z24.string().guid(),
|
|
8754
8777
|
gifRevision: Revision2,
|
|
8755
8778
|
gifUrl: z24.string().url(),
|
|
8756
8779
|
posterUrl: z24.string().url()
|
|
8757
8780
|
}).strict();
|
|
8758
8781
|
var LandingGifSelectionSchema = z24.object({
|
|
8759
|
-
ownerTaskId: z24.string().
|
|
8782
|
+
ownerTaskId: z24.string().guid(),
|
|
8760
8783
|
gifRevision: Revision2
|
|
8761
8784
|
}).strict();
|
|
8762
8785
|
var LandingGifOperationStatusSchema = z24.object({
|
|
8763
|
-
operationId: z24.string().
|
|
8786
|
+
operationId: z24.string().guid(),
|
|
8764
8787
|
status: z24.enum([
|
|
8765
8788
|
"reserved",
|
|
8766
8789
|
"queued",
|
|
@@ -8782,13 +8805,13 @@ var LandingGifOperationStatusSchema = z24.object({
|
|
|
8782
8805
|
reservedUserCents: z24.number().finite().int().nonnegative()
|
|
8783
8806
|
}).strict();
|
|
8784
8807
|
var LandingGifUseProposalSchema = z24.object({
|
|
8785
|
-
id: z24.string().
|
|
8786
|
-
gifId: z24.string().
|
|
8808
|
+
id: z24.string().guid(),
|
|
8809
|
+
gifId: z24.string().guid(),
|
|
8787
8810
|
idea: z24.string().trim().min(1).max(300),
|
|
8788
8811
|
motionBrief: z24.string().trim().min(1).max(1500),
|
|
8789
8812
|
productFingerprint: Hash,
|
|
8790
8813
|
referenceFingerprint: Hash.nullable(),
|
|
8791
|
-
referenceImageAssetId: z24.string().
|
|
8814
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8792
8815
|
referenceImageAssetKey: StorageKey.optional(),
|
|
8793
8816
|
referenceImageUrl: z24.string().url().optional(),
|
|
8794
8817
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
@@ -8809,8 +8832,8 @@ var LandingGifStateSchema = z24.enum([
|
|
|
8809
8832
|
"removed"
|
|
8810
8833
|
]);
|
|
8811
8834
|
var LandingGifItemSchema = z24.object({
|
|
8812
|
-
gifId: z24.string().
|
|
8813
|
-
ownerTaskId: z24.string().
|
|
8835
|
+
gifId: z24.string().guid(),
|
|
8836
|
+
ownerTaskId: z24.string().guid(),
|
|
8814
8837
|
gifRevision: Revision2,
|
|
8815
8838
|
state: LandingGifStateSchema,
|
|
8816
8839
|
/** Server-derived compatibility for an already delivered singular primary. */
|
|
@@ -8850,8 +8873,8 @@ function isDeliverableLandingGif(item) {
|
|
|
8850
8873
|
}
|
|
8851
8874
|
__name(isDeliverableLandingGif, "isDeliverableLandingGif");
|
|
8852
8875
|
var InitialLandingGifStatusSchema = z24.object({
|
|
8853
|
-
intentId: z24.string().
|
|
8854
|
-
gifId: z24.string().
|
|
8876
|
+
intentId: z24.string().guid(),
|
|
8877
|
+
gifId: z24.string().guid(),
|
|
8855
8878
|
status: z24.enum([
|
|
8856
8879
|
"funded",
|
|
8857
8880
|
"awaiting_usage",
|
|
@@ -8867,7 +8890,7 @@ var InitialLandingGifStatusSchema = z24.object({
|
|
|
8867
8890
|
refundStatus: LandingGifOperationStatusSchema.shape.refundStatus
|
|
8868
8891
|
}).strict();
|
|
8869
8892
|
var LandingGifCollectionResponseSchema = z24.object({
|
|
8870
|
-
ownerTaskId: z24.string().
|
|
8893
|
+
ownerTaskId: z24.string().guid(),
|
|
8871
8894
|
landingRevision: Revision2,
|
|
8872
8895
|
document: ClassicLandingDocumentSchema,
|
|
8873
8896
|
gifs: z24.array(LandingGifItemSchema).max(100),
|
|
@@ -8881,15 +8904,15 @@ var LandingGifCollectionResponseSchema = z24.object({
|
|
|
8881
8904
|
}
|
|
8882
8905
|
});
|
|
8883
8906
|
var LandingGifTargetSchema = z24.object({
|
|
8884
|
-
gifId: z24.string().
|
|
8907
|
+
gifId: z24.string().guid(),
|
|
8885
8908
|
expectedGifRevision: Revision2
|
|
8886
8909
|
}).strict();
|
|
8887
8910
|
var LandingGifProposalRequestSchema = z24.object({
|
|
8888
|
-
gifId: z24.string().
|
|
8911
|
+
gifId: z24.string().guid().optional(),
|
|
8889
8912
|
expectedDocumentRevision: Revision2,
|
|
8890
8913
|
afterBlockId: z24.string().min(1).max(300).optional(),
|
|
8891
8914
|
merchantIdea: z24.string().trim().min(8).max(300).optional(),
|
|
8892
|
-
referenceImageAssetId: z24.string().
|
|
8915
|
+
referenceImageAssetId: z24.string().guid().nullable().optional()
|
|
8893
8916
|
}).strict();
|
|
8894
8917
|
var LandingGifQuoteResponseSchema = z24.object({
|
|
8895
8918
|
quote: LandingOperationQuoteDto.extend({
|
|
@@ -8900,7 +8923,7 @@ var LandingGifCreateResponseSchema = z24.object({
|
|
|
8900
8923
|
operation: LandingGifOperationStatusSchema
|
|
8901
8924
|
}).strict();
|
|
8902
8925
|
var LandingGifStatusResponseSchema = z24.object({
|
|
8903
|
-
ownerTaskId: z24.string().
|
|
8926
|
+
ownerTaskId: z24.string().guid(),
|
|
8904
8927
|
landingRevision: Revision2,
|
|
8905
8928
|
gifRevision: Revision2,
|
|
8906
8929
|
demoGif: LandingGifReadableSchema.nullable(),
|
|
@@ -8938,9 +8961,9 @@ var LandingGifPresentationResponseSchema = z24.object({
|
|
|
8938
8961
|
}).strict();
|
|
8939
8962
|
var LandingGifCompletionReceiptBase = z24.object({
|
|
8940
8963
|
version: z24.literal(1),
|
|
8941
|
-
operationId: z24.string().
|
|
8942
|
-
taskId: z24.string().
|
|
8943
|
-
stepId: z24.string().
|
|
8964
|
+
operationId: z24.string().guid(),
|
|
8965
|
+
taskId: z24.string().guid(),
|
|
8966
|
+
stepId: z24.string().guid(),
|
|
8944
8967
|
stepEpoch: Revision2,
|
|
8945
8968
|
acceptedGifRevision: z24.number().finite().int().positive(),
|
|
8946
8969
|
gifAssetKey: z24.string().min(1),
|
|
@@ -8952,7 +8975,7 @@ var LandingGifCompletionReceiptSchema = z24.discriminatedUnion("version", [
|
|
|
8952
8975
|
LandingGifCompletionReceiptBase,
|
|
8953
8976
|
LandingGifCompletionReceiptBase.extend({
|
|
8954
8977
|
version: z24.literal(2),
|
|
8955
|
-
gifId: z24.string().
|
|
8978
|
+
gifId: z24.string().guid(),
|
|
8956
8979
|
disposition: z24.enum([
|
|
8957
8980
|
"activated",
|
|
8958
8981
|
"retained"
|
|
@@ -9253,7 +9276,7 @@ var VideoCreativeContext = z27.object({
|
|
|
9253
9276
|
productTitle: z27.string(),
|
|
9254
9277
|
primaryAngle: z27.string(),
|
|
9255
9278
|
buyerPersona: z27.string().optional(),
|
|
9256
|
-
brandId: z27.string().
|
|
9279
|
+
brandId: z27.string().guid().optional(),
|
|
9257
9280
|
features: z27.array(z27.string()).default([]),
|
|
9258
9281
|
scriptNotes: z27.string().optional(),
|
|
9259
9282
|
cta: z27.string().optional(),
|
|
@@ -9412,19 +9435,19 @@ var ImageCreativeJobStatusEnum = z27.enum([
|
|
|
9412
9435
|
"error"
|
|
9413
9436
|
]);
|
|
9414
9437
|
var ImageCreativeJobStatus = z27.object({
|
|
9415
|
-
jobId: z27.string().
|
|
9438
|
+
jobId: z27.string().guid(),
|
|
9416
9439
|
status: ImageCreativeJobStatusEnum,
|
|
9417
9440
|
error: z27.string().optional(),
|
|
9418
9441
|
result: ImageCreativeResult.nullable().optional(),
|
|
9419
9442
|
request: ImageCreativeEditableRequest.optional()
|
|
9420
9443
|
});
|
|
9421
9444
|
var ImageCreativeJobPayload = z27.object({
|
|
9422
|
-
jobId: z27.string().
|
|
9445
|
+
jobId: z27.string().guid(),
|
|
9423
9446
|
status: ImageCreativeJobStatusEnum,
|
|
9424
9447
|
replayed: z27.boolean().optional()
|
|
9425
9448
|
});
|
|
9426
9449
|
var ImageCreativeHistoryEntry = z27.object({
|
|
9427
|
-
id: z27.string().
|
|
9450
|
+
id: z27.string().guid(),
|
|
9428
9451
|
createdAt: z27.string().datetime(),
|
|
9429
9452
|
status: ImageCreativeJobStatusEnum,
|
|
9430
9453
|
result: ImageCreativeResult.nullable(),
|
|
@@ -9444,27 +9467,27 @@ var LandingCreativeResult = z27.object({
|
|
|
9444
9467
|
createdAt: z27.string().datetime().optional()
|
|
9445
9468
|
});
|
|
9446
9469
|
var LandingCreativeJobStatus = z27.object({
|
|
9447
|
-
jobId: z27.string().
|
|
9470
|
+
jobId: z27.string().guid(),
|
|
9448
9471
|
status: LandingCreativeJobStatusEnum,
|
|
9449
9472
|
error: z27.string().optional(),
|
|
9450
9473
|
result: LandingCreativeResult.nullable().optional()
|
|
9451
9474
|
});
|
|
9452
9475
|
var LandingCreativeJobPayload = z27.object({
|
|
9453
|
-
jobId: z27.string().
|
|
9476
|
+
jobId: z27.string().guid(),
|
|
9454
9477
|
status: LandingCreativeJobStatusEnum,
|
|
9455
9478
|
replayed: z27.boolean().optional()
|
|
9456
9479
|
});
|
|
9457
9480
|
var LandingCreativeHistoryEntry = z27.object({
|
|
9458
|
-
id: z27.string().
|
|
9481
|
+
id: z27.string().guid(),
|
|
9459
9482
|
createdAt: z27.string().datetime(),
|
|
9460
9483
|
status: LandingCreativeJobStatusEnum,
|
|
9461
9484
|
result: LandingCreativeResult.nullable(),
|
|
9462
9485
|
error: z27.string().optional()
|
|
9463
9486
|
});
|
|
9464
9487
|
var CreativeGeneratorJob = z27.object({
|
|
9465
|
-
taskId: z27.string().
|
|
9488
|
+
taskId: z27.string().guid(),
|
|
9466
9489
|
/** Immutable approved product-reference snapshot consumed by the worker. */
|
|
9467
|
-
referenceVersionId: z27.string().
|
|
9490
|
+
referenceVersionId: z27.string().guid().optional(),
|
|
9468
9491
|
cleanImagesWaitAttempt: z27.number().int().nonnegative().optional()
|
|
9469
9492
|
});
|
|
9470
9493
|
var ImageCreativeEditStatus = z27.enum([
|
|
@@ -9480,8 +9503,8 @@ var ImageCreativeRegenerateRequest = z27.object({
|
|
|
9480
9503
|
});
|
|
9481
9504
|
var ImageCreativeEditStatusResponse = z27.object({
|
|
9482
9505
|
ok: z27.literal(true),
|
|
9483
|
-
operationId: z27.string().
|
|
9484
|
-
taskId: z27.string().
|
|
9506
|
+
operationId: z27.string().guid(),
|
|
9507
|
+
taskId: z27.string().guid(),
|
|
9485
9508
|
variantIndex: z27.number().int().nonnegative(),
|
|
9486
9509
|
status: ImageCreativeEditStatus,
|
|
9487
9510
|
assetKey: z27.string().optional(),
|
|
@@ -9622,20 +9645,20 @@ var CreativeGenderPin = z33.enum([
|
|
|
9622
9645
|
var CreativeDirectionSchema = z33.string().transform((value) => value.trim()).pipe(z33.string().max(CREATIVE_DIRECTION_MAX_CHARS));
|
|
9623
9646
|
var IngestOptions = z33.object({
|
|
9624
9647
|
/** Optional owner-scoped guided journey context. Never bypasses ingest gates. */
|
|
9625
|
-
dropshippingProjectId: z33.string().
|
|
9626
|
-
languageCode: LanguageCodeSchema.default("es-CO"),
|
|
9627
|
-
ugcFormat: VideoFormat.default("single_15s"),
|
|
9648
|
+
dropshippingProjectId: z33.string().guid().optional(),
|
|
9649
|
+
languageCode: LanguageCodeSchema.default("es-CO").nonoptional(),
|
|
9650
|
+
ugcFormat: VideoFormat.default("single_15s").nonoptional(),
|
|
9628
9651
|
country: CountrySchema,
|
|
9629
9652
|
price: PriceSchema,
|
|
9630
9653
|
offer: OfferSchema,
|
|
9631
9654
|
compareAtPrice: CompareAtPriceSchema,
|
|
9632
9655
|
pricingInput: SellerPricingInputSchema.optional(),
|
|
9633
9656
|
paymentMethods: PaymentMethodsSchema,
|
|
9634
|
-
videoStyle: VideoStyle.default("ugc"),
|
|
9657
|
+
videoStyle: VideoStyle.default("ugc").nonoptional(),
|
|
9635
9658
|
/** Canonical public route axes; legacy provider fields remain compatibility aliases. */
|
|
9636
9659
|
videoStructure: VideoStructure.optional(),
|
|
9637
9660
|
videoQuality: VideoQuality.optional(),
|
|
9638
|
-
videoModel: VideoModel.default("veo"),
|
|
9661
|
+
videoModel: VideoModel.default("veo").nonoptional(),
|
|
9639
9662
|
/**
|
|
9640
9663
|
* An explicit registry model id for Free mode (Defect 1, follow-up to the
|
|
9641
9664
|
* model-agnostic video plan). Validated against `activeVideoModels()` in
|
|
@@ -9650,15 +9673,15 @@ var IngestOptions = z33.object({
|
|
|
9650
9673
|
]).optional(),
|
|
9651
9674
|
rawPrompt: FreeVideoOptionsSchema.shape.rawPrompt.optional(),
|
|
9652
9675
|
durationSeconds: FreeVideoOptionsSchema.shape.durationSeconds.optional(),
|
|
9653
|
-
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.optional(),
|
|
9676
|
+
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.nonoptional().optional(),
|
|
9654
9677
|
subtitleText: z33.string().transform((value) => value.trim()).pipe(z33.string().max(FREE_VIDEO_SUBTITLE_MAX_CHARS)).optional(),
|
|
9655
|
-
videoTier: WritableVideoTier.default(DEFAULT_VIDEO_TIER),
|
|
9656
|
-
narrativeStyle: NarrativeStyle.default("review"),
|
|
9678
|
+
videoTier: WritableVideoTier.default(WritableVideoTier.parse(DEFAULT_VIDEO_TIER)).nonoptional(),
|
|
9679
|
+
narrativeStyle: NarrativeStyle.default("review").nonoptional(),
|
|
9657
9680
|
videoPreset: VideoPreset.optional(),
|
|
9658
9681
|
/** Orthogonal visual style for animated narratives only. The API rejects it
|
|
9659
9682
|
* on non-animated presets; absent → the pipeline resolves 'pixar_3d'. */
|
|
9660
9683
|
animationStyle: AnimationStyleSchema.optional(),
|
|
9661
|
-
multiAngleVideos: z33.boolean().default(false),
|
|
9684
|
+
multiAngleVideos: z33.boolean().default(false).nonoptional(),
|
|
9662
9685
|
videoAngleCount: z33.number().int().min(1).max(3).optional(),
|
|
9663
9686
|
/** Per-angle narrative override (positional). angleNarratives[i] forces the
|
|
9664
9687
|
* narrative of angle position i, overriding the batch auto-selector; a list
|
|
@@ -9670,7 +9693,7 @@ var IngestOptions = z33.object({
|
|
|
9670
9693
|
// quality levels; an explicit 720p pick wins. Callers that omit the field
|
|
9671
9694
|
// use the same 480p compatibility fallback in resolveSingleCallAwareResolution.
|
|
9672
9695
|
videoResolution: VideoResolution.optional(),
|
|
9673
|
-
generateAdCopy: z33.boolean().default(true),
|
|
9696
|
+
generateAdCopy: z33.boolean().default(true).nonoptional(),
|
|
9674
9697
|
generateAiMusic: z33.boolean().optional(),
|
|
9675
9698
|
/** «Edición con IA» opt-in; a music request aliases to it. */
|
|
9676
9699
|
generateAiEdit: AiEditRequestSchema.optional(),
|
|
@@ -9681,7 +9704,7 @@ var IngestOptions = z33.object({
|
|
|
9681
9704
|
* the multipart path on 2026-09-01, so an unbounded opaque string was newly persistable
|
|
9682
9705
|
* per task. Length only, never `.uuid()` — Actor.id is a CUID. */
|
|
9683
9706
|
actorId: z33.string().min(1).max(120).optional(),
|
|
9684
|
-
isCombo: z33.boolean().default(false),
|
|
9707
|
+
isCombo: z33.boolean().default(false).nonoptional(),
|
|
9685
9708
|
productContext: z33.string().transform(canonicalizeProductContext).pipe(z33.string().max(PRODUCT_CONTEXT_MAX_CHARS)).optional(),
|
|
9686
9709
|
creativeDirection: CreativeDirectionSchema.optional(),
|
|
9687
9710
|
/** Exact copy the user pinned. Rendered VERBATIM on the image creatives this task
|
|
@@ -9754,8 +9777,8 @@ var IngestOptions = z33.object({
|
|
|
9754
9777
|
* chosen videoPreset. Default true preserves the 2026-08-04 decision;
|
|
9755
9778
|
* only a deliberate `false` suspends replication. See
|
|
9756
9779
|
* `shouldAskReplicationConsent` for when this is even asked. */
|
|
9757
|
-
replicateWinnerWhenFound: z33.boolean().default(true),
|
|
9758
|
-
brandId: z33.string().
|
|
9780
|
+
replicateWinnerWhenFound: z33.boolean().default(true).nonoptional(),
|
|
9781
|
+
brandId: z33.string().guid().optional()
|
|
9759
9782
|
}).partial().transform(normalizeSellerPricingFields).superRefine((data, ctx) => {
|
|
9760
9783
|
const message = validatePriceInversion(data.price, data.compareAtPrice);
|
|
9761
9784
|
if (message) {
|
|
@@ -10502,7 +10525,7 @@ var CreativeEngineWinnerContextSchema = z38.object({
|
|
|
10502
10525
|
version: z38.literal(1),
|
|
10503
10526
|
winnerAdId: z38.string().min(1).max(200),
|
|
10504
10527
|
/** Owned parsed gap blueprint of the selected winner (opaque evidence). */
|
|
10505
|
-
gapBlueprint: z38.unknown(),
|
|
10528
|
+
gapBlueprint: z38.unknown().optional(),
|
|
10506
10529
|
observed: z38.object({
|
|
10507
10530
|
scenes: z38.array(CreativeEngineWinnerObservedSceneSchema).max(40),
|
|
10508
10531
|
/**
|
|
@@ -11262,6 +11285,13 @@ var CreativeEngineRepairAuthorContractRetrySchema = z38.object({
|
|
|
11262
11285
|
requestedAtMs: z38.number().int().nonnegative(),
|
|
11263
11286
|
token: id2
|
|
11264
11287
|
}).strict();
|
|
11288
|
+
var CreativeEngineReplanAuthorContractRetrySchema = z38.object({
|
|
11289
|
+
failedOperationId: id2,
|
|
11290
|
+
planHash: hash,
|
|
11291
|
+
context: CreativeEngineContextBindingSchema,
|
|
11292
|
+
requestedAtMs: z38.number().int().nonnegative(),
|
|
11293
|
+
token: id2
|
|
11294
|
+
}).strict();
|
|
11265
11295
|
var CreativeEngineCompositionRepairSchema = z38.object({
|
|
11266
11296
|
reviewId: id2,
|
|
11267
11297
|
outputHash: hash,
|
|
@@ -11395,6 +11425,7 @@ var CreativeEngineStateSchema = z38.object({
|
|
|
11395
11425
|
token: id2
|
|
11396
11426
|
}).strict().optional(),
|
|
11397
11427
|
repairAuthorContractRetry: CreativeEngineRepairAuthorContractRetrySchema.optional(),
|
|
11428
|
+
replanAuthorContractRetry: CreativeEngineReplanAuthorContractRetrySchema.optional(),
|
|
11398
11429
|
final: CreativeEngineFinalSchema.optional()
|
|
11399
11430
|
}).strict().superRefine((state, ctx) => {
|
|
11400
11431
|
const repairAuthorContractRetry = state.repairAuthorContractRetry;
|
|
@@ -11553,6 +11584,13 @@ var CreativeEngineEventSchema = z38.discriminatedUnion("type", [
|
|
|
11553
11584
|
context: CreativeEngineContextBindingSchema,
|
|
11554
11585
|
token: id2
|
|
11555
11586
|
}).strict(),
|
|
11587
|
+
z38.object({
|
|
11588
|
+
type: z38.literal("replan_author_contract_retry_requested"),
|
|
11589
|
+
failedOperationId: id2,
|
|
11590
|
+
planHash: hash,
|
|
11591
|
+
context: CreativeEngineContextBindingSchema,
|
|
11592
|
+
token: id2
|
|
11593
|
+
}).strict(),
|
|
11556
11594
|
z38.object({
|
|
11557
11595
|
type: z38.literal("repair_author_contract_retry_requested"),
|
|
11558
11596
|
failedOperationId: id2,
|
|
@@ -11673,7 +11711,7 @@ var VideoGenerator = z39.object({
|
|
|
11673
11711
|
ctx.addIssue({
|
|
11674
11712
|
code: z39.ZodIssueCode.too_small,
|
|
11675
11713
|
minimum: 1,
|
|
11676
|
-
|
|
11714
|
+
origin: "string",
|
|
11677
11715
|
inclusive: true,
|
|
11678
11716
|
path: [
|
|
11679
11717
|
"prompt"
|
|
@@ -11781,7 +11819,7 @@ var RegenerateVideoScriptNarrativeResponse = z39.object({
|
|
|
11781
11819
|
var RegenerateVideoRequest = z39.object({
|
|
11782
11820
|
angleKey: z39.string().min(1),
|
|
11783
11821
|
/** Stable new-intent identity for regeneration of an already delivered engine video. */
|
|
11784
|
-
clientRequestId: z39.string().
|
|
11822
|
+
clientRequestId: z39.string().guid().optional()
|
|
11785
11823
|
}).strict();
|
|
11786
11824
|
var RegenerateVideoResponse = z39.object({
|
|
11787
11825
|
ok: z39.literal(true),
|
|
@@ -11792,7 +11830,7 @@ var RegenerateVideoResponse = z39.object({
|
|
|
11792
11830
|
"single_call"
|
|
11793
11831
|
]),
|
|
11794
11832
|
/** New immutable child, when this command bought a new delivered-video intent. */
|
|
11795
|
-
taskId: z39.string().
|
|
11833
|
+
taskId: z39.string().guid().optional()
|
|
11796
11834
|
});
|
|
11797
11835
|
|
|
11798
11836
|
// ../../packages/types/src/billing.ts
|
|
@@ -11800,10 +11838,10 @@ import { z as z40 } from "zod";
|
|
|
11800
11838
|
var MAX_BILLING_DECIMAL_PLACES = 10;
|
|
11801
11839
|
function countDecimalPlaces(value) {
|
|
11802
11840
|
if (!Number.isFinite(value)) return MAX_BILLING_DECIMAL_PLACES + 1;
|
|
11803
|
-
|
|
11841
|
+
let normalized = value.toString();
|
|
11804
11842
|
if (/e/i.test(normalized)) {
|
|
11805
|
-
|
|
11806
|
-
|
|
11843
|
+
if (Math.abs(value) >= 1e21) return 0;
|
|
11844
|
+
normalized = value.toFixed(MAX_BILLING_DECIMAL_PLACES);
|
|
11807
11845
|
}
|
|
11808
11846
|
const parts = normalized.split(".");
|
|
11809
11847
|
if (parts.length < 2) return 0;
|
|
@@ -11834,16 +11872,16 @@ var BillingProvider = z40.enum([
|
|
|
11834
11872
|
]);
|
|
11835
11873
|
var BillingRecordInput = z40.object({
|
|
11836
11874
|
userId: z40.string().min(1),
|
|
11837
|
-
taskId: z40.string().
|
|
11838
|
-
mixTaskId: z40.string().
|
|
11839
|
-
productResearchRunId: z40.string().
|
|
11840
|
-
servicePageId: z40.string().
|
|
11875
|
+
taskId: z40.string().guid().optional(),
|
|
11876
|
+
mixTaskId: z40.string().guid().optional(),
|
|
11877
|
+
productResearchRunId: z40.string().guid().optional(),
|
|
11878
|
+
servicePageId: z40.string().guid().optional(),
|
|
11841
11879
|
provider: BillingProvider,
|
|
11842
11880
|
label: z40.string().optional(),
|
|
11843
11881
|
units: z40.number().int().nonnegative().optional(),
|
|
11844
11882
|
ourCostCents: BillingNonNegativeAmount,
|
|
11845
11883
|
userPriceCents: BillingNonNegativeAmount,
|
|
11846
|
-
metadata: z40.record(z40.unknown()).optional()
|
|
11884
|
+
metadata: z40.record(z40.string(), z40.unknown()).optional()
|
|
11847
11885
|
}).superRefine((value, ctx) => {
|
|
11848
11886
|
const scopedIds = [
|
|
11849
11887
|
value.taskId,
|
|
@@ -11865,7 +11903,7 @@ var BillingSummary = z40.object({
|
|
|
11865
11903
|
// ../../packages/types/src/shopify.ts
|
|
11866
11904
|
import { z as z41 } from "zod";
|
|
11867
11905
|
var ShopifyShopSummary = z41.object({
|
|
11868
|
-
id: z41.string().
|
|
11906
|
+
id: z41.string().guid(),
|
|
11869
11907
|
shopDomain: z41.string(),
|
|
11870
11908
|
primaryDomain: z41.string().nullable(),
|
|
11871
11909
|
scopes: z41.array(z41.string()),
|
|
@@ -11912,7 +11950,7 @@ var ShopifyPublicationMode = z41.enum([
|
|
|
11912
11950
|
var SHOPIFY_ANNOUNCEMENT_BAR_MAX_LENGTH = 160;
|
|
11913
11951
|
var ShopifyPublishRequest = z41.object({
|
|
11914
11952
|
/** Correlates a mutation with read-only recovery after a lost response. */
|
|
11915
|
-
publishAttemptId: z41.string().
|
|
11953
|
+
publishAttemptId: z41.string().guid().optional(),
|
|
11916
11954
|
/** Omitted keeps legacy publication behavior; null explicitly excludes the GIF. */
|
|
11917
11955
|
selectedLandingGif: LandingGifSelectionSchema.nullable().optional(),
|
|
11918
11956
|
classicSelection: ClassicLandingSelectionSnapshotSchema.optional(),
|
|
@@ -11971,7 +12009,7 @@ var ShopifyPublishRequest = z41.object({
|
|
|
11971
12009
|
});
|
|
11972
12010
|
}
|
|
11973
12011
|
});
|
|
11974
|
-
var CodeLandingThemeSetupRequest = ShopifyPublishRequest.
|
|
12012
|
+
var CodeLandingThemeSetupRequest = z41.object(ShopifyPublishRequest.shape).omit({
|
|
11975
12013
|
publishAttemptId: true,
|
|
11976
12014
|
commerceCorrection: true
|
|
11977
12015
|
});
|
|
@@ -12041,8 +12079,8 @@ var ShopifyBundleMappingResult = z41.discriminatedUnion("status", [
|
|
|
12041
12079
|
]);
|
|
12042
12080
|
var ShopifyPublishResponse = z41.object({
|
|
12043
12081
|
pricingNotices: z41.array(SellerPricingNoticeSchema).max(32).optional(),
|
|
12044
|
-
publicationId: z41.string().
|
|
12045
|
-
taskId: z41.string().
|
|
12082
|
+
publicationId: z41.string().guid(),
|
|
12083
|
+
taskId: z41.string().guid(),
|
|
12046
12084
|
status: ShopifyPublicationStatus,
|
|
12047
12085
|
shopDomain: z41.string(),
|
|
12048
12086
|
productId: z41.string().optional(),
|
|
@@ -12113,8 +12151,8 @@ var ShopifyImportOutcomeResponse = z41.discriminatedUnion("status", [
|
|
|
12113
12151
|
]);
|
|
12114
12152
|
var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
12115
12153
|
z41.object({
|
|
12116
|
-
publicationId: z41.string().
|
|
12117
|
-
taskId: z41.string().
|
|
12154
|
+
publicationId: z41.string().guid(),
|
|
12155
|
+
taskId: z41.string().guid(),
|
|
12118
12156
|
status: z41.enum([
|
|
12119
12157
|
"pending",
|
|
12120
12158
|
"processing"
|
|
@@ -12122,8 +12160,8 @@ var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
|
12122
12160
|
productId: z41.string().optional()
|
|
12123
12161
|
}),
|
|
12124
12162
|
z41.object({
|
|
12125
|
-
publicationId: z41.string().
|
|
12126
|
-
taskId: z41.string().
|
|
12163
|
+
publicationId: z41.string().guid(),
|
|
12164
|
+
taskId: z41.string().guid(),
|
|
12127
12165
|
status: z41.literal("error"),
|
|
12128
12166
|
productId: z41.string().optional(),
|
|
12129
12167
|
failure: z41.discriminatedUnion("kind", [
|
|
@@ -12277,7 +12315,7 @@ var CreateShopifyBillingChargeRequest = z41.object({
|
|
|
12277
12315
|
});
|
|
12278
12316
|
var ShopifyBillingCallbackQuery = z41.object({
|
|
12279
12317
|
charge_id: z41.string().regex(/^\d+$/),
|
|
12280
|
-
transactionId: z41.string().
|
|
12318
|
+
transactionId: z41.string().guid()
|
|
12281
12319
|
});
|
|
12282
12320
|
var CancelShopifySubscriptionRequest = z41.object({
|
|
12283
12321
|
subscriptionId: z41.string().min(1)
|
|
@@ -12343,12 +12381,12 @@ var ApproveAnglesRefusalReason = z42.enum([
|
|
|
12343
12381
|
]);
|
|
12344
12382
|
var ApproveAnglesResponse = z42.object({
|
|
12345
12383
|
success: z42.boolean(),
|
|
12346
|
-
taskId: z42.string().
|
|
12384
|
+
taskId: z42.string().guid(),
|
|
12347
12385
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12348
12386
|
});
|
|
12349
12387
|
var IngestResumeRefusalResponse = z42.object({
|
|
12350
12388
|
success: z42.literal(false),
|
|
12351
|
-
taskId: z42.string().
|
|
12389
|
+
taskId: z42.string().guid(),
|
|
12352
12390
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12353
12391
|
});
|
|
12354
12392
|
var GenerateSuggestionsResponse = z42.object({
|
|
@@ -12363,7 +12401,7 @@ var SaveDraftRequest = z42.object({
|
|
|
12363
12401
|
});
|
|
12364
12402
|
var SaveDraftResponse = z42.object({
|
|
12365
12403
|
success: z42.boolean(),
|
|
12366
|
-
taskId: z42.string().
|
|
12404
|
+
taskId: z42.string().guid()
|
|
12367
12405
|
});
|
|
12368
12406
|
var ProductReferenceRecoveryImageMimeType = z42.enum([
|
|
12369
12407
|
"image/jpeg",
|
|
@@ -12408,7 +12446,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12408
12446
|
"keep_selection"
|
|
12409
12447
|
]),
|
|
12410
12448
|
affectedRefKeys: z42.array(z42.string().min(1).max(200)).min(1).max(5).optional(),
|
|
12411
|
-
expectedReferenceVersionId: z42.string().
|
|
12449
|
+
expectedReferenceVersionId: z42.string().guid().optional(),
|
|
12412
12450
|
expectedEvidenceHash: z42.string().min(1).max(128).optional(),
|
|
12413
12451
|
uploadedImages: z42.array(ProductReferenceRecoveryUpload).max(INGEST_MAX_REFERENCE_IMAGES).optional()
|
|
12414
12452
|
}).optional()
|
|
@@ -12445,7 +12483,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12445
12483
|
});
|
|
12446
12484
|
var ConfirmProductReferencesResponse = z42.object({
|
|
12447
12485
|
success: z42.boolean(),
|
|
12448
|
-
taskId: z42.string().
|
|
12486
|
+
taskId: z42.string().guid(),
|
|
12449
12487
|
anglesQueued: z42.boolean()
|
|
12450
12488
|
});
|
|
12451
12489
|
var UpdateProductFeaturesRequest = z42.object({
|
|
@@ -12512,7 +12550,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12512
12550
|
"meta",
|
|
12513
12551
|
"upload"
|
|
12514
12552
|
]).optional(),
|
|
12515
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12553
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional(),
|
|
12516
12554
|
/** Whether to pause for video script review before final generation */
|
|
12517
12555
|
pauseForVideoScriptReview: z42.boolean().optional(),
|
|
12518
12556
|
/** Whether to produce an additional AI-music video variant */
|
|
@@ -12526,7 +12564,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12526
12564
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, true));
|
|
12527
12565
|
var ApproveVideoAnglesResponse = z42.object({
|
|
12528
12566
|
success: z42.boolean(),
|
|
12529
|
-
taskId: z42.string().
|
|
12567
|
+
taskId: z42.string().guid(),
|
|
12530
12568
|
/** Persisted keys scheduled by this approval; visible candidate indices are not worker keys. */
|
|
12531
12569
|
approvedAngleKeys: z42.array(z42.string().regex(/^angle_\d+$/)).min(1).max(3).optional(),
|
|
12532
12570
|
reason: ApproveAnglesRefusalReason.optional()
|
|
@@ -12546,11 +12584,11 @@ var SaveVideoDraftRequest = z42.object({
|
|
|
12546
12584
|
"meta",
|
|
12547
12585
|
"upload"
|
|
12548
12586
|
]).optional(),
|
|
12549
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12587
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional()
|
|
12550
12588
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, false));
|
|
12551
12589
|
var SaveVideoDraftResponse = z42.object({
|
|
12552
12590
|
success: z42.boolean(),
|
|
12553
|
-
taskId: z42.string().
|
|
12591
|
+
taskId: z42.string().guid()
|
|
12554
12592
|
});
|
|
12555
12593
|
var ApproveImageAnglesRequest = z42.object({
|
|
12556
12594
|
/** Zero-based index of the generated angle explicitly selected for production. */
|
|
@@ -12574,7 +12612,7 @@ var ApproveImageAnglesRequest = z42.object({
|
|
|
12574
12612
|
});
|
|
12575
12613
|
var ApproveImageAnglesResponse = z42.object({
|
|
12576
12614
|
success: z42.boolean(),
|
|
12577
|
-
taskId: z42.string().
|
|
12615
|
+
taskId: z42.string().guid(),
|
|
12578
12616
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12579
12617
|
});
|
|
12580
12618
|
var SaveImageDraftRequest = z42.object({
|
|
@@ -12585,7 +12623,7 @@ var SaveImageDraftRequest = z42.object({
|
|
|
12585
12623
|
});
|
|
12586
12624
|
var SaveImageDraftResponse = z42.object({
|
|
12587
12625
|
success: z42.boolean(),
|
|
12588
|
-
taskId: z42.string().
|
|
12626
|
+
taskId: z42.string().guid()
|
|
12589
12627
|
});
|
|
12590
12628
|
var ImageSuggestionsResponse = z42.object({
|
|
12591
12629
|
painPoints: z42.array(z42.string()),
|
|
@@ -12631,8 +12669,8 @@ var QualityReportReason = z43.enum([
|
|
|
12631
12669
|
"other"
|
|
12632
12670
|
]);
|
|
12633
12671
|
var QualityReportRequest = z43.object({
|
|
12634
|
-
taskId: z43.string().
|
|
12635
|
-
mixTaskId: z43.string().
|
|
12672
|
+
taskId: z43.string().guid().optional(),
|
|
12673
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12636
12674
|
kind: QualityReportKind,
|
|
12637
12675
|
/**
|
|
12638
12676
|
* URL or internal proxy path (e.g. `/api/assets/...`).
|
|
@@ -12658,9 +12696,9 @@ var QualityReportRequest = z43.object({
|
|
|
12658
12696
|
]
|
|
12659
12697
|
});
|
|
12660
12698
|
var QualityReportResponse = z43.object({
|
|
12661
|
-
reportId: z43.string().
|
|
12662
|
-
taskId: z43.string().
|
|
12663
|
-
mixTaskId: z43.string().
|
|
12699
|
+
reportId: z43.string().guid(),
|
|
12700
|
+
taskId: z43.string().guid().optional(),
|
|
12701
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12664
12702
|
kind: QualityReportKind,
|
|
12665
12703
|
resourceUrl: z43.string().min(1),
|
|
12666
12704
|
reason: QualityReportReason,
|
|
@@ -13089,7 +13127,7 @@ var TaskCreativeVariantVideoPreset = VideoPreset.exclude([
|
|
|
13089
13127
|
...BLOCKED_VIDEO_PRESETS
|
|
13090
13128
|
]);
|
|
13091
13129
|
var CreateTaskCreativeVariantBase = z47.object({
|
|
13092
|
-
clientRequestId: z47.string().
|
|
13130
|
+
clientRequestId: z47.string().guid(),
|
|
13093
13131
|
angle: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.angle),
|
|
13094
13132
|
buyerPersona: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.buyerPersona).optional()
|
|
13095
13133
|
});
|
|
@@ -13112,7 +13150,7 @@ var CreateTaskImageVariantRequest = CreateTaskCreativeVariantBase.extend({
|
|
|
13112
13150
|
styleMix: z47.boolean().optional()
|
|
13113
13151
|
}).strict();
|
|
13114
13152
|
var CreateTaskLandingSectionVariantRequest = z47.object({
|
|
13115
|
-
clientRequestId: z47.string().
|
|
13153
|
+
clientRequestId: z47.string().guid(),
|
|
13116
13154
|
kind: z47.literal("landing"),
|
|
13117
13155
|
sectionKey: LandingSectionKeySchema,
|
|
13118
13156
|
instructions: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.landingInstructions).optional()
|
|
@@ -13140,8 +13178,8 @@ var EstimateTaskCreativeVariantRequest = z47.discriminatedUnion("kind", [
|
|
|
13140
13178
|
]);
|
|
13141
13179
|
var CreateTaskCreativeVariantResponse = z47.object({
|
|
13142
13180
|
ok: z47.literal(true),
|
|
13143
|
-
sourceTaskId: z47.string().
|
|
13144
|
-
variantTaskId: z47.string().
|
|
13181
|
+
sourceTaskId: z47.string().guid(),
|
|
13182
|
+
variantTaskId: z47.string().guid(),
|
|
13145
13183
|
kind: TaskCreativeVariantKind,
|
|
13146
13184
|
status: TaskCreativeVariantStatus
|
|
13147
13185
|
}).strict();
|
|
@@ -13164,15 +13202,15 @@ var TaskCreativeVariantRecommendationRequest = z47.object({
|
|
|
13164
13202
|
}).strict();
|
|
13165
13203
|
var TaskCreativeVariantRecommendationResponse = z47.object({
|
|
13166
13204
|
ok: z47.literal(true),
|
|
13167
|
-
sourceTaskId: z47.string().
|
|
13205
|
+
sourceTaskId: z47.string().guid(),
|
|
13168
13206
|
kind: TaskCreativeVariantKind,
|
|
13169
13207
|
field: TaskCreativeVariantRecommendationField,
|
|
13170
13208
|
value: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.scriptNotes),
|
|
13171
13209
|
rationale: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.recommendationRationale).optional()
|
|
13172
13210
|
}).strict();
|
|
13173
13211
|
var TaskCreativeVariantBaseResult = z47.object({
|
|
13174
|
-
variantTaskId: z47.string().
|
|
13175
|
-
sourceTaskId: z47.string().
|
|
13212
|
+
variantTaskId: z47.string().guid(),
|
|
13213
|
+
sourceTaskId: z47.string().guid(),
|
|
13176
13214
|
kind: TaskCreativeVariantKind,
|
|
13177
13215
|
status: TaskCreativeVariantStatus,
|
|
13178
13216
|
angle: z47.string().min(1),
|
|
@@ -13346,7 +13384,7 @@ var ResultAngle = Angle.extend({
|
|
|
13346
13384
|
aiEdit: AiEditTierSchema.nullable().optional()
|
|
13347
13385
|
});
|
|
13348
13386
|
var MVPResult = z49.object({
|
|
13349
|
-
taskId: z49.string().
|
|
13387
|
+
taskId: z49.string().guid(),
|
|
13350
13388
|
/** Read-only identity derived from validated persisted request context.
|
|
13351
13389
|
* Optional for older APIs and content-only tasks; absence never implies a service. */
|
|
13352
13390
|
subjectKind: z49.enum([
|
|
@@ -13524,7 +13562,7 @@ var PendingUserActionSchema = z49.discriminatedUnion("kind", [
|
|
|
13524
13562
|
z49.object({
|
|
13525
13563
|
kind: z49.literal("service_angle_approval"),
|
|
13526
13564
|
angles: z49.array(z49.object({
|
|
13527
|
-
id: z49.string().
|
|
13565
|
+
id: z49.string().guid(),
|
|
13528
13566
|
content: z49.string(),
|
|
13529
13567
|
creativeDirection: z49.string(),
|
|
13530
13568
|
actor: z49.string(),
|
|
@@ -13603,7 +13641,7 @@ var CommercialStudySummarySchema = z49.union([
|
|
|
13603
13641
|
})
|
|
13604
13642
|
]);
|
|
13605
13643
|
var StatusResponse = z49.object({
|
|
13606
|
-
taskId: z49.string().
|
|
13644
|
+
taskId: z49.string().guid(),
|
|
13607
13645
|
status: TaskStatusSchema,
|
|
13608
13646
|
/** ENGINEERING string (`Task.error`). Never render this to a seller. */
|
|
13609
13647
|
error: z49.string().optional(),
|
|
@@ -13811,7 +13849,7 @@ var StatusResponse = z49.object({
|
|
|
13811
13849
|
frankensteinRun: FrankensteinRunProgressSchema.optional()
|
|
13812
13850
|
});
|
|
13813
13851
|
var TaskSummary = z49.object({
|
|
13814
|
-
taskId: z49.string().
|
|
13852
|
+
taskId: z49.string().guid(),
|
|
13815
13853
|
/** A projected ServicePage, opened through its own editor and lifecycle. */
|
|
13816
13854
|
resourceType: z49.literal("service_page").optional(),
|
|
13817
13855
|
status: TaskStatusSchema,
|
|
@@ -14240,7 +14278,7 @@ var RegenerateLandingRoleBody = z50.object({
|
|
|
14240
14278
|
comment: z50.string().max(2e3).optional(),
|
|
14241
14279
|
sourceKey: z50.string().max(200).optional(),
|
|
14242
14280
|
/** Client-generated key makes a lost response safe to retry without another charge. */
|
|
14243
|
-
clientRequestId: z50.string().
|
|
14281
|
+
clientRequestId: z50.string().guid().optional()
|
|
14244
14282
|
}).strict();
|
|
14245
14283
|
var LandingRegenerateEstimationOptions = z50.object({
|
|
14246
14284
|
/** KIE image endpoint has non-linear pricing by nVariants; for landing we default to 2. */
|
|
@@ -14346,6 +14384,8 @@ var CostEstimationRequest = z50.discriminatedUnion("type", [
|
|
|
14346
14384
|
var CostEstimationResponse = z50.object({
|
|
14347
14385
|
/** Server confirms the range includes the first generated classic-landing GIF. */
|
|
14348
14386
|
includesInitialLandingGif: z50.boolean().optional(),
|
|
14387
|
+
/** The initial-GIF choice is offerable for this config (code landings only quote it after explicit consent). */
|
|
14388
|
+
initialLandingGifOffered: z50.boolean().optional(),
|
|
14349
14389
|
estimatedCostCents: z50.number().nonnegative(),
|
|
14350
14390
|
estimatedCostCredits: z50.number().int().nonnegative(),
|
|
14351
14391
|
/** Scan-only midpoint; excludes generating a winner replica. Not an admission limit. */
|
|
@@ -15227,7 +15267,7 @@ var UpdateUserCreditsRequest = z53.object({
|
|
|
15227
15267
|
/** Free-text detail. Required when the enum alone does not explain the grant. */
|
|
15228
15268
|
notes: z53.string().trim().min(1).max(500).optional(),
|
|
15229
15269
|
/** The task the grant compensates, when there is one. */
|
|
15230
|
-
taskId: z53.string().
|
|
15270
|
+
taskId: z53.string().guid().optional()
|
|
15231
15271
|
});
|
|
15232
15272
|
var QualityReportStatus = z53.enum([
|
|
15233
15273
|
"open",
|
|
@@ -15287,7 +15327,7 @@ var AdminSupportDeliveryStatus = z53.enum([
|
|
|
15287
15327
|
"blocked"
|
|
15288
15328
|
]);
|
|
15289
15329
|
var AdminSupportMessage = z53.object({
|
|
15290
|
-
id: z53.string().
|
|
15330
|
+
id: z53.string().guid(),
|
|
15291
15331
|
direction: z53.enum([
|
|
15292
15332
|
"inbound",
|
|
15293
15333
|
"outbound"
|
|
@@ -15311,7 +15351,7 @@ var AdminSupportMessage = z53.object({
|
|
|
15311
15351
|
createdAt: z53.string().datetime()
|
|
15312
15352
|
});
|
|
15313
15353
|
var AdminSupportTicket = z53.object({
|
|
15314
|
-
id: z53.string().
|
|
15354
|
+
id: z53.string().guid(),
|
|
15315
15355
|
category: z53.enum([
|
|
15316
15356
|
"how_to",
|
|
15317
15357
|
"credits",
|
|
@@ -15340,7 +15380,7 @@ var AdminSupportTicket = z53.object({
|
|
|
15340
15380
|
updatedAt: z53.string().datetime()
|
|
15341
15381
|
});
|
|
15342
15382
|
var AdminSupportConversation = z53.object({
|
|
15343
|
-
id: z53.string().
|
|
15383
|
+
id: z53.string().guid(),
|
|
15344
15384
|
status: AdminSupportConversationStatus,
|
|
15345
15385
|
priority: z53.enum([
|
|
15346
15386
|
"low",
|
|
@@ -15355,7 +15395,7 @@ var AdminSupportConversation = z53.object({
|
|
|
15355
15395
|
createdAt: z53.string().datetime(),
|
|
15356
15396
|
updatedAt: z53.string().datetime(),
|
|
15357
15397
|
contact: z53.object({
|
|
15358
|
-
id: z53.string().
|
|
15398
|
+
id: z53.string().guid(),
|
|
15359
15399
|
userId: z53.string().nullable(),
|
|
15360
15400
|
verifiedAt: z53.string().datetime().nullable(),
|
|
15361
15401
|
botMode: z53.enum([
|
|
@@ -15371,11 +15411,11 @@ var AdminSupportConversation = z53.object({
|
|
|
15371
15411
|
var AdminSupportListQuery = z53.object({
|
|
15372
15412
|
status: AdminSupportConversationStatus.optional(),
|
|
15373
15413
|
take: z53.coerce.number().int().min(1).max(100).default(50),
|
|
15374
|
-
cursorId: z53.string().
|
|
15414
|
+
cursorId: z53.string().guid().optional()
|
|
15375
15415
|
}).strict();
|
|
15376
15416
|
var AdminSupportListResponse = z53.object({
|
|
15377
15417
|
conversations: z53.array(AdminSupportConversation),
|
|
15378
|
-
nextCursor: z53.string().
|
|
15418
|
+
nextCursor: z53.string().guid().nullable()
|
|
15379
15419
|
});
|
|
15380
15420
|
var AdminSupportReplyRequest = z53.object({
|
|
15381
15421
|
body: z53.string().trim().min(1).max(4096),
|
|
@@ -15386,7 +15426,7 @@ var AdminSupportActionResponse = z53.object({
|
|
|
15386
15426
|
conversation: AdminSupportConversation
|
|
15387
15427
|
});
|
|
15388
15428
|
var AdminSupportReplyResponse = z53.object({
|
|
15389
|
-
messageId: z53.string().
|
|
15429
|
+
messageId: z53.string().guid(),
|
|
15390
15430
|
deliveryStatus: AdminSupportDeliveryStatus,
|
|
15391
15431
|
duplicate: z53.boolean()
|
|
15392
15432
|
});
|
|
@@ -15516,7 +15556,7 @@ var VideoVoiceJobSchema = z57.object({
|
|
|
15516
15556
|
wakeRevision: z57.number().int().nonnegative()
|
|
15517
15557
|
}).strict();
|
|
15518
15558
|
var ExtractJobSchema = z57.object({
|
|
15519
|
-
taskId: z57.string().
|
|
15559
|
+
taskId: z57.string().guid(),
|
|
15520
15560
|
imageKey: z57.string().min(1).optional(),
|
|
15521
15561
|
imageKeys: z57.array(z57.string().min(1)).min(1).max(INGEST_MAX_REFERENCE_IMAGES).optional(),
|
|
15522
15562
|
/** Existing clean references carried through a recovery extract. They are
|
|
@@ -15635,20 +15675,20 @@ var BrandExtractDocumentSchema = z57.object({
|
|
|
15635
15675
|
])
|
|
15636
15676
|
});
|
|
15637
15677
|
var VideoMixSubmitJobSchema = z57.object({
|
|
15638
|
-
mixTaskId: z57.string().
|
|
15678
|
+
mixTaskId: z57.string().guid()
|
|
15639
15679
|
});
|
|
15640
15680
|
var VideoMixAssembleJobSchema = z57.object({
|
|
15641
|
-
mixTaskId: z57.string().
|
|
15681
|
+
mixTaskId: z57.string().guid()
|
|
15642
15682
|
});
|
|
15643
15683
|
var VideoMixQaJobSchema = z57.object({
|
|
15644
|
-
mixSceneTaskId: z57.string().
|
|
15684
|
+
mixSceneTaskId: z57.string().guid(),
|
|
15645
15685
|
// externalId is included in the BullMQ payload by the producer (used in the
|
|
15646
15686
|
// jobId for retry uniqueness) but the worker only reads mixSceneTaskId.
|
|
15647
15687
|
externalId: z57.string().min(1).optional()
|
|
15648
15688
|
});
|
|
15649
15689
|
var BrandExtractLocaleSchema = z57.string().regex(/^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,8})?$/, "invalid locale");
|
|
15650
15690
|
var BrandExtractJobSchema = z57.object({
|
|
15651
|
-
brandId: z57.string().
|
|
15691
|
+
brandId: z57.string().guid(),
|
|
15652
15692
|
// Generation is part of the durable paid-spend identity. Default 1 keeps
|
|
15653
15693
|
// pre-migration BullMQ payloads parseable; their DB state fails safe.
|
|
15654
15694
|
generation: z57.number().int().positive().default(1),
|
|
@@ -15680,23 +15720,23 @@ import { z as z58 } from "zod";
|
|
|
15680
15720
|
var WhatsAppDeliveryConsumerSchema = z58.discriminatedUnion("kind", [
|
|
15681
15721
|
z58.object({
|
|
15682
15722
|
kind: z58.literal("presentation"),
|
|
15683
|
-
presentationId: z58.string().
|
|
15723
|
+
presentationId: z58.string().guid(),
|
|
15684
15724
|
pollAt: z58.number().int().nonnegative()
|
|
15685
15725
|
}).strict(),
|
|
15686
15726
|
z58.object({
|
|
15687
15727
|
kind: z58.literal("message"),
|
|
15688
|
-
messageId: z58.string().
|
|
15728
|
+
messageId: z58.string().guid(),
|
|
15689
15729
|
providerMessageId: z58.string().min(1).max(256)
|
|
15690
15730
|
}).strict(),
|
|
15691
15731
|
z58.object({
|
|
15692
15732
|
kind: z58.literal("task_watch"),
|
|
15693
|
-
commandId: z58.string().
|
|
15733
|
+
commandId: z58.string().guid(),
|
|
15694
15734
|
pollAt: z58.number().int().nonnegative()
|
|
15695
15735
|
}).strict(),
|
|
15696
15736
|
z58.object({
|
|
15697
15737
|
kind: z58.literal("research_watch"),
|
|
15698
|
-
commandId: z58.string().
|
|
15699
|
-
runId: z58.string().
|
|
15738
|
+
commandId: z58.string().guid(),
|
|
15739
|
+
runId: z58.string().guid(),
|
|
15700
15740
|
pollAt: z58.number().int().nonnegative()
|
|
15701
15741
|
}).strict()
|
|
15702
15742
|
]);
|
|
@@ -15745,9 +15785,9 @@ var ComboItemSchema = z60.object({
|
|
|
15745
15785
|
/** Physical details for this specific product */
|
|
15746
15786
|
details: z60.object({
|
|
15747
15787
|
packagingType: z60.string().optional(),
|
|
15748
|
-
geometry: z60.record(z60.unknown()).optional(),
|
|
15749
|
-
morphology: z60.record(z60.unknown()).optional(),
|
|
15750
|
-
estimatedDimensions: z60.record(z60.unknown()).optional()
|
|
15788
|
+
geometry: z60.record(z60.string(), z60.unknown()).optional(),
|
|
15789
|
+
morphology: z60.record(z60.string(), z60.unknown()).optional(),
|
|
15790
|
+
estimatedDimensions: z60.record(z60.string(), z60.unknown()).optional()
|
|
15751
15791
|
}).optional(),
|
|
15752
15792
|
/** Per-item usage spec extracted individually (fallback: global combo usageSpec) */
|
|
15753
15793
|
usageSpec: ProductUsageSpec.optional()
|
|
@@ -15786,7 +15826,7 @@ var FacebookConnectionStatusSchema = z61.object({
|
|
|
15786
15826
|
message: z61.string().optional()
|
|
15787
15827
|
});
|
|
15788
15828
|
var FacebookCreateCampaignRequestSchema = z61.object({
|
|
15789
|
-
taskId: z61.string().
|
|
15829
|
+
taskId: z61.string().guid(),
|
|
15790
15830
|
pixelId: z61.string().optional(),
|
|
15791
15831
|
landingUrl: HttpUrl2.optional()
|
|
15792
15832
|
});
|
|
@@ -15911,29 +15951,14 @@ var FacebookCreateCampaignResponseSchema = z61.object({
|
|
|
15911
15951
|
appliedBudget: z61.number().int().positive()
|
|
15912
15952
|
});
|
|
15913
15953
|
var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
15914
|
-
|
|
15915
|
-
|
|
15916
|
-
|
|
15917
|
-
|
|
15918
|
-
title: z61.string().max(120),
|
|
15919
|
-
description: z61.string().max(500),
|
|
15920
|
-
cta: MetaCtaType,
|
|
15954
|
+
...UploadToMetaRequest.shape,
|
|
15955
|
+
creatives: z61.array(UploadToMetaRequest.shape.creatives.element.extend({
|
|
15956
|
+
// Retain this endpoint's HTTP URL policy; the upload owner additionally
|
|
15957
|
+
// forbids credentials. Sharing its field shape must not tighten ours.
|
|
15921
15958
|
mediaUrl: HttpUrl2.optional(),
|
|
15922
|
-
|
|
15923
|
-
thumbnailUrl: HttpUrl2.optional(),
|
|
15924
|
-
thumbnailAssetId: z61.string().uuid().optional(),
|
|
15925
|
-
creativeId: z61.string().min(1).optional()
|
|
15959
|
+
thumbnailUrl: HttpUrl2.optional()
|
|
15926
15960
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
15927
|
-
adAccountId: MetaAdAccountId,
|
|
15928
|
-
portfolioId: z61.string().min(1).optional(),
|
|
15929
|
-
pageId: z61.string().min(1).optional(),
|
|
15930
|
-
pixelId: z61.string().optional(),
|
|
15931
|
-
/** Required unless campaignConfig.destination is 'whatsapp' (see superRefine below). */
|
|
15932
15961
|
landingUrl: HttpUrl2.optional(),
|
|
15933
|
-
/** Target country for ad targeting (ISO 3166-1 alpha-2 code or resolvable name) */
|
|
15934
|
-
targetCountry: CountryIso2Schema.default("US"),
|
|
15935
|
-
/** Custom campaign name */
|
|
15936
|
-
campaignName: z61.string().min(1).max(100).optional(),
|
|
15937
15962
|
campaignConfig: MetaCampaignConfig.optional()
|
|
15938
15963
|
}).superRefine((value, ctx) => {
|
|
15939
15964
|
const isWhatsapp = value.campaignConfig?.destination?.type === "whatsapp";
|
|
@@ -15946,30 +15971,7 @@ var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
|
15946
15971
|
message: "landingUrl is required unless destination is whatsapp"
|
|
15947
15972
|
});
|
|
15948
15973
|
}
|
|
15949
|
-
value
|
|
15950
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
15951
|
-
ctx.addIssue({
|
|
15952
|
-
code: z61.ZodIssueCode.custom,
|
|
15953
|
-
path: [
|
|
15954
|
-
"creatives",
|
|
15955
|
-
index,
|
|
15956
|
-
"mediaUrl"
|
|
15957
|
-
],
|
|
15958
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
15959
|
-
});
|
|
15960
|
-
}
|
|
15961
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
15962
|
-
ctx.addIssue({
|
|
15963
|
-
code: z61.ZodIssueCode.custom,
|
|
15964
|
-
path: [
|
|
15965
|
-
"creatives",
|
|
15966
|
-
index,
|
|
15967
|
-
"thumbnailUrl"
|
|
15968
|
-
],
|
|
15969
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
15970
|
-
});
|
|
15971
|
-
}
|
|
15972
|
-
});
|
|
15974
|
+
refineMetaCreativeSources(value, ctx);
|
|
15973
15975
|
if (value.campaignConfig?.destination?.type === "landing" && value.landingUrl && value.campaignConfig.destination.landingUrl !== value.landingUrl) {
|
|
15974
15976
|
ctx.addIssue({
|
|
15975
15977
|
code: z61.ZodIssueCode.custom,
|
|
@@ -16048,9 +16050,9 @@ var FacebookTaskCreativeSourceSchema = z61.object({
|
|
|
16048
16050
|
var FacebookMediaCreativeSourceSchema = z61.object({
|
|
16049
16051
|
type: z61.literal("media"),
|
|
16050
16052
|
mediaUrl: HttpUrl2.optional(),
|
|
16051
|
-
mediaAssetId: z61.string().
|
|
16053
|
+
mediaAssetId: z61.string().guid().optional(),
|
|
16052
16054
|
thumbnailUrl: HttpUrl2.optional(),
|
|
16053
|
-
thumbnailAssetId: z61.string().
|
|
16055
|
+
thumbnailAssetId: z61.string().guid().optional()
|
|
16054
16056
|
});
|
|
16055
16057
|
var FacebookCreativeSourceSchema = z61.discriminatedUnion("type", [
|
|
16056
16058
|
FacebookTaskCreativeSourceSchema,
|
|
@@ -16073,15 +16075,15 @@ var FacebookCreateCampaignFromTasksBodySchema = z61.object({
|
|
|
16073
16075
|
pageId: z61.string().min(1),
|
|
16074
16076
|
pixelId: z61.string().optional(),
|
|
16075
16077
|
/**
|
|
16076
|
-
|
|
16077
|
-
|
|
16078
|
-
|
|
16079
|
-
|
|
16078
|
+
* Omitted: a campaign with task creatives lands on the published service
|
|
16079
|
+
* landing of its service tasks (resolved server side, META_NO_LANDING_URL
|
|
16080
|
+
* when there is none); a media-only campaign must name it.
|
|
16081
|
+
*/
|
|
16080
16082
|
landingUrl: HttpUrl2.optional(),
|
|
16081
16083
|
/**
|
|
16082
|
-
|
|
16083
|
-
|
|
16084
|
-
|
|
16084
|
+
* Omitted: the brand country of its service tasks; a product-only campaign
|
|
16085
|
+
* keeps "US". Never a hardcoded country for a service (META_NO_TARGET_COUNTRY).
|
|
16086
|
+
*/
|
|
16085
16087
|
targetCountry: CountryIso2Schema.optional(),
|
|
16086
16088
|
campaignName: z61.string().min(1).max(100),
|
|
16087
16089
|
campaignConfig: MetaCampaignConfig.optional()
|
|
@@ -16642,7 +16644,7 @@ var VideoSpeechAssetSchema = z64.object({
|
|
|
16642
16644
|
var VoiceProgressSchema = z64.discriminatedUnion("status", [
|
|
16643
16645
|
z64.object({
|
|
16644
16646
|
status: z64.literal("ready"),
|
|
16645
|
-
value: z64.unknown()
|
|
16647
|
+
value: z64.unknown().optional()
|
|
16646
16648
|
}).strict(),
|
|
16647
16649
|
z64.object({
|
|
16648
16650
|
status: z64.literal("waiting"),
|
|
@@ -17192,7 +17194,7 @@ var MixSceneResult = z67.object({
|
|
|
17192
17194
|
degradedReason: MixDegradationReasonSchema.optional()
|
|
17193
17195
|
});
|
|
17194
17196
|
var MixResult = z67.object({
|
|
17195
|
-
mixTaskId: z67.string().
|
|
17197
|
+
mixTaskId: z67.string().guid(),
|
|
17196
17198
|
status: z67.enum([
|
|
17197
17199
|
"queued",
|
|
17198
17200
|
"processing",
|
|
@@ -17235,7 +17237,7 @@ var PreparedImagePreviewUrlSchema = z68.string().url().max(2048).refine((value)
|
|
|
17235
17237
|
return protocol === "https:" || protocol === "http:";
|
|
17236
17238
|
}, "Prepared image preview URLs must use HTTP(S)");
|
|
17237
17239
|
var WinningProductPreparedImageSchema = z68.object({
|
|
17238
|
-
assetId: z68.string().
|
|
17240
|
+
assetId: z68.string().guid(),
|
|
17239
17241
|
previewUrl: PreparedImagePreviewUrlSchema,
|
|
17240
17242
|
productName: z68.string().trim().min(1).max(240),
|
|
17241
17243
|
presentation: MediaPresentationImageSchema
|
|
@@ -17534,14 +17536,16 @@ var LandingOperationStepSelectionSchema = CodeLandingStepSelectionSchema.extend(
|
|
|
17534
17536
|
var LandingOperationReceiptStepSchema = LandingOperationStepSelectionSchema.extend({
|
|
17535
17537
|
receipt: CodeLandingEffectiveReceiptSchema.optional()
|
|
17536
17538
|
});
|
|
17537
|
-
var LandingOperationEnvelopeNodeSchema = CodeLandingEnvelopeNodeSchema.
|
|
17539
|
+
var LandingOperationEnvelopeNodeSchema = z73.object(CodeLandingEnvelopeNodeSchema.shape).strict().extend({
|
|
17538
17540
|
phase: LandingOperationStepPhaseSchema
|
|
17539
17541
|
}).superRefine((node, ctx) => {
|
|
17540
17542
|
const legacy = CodeLandingEnvelopeNodeSchema.safeParse({
|
|
17541
17543
|
...node,
|
|
17542
17544
|
phase: "asset"
|
|
17543
17545
|
});
|
|
17544
|
-
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue(
|
|
17546
|
+
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue({
|
|
17547
|
+
...issue
|
|
17548
|
+
});
|
|
17545
17549
|
});
|
|
17546
17550
|
var LandingGifGenerationPolicySchema = z73.discriminatedUnion("model", [
|
|
17547
17551
|
z73.object({
|
|
@@ -17928,7 +17932,7 @@ var LandingRegenerationStatusResponse = z75.object({
|
|
|
17928
17932
|
});
|
|
17929
17933
|
|
|
17930
17934
|
// ../../packages/types/src/shopify-meta-tracking.ts
|
|
17931
|
-
import
|
|
17935
|
+
import * as z76 from "zod";
|
|
17932
17936
|
var MetaTrackingOwnerSchema = z76.enum([
|
|
17933
17937
|
"auto",
|
|
17934
17938
|
"external",
|
|
@@ -18136,7 +18140,7 @@ var UploadedAssetRole = z78.enum([
|
|
|
18136
18140
|
]);
|
|
18137
18141
|
var UPLOADED_ASSET_MAX_FILES = 10;
|
|
18138
18142
|
var UPLOADED_ASSET_IMAGE_MAX_FILES = 5;
|
|
18139
|
-
var UploadedAssetId = z78.string().
|
|
18143
|
+
var UploadedAssetId = z78.string().guid();
|
|
18140
18144
|
var HttpsUrl = z78.string().url().refine((value) => {
|
|
18141
18145
|
try {
|
|
18142
18146
|
const url2 = new URL(value);
|
|
@@ -18277,7 +18281,7 @@ var DropshippingProjectRewardMilestoneStateSchema = z79.object({
|
|
|
18277
18281
|
credits: z79.number().int().positive(),
|
|
18278
18282
|
available: z79.boolean().optional(),
|
|
18279
18283
|
earned: z79.boolean(),
|
|
18280
|
-
grantId: z79.string().
|
|
18284
|
+
grantId: z79.string().guid().nullable(),
|
|
18281
18285
|
grantedAt: z79.string().datetime().nullable()
|
|
18282
18286
|
});
|
|
18283
18287
|
var DropshippingProjectRewardProgressSchema = z79.object({
|
|
@@ -18343,16 +18347,16 @@ var HttpUrlSchema = z79.string().url().max(2e3).refine((value) => {
|
|
|
18343
18347
|
}, "Product URL must use HTTP(S)");
|
|
18344
18348
|
var ResearchCandidateOriginSchema = z79.object({
|
|
18345
18349
|
type: z79.literal("research_candidate"),
|
|
18346
|
-
runId: z79.string().
|
|
18350
|
+
runId: z79.string().guid(),
|
|
18347
18351
|
candidateSourceId: z79.string().min(1).max(160)
|
|
18348
18352
|
});
|
|
18349
18353
|
var TaskOriginSchema = z79.object({
|
|
18350
18354
|
type: z79.literal("task"),
|
|
18351
|
-
taskId: z79.string().
|
|
18355
|
+
taskId: z79.string().guid()
|
|
18352
18356
|
});
|
|
18353
18357
|
var ManualOriginSchema = z79.object({
|
|
18354
18358
|
type: z79.literal("manual"),
|
|
18355
|
-
clientRequestId: z79.string().
|
|
18359
|
+
clientRequestId: z79.string().guid(),
|
|
18356
18360
|
country: z79.string().min(2).max(3).optional()
|
|
18357
18361
|
});
|
|
18358
18362
|
var CreateDropshippingProjectRequestSchema = z79.object({
|
|
@@ -18425,11 +18429,11 @@ var DropshippingProjectNextActionSchema = z79.discriminatedUnion("kind", [
|
|
|
18425
18429
|
})
|
|
18426
18430
|
]);
|
|
18427
18431
|
var DropshippingProjectResponseSchema = z79.object({
|
|
18428
|
-
id: z79.string().
|
|
18429
|
-
taskId: z79.string().
|
|
18432
|
+
id: z79.string().guid(),
|
|
18433
|
+
taskId: z79.string().guid().nullable(),
|
|
18430
18434
|
status: DropshippingProjectStatusSchema,
|
|
18431
18435
|
originKey: z79.string().min(1),
|
|
18432
|
-
researchRunId: z79.string().
|
|
18436
|
+
researchRunId: z79.string().guid().nullable(),
|
|
18433
18437
|
candidateSourceId: z79.string().nullable(),
|
|
18434
18438
|
productName: z79.string().nullable(),
|
|
18435
18439
|
productUrl: HttpUrlSchema.nullable(),
|
|
@@ -18784,7 +18788,7 @@ var mediaVideoFields = {
|
|
|
18784
18788
|
var mediaImageFields = {
|
|
18785
18789
|
kind: z81.literal("image"),
|
|
18786
18790
|
durationSec: z81.never({
|
|
18787
|
-
|
|
18791
|
+
error: "a photo has no duration"
|
|
18788
18792
|
}).optional()
|
|
18789
18793
|
};
|
|
18790
18794
|
var mediaOriginFields = {
|
|
@@ -19029,7 +19033,7 @@ var LegacyMotionGraphicsClipSpecSchema = z84.discriminatedUnion("kind", [
|
|
|
19029
19033
|
...clipSpecFields,
|
|
19030
19034
|
kind: z84.literal("broll"),
|
|
19031
19035
|
speech: z84.never({
|
|
19032
|
-
|
|
19036
|
+
error: "only a speaking clip carries speech"
|
|
19033
19037
|
}).optional()
|
|
19034
19038
|
}).strict(),
|
|
19035
19039
|
z84.object({
|
|
@@ -19602,8 +19606,8 @@ var MotionGraphicsCreativeBatchSchema = z89.object({
|
|
|
19602
19606
|
version: z89.literal("v1"),
|
|
19603
19607
|
count: MotionGraphicsHookVariantsSchema,
|
|
19604
19608
|
index: MotionGraphicsHookVariantsSchema,
|
|
19605
|
-
rootTaskId: z89.string().
|
|
19606
|
-
taskIds: z89.array(z89.string().
|
|
19609
|
+
rootTaskId: z89.string().guid().optional(),
|
|
19610
|
+
taskIds: z89.array(z89.string().guid()).min(1).max(3).optional(),
|
|
19607
19611
|
plans: MotionGraphicsCreativePlansSchema.optional()
|
|
19608
19612
|
}).strict().superRefine((batch, ctx) => {
|
|
19609
19613
|
if (batch.index > batch.count) ctx.addIssue({
|
|
@@ -19699,7 +19703,7 @@ var MotionGraphicsMusicStatusResponseSchema = z90.discriminatedUnion("status", [
|
|
|
19699
19703
|
// ../../packages/types/src/website-capture-artifact.ts
|
|
19700
19704
|
import { z as z91 } from "zod";
|
|
19701
19705
|
var WebsiteCaptureBindingSchema = z91.object({
|
|
19702
|
-
captureId: z91.string().
|
|
19706
|
+
captureId: z91.string().guid(),
|
|
19703
19707
|
bundleKey: z91.string().min(1),
|
|
19704
19708
|
sha256: z91.string().regex(/^[a-f0-9]{64}$/)
|
|
19705
19709
|
});
|
|
@@ -19843,7 +19847,7 @@ var motionGraphicsStateSchema = z93.object({
|
|
|
19843
19847
|
/** Durable, unpaid Generate intent. Removed only after capture admission and payment. */
|
|
19844
19848
|
captureAdmission: z93.object({
|
|
19845
19849
|
version: z93.literal("v1"),
|
|
19846
|
-
captureId: z93.string().
|
|
19850
|
+
captureId: z93.string().guid().optional(),
|
|
19847
19851
|
maxSocialAcquisitionPriceCents: z93.number().finite().nonnegative(),
|
|
19848
19852
|
maxTotalPriceCents: z93.number().finite().nonnegative(),
|
|
19849
19853
|
deadlineAt: z93.string().datetime(),
|
|
@@ -21807,7 +21811,7 @@ var DailyControlProductFactsSchema = z96.object({
|
|
|
21807
21811
|
currency: z96.string()
|
|
21808
21812
|
});
|
|
21809
21813
|
var DailyControlProductSchema = z96.object({
|
|
21810
|
-
projectId: z96.string().
|
|
21814
|
+
projectId: z96.string().guid(),
|
|
21811
21815
|
productName: z96.string().nullable(),
|
|
21812
21816
|
status: DailyControlStatusSchema,
|
|
21813
21817
|
/** Motivo legible cuando status !== 'ok'. Nunca se rellenan métricas en ese caso. */
|
|
@@ -21852,7 +21856,7 @@ var DailyControlQuerySchema = z96.object({
|
|
|
21852
21856
|
* necesita ese producto; sin este filtro cada carga de página lee el gasto
|
|
21853
21857
|
* de TODOS los proyectos activos del usuario contra Meta/TikTok/Shopify.
|
|
21854
21858
|
*/
|
|
21855
|
-
projectId: z96.string().
|
|
21859
|
+
projectId: z96.string().guid().optional()
|
|
21856
21860
|
});
|
|
21857
21861
|
var LinkableCampaignSchema = z96.object({
|
|
21858
21862
|
provider: z96.enum([
|
|
@@ -22061,7 +22065,7 @@ var CreateFinanceOperationSchema = z97.object({
|
|
|
22061
22065
|
label: z97.string().trim().min(1).max(60).optional()
|
|
22062
22066
|
}).strict();
|
|
22063
22067
|
var FinanceOperationSchema = z97.object({
|
|
22064
|
-
id: z97.string().
|
|
22068
|
+
id: z97.string().guid(),
|
|
22065
22069
|
countryCode: z97.string().length(2),
|
|
22066
22070
|
currency: z97.string().min(3).max(3),
|
|
22067
22071
|
label: z97.string().min(1)
|
|
@@ -22070,7 +22074,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22070
22074
|
/** Opcional a propósito: con UNA sola operación —el caso de casi todo el
|
|
22071
22075
|
* mundo— el servidor la resuelve solo. Con varias devuelve cuáles son,
|
|
22072
22076
|
* para poder preguntar por país en vez de fallar. */
|
|
22073
|
-
operationId: z97.string().
|
|
22077
|
+
operationId: z97.string().guid().optional(),
|
|
22074
22078
|
/** YYYY-MM. Solo mes calendario: es el periodo con el que se piensa un
|
|
22075
22079
|
* negocio, y prorratear gastos fijos sobre un rango libre confunde más de
|
|
22076
22080
|
* lo que ayuda. */
|
|
@@ -22079,7 +22083,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22079
22083
|
var RESERVED_EXPENSE_LABEL_PREFIX = "__ad_spend__";
|
|
22080
22084
|
var isReservedExpenseLabel = /* @__PURE__ */ __name((label) => label.trim().startsWith(RESERVED_EXPENSE_LABEL_PREFIX), "isReservedExpenseLabel");
|
|
22081
22085
|
var SaveMonthlyExpenseSchema = z97.object({
|
|
22082
|
-
operationId: z97.string().
|
|
22086
|
+
operationId: z97.string().guid().optional(),
|
|
22083
22087
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22084
22088
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22085
22089
|
message: "reserved_expense_label"
|
|
@@ -22087,7 +22091,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22087
22091
|
/** Unidades mayores de la moneda; conserva decimales donde aplique. */
|
|
22088
22092
|
amount: z97.number().finite().min(0),
|
|
22089
22093
|
allocations: z97.array(z97.object({
|
|
22090
|
-
operationId: z97.string().
|
|
22094
|
+
operationId: z97.string().guid(),
|
|
22091
22095
|
sharePct: z97.number().int().min(1).max(100)
|
|
22092
22096
|
})).min(1).refine((allocations) => allocations.reduce((sum, one) => sum + one.sharePct, 0) <= 100, {
|
|
22093
22097
|
message: "allocations_must_sum_to_100"
|
|
@@ -22096,7 +22100,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22096
22100
|
}).optional()
|
|
22097
22101
|
}).strict();
|
|
22098
22102
|
var DeleteMonthlyExpenseSchema = z97.object({
|
|
22099
|
-
operationId: z97.string().
|
|
22103
|
+
operationId: z97.string().guid().optional(),
|
|
22100
22104
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/),
|
|
22101
22105
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22102
22106
|
message: "reserved_expense_label"
|
|
@@ -22104,11 +22108,11 @@ var DeleteMonthlyExpenseSchema = z97.object({
|
|
|
22104
22108
|
}).strict();
|
|
22105
22109
|
var SetAdSpendSchema = z97.object({
|
|
22106
22110
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22107
|
-
operationId: z97.string().
|
|
22111
|
+
operationId: z97.string().guid().optional(),
|
|
22108
22112
|
amount: z97.number().finite().min(0).nullable()
|
|
22109
22113
|
}).strict();
|
|
22110
22114
|
var MonthlyExpensesQuerySchema = z97.object({
|
|
22111
|
-
operationId: z97.string().
|
|
22115
|
+
operationId: z97.string().guid().optional(),
|
|
22112
22116
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional()
|
|
22113
22117
|
}).strict();
|
|
22114
22118
|
|
|
@@ -22137,13 +22141,13 @@ var ResolveUnmatchedProductSchema = z98.object({
|
|
|
22137
22141
|
provider: z98.enum(PRODUCT_ALIAS_PROVIDERS),
|
|
22138
22142
|
externalId: z98.string().trim().min(1).max(64),
|
|
22139
22143
|
label: z98.string().trim().min(1).max(PRODUCT_ALIAS_LABEL_MAX_LENGTH),
|
|
22140
|
-
operationId: z98.string().
|
|
22144
|
+
operationId: z98.string().guid(),
|
|
22141
22145
|
/** Presente ⇒ es el producto al que pertenece. Ausente ⇒ es uno nuevo. */
|
|
22142
|
-
productControlId: z98.string().
|
|
22146
|
+
productControlId: z98.string().guid().optional()
|
|
22143
22147
|
}).strict();
|
|
22144
22148
|
var MergeProductsSchema = z98.object({
|
|
22145
|
-
sourceId: z98.string().
|
|
22146
|
-
targetId: z98.string().
|
|
22149
|
+
sourceId: z98.string().guid(),
|
|
22150
|
+
targetId: z98.string().guid()
|
|
22147
22151
|
}).strict().refine((value) => value.sourceId !== value.targetId, {
|
|
22148
22152
|
message: "merge_same_product",
|
|
22149
22153
|
path: [
|
|
@@ -22151,8 +22155,8 @@ var MergeProductsSchema = z98.object({
|
|
|
22151
22155
|
]
|
|
22152
22156
|
});
|
|
22153
22157
|
var CreateProductControlFromTaskSchema = z98.object({
|
|
22154
|
-
taskId: z98.string().
|
|
22155
|
-
operationId: z98.string().
|
|
22158
|
+
taskId: z98.string().guid(),
|
|
22159
|
+
operationId: z98.string().guid().optional()
|
|
22156
22160
|
}).strict();
|
|
22157
22161
|
|
|
22158
22162
|
// ../../packages/types/src/product-order-line.ts
|
|
@@ -22200,7 +22204,7 @@ var ProductOrderLineSchema = z99.object({
|
|
|
22200
22204
|
}).strict();
|
|
22201
22205
|
var ORDER_LINES_BATCH_MAX = 5e3;
|
|
22202
22206
|
var ImportOrderLinesSchema = z99.object({
|
|
22203
|
-
operationId: z99.string().
|
|
22207
|
+
operationId: z99.string().guid(),
|
|
22204
22208
|
provider: z99.string().min(1).max(32),
|
|
22205
22209
|
source: z99.string().min(1).max(32),
|
|
22206
22210
|
reportedAt: z99.string().datetime(),
|
|
@@ -22226,7 +22230,7 @@ var ImportOrderLinesFileSchema = z99.object({
|
|
|
22226
22230
|
/** El archivo en base64. `.xlsx` del proveedor. */
|
|
22227
22231
|
fileBase64: z99.string().min(1).max(Math.ceil(8 * 1024 * 1024 / 3) * 4),
|
|
22228
22232
|
filename: z99.string().min(1).max(200),
|
|
22229
|
-
operationId: z99.string().
|
|
22233
|
+
operationId: z99.string().guid().optional(),
|
|
22230
22234
|
provider: z99.string().min(1).max(32).default("dropi"),
|
|
22231
22235
|
/**
|
|
22232
22236
|
* Solo mirar: devuelve el resumen y NO escribe nada.
|
|
@@ -22260,7 +22264,7 @@ var OrderLinesFileSummarySchema = z99.object({
|
|
|
22260
22264
|
});
|
|
22261
22265
|
var SyncShopifyOrdersSchema = z99.object({
|
|
22262
22266
|
shopDomain: z99.string().min(3).max(120).optional(),
|
|
22263
|
-
operationId: z99.string().
|
|
22267
|
+
operationId: z99.string().guid().optional(),
|
|
22264
22268
|
/** YYYY-MM-DD. Sin rango, el mes en curso. */
|
|
22265
22269
|
since: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
22266
22270
|
until: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
@@ -22461,7 +22465,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22461
22465
|
/** El de Shopify, cuando el producto vive en la tienda. */
|
|
22462
22466
|
shopifyProductId: z100.string().min(1).optional(),
|
|
22463
22467
|
/** El NUESTRO, para el producto que nació del archivo del proveedor. */
|
|
22464
|
-
productControlId: z100.string().
|
|
22468
|
+
productControlId: z100.string().guid().optional(),
|
|
22465
22469
|
/** Su precio de venta, solo si el producto no vive en Shopify. */
|
|
22466
22470
|
manualSellingPrice: z100.number().positive().nullable().optional(),
|
|
22467
22471
|
targetCountry: z100.string().min(2).max(2),
|
|
@@ -22501,7 +22505,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22501
22505
|
});
|
|
22502
22506
|
var SaveProductCatalogSchema = z100.object({
|
|
22503
22507
|
shopDomain: z100.string().min(1).optional(),
|
|
22504
|
-
productControlId: z100.string().
|
|
22508
|
+
productControlId: z100.string().guid(),
|
|
22505
22509
|
/** Nulo BORRA la meta. Cero sería una meta de no ganar nada. */
|
|
22506
22510
|
targetMonthlyProfit: z100.number().finite().positive().nullable().optional(),
|
|
22507
22511
|
lifecycleStatus: z100.enum([
|
|
@@ -22524,7 +22528,7 @@ var ProductControlCampaignFieldsSchema = z100.object({
|
|
|
22524
22528
|
}).strict();
|
|
22525
22529
|
var LinkProductControlCampaignSchema = z100.union([
|
|
22526
22530
|
ProductControlCampaignFieldsSchema.extend({
|
|
22527
|
-
productControlId: z100.string().
|
|
22531
|
+
productControlId: z100.string().guid()
|
|
22528
22532
|
}).strict(),
|
|
22529
22533
|
ProductControlCampaignFieldsSchema.extend({
|
|
22530
22534
|
shopDomain: z100.string().min(1),
|
|
@@ -22671,7 +22675,7 @@ var ImportFulfillmentCountsResponseSchema = z100.object({
|
|
|
22671
22675
|
});
|
|
22672
22676
|
var CreateManualProductControlSchema = z100.object({
|
|
22673
22677
|
/** UUID que el diálogo fija por apertura; es además el id del producto. */
|
|
22674
|
-
requestId: z100.string().
|
|
22678
|
+
requestId: z100.string().guid(),
|
|
22675
22679
|
title: z100.string().trim().min(1).max(200),
|
|
22676
22680
|
/** País donde vende este producto; la moneda sale de él en el servidor. */
|
|
22677
22681
|
targetCountry: z100.string().regex(/^[A-Z]{2}$/).refine((code) => {
|
|
@@ -22683,7 +22687,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22683
22687
|
}
|
|
22684
22688
|
}, "unsupported_finance_country"),
|
|
22685
22689
|
/** Solo cuando coincide con el país elegido; si no, se omite. */
|
|
22686
|
-
operationId: z100.string().
|
|
22690
|
+
operationId: z100.string().guid().optional(),
|
|
22687
22691
|
manualSellingPrice: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22688
22692
|
supplierCost: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22689
22693
|
shippingCost: z100.number().finite().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
@@ -22701,7 +22705,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22701
22705
|
}
|
|
22702
22706
|
});
|
|
22703
22707
|
var CreateManualProductControlResponseSchema = z100.object({
|
|
22704
|
-
productControlId: z100.string().
|
|
22708
|
+
productControlId: z100.string().guid(),
|
|
22705
22709
|
created: z100.boolean()
|
|
22706
22710
|
});
|
|
22707
22711
|
|
|
@@ -22792,7 +22796,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22792
22796
|
"approve_video_script",
|
|
22793
22797
|
// 2026-10-14: optional exact plan binding shared by legacy/unified review.
|
|
22794
22798
|
// Hash captured from the real registered schema in apps/mcp/src/server.test.ts.
|
|
22795
|
-
"
|
|
22799
|
+
"5f7722993798d952d4a920a9bc7929a8c6a54f8ca13bff1b824d555dd680a6d2",
|
|
22796
22800
|
"credit_consuming",
|
|
22797
22801
|
"creative",
|
|
22798
22802
|
[
|
|
@@ -22834,7 +22838,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22834
22838
|
], [
|
|
22835
22839
|
"staging_asset"
|
|
22836
22840
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
22837
|
-
defineCapability("check_media_upload", "
|
|
22841
|
+
defineCapability("check_media_upload", "58acbc7574d140389efbddfd45e660a353429681891b3d85a08b74351bb5acab", "none", "read_only", [
|
|
22838
22842
|
"read"
|
|
22839
22843
|
], [
|
|
22840
22844
|
slot("upload_session", true, [
|
|
@@ -22845,7 +22849,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22845
22849
|
], [
|
|
22846
22850
|
"uploaded_asset"
|
|
22847
22851
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
22848
|
-
defineCapability("cost_dropshipping_project", "
|
|
22852
|
+
defineCapability("cost_dropshipping_project", "fead3bca76b7531c52020cd64135072593783fe12c0c605865a08f1d7d028001", "state_change", "business", [
|
|
22849
22853
|
"state_change"
|
|
22850
22854
|
], [
|
|
22851
22855
|
slot("project_revision", true, [
|
|
@@ -22882,7 +22886,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22882
22886
|
], [
|
|
22883
22887
|
"project_costing"
|
|
22884
22888
|
]),
|
|
22885
|
-
defineCapability("cost_product", "
|
|
22889
|
+
defineCapability("cost_product", "2272a6a3375401ced9deba82e41796b037aef20d712bc7996221e7fee0d7a4d7", "none", "read_only", [
|
|
22886
22890
|
"read"
|
|
22887
22891
|
], [
|
|
22888
22892
|
slot("product_reference", false, [], [
|
|
@@ -22926,7 +22930,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22926
22930
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
22927
22931
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
22928
22932
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
22929
|
-
"
|
|
22933
|
+
"5991b2e897aad7b10c4e38a93e8c58234741498393439cf0228ed9ffd966efef",
|
|
22930
22934
|
"credit_consuming",
|
|
22931
22935
|
"creative",
|
|
22932
22936
|
[
|
|
@@ -22984,7 +22988,8 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22984
22988
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
22985
22989
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
22986
22990
|
// MCP 12.4.0: landingStrategy narrowed to classic + social_proof.
|
|
22987
|
-
|
|
22991
|
+
// MCP 12.5.0: pain_solution restored to landingStrategy.
|
|
22992
|
+
"68a740d97238e720000c16db56ae5748ceb560e342f8fbfe605c954e6284fda7",
|
|
22988
22993
|
"credit_consuming",
|
|
22989
22994
|
"creative",
|
|
22990
22995
|
[
|
|
@@ -23144,7 +23149,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23144
23149
|
// SHARED_CHANNEL_EXPOSURE to restore it.
|
|
23145
23150
|
WHATSAPP_ONLY_CHANNEL_EXPOSURE
|
|
23146
23151
|
),
|
|
23147
|
-
defineCapability("edit_image_creative", "
|
|
23152
|
+
defineCapability("edit_image_creative", "eb487773c4a9ffd5d4472c5a1d77e0fef7b625dbf9ca15b5da700a903ba30945", "credit_consuming", "creative", [
|
|
23148
23153
|
"credit_consuming",
|
|
23149
23154
|
"state_change"
|
|
23150
23155
|
], [
|
|
@@ -23163,7 +23168,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23163
23168
|
], [
|
|
23164
23169
|
"creative"
|
|
23165
23170
|
]),
|
|
23166
|
-
defineCapability("get_image_edit_status", "
|
|
23171
|
+
defineCapability("get_image_edit_status", "3feb680140ab8459c10c22fb3aba3a7d41e147fddfcdd7e4cdac050c0f7ea34e", "none", "read_only", [
|
|
23167
23172
|
"read"
|
|
23168
23173
|
], [
|
|
23169
23174
|
slot("creative_operation", true, [
|
|
@@ -23175,7 +23180,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23175
23180
|
], [
|
|
23176
23181
|
"creative_edit_status"
|
|
23177
23182
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23178
|
-
defineCapability("edit_task_draft", "
|
|
23183
|
+
defineCapability("edit_task_draft", "6df71b63f0c00ba9eac12f31fb0b71610225ece74df85032025bb77197bb7c22", "state_change", "creative", [
|
|
23179
23184
|
"state_change"
|
|
23180
23185
|
], [
|
|
23181
23186
|
slot("task_angle", true, [
|
|
@@ -23190,7 +23195,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23190
23195
|
], [
|
|
23191
23196
|
"task_draft"
|
|
23192
23197
|
]),
|
|
23193
|
-
defineCapability("estimate_creative_variant", "
|
|
23198
|
+
defineCapability("estimate_creative_variant", "468079ba24e5e0d3c5c707cd54fec64571be429e66cadc12019af4d6e9d10c4e", "none", "read_only", [
|
|
23194
23199
|
"read"
|
|
23195
23200
|
], [
|
|
23196
23201
|
slot("source_task", true, [
|
|
@@ -23212,7 +23217,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23212
23217
|
], [
|
|
23213
23218
|
"cost_estimate"
|
|
23214
23219
|
]),
|
|
23215
|
-
defineCapability("estimate_market_study_cost", "
|
|
23220
|
+
defineCapability("estimate_market_study_cost", "d1fbe8ead642d481258c419a1eed059f9c8188d1cd9f2d4eed12e202fc8800a4", "none", "read_only", [
|
|
23216
23221
|
"read"
|
|
23217
23222
|
], [
|
|
23218
23223
|
slot("creative_kind", true, [
|
|
@@ -23237,7 +23242,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23237
23242
|
], [
|
|
23238
23243
|
"cost_estimate"
|
|
23239
23244
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23240
|
-
defineCapability("find_winning_products", "
|
|
23245
|
+
defineCapability("find_winning_products", "b73a18bb9618b96067b17791bf2f8e7450e17e34881c4f997e117be89abe058d", "credit_consuming", "business", [
|
|
23241
23246
|
"credit_consuming",
|
|
23242
23247
|
"state_change"
|
|
23243
23248
|
], [
|
|
@@ -23265,7 +23270,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23265
23270
|
// from `pnpm --filter @productmaker/mcp test` printing the real digest.
|
|
23266
23271
|
// Re-baselined 2026-09-26: `idempotencyKey` field description corrected —
|
|
23267
23272
|
// paid tools ignore caller-provided keys and derive their own semantic key.
|
|
23268
|
-
"
|
|
23273
|
+
"e9ae8370da117bae121714da12b78f234e07a0805093bce354d7fb9fcec2291e",
|
|
23269
23274
|
"credit_consuming",
|
|
23270
23275
|
"creative",
|
|
23271
23276
|
[
|
|
@@ -23324,7 +23329,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23324
23329
|
"video"
|
|
23325
23330
|
]
|
|
23326
23331
|
),
|
|
23327
|
-
defineCapability("generate_image_creatives", "
|
|
23332
|
+
defineCapability("generate_image_creatives", "f0d1f771d83c50070ebdef6554072e984997336cb9b7f7f06acd818b021a0187", "credit_consuming", "creative", [
|
|
23328
23333
|
"credit_consuming",
|
|
23329
23334
|
"state_change"
|
|
23330
23335
|
], [
|
|
@@ -23430,7 +23435,8 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23430
23435
|
defineCapability(
|
|
23431
23436
|
"generate_landing",
|
|
23432
23437
|
// MCP 12.4.0: guided landingStrategy narrowed to classic + social_proof.
|
|
23433
|
-
|
|
23438
|
+
// MCP 12.5.0: pain_solution restored to guided landingStrategy.
|
|
23439
|
+
"16c4e1ea0cd12ee3367e06b4f73a177c94e16ab7d5323d971d577301ba2c7b70",
|
|
23434
23440
|
"credit_consuming",
|
|
23435
23441
|
"creative",
|
|
23436
23442
|
[
|
|
@@ -23543,7 +23549,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23543
23549
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
23544
23550
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23545
23551
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23546
|
-
"
|
|
23552
|
+
"66dee35d59da0e88e72e24c503f3f1dc46c17c1162d98d48705e2bfe552f3f02",
|
|
23547
23553
|
"credit_consuming",
|
|
23548
23554
|
"creative",
|
|
23549
23555
|
[
|
|
@@ -23664,7 +23670,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23664
23670
|
}
|
|
23665
23671
|
]
|
|
23666
23672
|
),
|
|
23667
|
-
defineCapability("get_meta_campaign_status", "
|
|
23673
|
+
defineCapability("get_meta_campaign_status", "a89fa144b69309bffd3d402c63ab6697757c447022d4af2a20d321f084efb274", "none", "read_only", [
|
|
23668
23674
|
"read"
|
|
23669
23675
|
], [
|
|
23670
23676
|
slot("campaign", true, [
|
|
@@ -23675,7 +23681,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23675
23681
|
], [
|
|
23676
23682
|
"campaign_status"
|
|
23677
23683
|
]),
|
|
23678
|
-
defineCapability("get_product_research_run", "
|
|
23684
|
+
defineCapability("get_product_research_run", "fd6d6260b4c9cf9cac5c0d210ceec54f99825d6214f7e3625622e82305e69550", "none", "read_only", [
|
|
23679
23685
|
"read"
|
|
23680
23686
|
], [
|
|
23681
23687
|
slot("research_run", true, [
|
|
@@ -23686,7 +23692,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23686
23692
|
], [
|
|
23687
23693
|
"product_research_run"
|
|
23688
23694
|
]),
|
|
23689
|
-
defineCapability("get_task_status", "
|
|
23695
|
+
defineCapability("get_task_status", "308241071b3ec785b1f0eba0fc17383e9fe8f2452c6a5a5ef27fd792a99b9d4c", "none", "read_only", [
|
|
23690
23696
|
"read"
|
|
23691
23697
|
], [
|
|
23692
23698
|
slot("task", true, [
|
|
@@ -23700,7 +23706,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23700
23706
|
], [
|
|
23701
23707
|
"task_status"
|
|
23702
23708
|
]),
|
|
23703
|
-
defineCapability("get_tiktok_campaign_status", "
|
|
23709
|
+
defineCapability("get_tiktok_campaign_status", "e19b1536d8e317185fb9662a244cc1e94986004b5a4bf84beaf473b5de28562f", "none", "read_only", [
|
|
23704
23710
|
"read"
|
|
23705
23711
|
], [
|
|
23706
23712
|
slot("campaign", true, [
|
|
@@ -23714,7 +23720,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23714
23720
|
], [
|
|
23715
23721
|
"campaign_status"
|
|
23716
23722
|
]),
|
|
23717
|
-
defineCapability("get_video_script", "
|
|
23723
|
+
defineCapability("get_video_script", "1de9980596c34b71ce8843c090549cf310ed52933f53c2b9c3fca13204441d64", "none", "read_only", [
|
|
23718
23724
|
"read"
|
|
23719
23725
|
], [
|
|
23720
23726
|
slot("task", true, [
|
|
@@ -23728,7 +23734,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23728
23734
|
], [
|
|
23729
23735
|
"video_script"
|
|
23730
23736
|
]),
|
|
23731
|
-
defineCapability("guide_dropshipping_launch", "
|
|
23737
|
+
defineCapability("guide_dropshipping_launch", "1ab3654ed7ef02fbc7b690826a475f27839a3402ca301b8cf26992c11e8f7cf8", "none", "business", [
|
|
23732
23738
|
"read"
|
|
23733
23739
|
], [
|
|
23734
23740
|
slot("project", false, [
|
|
@@ -23750,7 +23756,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23750
23756
|
"get_actor_voice_capabilities",
|
|
23751
23757
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
23752
23758
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
23753
|
-
"
|
|
23759
|
+
"862c210dd3c6bf0584ac61deb84617ecb41bf0219098995a1c5b84133af33239",
|
|
23754
23760
|
"none",
|
|
23755
23761
|
"read_only",
|
|
23756
23762
|
[
|
|
@@ -23769,7 +23775,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23769
23775
|
],
|
|
23770
23776
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
23771
23777
|
),
|
|
23772
|
-
defineCapability("quote_actor_voice", "
|
|
23778
|
+
defineCapability("quote_actor_voice", "4d2e9a643abf4cfe5e02789fed36cdfebc9ede6ab4557d0e5be1e4edb46fb836", "none", "read_only", [
|
|
23773
23779
|
"read"
|
|
23774
23780
|
], [
|
|
23775
23781
|
slot("actor", true, [
|
|
@@ -23783,7 +23789,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23783
23789
|
], [
|
|
23784
23790
|
"actor_voice_quote"
|
|
23785
23791
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23786
|
-
defineCapability("generate_actor_voice_preview", "
|
|
23792
|
+
defineCapability("generate_actor_voice_preview", "cb5a0033621df9bc88f4dcea658885eb35a4ebdc6ef88865c3d8afbe3b229548", "credit_consuming", "creative", [
|
|
23787
23793
|
"credit_consuming",
|
|
23788
23794
|
"state_change"
|
|
23789
23795
|
], [
|
|
@@ -23807,7 +23813,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23807
23813
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23808
23814
|
defineCapability(
|
|
23809
23815
|
"get_actor_voice_preview",
|
|
23810
|
-
"
|
|
23816
|
+
"b28f1c7d7e7981ed672509398242b7b7256e2ab44185699e6a0ecd8f39882761",
|
|
23811
23817
|
"none",
|
|
23812
23818
|
"creative",
|
|
23813
23819
|
// Recovery uses the original accepted quote; it must not ask to pay again.
|
|
@@ -23832,7 +23838,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23832
23838
|
],
|
|
23833
23839
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
23834
23840
|
),
|
|
23835
|
-
defineCapability("approve_actor_voice", "
|
|
23841
|
+
defineCapability("approve_actor_voice", "5b1c61b992dce69b35f9fb1a388bbd73d41c99575fa86b72121b043045254944", "state_change", "creative", [
|
|
23836
23842
|
"state_change"
|
|
23837
23843
|
], [
|
|
23838
23844
|
slot("actor", true, [
|
|
@@ -23866,7 +23872,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23866
23872
|
], [
|
|
23867
23873
|
"meta_destination"
|
|
23868
23874
|
]),
|
|
23869
|
-
defineCapability("list_product_research_runs", "
|
|
23875
|
+
defineCapability("list_product_research_runs", "ee2d750bfd65a34a9c16bb39dac584fe0784956eaf7b0428a88b1e886846f2af", "none", "read_only", [
|
|
23870
23876
|
"read"
|
|
23871
23877
|
], [
|
|
23872
23878
|
slot("pagination", false, [
|
|
@@ -23877,7 +23883,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23877
23883
|
], [
|
|
23878
23884
|
"product_research_run"
|
|
23879
23885
|
]),
|
|
23880
|
-
defineCapability("list_shopify_products", "
|
|
23886
|
+
defineCapability("list_shopify_products", "c3daf527e345f737c8b23eb347b77fbf2290433257753122a8d55fdc65d58e78", "none", "read_only", [
|
|
23881
23887
|
"read"
|
|
23882
23888
|
], [
|
|
23883
23889
|
slot("shop", true, [
|
|
@@ -23901,7 +23907,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23901
23907
|
], [
|
|
23902
23908
|
"shop"
|
|
23903
23909
|
]),
|
|
23904
|
-
defineCapability("list_tasks", "
|
|
23910
|
+
defineCapability("list_tasks", "4a553c287e590c2dcb905c63eb92c8612093a82476093b9f55c0821cad486598", "none", "read_only", [
|
|
23905
23911
|
"read"
|
|
23906
23912
|
], [
|
|
23907
23913
|
slot("pagination", false, [
|
|
@@ -23923,7 +23929,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23923
23929
|
], [
|
|
23924
23930
|
"tiktok_advertiser"
|
|
23925
23931
|
]),
|
|
23926
|
-
defineCapability("publish_creatives_to_meta", "
|
|
23932
|
+
defineCapability("publish_creatives_to_meta", "d9b8961cb26c2357f45b0ed95eae479affc840742b5b09620a67ce325568cbee", "external_mutation", "publishing", [
|
|
23927
23933
|
"external_mutation",
|
|
23928
23934
|
"state_change"
|
|
23929
23935
|
], [
|
|
@@ -23958,7 +23964,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23958
23964
|
], [
|
|
23959
23965
|
"meta_campaign"
|
|
23960
23966
|
]),
|
|
23961
|
-
defineCapability("publish_to_meta", "
|
|
23967
|
+
defineCapability("publish_to_meta", "663d574b4aa005a5df41f6b8ff458e3f983f874fe6caef94ab0ae8a1477f70bb", "external_mutation", "publishing", [
|
|
23962
23968
|
"external_mutation",
|
|
23963
23969
|
"state_change"
|
|
23964
23970
|
], [
|
|
@@ -23996,7 +24002,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23996
24002
|
], [
|
|
23997
24003
|
"meta_publication"
|
|
23998
24004
|
]),
|
|
23999
|
-
defineCapability("publish_to_shopify", "
|
|
24005
|
+
defineCapability("publish_to_shopify", "00c4c7af09bb45a72896118ca154a2dc9518f05d74bb9386c825be541fa10fdb", "external_mutation", "publishing", [
|
|
24000
24006
|
"external_mutation",
|
|
24001
24007
|
"state_change"
|
|
24002
24008
|
], [
|
|
@@ -24039,7 +24045,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24039
24045
|
// capability set unchanged, so the live agent's parity gate (which forces
|
|
24040
24046
|
// shadow mode on any canonical gap) is not tripped. Gated server-side by
|
|
24041
24047
|
// SERVICE_MOTION_GRAPHICS_ENABLED + the `service-motion-graphics` feature.
|
|
24042
|
-
defineCapability("create_animated_video", "
|
|
24048
|
+
defineCapability("create_animated_video", "2177ed726e767978eb61fa007f621b389f3b1eb3a2da967fdb44c279bf20fecd", "credit_consuming", "creative", [
|
|
24043
24049
|
"credit_consuming",
|
|
24044
24050
|
"state_change"
|
|
24045
24051
|
], [
|
|
@@ -24090,7 +24096,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24090
24096
|
// MCP-only service journey (2026-10-11): brand analysis → service landing →
|
|
24091
24097
|
// create_animated_video. WhatsApp has no adapter for either, so both are
|
|
24092
24098
|
// declared unavailable there and its parity gate is unchanged.
|
|
24093
|
-
defineCapability("create_brand", "
|
|
24099
|
+
defineCapability("create_brand", "0dba1e46eaaf3ae6ffda459de7eebbdfb2f04da1180b21f84ae4caae434dbbcf", "credit_consuming", "creative", [
|
|
24094
24100
|
"credit_consuming",
|
|
24095
24101
|
"state_change"
|
|
24096
24102
|
], [
|
|
@@ -24113,7 +24119,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24113
24119
|
], [
|
|
24114
24120
|
"brand"
|
|
24115
24121
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24116
|
-
defineCapability("create_service_landing", "
|
|
24122
|
+
defineCapability("create_service_landing", "9e0f68278d2daa3bcf0326dd8e796d4dc82423f850c765efd48881c99f04a14f", "credit_consuming", "creative", [
|
|
24117
24123
|
"credit_consuming",
|
|
24118
24124
|
"state_change"
|
|
24119
24125
|
], [
|
|
@@ -24138,7 +24144,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24138
24144
|
], [
|
|
24139
24145
|
"service_landing"
|
|
24140
24146
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24141
|
-
defineCapability("create_service_images", "
|
|
24147
|
+
defineCapability("create_service_images", "937e86a1b0e3e0678a029062cddb0a9b632c8bcbb9864225f66488e3e2abdbed", "credit_consuming", "creative", [
|
|
24142
24148
|
"credit_consuming",
|
|
24143
24149
|
"state_change"
|
|
24144
24150
|
], [
|
|
@@ -24175,7 +24181,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24175
24181
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24176
24182
|
// MCP-only recovery of an existing code edit. WhatsApp has no code-landing
|
|
24177
24183
|
// editor or edit receipt input; it hands this recovery to ProductMaker Web.
|
|
24178
|
-
defineCapability("verify_landing_commerce", "
|
|
24184
|
+
defineCapability("verify_landing_commerce", "f6dcbfbf8e90c39246f0b377745cd2c6c0f76f314c9736a257087c6d00a90f29", "external_mutation", "publishing", [
|
|
24179
24185
|
"read",
|
|
24180
24186
|
"state_change",
|
|
24181
24187
|
"external_mutation"
|
|
@@ -24194,7 +24200,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24194
24200
|
defineCapability(
|
|
24195
24201
|
"publish_to_tiktok",
|
|
24196
24202
|
// MCP 11.7.0: native WhatsApp destination and major-currency budget inputs.
|
|
24197
|
-
"
|
|
24203
|
+
"ce6e6572583a615203835f6e191a50883ba00f95b8813b3c2bc3d5d92746b24f",
|
|
24198
24204
|
"external_mutation",
|
|
24199
24205
|
"publishing",
|
|
24200
24206
|
[
|
|
@@ -24232,7 +24238,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24232
24238
|
"tiktok_publication"
|
|
24233
24239
|
]
|
|
24234
24240
|
),
|
|
24235
|
-
defineCapability("prepare_winning_product_image", "
|
|
24241
|
+
defineCapability("prepare_winning_product_image", "51c4795176c13b67901e2aad161124598675c7e5ae476b35a63be5b06906ccca", "none", "business", [
|
|
24236
24242
|
"state_change"
|
|
24237
24243
|
], [
|
|
24238
24244
|
slot("winner_reference", true, [
|
|
@@ -24244,7 +24250,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24244
24250
|
], [
|
|
24245
24251
|
"product_media"
|
|
24246
24252
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24247
|
-
defineCapability("regenerate_video_script", "
|
|
24253
|
+
defineCapability("regenerate_video_script", "e68fa5f4f6adb37c4275c60dcb6983d14655a030450c0ed75012044cff0aa29c", "credit_consuming", "creative", [
|
|
24248
24254
|
"credit_consuming",
|
|
24249
24255
|
"state_change"
|
|
24250
24256
|
], [
|
|
@@ -24284,7 +24290,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24284
24290
|
], [
|
|
24285
24291
|
"meta_upload_session"
|
|
24286
24292
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
24287
|
-
defineCapability("request_media_upload", "
|
|
24293
|
+
defineCapability("request_media_upload", "ab70248efd499351ff119e5563e31185040b57e42ccc0e09efe6b6fbeea794a5", "none", "creative", [
|
|
24288
24294
|
"state_change"
|
|
24289
24295
|
], [
|
|
24290
24296
|
slot("media_kind", true, [
|
|
@@ -24307,7 +24313,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24307
24313
|
], [
|
|
24308
24314
|
"media_upload_session"
|
|
24309
24315
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24310
|
-
defineCapability("resolve_pending_action", "
|
|
24316
|
+
defineCapability("resolve_pending_action", "a7fef1e3299c2bfb387a16b3e1e243fba8df1db961ebc1f27d2119209124c293", "credit_consuming", "creative", [
|
|
24311
24317
|
"credit_consuming",
|
|
24312
24318
|
"state_change"
|
|
24313
24319
|
], [
|
|
@@ -24343,7 +24349,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24343
24349
|
], [
|
|
24344
24350
|
"task"
|
|
24345
24351
|
]),
|
|
24346
|
-
defineCapability("start_dropshipping_project", "
|
|
24352
|
+
defineCapability("start_dropshipping_project", "996385df905ed85a933c5726fbebf5a29a98f29364badd8256ff306aff38797c", "state_change", "business", [
|
|
24347
24353
|
"state_change"
|
|
24348
24354
|
], [
|
|
24349
24355
|
slot("origin", true, [
|
|
@@ -24364,7 +24370,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24364
24370
|
], [
|
|
24365
24371
|
"dropshipping_project"
|
|
24366
24372
|
]),
|
|
24367
|
-
defineCapability("get_daily_control", "
|
|
24373
|
+
defineCapability("get_daily_control", "f68e63aeda284d8f07040f6ec55c84ba5e55a515667a20bfe3a60268a6827130", "none", "read_only", [
|
|
24368
24374
|
"read"
|
|
24369
24375
|
], [
|
|
24370
24376
|
slot("window_end", false, [
|
|
@@ -24382,7 +24388,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24382
24388
|
], [
|
|
24383
24389
|
"daily_control_report"
|
|
24384
24390
|
]),
|
|
24385
|
-
defineCapability("link_campaign_to_project", "
|
|
24391
|
+
defineCapability("link_campaign_to_project", "1a6d51234a38259e9fa00475c76919742818efb32491a75ffa768ff9fede4013", "state_change", "business", [
|
|
24386
24392
|
"state_change"
|
|
24387
24393
|
], [
|
|
24388
24394
|
slot("project", true, [
|
|
@@ -24402,7 +24408,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24402
24408
|
], [
|
|
24403
24409
|
"campaign_link"
|
|
24404
24410
|
]),
|
|
24405
|
-
defineCapability("list_importable_products", "
|
|
24411
|
+
defineCapability("list_importable_products", "30404855a9d9c61bd437703f0287041ac77bf997fb7c6e5c7dafdf68712020a9", "none", "read_only", [
|
|
24406
24412
|
"read"
|
|
24407
24413
|
], [
|
|
24408
24414
|
slot("search", false, [
|
|
@@ -24419,7 +24425,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24419
24425
|
], [
|
|
24420
24426
|
"importable_product_page"
|
|
24421
24427
|
]),
|
|
24422
|
-
defineCapability("import_product_controls", "
|
|
24428
|
+
defineCapability("import_product_controls", "f0e1de3062389541317f1351977e77fdcb50ee5d0d5251bbc1f1e7e2ab034515", "state_change", "business", [
|
|
24423
24429
|
"state_change"
|
|
24424
24430
|
], [
|
|
24425
24431
|
slot("products", true, [
|
|
@@ -24436,7 +24442,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24436
24442
|
], [
|
|
24437
24443
|
"product_control"
|
|
24438
24444
|
]),
|
|
24439
|
-
defineCapability("set_product_costing", "
|
|
24445
|
+
defineCapability("set_product_costing", "de1353c7061d00bf793ecc789c0300c6dd54f758dbff86b10915a51592a99df9", "state_change", "business", [
|
|
24440
24446
|
"state_change"
|
|
24441
24447
|
], [
|
|
24442
24448
|
/* La identidad sin tienda solo existe en el contrato MCP: el
|
|
@@ -24474,7 +24480,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24474
24480
|
], [
|
|
24475
24481
|
"product_control_costing"
|
|
24476
24482
|
]),
|
|
24477
|
-
defineCapability("get_product_control", "
|
|
24483
|
+
defineCapability("get_product_control", "cc67eec02bc5fba649e705078ecebf4703a3e3e25b9d3189921a7e2bae7f6c0c", "none", "read_only", [
|
|
24478
24484
|
"read"
|
|
24479
24485
|
], [
|
|
24480
24486
|
slot("day", false, [
|
|
@@ -24492,7 +24498,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24492
24498
|
], [
|
|
24493
24499
|
"product_control_report"
|
|
24494
24500
|
]),
|
|
24495
|
-
defineCapability("report_product_counts", "
|
|
24501
|
+
defineCapability("report_product_counts", "8fa2561901b7743506a3639038d7806186c0512470bc6988a54c6bee5dbbb0b0", "state_change", "business", [
|
|
24496
24502
|
"state_change"
|
|
24497
24503
|
], [
|
|
24498
24504
|
slot("product_control", true, [
|
|
@@ -24521,7 +24527,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24521
24527
|
], [
|
|
24522
24528
|
"product_control_daily_counts"
|
|
24523
24529
|
]),
|
|
24524
|
-
defineCapability("get_finances", "
|
|
24530
|
+
defineCapability("get_finances", "bb57d3594b204597e9abd2d9beb7df644d07f5683a159d4de1860fa9d03aa5b4", "none", "read_only", [
|
|
24525
24531
|
"read"
|
|
24526
24532
|
], [
|
|
24527
24533
|
slot("month", false, [
|
|
@@ -24535,7 +24541,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24535
24541
|
], [
|
|
24536
24542
|
"monthly_pl"
|
|
24537
24543
|
]),
|
|
24538
|
-
defineCapability("sync_shopify_orders", "
|
|
24544
|
+
defineCapability("sync_shopify_orders", "0f821de23aa171e89e7e03c1910be57d8dbd878491cbad45a43c4540b4872910", "state_change", "business", [
|
|
24539
24545
|
"state_change"
|
|
24540
24546
|
], [
|
|
24541
24547
|
slot("shop", false, [
|
|
@@ -24555,7 +24561,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24555
24561
|
], [
|
|
24556
24562
|
"product_order_line"
|
|
24557
24563
|
]),
|
|
24558
|
-
defineCapability("import_orders_file", "
|
|
24564
|
+
defineCapability("import_orders_file", "449352851f20e229d488fd10dcfde682774d5c6ef0c66294bedfd6da8d1d93e9", "state_change", "business", [
|
|
24559
24565
|
"state_change"
|
|
24560
24566
|
], [
|
|
24561
24567
|
slot("orders_file", true, [
|
|
@@ -24577,7 +24583,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24577
24583
|
], [
|
|
24578
24584
|
"product_order_line"
|
|
24579
24585
|
]),
|
|
24580
|
-
defineCapability("create_operation", "
|
|
24586
|
+
defineCapability("create_operation", "569501e4e03e6f1782fcf7458e752864804b1ffaa9eb7bd9522e05260939c938", "state_change", "business", [
|
|
24581
24587
|
"state_change"
|
|
24582
24588
|
], [
|
|
24583
24589
|
slot("country", true, [
|
|
@@ -24591,7 +24597,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24591
24597
|
], [
|
|
24592
24598
|
"finance_operation"
|
|
24593
24599
|
]),
|
|
24594
|
-
defineCapability("merge_products", "
|
|
24600
|
+
defineCapability("merge_products", "8519963a68603ed7f4a2a82d24e43f317f0a9840e7fd7ba5a90832c4f4a6bcaf", "state_change", "business", [
|
|
24595
24601
|
"state_change"
|
|
24596
24602
|
], [
|
|
24597
24603
|
slot("source_product", true, [
|
|
@@ -24605,7 +24611,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24605
24611
|
], [
|
|
24606
24612
|
"product_control"
|
|
24607
24613
|
]),
|
|
24608
|
-
defineCapability("set_monthly_expense", "
|
|
24614
|
+
defineCapability("set_monthly_expense", "5ff786a29b44e1961c31fa30decd779d0a18fdf4d7a0bdff7fe130eda59640a4", "state_change", "business", [
|
|
24609
24615
|
"state_change"
|
|
24610
24616
|
], [
|
|
24611
24617
|
slot("expense_label", true, [
|
|
@@ -24625,7 +24631,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24625
24631
|
], [
|
|
24626
24632
|
"monthly_expense"
|
|
24627
24633
|
]),
|
|
24628
|
-
defineCapability("set_ad_spend", "
|
|
24634
|
+
defineCapability("set_ad_spend", "45f5515a91679304c27f2753ec568bcfe0343644363ec3d185eea3a3f220bbc0", "state_change", "business", [
|
|
24629
24635
|
"state_change"
|
|
24630
24636
|
], [
|
|
24631
24637
|
slot("amount", true, [
|
|
@@ -24646,7 +24652,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24646
24652
|
"get_dropi_status",
|
|
24647
24653
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
24648
24654
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
24649
|
-
"
|
|
24655
|
+
"dbbf0cae464909761b30d649f08ebf588bc34ab66a0b67abcf9ff3442e1ec457",
|
|
24650
24656
|
"none",
|
|
24651
24657
|
"read_only",
|
|
24652
24658
|
[
|
|
@@ -24671,7 +24677,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24671
24677
|
defineCapability(
|
|
24672
24678
|
"sync_dropi_orders",
|
|
24673
24679
|
// Filled by the MCP schema fingerprint test.
|
|
24674
|
-
"
|
|
24680
|
+
"a2b107f6f36ed6e9ed698e89ff54decf180bfce372adabd3bc0d00739ebd6a02",
|
|
24675
24681
|
"state_change",
|
|
24676
24682
|
"business",
|
|
24677
24683
|
[
|
|
@@ -24705,7 +24711,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24705
24711
|
defineCapability(
|
|
24706
24712
|
"create_manual_product",
|
|
24707
24713
|
// Filled by the MCP schema fingerprint test.
|
|
24708
|
-
"
|
|
24714
|
+
"00b0366e3c23989c10243e8c34ea74d2786c7f521093a006e53cc6e68750e5ad",
|
|
24709
24715
|
"state_change",
|
|
24710
24716
|
"business",
|
|
24711
24717
|
[
|
|
@@ -24748,7 +24754,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24748
24754
|
defineCapability(
|
|
24749
24755
|
"list_unmatched_products",
|
|
24750
24756
|
// Filled by the MCP schema fingerprint test.
|
|
24751
|
-
"
|
|
24757
|
+
"d72bf2d563daabe2ce719aeee4d3f1899154daba063ebca1ef69499e0ff09034",
|
|
24752
24758
|
"none",
|
|
24753
24759
|
"read_only",
|
|
24754
24760
|
[
|
|
@@ -24770,7 +24776,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24770
24776
|
defineCapability(
|
|
24771
24777
|
"resolve_unmatched_product",
|
|
24772
24778
|
// Filled by the MCP schema fingerprint test.
|
|
24773
|
-
"
|
|
24779
|
+
"05fb2d978e2e878cbbfeca78b87b0f7e25decedfcfa8490b7cfc055139953574",
|
|
24774
24780
|
"state_change",
|
|
24775
24781
|
"business",
|
|
24776
24782
|
[
|
|
@@ -24822,7 +24828,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24822
24828
|
defineCapability(
|
|
24823
24829
|
"link_product_campaign",
|
|
24824
24830
|
// Filled by the MCP schema fingerprint test.
|
|
24825
|
-
"
|
|
24831
|
+
"a4ea2424df8482eb5f004676aa6d43a24f8ad8790644a41f521cdeb879a306a9",
|
|
24826
24832
|
"state_change",
|
|
24827
24833
|
"business",
|
|
24828
24834
|
[
|
|
@@ -24860,7 +24866,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24860
24866
|
defineCapability(
|
|
24861
24867
|
"delete_monthly_expense",
|
|
24862
24868
|
// Filled by the MCP schema fingerprint test.
|
|
24863
|
-
"
|
|
24869
|
+
"e762a6d49f2ab0ce1f51315d0d0ec11e1456c8b8b8200c66b899808f89f706d5",
|
|
24864
24870
|
"state_change",
|
|
24865
24871
|
"business",
|
|
24866
24872
|
[
|
|
@@ -24888,7 +24894,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24888
24894
|
defineCapability(
|
|
24889
24895
|
"remove_product_control",
|
|
24890
24896
|
// Filled by the MCP schema fingerprint test.
|
|
24891
|
-
"
|
|
24897
|
+
"e29785ec81add0115499e3ae616f47224c2c01dc61c5d7f65d306bc1ac28929f",
|
|
24892
24898
|
"state_change",
|
|
24893
24899
|
"business",
|
|
24894
24900
|
[
|
|
@@ -24907,7 +24913,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24907
24913
|
],
|
|
24908
24914
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
24909
24915
|
),
|
|
24910
|
-
defineCapability("report_daily_returns", "
|
|
24916
|
+
defineCapability("report_daily_returns", "c64af9e1750adf5892caa76c0c170feec91e617ba1769ee5c0af17cbbb4fc6d2", "state_change", "business", [
|
|
24911
24917
|
"state_change"
|
|
24912
24918
|
], [
|
|
24913
24919
|
slot("project", true, [
|
|
@@ -25205,7 +25211,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25205
25211
|
z103.object({
|
|
25206
25212
|
...recoveryBase,
|
|
25207
25213
|
state: z103.literal("consumed"),
|
|
25208
|
-
successorCommandId: z103.string().
|
|
25214
|
+
successorCommandId: z103.string().guid(),
|
|
25209
25215
|
choice: z103.enum([
|
|
25210
25216
|
"without_winner",
|
|
25211
25217
|
"retry"
|
|
@@ -25215,7 +25221,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25215
25221
|
...recoveryBase,
|
|
25216
25222
|
state: z103.literal("awaiting_media"),
|
|
25217
25223
|
successorCommandId: z103.null(),
|
|
25218
|
-
successorCollectionId: z103.string().
|
|
25224
|
+
successorCollectionId: z103.string().guid(),
|
|
25219
25225
|
choice: z103.enum([
|
|
25220
25226
|
"without_winner",
|
|
25221
25227
|
"retry"
|
|
@@ -25243,10 +25249,10 @@ var json = z103.lazy(() => z103.union([
|
|
|
25243
25249
|
z103.number().finite(),
|
|
25244
25250
|
z103.string(),
|
|
25245
25251
|
z103.array(json),
|
|
25246
|
-
z103.record(json)
|
|
25252
|
+
z103.record(z103.string(), json)
|
|
25247
25253
|
]));
|
|
25248
25254
|
var commandBase = {
|
|
25249
|
-
commandId: z103.string().
|
|
25255
|
+
commandId: z103.string().guid(),
|
|
25250
25256
|
requestHash: z103.string().min(1).max(256),
|
|
25251
25257
|
expectedUpdatedAt: z103.string().datetime(),
|
|
25252
25258
|
result: json,
|
|
@@ -25254,7 +25260,7 @@ var commandBase = {
|
|
|
25254
25260
|
};
|
|
25255
25261
|
var proposedSnapshot = {
|
|
25256
25262
|
...commandBase,
|
|
25257
|
-
sourceMessageId: z103.string().
|
|
25263
|
+
sourceMessageId: z103.string().guid(),
|
|
25258
25264
|
expectedStatus: z103.literal("proposed"),
|
|
25259
25265
|
expectedResult: json
|
|
25260
25266
|
};
|
|
@@ -25315,19 +25321,19 @@ var WhatsAppPresentationFinalizerSchema = z103.object({
|
|
|
25315
25321
|
]).optional(),
|
|
25316
25322
|
plan: z103.object({
|
|
25317
25323
|
guardOnly: z103.boolean().optional(),
|
|
25318
|
-
planId: z103.string().
|
|
25324
|
+
planId: z103.string().guid(),
|
|
25319
25325
|
expectedPlanRevision: z103.number().int().nonnegative(),
|
|
25320
|
-
stepId: z103.string().
|
|
25326
|
+
stepId: z103.string().guid(),
|
|
25321
25327
|
expectedStepRevision: z103.number().int().nonnegative(),
|
|
25322
|
-
expectedCommandId: z103.string().
|
|
25328
|
+
expectedCommandId: z103.string().guid().nullable(),
|
|
25323
25329
|
next: z103.object({
|
|
25324
|
-
stepId: z103.string().
|
|
25330
|
+
stepId: z103.string().guid(),
|
|
25325
25331
|
expectedRevision: z103.number().int().nonnegative()
|
|
25326
25332
|
}).strict().nullable(),
|
|
25327
25333
|
outputArtifacts: json
|
|
25328
25334
|
}).strict().optional(),
|
|
25329
25335
|
collection: z103.object({
|
|
25330
|
-
collectionId: z103.string().
|
|
25336
|
+
collectionId: z103.string().guid(),
|
|
25331
25337
|
expectedRevision: z103.number().int().nonnegative(),
|
|
25332
25338
|
expiresAt: z103.string().datetime()
|
|
25333
25339
|
}).strict().optional()
|
|
@@ -25412,9 +25418,9 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25412
25418
|
"research_ready",
|
|
25413
25419
|
"research_failed"
|
|
25414
25420
|
]).optional(),
|
|
25415
|
-
commandId: z104.string().
|
|
25416
|
-
taskId: z104.string().
|
|
25417
|
-
researchRunId: z104.string().
|
|
25421
|
+
commandId: z104.string().guid().optional(),
|
|
25422
|
+
taskId: z104.string().guid().optional(),
|
|
25423
|
+
researchRunId: z104.string().guid().optional()
|
|
25418
25424
|
}).strict().refine((value) => value.resetSourceSequence === void 0 || value.conversationReset === "completed", "Reset source sequence requires a completed reset").optional(),
|
|
25419
25425
|
intentKey
|
|
25420
25426
|
}).strict(),
|
|
@@ -25446,16 +25452,16 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25446
25452
|
"tiktok"
|
|
25447
25453
|
])).max(3),
|
|
25448
25454
|
fullResultUrl: z104.string().url().max(8192),
|
|
25449
|
-
commandId: z104.string().
|
|
25450
|
-
taskId: z104.string().
|
|
25455
|
+
commandId: z104.string().guid(),
|
|
25456
|
+
taskId: z104.string().guid(),
|
|
25451
25457
|
intentKey
|
|
25452
25458
|
}).strict(),
|
|
25453
25459
|
z104.object({
|
|
25454
25460
|
kind: z104.literal("reference_review"),
|
|
25455
|
-
commandId: z104.string().
|
|
25456
|
-
taskId: z104.string().
|
|
25461
|
+
commandId: z104.string().guid(),
|
|
25462
|
+
taskId: z104.string().guid(),
|
|
25457
25463
|
snapshotHash: z104.string().length(64).regex(/^[a-f0-9]+$/),
|
|
25458
|
-
pendingAction: z104.record(z104.unknown()),
|
|
25464
|
+
pendingAction: z104.record(z104.string(), z104.unknown()),
|
|
25459
25465
|
previews: z104.array(preview).max(20),
|
|
25460
25466
|
expectedPreviewCount: z104.number().int().min(0).max(50),
|
|
25461
25467
|
intentKey
|
|
@@ -25881,7 +25887,7 @@ var ProductTruthBody = z107.object({
|
|
|
25881
25887
|
out[key2] = rawIndexes.filter((i) => typeof i === "number" && Number.isInteger(i) && i >= 0 && i < 20);
|
|
25882
25888
|
}
|
|
25883
25889
|
return out;
|
|
25884
|
-
}, z107.record(z107.array(z107.number().int().min(0).max(19))))
|
|
25890
|
+
}, z107.record(z107.string(), z107.array(z107.number().int().min(0).max(19))))
|
|
25885
25891
|
})),
|
|
25886
25892
|
confidence: z107.preprocess((v) => typeof v === "number" && Number.isFinite(v) ? Math.min(1, Math.max(0, v)) : 0, z107.number().min(0).max(1))
|
|
25887
25893
|
});
|
|
@@ -26224,15 +26230,16 @@ var CreativeCompositionExecutorRoleSchema = z109.enum(CREATIVE_COMPOSITION_EXECU
|
|
|
26224
26230
|
var CreativeCompositionJobSchema = z109.object({
|
|
26225
26231
|
kind: z109.literal("creative_composition"),
|
|
26226
26232
|
protocolVersion: CreativeCompositionProtocolVersionSchema,
|
|
26227
|
-
jobId: z109.string().
|
|
26233
|
+
jobId: z109.string().guid(),
|
|
26228
26234
|
owner: CreativeEngineOwnerSchema,
|
|
26229
26235
|
attempt,
|
|
26230
26236
|
leaseUntil: z109.string().datetime(),
|
|
26231
26237
|
deadlineAtMs: z109.number().int().nonnegative(),
|
|
26232
26238
|
/**
|
|
26233
26239
|
* Contract digest of the API that wrote the job. The renderer refuses a
|
|
26234
|
-
* job whose digest is
|
|
26235
|
-
*
|
|
26240
|
+
* job whose digest is neither current nor explicitly verified compatible
|
|
26241
|
+
* (`renderer_schema_stale`). Accepted jobs still meet the current schema.
|
|
26242
|
+
* Absent only on rows written before digests existed.
|
|
26236
26243
|
*/
|
|
26237
26244
|
contractDigest: hash2.optional(),
|
|
26238
26245
|
width: z109.number().int().positive().max(4096),
|
|
@@ -26310,10 +26317,10 @@ var CreativeCompositionClaimResponseSchema = z109.object({
|
|
|
26310
26317
|
job: CreativeCompositionJobSchema.nullable()
|
|
26311
26318
|
}).strict();
|
|
26312
26319
|
var CreativeCompositionHeartbeatSchema = MotionGraphicsStageReportSchema.extend({
|
|
26313
|
-
jobId: z109.string().
|
|
26320
|
+
jobId: z109.string().guid()
|
|
26314
26321
|
});
|
|
26315
26322
|
var CreativeCompositionUploadRequestSchema = z109.object({
|
|
26316
|
-
jobId: z109.string().
|
|
26323
|
+
jobId: z109.string().guid(),
|
|
26317
26324
|
attempt,
|
|
26318
26325
|
files: z109.array(z109.object({
|
|
26319
26326
|
kind: z109.enum([
|
|
@@ -26337,7 +26344,7 @@ var CreativeCompositionUploadResponseSchema = z109.object({
|
|
|
26337
26344
|
}).strict()).min(1).max(3)
|
|
26338
26345
|
}).strict();
|
|
26339
26346
|
var CreativeCompositionDoneRequestSchema = z109.object({
|
|
26340
|
-
jobId: z109.string().
|
|
26347
|
+
jobId: z109.string().guid(),
|
|
26341
26348
|
attempt,
|
|
26342
26349
|
width: z109.number().int().positive(),
|
|
26343
26350
|
height: z109.number().int().positive(),
|
|
@@ -26345,14 +26352,14 @@ var CreativeCompositionDoneRequestSchema = z109.object({
|
|
|
26345
26352
|
durationSec: z109.number().positive()
|
|
26346
26353
|
}).strict();
|
|
26347
26354
|
var CreativeCompositionFailedRequestSchema = z109.object({
|
|
26348
|
-
jobId: z109.string().
|
|
26355
|
+
jobId: z109.string().guid(),
|
|
26349
26356
|
attempt,
|
|
26350
26357
|
reason: z109.string().min(1).max(1e3),
|
|
26351
26358
|
retryable: z109.literal(false)
|
|
26352
26359
|
}).strict();
|
|
26353
26360
|
var CreativeCompositionLocalManifestSchema = z109.object({
|
|
26354
26361
|
kind: z109.literal("creative_composition"),
|
|
26355
|
-
jobId: z109.string().
|
|
26362
|
+
jobId: z109.string().guid(),
|
|
26356
26363
|
owner: CreativeEngineOwnerSchema,
|
|
26357
26364
|
plan: z109.object({
|
|
26358
26365
|
revision: z109.number().int().positive(),
|
|
@@ -26438,8 +26445,8 @@ var CreativeEngineEditContextSnapshotSchema = z111.object({
|
|
|
26438
26445
|
hash: hash3,
|
|
26439
26446
|
binding: CreativeEngineContextBindingSchema,
|
|
26440
26447
|
data: z111.object({
|
|
26441
|
-
physical: z111.record(z111.unknown()),
|
|
26442
|
-
commercial: z111.record(z111.unknown())
|
|
26448
|
+
physical: z111.record(z111.string(), z111.unknown()),
|
|
26449
|
+
commercial: z111.record(z111.string(), z111.unknown())
|
|
26443
26450
|
}).strict(),
|
|
26444
26451
|
references: z111.array(z111.object({
|
|
26445
26452
|
sourceId: id4,
|
|
@@ -26509,7 +26516,7 @@ var CreativeEngineEditExecutionSchema = z111.object({
|
|
|
26509
26516
|
version: z111.literal(1),
|
|
26510
26517
|
source: CreativeEngineEditSourceSchema,
|
|
26511
26518
|
intent: z111.object({
|
|
26512
|
-
clientRequestId: z111.string().
|
|
26519
|
+
clientRequestId: z111.string().guid(),
|
|
26513
26520
|
sectionsHash: hash3,
|
|
26514
26521
|
sourceBindingHash: hash3,
|
|
26515
26522
|
derivedPlanHash: hash3,
|
|
@@ -26621,7 +26628,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26621
26628
|
userId: id4,
|
|
26622
26629
|
taskId: id4,
|
|
26623
26630
|
angleKey: id4,
|
|
26624
|
-
clientRequestId: z111.string().
|
|
26631
|
+
clientRequestId: z111.string().guid(),
|
|
26625
26632
|
createdAtMs: z111.number().int().nonnegative(),
|
|
26626
26633
|
expiresAtMs: z111.number().int().positive(),
|
|
26627
26634
|
source: CreativeEngineEditSourceSchema,
|
|
@@ -26630,7 +26637,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26630
26637
|
context: CreativeEngineEditContextSnapshotSchema,
|
|
26631
26638
|
recipe: CreativeEngineRecipeSchema,
|
|
26632
26639
|
// The API validates these with its canonical section schema before persistence/use.
|
|
26633
|
-
sections: z111.array(z111.record(z111.unknown())).min(1).max(32)
|
|
26640
|
+
sections: z111.array(z111.record(z111.string(), z111.unknown())).min(1).max(32)
|
|
26634
26641
|
}).strict();
|
|
26635
26642
|
|
|
26636
26643
|
// ../../packages/types/src/creative-engine-retry.ts
|
|
@@ -26692,7 +26699,7 @@ var CreativeEngineFreshRetryProvenanceSchema = z112.object({
|
|
|
26692
26699
|
import { z as z113 } from "zod";
|
|
26693
26700
|
var CreativeEngineEntryRequestSchema = z113.object({
|
|
26694
26701
|
creativeEngine: z113.literal("unified_v1"),
|
|
26695
|
-
taskId: z113.string().
|
|
26702
|
+
taskId: z113.string().guid(),
|
|
26696
26703
|
angleKey: z113.string().min(1).max(200),
|
|
26697
26704
|
requestId: z113.string().min(1).max(200),
|
|
26698
26705
|
guide: z113.enum([
|
|
@@ -26904,7 +26911,7 @@ import { z as z116 } from "zod";
|
|
|
26904
26911
|
// ../../packages/types/src/service-landing-primitives.ts
|
|
26905
26912
|
import { z as z115 } from "zod";
|
|
26906
26913
|
var OptionalTextSchema = z115.string().trim().min(1).max(500).optional();
|
|
26907
|
-
var AssetIdSchema = z115.string().
|
|
26914
|
+
var AssetIdSchema = z115.string().guid().transform((value) => value.toLowerCase());
|
|
26908
26915
|
var ServiceLandingPrimaryCtaSchema = z115.object({
|
|
26909
26916
|
channelIndex: z115.number().int().nonnegative(),
|
|
26910
26917
|
label: z115.string().trim().min(1).max(80)
|
|
@@ -27040,7 +27047,7 @@ var ServiceLandingContactChannelSchema = z116.discriminatedUnion("kind", [
|
|
|
27040
27047
|
BookingUrlChannelSchema
|
|
27041
27048
|
]);
|
|
27042
27049
|
var ServiceLandingServiceSchema = z116.object({
|
|
27043
|
-
id: z116.string().
|
|
27050
|
+
id: z116.string().guid(),
|
|
27044
27051
|
name: z116.string().trim().min(1).max(120),
|
|
27045
27052
|
description: OptionalTextSchema,
|
|
27046
27053
|
inclusions: z116.array(z116.string().trim().min(1).max(160)).max(12),
|
|
@@ -27268,7 +27275,7 @@ var ServiceLandingArtifactSchema = z116.preprocess(applyCodeArtifactDefaults, z1
|
|
|
27268
27275
|
// ../../packages/types/src/service-landing-facts-brand.ts
|
|
27269
27276
|
import { z as z117 } from "zod";
|
|
27270
27277
|
var ServiceLandingServiceFactsSchema = z117.object({
|
|
27271
|
-
id: z117.string().
|
|
27278
|
+
id: z117.string().guid(),
|
|
27272
27279
|
name: z117.string().trim().min(1).max(120).optional(),
|
|
27273
27280
|
description: OptionalTextSchema,
|
|
27274
27281
|
inclusions: z117.array(z117.string().trim().min(1).max(160)).max(12).default([]),
|
|
@@ -27420,7 +27427,7 @@ var ServicePageParserMetadataSchema = z117.object({
|
|
|
27420
27427
|
}).strict()).max(100).optional()
|
|
27421
27428
|
}).strict();
|
|
27422
27429
|
var ServicePageSourceSchema = z117.object({
|
|
27423
|
-
id: z117.string().
|
|
27430
|
+
id: z117.string().guid(),
|
|
27424
27431
|
kind: ServicePageSourceKindSchema,
|
|
27425
27432
|
status: ServicePageSourceStatusSchema,
|
|
27426
27433
|
displayName: z117.string().trim().min(1).max(180).optional(),
|
|
@@ -27431,14 +27438,14 @@ var ServicePageSourceSchema = z117.object({
|
|
|
27431
27438
|
var ServicePageFactConflictSchema = z117.object({
|
|
27432
27439
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27433
27440
|
candidates: z117.array(z117.object({
|
|
27434
|
-
id: z117.string().
|
|
27441
|
+
id: z117.string().guid(),
|
|
27435
27442
|
value: z117.string().trim().min(1).max(500),
|
|
27436
|
-
sourceIds: z117.array(z117.string().
|
|
27443
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10)
|
|
27437
27444
|
}).strict()).min(2).max(8)
|
|
27438
27445
|
}).strict();
|
|
27439
27446
|
var ServicePageFactProvenanceSchema = z117.object({
|
|
27440
27447
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27441
|
-
sourceIds: z117.array(z117.string().
|
|
27448
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10),
|
|
27442
27449
|
evidence: z117.string().trim().max(1e3).optional()
|
|
27443
27450
|
}).strict();
|
|
27444
27451
|
var ServicePageFactsReviewSchema = z117.object({
|
|
@@ -27454,26 +27461,26 @@ var ServicePageFactsReviewSchema = z117.object({
|
|
|
27454
27461
|
// ../../packages/types/src/service-landing-api.ts
|
|
27455
27462
|
import { z as z118 } from "zod";
|
|
27456
27463
|
var ServicePageCreateRequestSchema = z118.object({
|
|
27457
|
-
brandId: z118.string().
|
|
27464
|
+
brandId: z118.string().guid(),
|
|
27458
27465
|
includeBrandLogo: z118.boolean().optional(),
|
|
27459
|
-
idempotencyKey: z118.string().
|
|
27466
|
+
idempotencyKey: z118.string().guid().optional()
|
|
27460
27467
|
}).strict();
|
|
27461
27468
|
var ServicePageFactsUpdateRequestSchema = z118.object({
|
|
27462
27469
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27463
|
-
idempotencyKey: z118.string().
|
|
27470
|
+
idempotencyKey: z118.string().guid(),
|
|
27464
27471
|
facts: ServicePageFactsSchema
|
|
27465
27472
|
}).strict();
|
|
27466
27473
|
var ServicePageFactsConfirmRequestSchema = z118.object({
|
|
27467
27474
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27468
|
-
idempotencyKey: z118.string().
|
|
27475
|
+
idempotencyKey: z118.string().guid(),
|
|
27469
27476
|
resolutions: z118.array(z118.object({
|
|
27470
27477
|
fieldPath: z118.string().trim().min(1).max(180),
|
|
27471
|
-
candidateId: z118.string().
|
|
27478
|
+
candidateId: z118.string().guid()
|
|
27472
27479
|
}).strict()).max(30)
|
|
27473
27480
|
}).strict();
|
|
27474
27481
|
var ServicePageIntakeRequestSchema = z118.object({
|
|
27475
27482
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27476
|
-
idempotencyKey: z118.string().
|
|
27483
|
+
idempotencyKey: z118.string().guid(),
|
|
27477
27484
|
text: z118.string().trim().max(3e4).optional(),
|
|
27478
27485
|
profileUrl: z118.string().trim().url().max(2048).refine((value) => {
|
|
27479
27486
|
try {
|
|
@@ -27504,7 +27511,7 @@ var ServicePageAttachmentRefSchema = z118.object({
|
|
|
27504
27511
|
"source",
|
|
27505
27512
|
"asset"
|
|
27506
27513
|
]),
|
|
27507
|
-
id: z118.string().
|
|
27514
|
+
id: z118.string().guid().transform((id6) => id6.toLowerCase())
|
|
27508
27515
|
}).strict();
|
|
27509
27516
|
var ServicePageAttachmentRefsSchema = z118.array(ServicePageAttachmentRefSchema).max(SERVICE_PAGE_CHAT_ATTACHMENT_MAX_SELECTION).superRefine((refs, ctx) => {
|
|
27510
27517
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -27537,13 +27544,13 @@ var ServicePageChatAttachmentUploadResponseSchema = z118.object({
|
|
|
27537
27544
|
}).strict();
|
|
27538
27545
|
var ServicePageChatAttachmentUploadRequestSchema = z118.object({
|
|
27539
27546
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27540
|
-
idempotencyKey: z118.string().
|
|
27547
|
+
idempotencyKey: z118.string().guid(),
|
|
27541
27548
|
profileUrl: z118.string().url().max(2048).optional()
|
|
27542
27549
|
}).strict();
|
|
27543
27550
|
var ServicePageEditInstructionSchema = z118.string().trim().min(3).max(SERVICE_PAGE_EDIT_INSTRUCTION_MAX_CHARS);
|
|
27544
27551
|
var ServicePageEditEstimateRequestSchema = z118.object({
|
|
27545
27552
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27546
|
-
baseCandidateOperationId: z118.string().
|
|
27553
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27547
27554
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27548
27555
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27549
27556
|
}).strict();
|
|
@@ -27555,12 +27562,12 @@ var ServicePageEditEstimateResponseSchema = z118.object({
|
|
|
27555
27562
|
}).strict();
|
|
27556
27563
|
var ServicePageGenerationQuoteRequestSchema = z118.object({
|
|
27557
27564
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27558
|
-
baseCandidateOperationId: z118.string().
|
|
27565
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27559
27566
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27560
27567
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27561
27568
|
}).strict();
|
|
27562
27569
|
var ServicePageQuoteResponseSchema = z118.object({
|
|
27563
|
-
quoteId: z118.string().
|
|
27570
|
+
quoteId: z118.string().guid(),
|
|
27564
27571
|
purpose: ServicePageQuotePurposeSchema,
|
|
27565
27572
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27566
27573
|
requestHash: z118.string().regex(/^[a-f0-9]{64}$/),
|
|
@@ -27574,16 +27581,16 @@ var ServicePageQuoteResponseSchema = z118.object({
|
|
|
27574
27581
|
requiresConfirmation: z118.literal(true)
|
|
27575
27582
|
}).strict();
|
|
27576
27583
|
var ServicePageGenerateRequestSchema = z118.object({
|
|
27577
|
-
quoteId: z118.string().
|
|
27578
|
-
idempotencyKey: z118.string().
|
|
27584
|
+
quoteId: z118.string().guid(),
|
|
27585
|
+
idempotencyKey: z118.string().guid(),
|
|
27579
27586
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27580
|
-
baseCandidateOperationId: z118.string().
|
|
27587
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27581
27588
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27582
27589
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27583
27590
|
}).strict();
|
|
27584
27591
|
var SERVICE_PAGE_CREATION_MAX_ATTEMPTS = 3;
|
|
27585
27592
|
var ServicePageCreationMarkerSchema = z118.object({
|
|
27586
|
-
rootOperationId: z118.string().
|
|
27593
|
+
rootOperationId: z118.string().guid().optional(),
|
|
27587
27594
|
attempt: z118.number().int().min(1).max(SERVICE_PAGE_CREATION_MAX_ATTEMPTS)
|
|
27588
27595
|
}).strict();
|
|
27589
27596
|
var ServicePageCreationEstimateRequestSchema = z118.object({
|
|
@@ -27618,8 +27625,8 @@ var ServicePageOperationStatusSchema = z118.enum([
|
|
|
27618
27625
|
"requires_reconciliation"
|
|
27619
27626
|
]);
|
|
27620
27627
|
var ServicePageOperationResponseSchema = z118.object({
|
|
27621
|
-
opId: z118.string().
|
|
27622
|
-
servicePageId: z118.string().
|
|
27628
|
+
opId: z118.string().guid(),
|
|
27629
|
+
servicePageId: z118.string().guid(),
|
|
27623
27630
|
kind: z118.enum([
|
|
27624
27631
|
"fact_extraction",
|
|
27625
27632
|
"generation"
|
|
@@ -27634,7 +27641,7 @@ var ServicePageOperationResponseSchema = z118.object({
|
|
|
27634
27641
|
recoverable: z118.boolean()
|
|
27635
27642
|
}).strict();
|
|
27636
27643
|
var ServicePageEditHistoryItemSchema = z118.object({
|
|
27637
|
-
opId: z118.string().
|
|
27644
|
+
opId: z118.string().guid(),
|
|
27638
27645
|
instruction: ServicePageEditInstructionSchema,
|
|
27639
27646
|
status: ServicePageOperationStatusSchema,
|
|
27640
27647
|
expectedRevision: z118.number().int().nonnegative(),
|
|
@@ -27649,8 +27656,8 @@ var ServicePageEditHistoryItemSchema = z118.object({
|
|
|
27649
27656
|
}).strict();
|
|
27650
27657
|
var ServicePageEditHistorySchema = z118.array(ServicePageEditHistoryItemSchema).max(50).default([]);
|
|
27651
27658
|
var ServicePageOperationJobSchema = z118.object({
|
|
27652
|
-
operationId: z118.string().
|
|
27653
|
-
servicePageId: z118.string().
|
|
27659
|
+
operationId: z118.string().guid(),
|
|
27660
|
+
servicePageId: z118.string().guid(),
|
|
27654
27661
|
userId: z118.string().min(1).max(256),
|
|
27655
27662
|
kind: z118.enum([
|
|
27656
27663
|
"fact_extraction",
|
|
@@ -27659,22 +27666,22 @@ var ServicePageOperationJobSchema = z118.object({
|
|
|
27659
27666
|
}).strict();
|
|
27660
27667
|
var ServicePageDraftUpdateRequestSchema = z118.object({
|
|
27661
27668
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27662
|
-
idempotencyKey: z118.string().
|
|
27663
|
-
candidateOperationId: z118.string().
|
|
27669
|
+
idempotencyKey: z118.string().guid(),
|
|
27670
|
+
candidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27664
27671
|
artifact: ServiceLandingArtifactSchema
|
|
27665
27672
|
}).strict();
|
|
27666
27673
|
var ServicePagePublishRequestSchema = z118.object({
|
|
27667
27674
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27668
27675
|
slug: z118.string().trim().toLowerCase().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(64),
|
|
27669
|
-
idempotencyKey: z118.string().
|
|
27676
|
+
idempotencyKey: z118.string().guid()
|
|
27670
27677
|
}).strict();
|
|
27671
27678
|
var ServicePageUnpublishRequestSchema = z118.object({
|
|
27672
27679
|
publishedRevision: z118.number().int().positive(),
|
|
27673
|
-
idempotencyKey: z118.string().
|
|
27680
|
+
idempotencyKey: z118.string().guid()
|
|
27674
27681
|
}).strict();
|
|
27675
27682
|
var ServicePageSummarySchema = z118.object({
|
|
27676
|
-
id: z118.string().
|
|
27677
|
-
brandId: z118.string().
|
|
27683
|
+
id: z118.string().guid(),
|
|
27684
|
+
brandId: z118.string().guid().nullable(),
|
|
27678
27685
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27679
27686
|
status: ServicePageStatusSchema,
|
|
27680
27687
|
draftRevision: z118.number().int().nonnegative(),
|
|
@@ -27718,7 +27725,7 @@ var ServicePageListResponseSchema = z118.object({
|
|
|
27718
27725
|
pages: z118.array(ServicePageSummarySchema)
|
|
27719
27726
|
}).strict();
|
|
27720
27727
|
var ServicePageIntakeResponseSchema = z118.object({
|
|
27721
|
-
servicePageId: z118.string().
|
|
27728
|
+
servicePageId: z118.string().guid(),
|
|
27722
27729
|
draftRevision: z118.number().int().nonnegative(),
|
|
27723
27730
|
sources: z118.array(ServicePageSourceSchema).max(50),
|
|
27724
27731
|
facts: ServicePageFactsSchema,
|
|
@@ -27727,13 +27734,13 @@ var ServicePageIntakeResponseSchema = z118.object({
|
|
|
27727
27734
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27728
27735
|
}).strict();
|
|
27729
27736
|
var ServicePagePreviewResponseSchema = z118.object({
|
|
27730
|
-
servicePageId: z118.string().
|
|
27737
|
+
servicePageId: z118.string().guid(),
|
|
27731
27738
|
revision: z118.number().int().nonnegative(),
|
|
27732
27739
|
artifact: ServiceLandingArtifactSchema,
|
|
27733
27740
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27734
27741
|
}).strict();
|
|
27735
27742
|
var ServicePageAdminViewSchema = z118.object({
|
|
27736
|
-
id: z118.string().
|
|
27743
|
+
id: z118.string().guid(),
|
|
27737
27744
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27738
27745
|
state: z118.enum([
|
|
27739
27746
|
"created",
|
|
@@ -27746,7 +27753,7 @@ var ServicePageAdminViewSchema = z118.object({
|
|
|
27746
27753
|
}).strict();
|
|
27747
27754
|
var ServicePagePreviewRequestSchema = z118.object({
|
|
27748
27755
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27749
|
-
candidateOperationId: z118.string().
|
|
27756
|
+
candidateOperationId: z118.string().guid().optional(),
|
|
27750
27757
|
artifact: ServiceLandingArtifactSchema.optional()
|
|
27751
27758
|
}).strict().superRefine((request, context) => {
|
|
27752
27759
|
if (!request.artifact && !request.candidateOperationId) {
|
|
@@ -27904,7 +27911,7 @@ var FlightRecorderEntrySchema = z120.object({
|
|
|
27904
27911
|
elements: z120.array(FlightRecorderElementSchema).optional(),
|
|
27905
27912
|
distillation: FlightRecorderDistillationSchema.optional(),
|
|
27906
27913
|
// Raw payload (sanitized of secrets)
|
|
27907
|
-
rawPayload: z120.record(z120.unknown())
|
|
27914
|
+
rawPayload: z120.record(z120.string(), z120.unknown())
|
|
27908
27915
|
});
|
|
27909
27916
|
var FlightRecorderQuerySchema = z120.object({
|
|
27910
27917
|
taskId: z120.string().min(1),
|
|
@@ -27959,7 +27966,7 @@ var Url = z122.string().url().refine((value) => {
|
|
|
27959
27966
|
var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
27960
27967
|
z122.object({
|
|
27961
27968
|
kind: z122.literal("image"),
|
|
27962
|
-
ownerTaskId: z122.string().
|
|
27969
|
+
ownerTaskId: z122.string().guid(),
|
|
27963
27970
|
sourceIndex: z122.number().int().positive(),
|
|
27964
27971
|
variantIndex: z122.number().int().nonnegative(),
|
|
27965
27972
|
url: Url,
|
|
@@ -27969,8 +27976,8 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
27969
27976
|
}).strict(),
|
|
27970
27977
|
z122.object({
|
|
27971
27978
|
kind: z122.literal("gif"),
|
|
27972
|
-
ownerTaskId: z122.string().
|
|
27973
|
-
gifId: z122.string().
|
|
27979
|
+
ownerTaskId: z122.string().guid(),
|
|
27980
|
+
gifId: z122.string().guid(),
|
|
27974
27981
|
gifRevision: z122.number().int().nonnegative(),
|
|
27975
27982
|
demo: LandingGifReadableSchema,
|
|
27976
27983
|
historicalDelivery: z122.literal(true).optional()
|
|
@@ -27978,10 +27985,10 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
27978
27985
|
]);
|
|
27979
27986
|
var PublishedClassicLandingSchema = z122.object({
|
|
27980
27987
|
version: z122.literal(1),
|
|
27981
|
-
ownerTaskId: z122.string().
|
|
27988
|
+
ownerTaskId: z122.string().guid(),
|
|
27982
27989
|
documentRevision: z122.number().int().nonnegative(),
|
|
27983
27990
|
ownerRevisions: z122.array(z122.object({
|
|
27984
|
-
ownerTaskId: z122.string().
|
|
27991
|
+
ownerTaskId: z122.string().guid(),
|
|
27985
27992
|
landingRevision: z122.number().int().nonnegative()
|
|
27986
27993
|
}).strict()).max(100),
|
|
27987
27994
|
blocks: z122.array(ClassicLandingAssetBlockSchema).max(100)
|
|
@@ -28028,18 +28035,18 @@ import { z as z123 } from "zod";
|
|
|
28028
28035
|
var DropiCountrySchema = z123.enum(DROPI_COUNTRY_CODES);
|
|
28029
28036
|
var DropiCountryQuerySchema = z123.object({
|
|
28030
28037
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28031
|
-
connectionId: z123.string().
|
|
28038
|
+
connectionId: z123.string().guid().optional()
|
|
28032
28039
|
}).strict();
|
|
28033
28040
|
var ConnectDropiFinancialSchema = z123.object({
|
|
28034
28041
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28035
|
-
connectionId: z123.string().
|
|
28042
|
+
connectionId: z123.string().guid().optional(),
|
|
28036
28043
|
label: z123.string().trim().min(1).max(80).optional(),
|
|
28037
28044
|
integrationKey: z123.string().trim().min(1).max(4096).regex(/^[\x21-\x7e]+$/)
|
|
28038
28045
|
}).strict();
|
|
28039
28046
|
var SyncDropiFinancialSchema = z123.object({
|
|
28040
28047
|
countryCode: DropiCountrySchema.optional(),
|
|
28041
|
-
operationId: z123.string().
|
|
28042
|
-
connectionId: z123.string().
|
|
28048
|
+
operationId: z123.string().guid().optional(),
|
|
28049
|
+
connectionId: z123.string().guid().optional(),
|
|
28043
28050
|
since: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
28044
28051
|
until: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
28045
28052
|
}).strict();
|
|
@@ -28047,7 +28054,7 @@ var connectionCountries = z123.array(DropiCountrySchema).max(DROPI_COUNTRY_CODES
|
|
|
28047
28054
|
var DropiFinancialConnectionsSchema = z123.object({
|
|
28048
28055
|
connectedCountries: connectionCountries,
|
|
28049
28056
|
connections: z123.array(z123.object({
|
|
28050
|
-
connectionId: z123.string().
|
|
28057
|
+
connectionId: z123.string().guid(),
|
|
28051
28058
|
countryCode: DropiCountrySchema,
|
|
28052
28059
|
label: z123.string().min(1).max(80)
|
|
28053
28060
|
}).strict()).max(21).optional(),
|
|
@@ -28057,7 +28064,7 @@ var DropiFinancialConnectionsSchema = z123.object({
|
|
|
28057
28064
|
var DropiFinancialStatusSchema = z123.object({
|
|
28058
28065
|
enabled: z123.boolean(),
|
|
28059
28066
|
connected: z123.boolean(),
|
|
28060
|
-
connectionId: z123.string().
|
|
28067
|
+
connectionId: z123.string().guid().optional(),
|
|
28061
28068
|
connectionCount: z123.number().int().nonnegative().optional(),
|
|
28062
28069
|
label: z123.string().min(1).max(80).optional(),
|
|
28063
28070
|
countryCode: DropiCountrySchema,
|
|
@@ -28184,7 +28191,7 @@ var ServiceImageContextSchema = z124.object({
|
|
|
28184
28191
|
// ../../packages/types/src/brand-creation.ts
|
|
28185
28192
|
import { z as z125 } from "zod";
|
|
28186
28193
|
var BrandCreationReceiptSchema = z125.object({
|
|
28187
|
-
brandId: z125.string().
|
|
28194
|
+
brandId: z125.string().guid(),
|
|
28188
28195
|
status: z125.enum([
|
|
28189
28196
|
"extracting",
|
|
28190
28197
|
"ready",
|
|
@@ -28327,7 +28334,7 @@ var WebsiteCaptureRequestSchema = z127.object({
|
|
|
28327
28334
|
language: MotionGraphicsLanguageSchema
|
|
28328
28335
|
}).strict();
|
|
28329
28336
|
var WebsiteCaptureResponseSchema = z127.object({
|
|
28330
|
-
captureId: z127.string().
|
|
28337
|
+
captureId: z127.string().guid(),
|
|
28331
28338
|
status: WebsiteCaptureStatusSchema,
|
|
28332
28339
|
expiresAt: z127.string().datetime(),
|
|
28333
28340
|
previewUrl: z127.string().url().optional(),
|
|
@@ -28336,7 +28343,7 @@ var WebsiteCaptureResponseSchema = z127.object({
|
|
|
28336
28343
|
cause: WebsiteCaptureCauseSchema.optional()
|
|
28337
28344
|
});
|
|
28338
28345
|
var WebsiteCaptureJobSchema = WebsiteCaptureRequestSchema.extend({
|
|
28339
|
-
captureId: z127.string().
|
|
28346
|
+
captureId: z127.string().guid(),
|
|
28340
28347
|
attempt: z127.number().int().positive(),
|
|
28341
28348
|
leaseUntil: z127.string().datetime(),
|
|
28342
28349
|
/** Public profile document prepared by the API; never contains a provider credential. */
|
|
@@ -28499,7 +28506,7 @@ var image = z128.object({
|
|
|
28499
28506
|
width: z128.number().int().positive(),
|
|
28500
28507
|
height: z128.number().int().positive(),
|
|
28501
28508
|
adCopy: nullableText,
|
|
28502
|
-
rawResponse: z128.unknown()
|
|
28509
|
+
rawResponse: z128.unknown().optional()
|
|
28503
28510
|
});
|
|
28504
28511
|
var ProductDemoSnapshotSchema = z128.object({
|
|
28505
28512
|
/** Optional only for packs frozen before seller review drafts were captured. */
|
|
@@ -28512,12 +28519,12 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28512
28519
|
country: nullableText,
|
|
28513
28520
|
features: z128.array(text3).max(100),
|
|
28514
28521
|
form: nullableText,
|
|
28515
|
-
details: z128.unknown(),
|
|
28522
|
+
details: z128.unknown().optional(),
|
|
28516
28523
|
isCombo: z128.boolean(),
|
|
28517
|
-
comboItems: z128.unknown(),
|
|
28524
|
+
comboItems: z128.unknown().optional(),
|
|
28518
28525
|
images: z128.array(text3).min(1).max(50),
|
|
28519
28526
|
cleanImages: z128.array(text3).max(50),
|
|
28520
|
-
cleanImagesMeta: z128.unknown()
|
|
28527
|
+
cleanImagesMeta: z128.unknown().optional()
|
|
28521
28528
|
}),
|
|
28522
28529
|
angles: z128.array(z128.object({
|
|
28523
28530
|
content: text3,
|
|
@@ -28536,7 +28543,7 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28536
28543
|
durationSeconds: z128.number().int().positive().nullable(),
|
|
28537
28544
|
format: VideoFormat,
|
|
28538
28545
|
resultUrls: z128.array(text3).min(1).max(10),
|
|
28539
|
-
rawResponse: z128.unknown(),
|
|
28546
|
+
rawResponse: z128.unknown().optional(),
|
|
28540
28547
|
adCopy: nullableText
|
|
28541
28548
|
})).min(1).max(10),
|
|
28542
28549
|
landingImages: z128.array(z128.object({
|
|
@@ -28547,17 +28554,17 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28547
28554
|
height: z128.number().int().positive(),
|
|
28548
28555
|
notes: nullableText
|
|
28549
28556
|
})).max(20),
|
|
28550
|
-
landingConfig: z128.unknown(),
|
|
28557
|
+
landingConfig: z128.unknown().optional(),
|
|
28551
28558
|
image,
|
|
28552
|
-
productUseSheet: z128.unknown(),
|
|
28553
|
-
productTruth: z128.unknown(),
|
|
28559
|
+
productUseSheet: z128.unknown().optional(),
|
|
28560
|
+
productTruth: z128.unknown().optional(),
|
|
28554
28561
|
productReference: z128.object({
|
|
28555
28562
|
referenceEvidenceVersion: z128.number().int().nonnegative(),
|
|
28556
28563
|
planVersion: z128.number().int().positive(),
|
|
28557
28564
|
baseReferenceSetHash: text3,
|
|
28558
|
-
referenceSet: z128.unknown(),
|
|
28559
|
-
preparationPlan: z128.unknown(),
|
|
28560
|
-
canonicalIdentityAnchors: z128.unknown()
|
|
28565
|
+
referenceSet: z128.unknown().optional(),
|
|
28566
|
+
preparationPlan: z128.unknown().optional(),
|
|
28567
|
+
canonicalIdentityAnchors: z128.unknown().optional()
|
|
28561
28568
|
})
|
|
28562
28569
|
});
|
|
28563
28570
|
var ProductDemoPhaseSchema = z128.enum([
|
|
@@ -28586,10 +28593,10 @@ var ProductDemoTaskStateSchema = z128.object({
|
|
|
28586
28593
|
// ../../packages/types/src/demo-mode-service-page-assets.ts
|
|
28587
28594
|
import { z as z129 } from "zod";
|
|
28588
28595
|
var DemoServicePageAssetSourceSchema = z129.object({
|
|
28589
|
-
pageId: z129.string().
|
|
28596
|
+
pageId: z129.string().guid(),
|
|
28590
28597
|
ownerId: z129.string().min(1),
|
|
28591
28598
|
assets: z129.array(z129.object({
|
|
28592
|
-
id: z129.string().
|
|
28599
|
+
id: z129.string().guid(),
|
|
28593
28600
|
storageKey: z129.string().min(1).max(1024),
|
|
28594
28601
|
mediaType: z129.enum([
|
|
28595
28602
|
"image/webp",
|
|
@@ -28665,14 +28672,14 @@ var DEMO_MODE_OPTIONAL_TEMPLATE_KEYS = [
|
|
|
28665
28672
|
...DEMO_MODE_OPTIONAL_MOTION_TEMPLATE_KEYS,
|
|
28666
28673
|
...DEMO_MODE_PRODUCT_ALL_TEMPLATE_KEYS
|
|
28667
28674
|
];
|
|
28668
|
-
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().
|
|
28675
|
+
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().guid().optional());
|
|
28669
28676
|
var DemoModeTemplatesSchema = z130.object({
|
|
28670
|
-
brandId: z130.string().
|
|
28671
|
-
servicePageId: z130.string().
|
|
28672
|
-
motionTaskId: z130.string().
|
|
28677
|
+
brandId: z130.string().guid(),
|
|
28678
|
+
servicePageId: z130.string().guid(),
|
|
28679
|
+
motionTaskId: z130.string().guid(),
|
|
28673
28680
|
motionVariantTaskId: optionalTemplateId,
|
|
28674
28681
|
motionThirdTaskId: optionalTemplateId,
|
|
28675
|
-
imageTaskId: z130.string().
|
|
28682
|
+
imageTaskId: z130.string().guid(),
|
|
28676
28683
|
productLandingTaskId: optionalTemplateId,
|
|
28677
28684
|
productVideoTaskId: optionalTemplateId,
|
|
28678
28685
|
productVideoVariantTaskId: optionalTemplateId,
|
|
@@ -28713,7 +28720,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28713
28720
|
product: ProductDemoSnapshotSchema.optional(),
|
|
28714
28721
|
brand: z130.object({
|
|
28715
28722
|
/** Columnas de identidad de `Brand` listas para un `update` (sin id/userId/slug/estado/fechas). */
|
|
28716
|
-
identity: z130.record(z130.unknown()),
|
|
28723
|
+
identity: z130.record(z130.string(), z130.unknown()),
|
|
28717
28724
|
productSamples: z130.array(z130.object({
|
|
28718
28725
|
name: z130.string(),
|
|
28719
28726
|
priceCents: z130.number().int().nullable(),
|
|
@@ -28733,9 +28740,9 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28733
28740
|
}))
|
|
28734
28741
|
}),
|
|
28735
28742
|
servicePage: z130.object({
|
|
28736
|
-
facts: z130.unknown(),
|
|
28737
|
-
review: z130.unknown(),
|
|
28738
|
-
artifact: z130.unknown(),
|
|
28743
|
+
facts: z130.unknown().optional(),
|
|
28744
|
+
review: z130.unknown().optional(),
|
|
28745
|
+
artifact: z130.unknown().optional(),
|
|
28739
28746
|
/** Optional only for snapshots saved before page-owned demo media. */
|
|
28740
28747
|
assetSource: DemoServicePageAssetSourceSchema.optional()
|
|
28741
28748
|
}),
|
|
@@ -28761,7 +28768,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28761
28768
|
width: z130.number().int(),
|
|
28762
28769
|
height: z130.number().int(),
|
|
28763
28770
|
adCopy: nullableString,
|
|
28764
|
-
rawResponse: z130.unknown()
|
|
28771
|
+
rawResponse: z130.unknown().optional()
|
|
28765
28772
|
})
|
|
28766
28773
|
});
|
|
28767
28774
|
var DemoModeConfigSchema = DemoModeEditableObjectSchema.extend({
|
|
@@ -28826,7 +28833,7 @@ var DemoModeJobSchema = z130.object({
|
|
|
28826
28833
|
productPhase: ProductDemoJobPhaseSchema.optional(),
|
|
28827
28834
|
step: DemoModeStepSchema,
|
|
28828
28835
|
/** brandId | servicePageOperationId | taskId según el flujo. */
|
|
28829
|
-
targetId: z130.string().
|
|
28836
|
+
targetId: z130.string().guid(),
|
|
28830
28837
|
userId: z130.string().min(1),
|
|
28831
28838
|
/** Solo marca: la generación de extracción que el guion completa. */
|
|
28832
28839
|
generation: z130.number().int().positive().optional(),
|
|
@@ -29307,7 +29314,7 @@ var ApiClient = class {
|
|
|
29307
29314
|
};
|
|
29308
29315
|
|
|
29309
29316
|
// src/index.ts
|
|
29310
|
-
var MCP_VERSION = "12.
|
|
29317
|
+
var MCP_VERSION = "12.5.0";
|
|
29311
29318
|
|
|
29312
29319
|
// src/meta-upload-app.ts
|
|
29313
29320
|
import { readFileSync } from "fs";
|
|
@@ -30469,7 +30476,7 @@ var ImageCreativeAspectRatioEnum = ImageCreativeAspectRatio;
|
|
|
30469
30476
|
var ImageRefSchema = z132.object({
|
|
30470
30477
|
url: z132.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.'),
|
|
30471
30478
|
path: z132.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`.'),
|
|
30472
|
-
assetId: z132.string().
|
|
30479
|
+
assetId: z132.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.")
|
|
30473
30480
|
}).refine((v) => [
|
|
30474
30481
|
v.url,
|
|
30475
30482
|
v.path,
|
|
@@ -31554,8 +31561,8 @@ function serviceVideoResultMedia(result) {
|
|
|
31554
31561
|
}
|
|
31555
31562
|
__name(serviceVideoResultMedia, "serviceVideoResultMedia");
|
|
31556
31563
|
var CreativeVariantIdentity = z133.object({
|
|
31557
|
-
variantTaskId: z133.string().
|
|
31558
|
-
sourceTaskId: z133.string().
|
|
31564
|
+
variantTaskId: z133.string().guid(),
|
|
31565
|
+
sourceTaskId: z133.string().guid(),
|
|
31559
31566
|
kind: TaskCreativeVariantKind,
|
|
31560
31567
|
status: TaskStatusSchema,
|
|
31561
31568
|
error: z133.string().optional()
|
|
@@ -32799,9 +32806,9 @@ var CreateAnimatedVideoInput = z135.object({
|
|
|
32799
32806
|
"cancel",
|
|
32800
32807
|
"generate"
|
|
32801
32808
|
]).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."),
|
|
32802
|
-
brandId: z135.string().
|
|
32803
|
-
websiteCaptureId: z135.string().
|
|
32804
|
-
generationRequestId: z135.string().
|
|
32809
|
+
brandId: z135.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."),
|
|
32810
|
+
websiteCaptureId: z135.string().guid().optional().describe("ID de la captura preparada. Obligatorio para status/cancel/generate; no inventarlo."),
|
|
32811
|
+
generationRequestId: z135.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."),
|
|
32805
32812
|
confirmed: z135.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."),
|
|
32806
32813
|
// Plain text, not `.url()`: users type «cal.com», and the web accepts it.
|
|
32807
32814
|
// normalizeWebAddress (shared with the web) adds https:// and refuses
|
|
@@ -32891,7 +32898,7 @@ var AnimatedVideoResultSchema = z135.object({
|
|
|
32891
32898
|
index: MotionGraphicsHookVariantsSchema,
|
|
32892
32899
|
count: MotionGraphicsHookVariantsSchema,
|
|
32893
32900
|
tasks: z135.array(z135.object({
|
|
32894
|
-
taskId: z135.string().
|
|
32901
|
+
taskId: z135.string().guid(),
|
|
32895
32902
|
index: MotionGraphicsHookVariantsSchema,
|
|
32896
32903
|
status: z135.enum([
|
|
32897
32904
|
"queued",
|
|
@@ -33202,7 +33209,7 @@ function registerAnimatedVideoTools(server, api) {
|
|
|
33202
33209
|
nowMs: 0
|
|
33203
33210
|
})
|
|
33204
33211
|
});
|
|
33205
|
-
const parsedTaskIds = z135.array(z135.string().
|
|
33212
|
+
const parsedTaskIds = z135.array(z135.string().guid()).min(1).max(MOTION_GRAPHICS_HOOK_VARIANTS_MAX).safeParse(created.taskIds);
|
|
33206
33213
|
const taskIds = parsedTaskIds.success && parsedTaskIds.data[0] === created.taskId ? parsedTaskIds.data : void 0;
|
|
33207
33214
|
const receipt = {
|
|
33208
33215
|
taskId: created.taskId,
|
|
@@ -33246,7 +33253,7 @@ __name(registerAnimatedVideoTools, "registerAnimatedVideoTools");
|
|
|
33246
33253
|
// src/tools/winning-product-image.ts
|
|
33247
33254
|
import { z as z136 } from "zod";
|
|
33248
33255
|
var WinnerReferenceInput = z136.object({
|
|
33249
|
-
runId: z136.string().
|
|
33256
|
+
runId: z136.string().guid(),
|
|
33250
33257
|
candidateSourceId: z136.string().trim().min(1).max(160)
|
|
33251
33258
|
}).strict().describe("Referencia opaca de un producto devuelto por find_winning_products/get_product_research_run.");
|
|
33252
33259
|
async function resolveWinnerImages(api, winnerReference, images) {
|
|
@@ -33287,7 +33294,7 @@ var editTaskDraftGuidance = getProductMakerCapabilityModelGuidance("edit_task_dr
|
|
|
33287
33294
|
var CreateProductTaskInput = z137.object({
|
|
33288
33295
|
images: ImagesInput.optional().describe("1\u20135 fotos del mismo producto. Omitir \xFAnicamente cuando projectId apunta a un proyecto propio con imagen guardada."),
|
|
33289
33296
|
winnerReference: WinnerReferenceInput.optional().describe(WINNER_IMAGE_CHOICE_GUIDANCE),
|
|
33290
|
-
projectId: z137.string().
|
|
33297
|
+
projectId: z137.string().guid().optional().describe("Opcional. Proyecto guiado propio. Permite continuar sin volver a subir la imagen guardada; nunca evita cr\xE9ditos, cuotas ni confirmaciones."),
|
|
33291
33298
|
productUrl: z137.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."),
|
|
33292
33299
|
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.'),
|
|
33293
33300
|
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.'),
|
|
@@ -33320,13 +33327,13 @@ var CreateProductTaskInput = z137.object({
|
|
|
33320
33327
|
competitorScanEnabled: z137.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."),
|
|
33321
33328
|
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.'),
|
|
33322
33329
|
replicateWinnerWhenFound: z137.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."),
|
|
33323
|
-
brandId: z137.string().
|
|
33330
|
+
brandId: z137.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."),
|
|
33324
33331
|
actorId: z137.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."),
|
|
33325
33332
|
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.'),
|
|
33326
33333
|
creativeDirection: z137.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.'),
|
|
33327
33334
|
headline: z137.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."),
|
|
33328
33335
|
subheadline: z137.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."),
|
|
33329
|
-
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)
|
|
33336
|
+
landingStrategy: LandingStrategyEnum.optional().describe('Opcional. Estructura de la landing cl\xE1sica cuando landing est\xE1 entre outputs: "classic" (Landing cl\xE1sica de ProductMaker: estructura original probada y recomendada) , "social_proof" (Landing Viral: UGC, WhatsApp, Instagram y evidencia social) o "pain_solution" (Problema y soluci\xF3n: dolor reconocible, demostraci\xF3n y transformaci\xF3n). Default "classic".'),
|
|
33330
33337
|
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".')
|
|
33331
33338
|
}).strict();
|
|
33332
33339
|
var CreateServiceVideoInput = z137.object({
|
|
@@ -33334,7 +33341,7 @@ var CreateServiceVideoInput = z137.object({
|
|
|
33334
33341
|
additionalContext: z137.string().max(3e3).optional().describe('Instrucci\xF3n natural prioritaria. Ej.: "adapta el ritmo de estos competidores", "enfatiza reservas de demos" o restricciones de claims.'),
|
|
33335
33342
|
language: Lang.describe("Idioma del video: es, en o pt."),
|
|
33336
33343
|
voiceId: z137.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.'),
|
|
33337
|
-
brandId: z137.string().
|
|
33344
|
+
brandId: z137.string().guid().optional().describe("Marca guardada del usuario. Aplica voz, mensajes, paleta y persona predeterminada."),
|
|
33338
33345
|
reviewMode: z137.enum([
|
|
33339
33346
|
"automatic",
|
|
33340
33347
|
"guided"
|
|
@@ -33380,7 +33387,7 @@ var PendingActionPayload = z137.discriminatedUnion("kind", [
|
|
|
33380
33387
|
kind: z137.literal("product_reference_set_approval"),
|
|
33381
33388
|
scope: ProductReferenceScopeEnum.optional(),
|
|
33382
33389
|
scopeKey: z137.string().min(1).max(120).optional(),
|
|
33383
|
-
scopeSnapshotId: z137.string().
|
|
33390
|
+
scopeSnapshotId: z137.string().guid().optional(),
|
|
33384
33391
|
expectedScopeHash: z137.string().min(1).max(128).optional(),
|
|
33385
33392
|
decision: ProductReferenceResolutionDecisionEnum,
|
|
33386
33393
|
reason: ProductReferenceRejectionReasonEnum.optional(),
|
|
@@ -33445,7 +33452,7 @@ var PendingActionPayload = z137.discriminatedUnion("kind", [
|
|
|
33445
33452
|
}),
|
|
33446
33453
|
z137.object({
|
|
33447
33454
|
kind: z137.literal("service_angle_approval"),
|
|
33448
|
-
angleId: z137.string().
|
|
33455
|
+
angleId: z137.string().guid().optional(),
|
|
33449
33456
|
angleNumber: z137.number().int().positive().optional(),
|
|
33450
33457
|
content: z137.string().min(1).max(480).optional(),
|
|
33451
33458
|
creativeDirection: z137.string().min(1).max(1500).optional(),
|
|
@@ -33548,7 +33555,7 @@ var StatusForResolveSchema = z137.object({
|
|
|
33548
33555
|
}).optional(),
|
|
33549
33556
|
scope: ProductReferenceScopeEnum.optional(),
|
|
33550
33557
|
scopeKey: z137.string().optional(),
|
|
33551
|
-
scopeSnapshotId: z137.string().
|
|
33558
|
+
scopeSnapshotId: z137.string().guid().optional(),
|
|
33552
33559
|
scopeHash: z137.string().optional(),
|
|
33553
33560
|
baseReferenceSetHash: z137.string().optional(),
|
|
33554
33561
|
phase: z137.enum([
|
|
@@ -33577,7 +33584,7 @@ var StatusForResolveSchema = z137.object({
|
|
|
33577
33584
|
// dropped here, so the approval handler below could not echo it back on the
|
|
33578
33585
|
// PATCH — the selection looked accepted and reached no render.
|
|
33579
33586
|
angles: z137.array(z137.object({
|
|
33580
|
-
id: z137.string().
|
|
33587
|
+
id: z137.string().guid(),
|
|
33581
33588
|
content: z137.string(),
|
|
33582
33589
|
creativeDirection: z137.string(),
|
|
33583
33590
|
actor: z137.string(),
|
|
@@ -33939,8 +33946,8 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
33939
33946
|
server.registerTool("verify_landing_commerce", {
|
|
33940
33947
|
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.",
|
|
33941
33948
|
inputSchema: {
|
|
33942
|
-
taskId: z137.string().
|
|
33943
|
-
editId: z137.string().
|
|
33949
|
+
taskId: z137.string().guid(),
|
|
33950
|
+
editId: z137.string().guid()
|
|
33944
33951
|
},
|
|
33945
33952
|
annotations: OVERWRITES_EXTERNAL
|
|
33946
33953
|
}, async (input) => {
|
|
@@ -34219,7 +34226,7 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
34219
34226
|
...page.data,
|
|
34220
34227
|
items: page.data.items.map((item) => {
|
|
34221
34228
|
const servicePage = z137.object({
|
|
34222
|
-
taskId: z137.string().
|
|
34229
|
+
taskId: z137.string().guid(),
|
|
34223
34230
|
resourceType: z137.literal("service_page")
|
|
34224
34231
|
}).passthrough().safeParse(item);
|
|
34225
34232
|
if (!servicePage.success) return item;
|
|
@@ -34731,7 +34738,7 @@ var CreateBrandInput = z138.object({
|
|
|
34731
34738
|
"pt"
|
|
34732
34739
|
]).optional().describe("Idioma de la conversaci\xF3n. Solo se usa si la p\xE1gina del negocio no deja claro su idioma."),
|
|
34733
34740
|
confirmed: z138.boolean().optional().describe("Solo true despu\xE9s de mostrar el precio y que el usuario acepte. Sin confirmed, start solo cotiza y no cobra."),
|
|
34734
|
-
brandId: z138.string().
|
|
34741
|
+
brandId: z138.string().guid().optional().describe("ID de la marca. Obligatorio para status; no lo inventes.")
|
|
34735
34742
|
}).strict();
|
|
34736
34743
|
function normalizeBrandSourceUrl(raw) {
|
|
34737
34744
|
const value = raw.trim();
|
|
@@ -35026,12 +35033,12 @@ var CreateServiceLandingInput = z139.object({
|
|
|
35026
35033
|
"status",
|
|
35027
35034
|
"publish"
|
|
35028
35035
|
]).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."),
|
|
35029
|
-
brandId: z139.string().
|
|
35030
|
-
servicePageId: z139.string().
|
|
35036
|
+
brandId: z139.string().guid().optional().describe("ID de la marca (de create_brand). Obligatorio para prepare. Nunca un taskId de producto."),
|
|
35037
|
+
servicePageId: z139.string().guid().optional().describe("ID de la landing que devolvi\xF3 prepare. Obligatorio para build, status y publish."),
|
|
35031
35038
|
businessInfo: z139.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."),
|
|
35032
35039
|
confirmed: z139.boolean().optional().describe("Solo true despu\xE9s de mostrar el precio total y que el usuario acepte. Obligatorio para build."),
|
|
35033
35040
|
maxCredits: z139.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."),
|
|
35034
|
-
operationId: z139.string().
|
|
35041
|
+
operationId: z139.string().guid().optional().describe("Opcional en status: la operaci\xF3n que devolvi\xF3 build."),
|
|
35035
35042
|
slug: z139.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.")
|
|
35036
35043
|
}).strict();
|
|
35037
35044
|
function serviceKey(...parts) {
|
|
@@ -35425,7 +35432,7 @@ var LANGUAGE_TAGS = {
|
|
|
35425
35432
|
pt: "pt-BR"
|
|
35426
35433
|
};
|
|
35427
35434
|
var CreateServiceImagesInput = z140.object({
|
|
35428
|
-
brandId: z140.string().
|
|
35435
|
+
brandId: z140.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."),
|
|
35429
35436
|
instruction: z140.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."),
|
|
35430
35437
|
delegateToAi: z140.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."),
|
|
35431
35438
|
format: z140.enum(SERVICE_IMAGE_FORMATS).optional().describe('Formato: "4:5" (feed, por defecto), "9:16" (historias/reels) o "1:1" (cuadrado).'),
|
|
@@ -35584,7 +35591,7 @@ var CreativeRefs = {
|
|
|
35584
35591
|
buyerPersona: z141.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.'),
|
|
35585
35592
|
isCombo: z141.boolean().optional().describe("Opcional. Si true, el creativo presenta el producto como combo/pack. Default false."),
|
|
35586
35593
|
competitorScanEnabled: z141.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."),
|
|
35587
|
-
brandId: z141.string().
|
|
35594
|
+
brandId: z141.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.")
|
|
35588
35595
|
};
|
|
35589
35596
|
var VideoPresenter = z141.discriminatedUnion("mode", [
|
|
35590
35597
|
z141.object({
|
|
@@ -35689,7 +35696,7 @@ var FreeVideoInput = z141.object({
|
|
|
35689
35696
|
generateAiMusic: z141.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.'),
|
|
35690
35697
|
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.'),
|
|
35691
35698
|
addSubtitles: z141.boolean().default(false).describe("Opcional. Quema subt\xEDtulos usando el rawPrompt exacto. Default false."),
|
|
35692
|
-
idempotencyKey: z141.string().
|
|
35699
|
+
idempotencyKey: z141.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.")
|
|
35693
35700
|
}).strict();
|
|
35694
35701
|
var imageStyleList = ImageCreativeStyleEnum.options.join(" | ");
|
|
35695
35702
|
var ImageCreativeSetup = z141.discriminatedUnion("mode", [
|
|
@@ -35791,7 +35798,7 @@ var ImageInput = z141.object({
|
|
|
35791
35798
|
brandId: CreativeRefs.brandId
|
|
35792
35799
|
});
|
|
35793
35800
|
var EditImageCreativeInput = z141.object({
|
|
35794
|
-
taskId: z141.string().
|
|
35801
|
+
taskId: z141.string().guid().describe("ID de la tarea de imagen ya finalizada."),
|
|
35795
35802
|
variantIndex: z141.number().int().min(0).max(10).describe("\xCDndice de la variante a corregir (0 = primera imagen)."),
|
|
35796
35803
|
clientRequestId: z141.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."),
|
|
35797
35804
|
instruction: z141.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".')
|
|
@@ -36086,8 +36093,8 @@ function registerCreativeTools(server, api, { transport = "http", proxyBaseUrl =
|
|
|
36086
36093
|
server.registerTool("get_image_edit_status", {
|
|
36087
36094
|
description: imageEditStatusGuidance.summary,
|
|
36088
36095
|
inputSchema: {
|
|
36089
|
-
taskId: z141.string().
|
|
36090
|
-
operationId: z141.string().
|
|
36096
|
+
taskId: z141.string().guid(),
|
|
36097
|
+
operationId: z141.string().guid()
|
|
36091
36098
|
},
|
|
36092
36099
|
annotations: READS_INTERNAL,
|
|
36093
36100
|
_meta: taskResultsToolMeta()
|
|
@@ -36226,7 +36233,7 @@ var CreativeVariantKindEnum = z142.enum([
|
|
|
36226
36233
|
"landing"
|
|
36227
36234
|
]);
|
|
36228
36235
|
var EstimateCreativeVariantInputBase = z142.object({
|
|
36229
|
-
sourceTaskId: z142.string().
|
|
36236
|
+
sourceTaskId: z142.string().guid().describe("ID de la tarea original completada."),
|
|
36230
36237
|
kind: CreativeVariantKindEnum,
|
|
36231
36238
|
videoPreset: TaskCreativeVariantVideoPresetEnum.optional().describe("Opcional para video. Solo cambia el preset p\xFAblico; el servidor conserva el modelo/tier del task origen."),
|
|
36232
36239
|
videoResolution: VideoResolutionEnum.optional().describe("Opcional para video. Resoluci\xF3n del nuevo render."),
|
|
@@ -36295,10 +36302,10 @@ var EstimateCreativeVariantInput = EstimateCreativeVariantInputBase.superRefine(
|
|
|
36295
36302
|
}
|
|
36296
36303
|
});
|
|
36297
36304
|
var CreateCreativeVariantInputBase = z142.object({
|
|
36298
|
-
sourceTaskId: z142.string().
|
|
36305
|
+
sourceTaskId: z142.string().guid().describe("ID de la tarea original completada."),
|
|
36299
36306
|
kind: CreativeVariantKindEnum,
|
|
36300
36307
|
confirm: z142.literal(true).describe("Confirmaci\xF3n expl\xEDcita del usuario despu\xE9s de mostrarle el estimado de cr\xE9ditos."),
|
|
36301
|
-
clientRequestId: z142.string().
|
|
36308
|
+
clientRequestId: z142.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."),
|
|
36302
36309
|
angle: z142.string().trim().min(1).max(500).optional().describe("\xC1ngulo nuevo para video o imagen."),
|
|
36303
36310
|
buyerPersona: z142.string().trim().min(1).max(360).optional().describe("Buyer persona coherente con el \xE1ngulo."),
|
|
36304
36311
|
scriptNotes: z142.string().trim().min(1).max(2e3).optional().describe("Direcci\xF3n breve del guion para una variante de video."),
|
|
@@ -36667,7 +36674,7 @@ function registerConnectionTools(server, api) {
|
|
|
36667
36674
|
inputSchema: z144.object({
|
|
36668
36675
|
shopDomain: z144.string().min(3).max(120),
|
|
36669
36676
|
query: z144.string().trim().max(120).optional(),
|
|
36670
|
-
taskId: z144.string().
|
|
36677
|
+
taskId: z144.string().guid().optional()
|
|
36671
36678
|
}).shape,
|
|
36672
36679
|
annotations: READS_EXTERNAL
|
|
36673
36680
|
}, async ({ shopDomain, query, taskId }) => {
|
|
@@ -37019,8 +37026,8 @@ var GroupedMediaSource = z146.object({
|
|
|
37019
37026
|
var GroupedUploadedAssetSource = z146.object({
|
|
37020
37027
|
type: z146.literal("asset"),
|
|
37021
37028
|
/** Returned by check_media_upload. ProductMaker resolves ownership server-side. */
|
|
37022
|
-
assetId: z146.string().
|
|
37023
|
-
thumbnailAssetId: z146.string().
|
|
37029
|
+
assetId: z146.string().guid(),
|
|
37030
|
+
thumbnailAssetId: z146.string().guid().optional()
|
|
37024
37031
|
});
|
|
37025
37032
|
var GroupedCreative = z146.object({
|
|
37026
37033
|
type: z146.enum([
|
|
@@ -37167,7 +37174,7 @@ var PresignUploadResponseSchema = z146.object({
|
|
|
37167
37174
|
const url2 = new URL(value);
|
|
37168
37175
|
return !url2.username && !url2.password;
|
|
37169
37176
|
}, "public media URL must not contain embedded credentials"),
|
|
37170
|
-
stagingAssetId: z146.string().
|
|
37177
|
+
stagingAssetId: z146.string().guid()
|
|
37171
37178
|
});
|
|
37172
37179
|
async function uploadResolvedMedia(api, media, assetRole) {
|
|
37173
37180
|
if (!media.buffer) throw new ResolveMediaError("INVALID_INPUT", "resolved media has no bytes");
|
|
@@ -37656,7 +37663,7 @@ var UploadSessionToolInput = z147.object(UploadSessionToolInputShape).superRefin
|
|
|
37656
37663
|
}
|
|
37657
37664
|
});
|
|
37658
37665
|
var UploadSessionResponse = z147.object({
|
|
37659
|
-
sessionId: z147.string().
|
|
37666
|
+
sessionId: z147.string().guid(),
|
|
37660
37667
|
uploadPageUrl: z147.string().url(),
|
|
37661
37668
|
mediaKind: z147.enum([
|
|
37662
37669
|
"image",
|
|
@@ -37671,7 +37678,7 @@ var UploadSessionResponse = z147.object({
|
|
|
37671
37678
|
expiresAt: z147.string().datetime()
|
|
37672
37679
|
});
|
|
37673
37680
|
var UploadStatusInput = z147.object({
|
|
37674
|
-
sessionId: z147.string().
|
|
37681
|
+
sessionId: z147.string().guid().describe("The sessionId returned by request_media_upload.")
|
|
37675
37682
|
});
|
|
37676
37683
|
var UniversalUploadStatusResponse = z147.discriminatedUnion("status", [
|
|
37677
37684
|
z147.object({
|
|
@@ -37681,7 +37688,7 @@ var UniversalUploadStatusResponse = z147.discriminatedUnion("status", [
|
|
|
37681
37688
|
z147.object({
|
|
37682
37689
|
status: z147.literal("uploaded"),
|
|
37683
37690
|
assets: z147.array(z147.object({
|
|
37684
|
-
assetId: z147.string().
|
|
37691
|
+
assetId: z147.string().guid(),
|
|
37685
37692
|
mediaKind: z147.enum([
|
|
37686
37693
|
"image",
|
|
37687
37694
|
"video"
|
|
@@ -37993,7 +38000,7 @@ var ShippingReferenceSchema = z149.object({
|
|
|
37993
38000
|
});
|
|
37994
38001
|
}
|
|
37995
38002
|
});
|
|
37996
|
-
var SHIPPING_REFERENCES = z149.record(ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
38003
|
+
var SHIPPING_REFERENCES = z149.record(z149.string(), ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
37997
38004
|
var PRODUCT_COSTING_COUNTRY_CODES = Object.freeze(Object.keys(SHIPPING_REFERENCES));
|
|
37998
38005
|
var SPANISH_LOCALE_COUNTRIES = /* @__PURE__ */ new Set([
|
|
37999
38006
|
"MX",
|
|
@@ -38832,7 +38839,7 @@ var FindInput = z152.object({
|
|
|
38832
38839
|
waitSeconds: z152.number().int().min(0).max(MAX_WAIT_SECONDS).optional().describe("Segundos a esperar el reporte antes de devolver el runId. M\xE1ximo 120.")
|
|
38833
38840
|
});
|
|
38834
38841
|
var GetInput = z152.object({
|
|
38835
|
-
runId: z152.string().
|
|
38842
|
+
runId: z152.string().guid().describe("ID del run devuelto por find_winning_products.")
|
|
38836
38843
|
});
|
|
38837
38844
|
var ListInput = z152.object({
|
|
38838
38845
|
limit: z152.number().int().min(1).max(20).default(10)
|
|
@@ -38978,7 +38985,7 @@ import { z as z153 } from "zod";
|
|
|
38978
38985
|
var startDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("start_dropshipping_project");
|
|
38979
38986
|
var costDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("cost_dropshipping_project");
|
|
38980
38987
|
var guideDropshippingLaunchGuidance = getProductMakerCapabilityModelGuidance("guide_dropshipping_launch");
|
|
38981
|
-
var ProjectId = z153.string().
|
|
38988
|
+
var ProjectId = z153.string().guid();
|
|
38982
38989
|
var DropshippingProjectStatus = z153.enum([
|
|
38983
38990
|
"active",
|
|
38984
38991
|
"completed",
|
|
@@ -39092,15 +39099,7 @@ var DropshippingProjectNextAction = z153.discriminatedUnion("kind", NEXT_ACTION_
|
|
|
39092
39099
|
kind: z153.literal(kind2),
|
|
39093
39100
|
href: z153.string().min(1)
|
|
39094
39101
|
})));
|
|
39095
|
-
var CostingInputSchema = z153.object({
|
|
39096
|
-
country: z153.string().min(2).max(3),
|
|
39097
|
-
supplierCost: z153.number().finite().positive(),
|
|
39098
|
-
shippingCost: z153.number().finite().nonnegative(),
|
|
39099
|
-
returnRate: z153.number().finite().min(0).lt(1),
|
|
39100
|
-
cancellationRate: z153.number().finite().min(0).lt(1),
|
|
39101
|
-
adsManagerCpa: z153.number().finite().nonnegative(),
|
|
39102
|
-
desiredMargin: z153.number().finite().min(0).lt(1)
|
|
39103
|
-
}).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
39102
|
+
var CostingInputSchema = z153.object(DropshippingProjectCostingInputSchema.shape).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
39104
39103
|
if (returnRate + cancellationRate >= 1) context.addIssue({
|
|
39105
39104
|
code: z153.ZodIssueCode.custom,
|
|
39106
39105
|
path: [
|
|
@@ -39290,10 +39289,10 @@ var DateOnly = z154.string().regex(/^\d{4}-\d{2}-\d{2}$/);
|
|
|
39290
39289
|
var DailyControlInput = z154.object({
|
|
39291
39290
|
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."),
|
|
39292
39291
|
days: z154.number().int().min(1).max(14).default(3).describe("Tama\xF1o de la ventana, 1 a 14 d\xEDas."),
|
|
39293
|
-
projectId: z154.string().
|
|
39292
|
+
projectId: z154.string().guid().optional().describe("Opcional: limita el reporte a un solo proyecto en vez de todos los productos activos.")
|
|
39294
39293
|
}).strict();
|
|
39295
39294
|
var LinkCampaignInput = z154.object({
|
|
39296
|
-
projectId: z154.string().
|
|
39295
|
+
projectId: z154.string().guid(),
|
|
39297
39296
|
provider: z154.enum([
|
|
39298
39297
|
"meta",
|
|
39299
39298
|
"tiktok"
|
|
@@ -39302,7 +39301,7 @@ var LinkCampaignInput = z154.object({
|
|
|
39302
39301
|
campaignId: ProviderCampaignIdentifier
|
|
39303
39302
|
}).strict();
|
|
39304
39303
|
var ReportReturnsInput = z154.object({
|
|
39305
|
-
projectId: z154.string().
|
|
39304
|
+
projectId: z154.string().guid(),
|
|
39306
39305
|
date: DateOnly,
|
|
39307
39306
|
returnedOrders: z154.number().int().min(0).max(1e5),
|
|
39308
39307
|
note: z154.string().trim().max(280).optional()
|
|
@@ -39320,7 +39319,7 @@ var DailyControlDayMirror = z154.object({
|
|
|
39320
39319
|
light: DailyControlLightMirror
|
|
39321
39320
|
}).passthrough();
|
|
39322
39321
|
var DailyControlProductMirror = z154.object({
|
|
39323
|
-
projectId: z154.string().
|
|
39322
|
+
projectId: z154.string().guid(),
|
|
39324
39323
|
productName: z154.string().nullable(),
|
|
39325
39324
|
status: DailyControlStatusMirror,
|
|
39326
39325
|
statusMessage: z154.string().nullable(),
|
|
@@ -39453,7 +39452,7 @@ var SetProductCostingInput = z155.object({
|
|
|
39453
39452
|
tienda + id de Shopify. El esquema canónico también las admite juntas,
|
|
39454
39453
|
pero pedirlas por separado evita que el modelo emita una mezcla que
|
|
39455
39454
|
diga dos productos a la vez. */
|
|
39456
|
-
productControlId: z155.string().
|
|
39455
|
+
productControlId: z155.string().guid().optional().describe("El id nuestro (lo devuelven get_product_control y create_manual_product). Obligatorio para productos manuales o importados sin tienda."),
|
|
39457
39456
|
manualSellingPrice: z155.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."),
|
|
39458
39457
|
shopDomain: z155.string().min(1).optional(),
|
|
39459
39458
|
shopifyProductId: z155.string().min(1).max(64).optional(),
|
|
@@ -39465,7 +39464,7 @@ var SetProductCostingInput = z155.object({
|
|
|
39465
39464
|
}).strict();
|
|
39466
39465
|
var Count = z155.number().int().min(0).max(1e5).nullable().optional();
|
|
39467
39466
|
var ReportProductCountsInput = z155.object({
|
|
39468
|
-
productControlId: z155.string().
|
|
39467
|
+
productControlId: z155.string().guid().describe("El identificador que devuelve get_product_control."),
|
|
39469
39468
|
date: DateOnly2,
|
|
39470
39469
|
orders: Count.describe("Pedidos que entraron ese d\xEDa."),
|
|
39471
39470
|
cancelledOrders: Count,
|
|
@@ -39478,7 +39477,7 @@ var SyncShopifyOrdersInput = SyncShopifyOrdersSchema;
|
|
|
39478
39477
|
var ImportOrdersFileInput = z155.object({
|
|
39479
39478
|
/** Ruta ABSOLUTA en la máquina de quien usa el MCP. */
|
|
39480
39479
|
path: z155.string().min(1),
|
|
39481
|
-
operationId: z155.string().
|
|
39480
|
+
operationId: z155.string().guid().optional(),
|
|
39482
39481
|
/** Solo mirar: devuelve el resumen y no escribe nada. */
|
|
39483
39482
|
dryRun: z155.boolean().optional()
|
|
39484
39483
|
}).strict();
|
|
@@ -39487,35 +39486,35 @@ var CreateOperationInput = z155.object({
|
|
|
39487
39486
|
label: z155.string().trim().min(1).max(60).optional()
|
|
39488
39487
|
}).strict();
|
|
39489
39488
|
var MergeProductsInput = z155.object({
|
|
39490
|
-
sourceId: z155.string().
|
|
39491
|
-
targetId: z155.string().
|
|
39489
|
+
sourceId: z155.string().guid(),
|
|
39490
|
+
targetId: z155.string().guid()
|
|
39492
39491
|
}).strict();
|
|
39493
39492
|
var SetMonthlyExpenseInput = z155.object({
|
|
39494
39493
|
month: z155.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
39495
39494
|
label: SaveMonthlyExpenseSchema.shape.label,
|
|
39496
39495
|
amount: z155.number().finite().min(0),
|
|
39497
|
-
operationId: z155.string().
|
|
39496
|
+
operationId: z155.string().guid().optional()
|
|
39498
39497
|
}).strict();
|
|
39499
39498
|
var SetAdSpendInput = z155.object({
|
|
39500
39499
|
month: z155.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
39501
|
-
operationId: z155.string().
|
|
39500
|
+
operationId: z155.string().guid().optional(),
|
|
39502
39501
|
/** null RETIRA la corrección; cero afirma que no pautó. */
|
|
39503
39502
|
amount: z155.number().finite().min(0).nullable()
|
|
39504
39503
|
}).strict();
|
|
39505
39504
|
var GetFinancesInput = z155.object({
|
|
39506
39505
|
month: z155.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."),
|
|
39507
|
-
operationId: z155.string().
|
|
39506
|
+
operationId: z155.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
39508
39507
|
}).strict();
|
|
39509
39508
|
var GetDropiStatusInput = DropiCountryQuerySchema.extend({
|
|
39510
39509
|
countryCode: DropiCountrySchema.optional().describe("Pa\xEDs de la cuenta (ISO-2). Si se omite, el servidor responde por Colombia (CO)."),
|
|
39511
|
-
connectionId: z155.string().
|
|
39510
|
+
connectionId: z155.string().guid().optional().describe("Una cuenta concreta cuando el pa\xEDs tiene varias. Sale de la lista de conexiones; nunca se inventa.")
|
|
39512
39511
|
});
|
|
39513
39512
|
var SyncDropiOrdersInput = SyncDropiFinancialSchema;
|
|
39514
|
-
var CreateManualProductInput = CreateManualProductControlSchema.
|
|
39513
|
+
var CreateManualProductInput = z155.strictObject(CreateManualProductControlSchema.shape).omit({
|
|
39515
39514
|
requestId: true
|
|
39516
39515
|
});
|
|
39517
39516
|
var ListUnmatchedProductsInput = z155.object({
|
|
39518
|
-
operationId: z155.string().
|
|
39517
|
+
operationId: z155.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
39519
39518
|
}).strict();
|
|
39520
39519
|
var ResolveUnmatchedProductInput = ResolveUnmatchedProductSchema;
|
|
39521
39520
|
var ListLinkableCampaignsInput = z155.object({}).strict();
|
|
@@ -39526,13 +39525,13 @@ var LinkProductCampaignInput = z155.object({
|
|
|
39526
39525
|
]).describe("La red publicitaria de la campa\xF1a."),
|
|
39527
39526
|
accountId: z155.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La cuenta publicitaria. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
39528
39527
|
campaignId: z155.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La campa\xF1a. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
39529
|
-
productControlId: z155.string().
|
|
39528
|
+
productControlId: z155.string().guid().optional().describe("El id del producto en su control financiero."),
|
|
39530
39529
|
shopDomain: z155.string().min(1).optional().describe("La tienda del producto; con shopifyProductId es la otra forma de decir cu\xE1l es."),
|
|
39531
39530
|
shopifyProductId: z155.string().min(1).optional().describe("El id del producto en su tienda. Va junto a shopDomain.")
|
|
39532
39531
|
}).strict();
|
|
39533
39532
|
var DeleteMonthlyExpenseInput = DeleteMonthlyExpenseSchema;
|
|
39534
39533
|
var RemoveProductControlInput = z155.object({
|
|
39535
|
-
productControlId: z155.string().
|
|
39534
|
+
productControlId: z155.string().guid().describe("El id del producto en su control. Sale del listado; nunca se inventa.")
|
|
39536
39535
|
}).strict();
|
|
39537
39536
|
function manualProductRequestId(input) {
|
|
39538
39537
|
const digest3 = createHash4("sha256").update(JSON.stringify(input, [
|
|
@@ -40086,6 +40085,8 @@ function createServer(opts) {
|
|
|
40086
40085
|
},
|
|
40087
40086
|
logging: {}
|
|
40088
40087
|
},
|
|
40088
|
+
// Bound structural work before parsing hosted tool arguments; stdio remains local.
|
|
40089
|
+
maxToolInputElements: transport === "http" ? 1e4 : void 0,
|
|
40089
40090
|
instructions
|
|
40090
40091
|
});
|
|
40091
40092
|
const api = new ApiClient(apiBaseUrl, opts.credential, {
|