@productmaker/mcp 12.3.1 → 12.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/http.js +607 -626
- package/dist/stdio.js +607 -626
- package/package.json +3 -3
package/dist/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
|
|
@@ -5881,6 +5881,11 @@ var LANDING_STRATEGIES = [
|
|
|
5881
5881
|
"lifestyle_identity"
|
|
5882
5882
|
];
|
|
5883
5883
|
var LandingStrategySchema = z14.enum(LANDING_STRATEGIES);
|
|
5884
|
+
var SELECTABLE_LANDING_STRATEGIES = [
|
|
5885
|
+
"classic",
|
|
5886
|
+
"social_proof"
|
|
5887
|
+
];
|
|
5888
|
+
var SelectableLandingStrategySchema = z14.enum(SELECTABLE_LANDING_STRATEGIES);
|
|
5884
5889
|
var EffectiveLandingStrategySchema = LandingStrategySchema.exclude([
|
|
5885
5890
|
"auto"
|
|
5886
5891
|
]);
|
|
@@ -6026,7 +6031,7 @@ var LandingImageReadable = z15.object({
|
|
|
6026
6031
|
*/
|
|
6027
6032
|
index: z15.number().int().min(1).max(20),
|
|
6028
6033
|
/** Child task that owns this image when variants are rendered alongside the root task. */
|
|
6029
|
-
variantTaskId: z15.string().
|
|
6034
|
+
variantTaskId: z15.string().guid().optional(),
|
|
6030
6035
|
/**
|
|
6031
6036
|
* The image's own `indexNum` within its OWN task (root or variant) — set
|
|
6032
6037
|
* once at render time and never recomputed. Unlike `index`, this is stable
|
|
@@ -6229,7 +6234,7 @@ var JsonValueSchema = z16.lazy(() => z16.union([
|
|
|
6229
6234
|
z16.boolean(),
|
|
6230
6235
|
z16.null(),
|
|
6231
6236
|
z16.array(JsonValueSchema),
|
|
6232
|
-
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(JsonValueSchema))
|
|
6237
|
+
z16.custom(isPlainJsonRecord, "content objects must be plain JSON records").pipe(z16.record(z16.string(), JsonValueSchema))
|
|
6233
6238
|
]));
|
|
6234
6239
|
var CodeLandingRecipeSelectionSchema = z16.object({
|
|
6235
6240
|
blockId: z16.string().trim().min(1),
|
|
@@ -6688,7 +6693,7 @@ var PresignUploadResponse = z19.object({
|
|
|
6688
6693
|
/** Present only for purpose=service. */
|
|
6689
6694
|
assetToken: z19.string().min(1).optional(),
|
|
6690
6695
|
/** Present only for purpose=meta_staging. */
|
|
6691
|
-
stagingAssetId: z19.string().
|
|
6696
|
+
stagingAssetId: z19.string().guid().optional()
|
|
6692
6697
|
});
|
|
6693
6698
|
var MetaUploadMediaKind = z19.enum([
|
|
6694
6699
|
"image",
|
|
@@ -6698,7 +6703,7 @@ var MetaUploadMediaKind = z19.enum([
|
|
|
6698
6703
|
var META_UPLOAD_MAX_FILES = CAMPAIGN_LIMITS.MAX_CREATIVES;
|
|
6699
6704
|
var META_UPLOAD_IMAGE_MAX_FILES = 5;
|
|
6700
6705
|
var MetaUploadAssetSummary = z19.object({
|
|
6701
|
-
stagingAssetId: z19.string().
|
|
6706
|
+
stagingAssetId: z19.string().guid(),
|
|
6702
6707
|
mediaKind: MediaKind
|
|
6703
6708
|
}).strict();
|
|
6704
6709
|
var MetaCampaignType = z19.enum([
|
|
@@ -6706,7 +6711,7 @@ var MetaCampaignType = z19.enum([
|
|
|
6706
6711
|
"traffic",
|
|
6707
6712
|
"engagement"
|
|
6708
6713
|
]);
|
|
6709
|
-
var MetaPublishAttemptId = z19.string().
|
|
6714
|
+
var MetaPublishAttemptId = z19.string().guid();
|
|
6710
6715
|
var MetaOptimizationMode = z19.enum([
|
|
6711
6716
|
"advantage_plus",
|
|
6712
6717
|
"manual"
|
|
@@ -6779,14 +6784,14 @@ var ResolveMetaUploadSessionRequest = z19.object({
|
|
|
6779
6784
|
/** Opaque signed token embedded in the one-click upload page URL. */
|
|
6780
6785
|
token: z19.string().min(1).max(4096),
|
|
6781
6786
|
/** Stable browser-generated id so failed PUT retries reuse the same slot. */
|
|
6782
|
-
uploadId: z19.string().
|
|
6787
|
+
uploadId: z19.string().guid().optional(),
|
|
6783
6788
|
/** Browser-selected metadata; the API checks it against the session kind/role. */
|
|
6784
6789
|
contentType: z19.enum(META_STAGING_CONTENT_TYPES),
|
|
6785
6790
|
fileName: z19.string().min(1).max(255),
|
|
6786
6791
|
fileSize: z19.number().int().positive().max(CAMPAIGN_LIMITS.MAX_FILE_SIZE_BYTES)
|
|
6787
6792
|
}).strict();
|
|
6788
6793
|
var MetaUploadSessionResponse = z19.object({
|
|
6789
|
-
sessionId: z19.string().
|
|
6794
|
+
sessionId: z19.string().guid(),
|
|
6790
6795
|
uploadPageUrl: HttpUrl,
|
|
6791
6796
|
mediaKind: MetaUploadMediaKind,
|
|
6792
6797
|
assetRole: z19.enum([
|
|
@@ -6798,18 +6803,18 @@ var MetaUploadSessionResponse = z19.object({
|
|
|
6798
6803
|
}).strict();
|
|
6799
6804
|
var ResolveMetaUploadSessionResponse = z19.object({
|
|
6800
6805
|
uploadUrl: z19.string().url(),
|
|
6801
|
-
stagingAssetId: z19.string().
|
|
6806
|
+
stagingAssetId: z19.string().guid(),
|
|
6802
6807
|
expiresAt: z19.string().datetime()
|
|
6803
6808
|
}).strict();
|
|
6804
6809
|
var MetaUploadSessionStatusResponse = z19.object({
|
|
6805
|
-
sessionId: z19.string().
|
|
6810
|
+
sessionId: z19.string().guid(),
|
|
6806
6811
|
status: z19.enum([
|
|
6807
6812
|
"pending",
|
|
6808
6813
|
"uploaded"
|
|
6809
6814
|
]),
|
|
6810
6815
|
assets: z19.array(MetaUploadAssetSummary).max(META_UPLOAD_MAX_FILES),
|
|
6811
6816
|
/** Legacy single-file response field retained for older callers. */
|
|
6812
|
-
stagingAssetId: z19.string().
|
|
6817
|
+
stagingAssetId: z19.string().guid().optional()
|
|
6813
6818
|
}).strict();
|
|
6814
6819
|
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), {
|
|
6815
6820
|
message: 'adAccountId must look like "act_1234567890" (a bare numeric id is also accepted)'
|
|
@@ -6889,6 +6894,33 @@ var MetaCampaignDefaults = MetaCampaignConfigBase.omit({
|
|
|
6889
6894
|
*/
|
|
6890
6895
|
currency: z19.string().length(3).regex(/^[A-Z]{3}$/).nullable().optional()
|
|
6891
6896
|
});
|
|
6897
|
+
function refineMetaCreativeSources(value, ctx) {
|
|
6898
|
+
value.creatives.forEach((creative, index) => {
|
|
6899
|
+
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
6900
|
+
ctx.addIssue({
|
|
6901
|
+
code: z19.ZodIssueCode.custom,
|
|
6902
|
+
path: [
|
|
6903
|
+
"creatives",
|
|
6904
|
+
index,
|
|
6905
|
+
"mediaUrl"
|
|
6906
|
+
],
|
|
6907
|
+
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
6908
|
+
});
|
|
6909
|
+
}
|
|
6910
|
+
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
6911
|
+
ctx.addIssue({
|
|
6912
|
+
code: z19.ZodIssueCode.custom,
|
|
6913
|
+
path: [
|
|
6914
|
+
"creatives",
|
|
6915
|
+
index,
|
|
6916
|
+
"thumbnailUrl"
|
|
6917
|
+
],
|
|
6918
|
+
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
6919
|
+
});
|
|
6920
|
+
}
|
|
6921
|
+
});
|
|
6922
|
+
}
|
|
6923
|
+
__name(refineMetaCreativeSources, "refineMetaCreativeSources");
|
|
6892
6924
|
var UploadToMetaRequest = z19.object({
|
|
6893
6925
|
/** Caller-owned retry fence. Required before any provider operation. */
|
|
6894
6926
|
publishAttemptId: MetaPublishAttemptId,
|
|
@@ -6902,7 +6934,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
6902
6934
|
/** Legacy public URL; new Meta flows should use mediaAssetId. */
|
|
6903
6935
|
mediaUrl: HttpUrl.optional(),
|
|
6904
6936
|
/** Owner-scoped temporary asset created by the Meta staging upload flow. */
|
|
6905
|
-
mediaAssetId: z19.string().
|
|
6937
|
+
mediaAssetId: z19.string().guid().optional(),
|
|
6906
6938
|
/**
|
|
6907
6939
|
* Public URL of an extracted thumbnail. Required for video ads — Meta
|
|
6908
6940
|
* rejects video ad creatives without `image_hash`/`image_url` in
|
|
@@ -6911,7 +6943,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
6911
6943
|
*/
|
|
6912
6944
|
thumbnailUrl: HttpUrl.optional(),
|
|
6913
6945
|
/** Owner-scoped temporary thumbnail created by the Meta staging upload flow. */
|
|
6914
|
-
thumbnailAssetId: z19.string().
|
|
6946
|
+
thumbnailAssetId: z19.string().guid().optional()
|
|
6915
6947
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
6916
6948
|
/** Meta Ad Account ID */
|
|
6917
6949
|
adAccountId: MetaAdAccountId,
|
|
@@ -6938,30 +6970,7 @@ var UploadToMetaRequest = z19.object({
|
|
|
6938
6970
|
message: "landingUrl is required for landing destinations"
|
|
6939
6971
|
});
|
|
6940
6972
|
}
|
|
6941
|
-
value
|
|
6942
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
6943
|
-
ctx.addIssue({
|
|
6944
|
-
code: z19.ZodIssueCode.custom,
|
|
6945
|
-
path: [
|
|
6946
|
-
"creatives",
|
|
6947
|
-
index,
|
|
6948
|
-
"mediaUrl"
|
|
6949
|
-
],
|
|
6950
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
6951
|
-
});
|
|
6952
|
-
}
|
|
6953
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
6954
|
-
ctx.addIssue({
|
|
6955
|
-
code: z19.ZodIssueCode.custom,
|
|
6956
|
-
path: [
|
|
6957
|
-
"creatives",
|
|
6958
|
-
index,
|
|
6959
|
-
"thumbnailUrl"
|
|
6960
|
-
],
|
|
6961
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
6962
|
-
});
|
|
6963
|
-
}
|
|
6964
|
-
});
|
|
6973
|
+
refineMetaCreativeSources(value, ctx);
|
|
6965
6974
|
});
|
|
6966
6975
|
var CampaignLifetimeMetricsSchema = z19.object({
|
|
6967
6976
|
spend: z19.number().nonnegative(),
|
|
@@ -6999,13 +7008,13 @@ var Revision = z20.number().finite().int().nonnegative();
|
|
|
6999
7008
|
var ClassicLandingBlockSchema = z20.discriminatedUnion("kind", [
|
|
7000
7009
|
z20.object({
|
|
7001
7010
|
kind: z20.literal("image"),
|
|
7002
|
-
ownerTaskId: z20.string().
|
|
7011
|
+
ownerTaskId: z20.string().guid(),
|
|
7003
7012
|
sourceIndex: z20.number().int().positive()
|
|
7004
7013
|
}).strict(),
|
|
7005
7014
|
z20.object({
|
|
7006
7015
|
kind: z20.literal("gif"),
|
|
7007
|
-
ownerTaskId: z20.string().
|
|
7008
|
-
gifId: z20.string().
|
|
7016
|
+
ownerTaskId: z20.string().guid(),
|
|
7017
|
+
gifId: z20.string().guid()
|
|
7009
7018
|
}).strict()
|
|
7010
7019
|
]);
|
|
7011
7020
|
function classicLandingBlockId(block) {
|
|
@@ -7028,17 +7037,17 @@ var Blocks = z20.array(ClassicLandingBlockSchema).max(100).superRefine((blocks,
|
|
|
7028
7037
|
});
|
|
7029
7038
|
var ClassicLandingDocumentSchema = z20.object({
|
|
7030
7039
|
version: z20.literal(1),
|
|
7031
|
-
ownerTaskId: z20.string().
|
|
7040
|
+
ownerTaskId: z20.string().guid(),
|
|
7032
7041
|
revision: Revision,
|
|
7033
7042
|
blocks: Blocks
|
|
7034
7043
|
}).strict();
|
|
7035
7044
|
var LandingGifBlockSelectionSchema = z20.object({
|
|
7036
|
-
ownerTaskId: z20.string().
|
|
7037
|
-
gifId: z20.string().
|
|
7045
|
+
ownerTaskId: z20.string().guid(),
|
|
7046
|
+
gifId: z20.string().guid(),
|
|
7038
7047
|
gifRevision: Revision
|
|
7039
7048
|
}).strict();
|
|
7040
7049
|
var ClassicLandingImageSelectionSchema = z20.object({
|
|
7041
|
-
ownerTaskId: z20.string().
|
|
7050
|
+
ownerTaskId: z20.string().guid(),
|
|
7042
7051
|
sourceIndex: z20.number().int().positive(),
|
|
7043
7052
|
variantIndex: z20.number().int().nonnegative()
|
|
7044
7053
|
}).strict();
|
|
@@ -7089,7 +7098,7 @@ var ClassicLandingBlockMutationSchema = z20.object({
|
|
|
7089
7098
|
blocks: Blocks
|
|
7090
7099
|
}).strict();
|
|
7091
7100
|
var LandingGifVisibilityMutationSchema = z20.object({
|
|
7092
|
-
gifId: z20.string().
|
|
7101
|
+
gifId: z20.string().guid(),
|
|
7093
7102
|
expectedGifRevision: Revision,
|
|
7094
7103
|
expectedDocumentRevision: Revision,
|
|
7095
7104
|
action: z20.enum([
|
|
@@ -7875,7 +7884,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
7875
7884
|
editorGifOwnership: z23.object({
|
|
7876
7885
|
version: z23.literal(1),
|
|
7877
7886
|
source: z23.object({
|
|
7878
|
-
ownerTaskId: z23.string().
|
|
7887
|
+
ownerTaskId: z23.string().guid(),
|
|
7879
7888
|
gifRevision: z23.number().int().nonnegative(),
|
|
7880
7889
|
contentHash: z23.string().regex(/^[a-f0-9]{64}$/),
|
|
7881
7890
|
posterHash: z23.string().regex(/^[a-f0-9]{64}$/)
|
|
@@ -7883,7 +7892,7 @@ var CodeLandingProvenanceSchema = z23.object({
|
|
|
7883
7892
|
}).strict().optional(),
|
|
7884
7893
|
mode: LandingDocumentModeSchema,
|
|
7885
7894
|
strategyVersion: z23.string().min(1).max(60),
|
|
7886
|
-
sourceTaskId: z23.string().
|
|
7895
|
+
sourceTaskId: z23.string().guid().optional(),
|
|
7887
7896
|
winnerSourceUrl: CodeLandingUrlSchema.optional(),
|
|
7888
7897
|
notes: z23.array(z23.string().max(240)).max(16),
|
|
7889
7898
|
/**
|
|
@@ -8315,8 +8324,8 @@ var QuotedLandingEditRequest = z23.object({
|
|
|
8315
8324
|
"full"
|
|
8316
8325
|
]),
|
|
8317
8326
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([]),
|
|
8318
|
-
quoteId: z23.string().
|
|
8319
|
-
idempotencyKey: z23.string().
|
|
8327
|
+
quoteId: z23.string().guid(),
|
|
8328
|
+
idempotencyKey: z23.string().guid()
|
|
8320
8329
|
});
|
|
8321
8330
|
var CreateLandingEditRequest = z23.union([
|
|
8322
8331
|
QuotedLandingEditRequest,
|
|
@@ -8396,7 +8405,7 @@ var LandingEditDto = z23.object({
|
|
|
8396
8405
|
costCents: z23.number(),
|
|
8397
8406
|
error: z23.string().nullable(),
|
|
8398
8407
|
createdAt: z23.string(),
|
|
8399
|
-
operationId: z23.string().
|
|
8408
|
+
operationId: z23.string().guid().nullable().optional(),
|
|
8400
8409
|
expectedRevision: z23.number().int().nonnegative().optional(),
|
|
8401
8410
|
appliedRevision: z23.number().int().positive().nullable().optional(),
|
|
8402
8411
|
refundStatus: z23.enum([
|
|
@@ -8411,10 +8420,10 @@ var LandingEditDto = z23.object({
|
|
|
8411
8420
|
commerceReconciliation: CommerceReconciliationSchema.nullable().optional(),
|
|
8412
8421
|
delivery: z23.lazy(() => LandingEditDeliverySchema).optional(),
|
|
8413
8422
|
/** Photos the seller attached to this message (see LandingEditAttachmentDto). */
|
|
8414
|
-
attachmentIds: z23.array(z23.string().
|
|
8423
|
+
attachmentIds: z23.array(z23.string().guid()).max(4).optional()
|
|
8415
8424
|
});
|
|
8416
8425
|
var LandingEditAttachmentDto = z23.object({
|
|
8417
|
-
id: z23.string().
|
|
8426
|
+
id: z23.string().guid(),
|
|
8418
8427
|
url: z23.string().url(),
|
|
8419
8428
|
width: z23.number().int().positive().nullable(),
|
|
8420
8429
|
height: z23.number().int().positive().nullable()
|
|
@@ -8440,12 +8449,12 @@ var LandingEditQuoteRequest = z23.object({
|
|
|
8440
8449
|
attachmentIds: z23.array(CodeLandingIdSchema).max(4).default([])
|
|
8441
8450
|
});
|
|
8442
8451
|
var LandingEditSubmitRequest = LandingEditQuoteRequest.extend({
|
|
8443
|
-
quoteId: z23.string().
|
|
8444
|
-
idempotencyKey: z23.string().
|
|
8452
|
+
quoteId: z23.string().guid(),
|
|
8453
|
+
idempotencyKey: z23.string().guid()
|
|
8445
8454
|
});
|
|
8446
8455
|
var LandingOperationQuoteDto = z23.object({
|
|
8447
8456
|
editPlanSummary: z23.lazy(() => LandingEditPlanSummarySchema).optional(),
|
|
8448
|
-
id: z23.string().
|
|
8457
|
+
id: z23.string().guid(),
|
|
8449
8458
|
kind: z23.enum([
|
|
8450
8459
|
"edit_patch",
|
|
8451
8460
|
"edit_full",
|
|
@@ -8467,7 +8476,7 @@ var LandingRevisionHistoryItemDto = z23.object({
|
|
|
8467
8476
|
parentRevision: z23.number().int().positive().nullable(),
|
|
8468
8477
|
source: z23.string().min(1),
|
|
8469
8478
|
summary: z23.string().nullable(),
|
|
8470
|
-
editId: z23.string().
|
|
8479
|
+
editId: z23.string().guid().nullable(),
|
|
8471
8480
|
createdAt: z23.string().datetime(),
|
|
8472
8481
|
isActive: z23.boolean(),
|
|
8473
8482
|
isRedoTarget: z23.boolean(),
|
|
@@ -8513,7 +8522,7 @@ var LandingGifSourceSchema = z24.discriminatedUnion("kind", [
|
|
|
8513
8522
|
z24.object({
|
|
8514
8523
|
kind: z24.literal("generated"),
|
|
8515
8524
|
referenceSelectionRevision: Revision2,
|
|
8516
|
-
referenceImageAssetId: z24.string().
|
|
8525
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8517
8526
|
motionBrief: z24.string().trim().min(1).max(1500)
|
|
8518
8527
|
}).strict()
|
|
8519
8528
|
]);
|
|
@@ -8538,7 +8547,7 @@ var ReuseIdentity = z24.object({
|
|
|
8538
8547
|
byteSize: z24.number().finite().int().positive().max(50 * 1024 * 1024),
|
|
8539
8548
|
contentHash: Hash,
|
|
8540
8549
|
provenance: z24.object({
|
|
8541
|
-
taskId: z24.string().
|
|
8550
|
+
taskId: z24.string().guid(),
|
|
8542
8551
|
scanId: z24.string().min(1).max(200).optional(),
|
|
8543
8552
|
sourceUrl: z24.string().url().max(4096).optional(),
|
|
8544
8553
|
externalAdId: z24.string().min(1).max(200).optional()
|
|
@@ -8568,7 +8577,7 @@ var LandingGifReuseCandidateSchema = z24.discriminatedUnion("kind", [
|
|
|
8568
8577
|
var GeneratedResolvedSourceSchema = z24.object({
|
|
8569
8578
|
kind: z24.literal("generated"),
|
|
8570
8579
|
referenceSelectionRevision: Revision2,
|
|
8571
|
-
referenceImageAssetId: z24.string().
|
|
8580
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8572
8581
|
referenceKeys: z24.array(StorageKey).min(1).max(4),
|
|
8573
8582
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
8574
8583
|
identityReferenceFingerprint: Hash.optional(),
|
|
@@ -8590,7 +8599,7 @@ var AutomaticResolvedSourceSchema = GeneratedResolvedSourceSchema.omit({
|
|
|
8590
8599
|
referenceImageAssetId: true
|
|
8591
8600
|
}).extend({
|
|
8592
8601
|
kind: z24.literal("automatic"),
|
|
8593
|
-
ownerTaskId: z24.string().
|
|
8602
|
+
ownerTaskId: z24.string().guid(),
|
|
8594
8603
|
productName: z24.string().min(1).max(500),
|
|
8595
8604
|
productTruth: JsonValueSchema.optional(),
|
|
8596
8605
|
useSheet: JsonValueSchema.optional(),
|
|
@@ -8654,7 +8663,7 @@ var LandingGifPlacementSchema = z24.discriminatedUnion("kind", [
|
|
|
8654
8663
|
}).strict(),
|
|
8655
8664
|
z24.object({
|
|
8656
8665
|
kind: z24.literal("classic"),
|
|
8657
|
-
ownerTaskId: z24.string().
|
|
8666
|
+
ownerTaskId: z24.string().guid(),
|
|
8658
8667
|
afterSourceIndex: z24.number().finite().int().min(1)
|
|
8659
8668
|
}).strict(),
|
|
8660
8669
|
z24.object({
|
|
@@ -8669,7 +8678,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8669
8678
|
placement: LandingGifPlacementSchema,
|
|
8670
8679
|
expectedLandingRevision: Revision2,
|
|
8671
8680
|
expectedGifRevision: Revision2,
|
|
8672
|
-
gifId: z24.string().
|
|
8681
|
+
gifId: z24.string().guid().optional(),
|
|
8673
8682
|
expectedDocumentRevision: Revision2.optional()
|
|
8674
8683
|
}).strict().superRefine((request, ctx) => {
|
|
8675
8684
|
if (request.gifId === void 0 !== (request.expectedDocumentRevision === void 0)) {
|
|
@@ -8709,7 +8718,7 @@ var LandingGifCreateRequestSchema = z24.object({
|
|
|
8709
8718
|
});
|
|
8710
8719
|
var LandingGifSubmitRequestSchema = z24.object({
|
|
8711
8720
|
request: LandingGifCreateRequestSchema,
|
|
8712
|
-
quoteId: z24.string().
|
|
8721
|
+
quoteId: z24.string().guid(),
|
|
8713
8722
|
idempotencyKey: z24.string().trim().min(1).max(200)
|
|
8714
8723
|
}).strict();
|
|
8715
8724
|
var LandingGifRemoveRequestSchema = z24.object({
|
|
@@ -8745,17 +8754,17 @@ var LandingGifStoredDescriptorSchema = GifTechnicalMetadataSchema.extend({
|
|
|
8745
8754
|
quality: LandingGifQualitySchema
|
|
8746
8755
|
}).strict();
|
|
8747
8756
|
var LandingGifReadableSchema = LandingGifStoredDescriptorSchema.extend({
|
|
8748
|
-
ownerTaskId: z24.string().
|
|
8757
|
+
ownerTaskId: z24.string().guid(),
|
|
8749
8758
|
gifRevision: Revision2,
|
|
8750
8759
|
gifUrl: z24.string().url(),
|
|
8751
8760
|
posterUrl: z24.string().url()
|
|
8752
8761
|
}).strict();
|
|
8753
8762
|
var LandingGifSelectionSchema = z24.object({
|
|
8754
|
-
ownerTaskId: z24.string().
|
|
8763
|
+
ownerTaskId: z24.string().guid(),
|
|
8755
8764
|
gifRevision: Revision2
|
|
8756
8765
|
}).strict();
|
|
8757
8766
|
var LandingGifOperationStatusSchema = z24.object({
|
|
8758
|
-
operationId: z24.string().
|
|
8767
|
+
operationId: z24.string().guid(),
|
|
8759
8768
|
status: z24.enum([
|
|
8760
8769
|
"reserved",
|
|
8761
8770
|
"queued",
|
|
@@ -8777,13 +8786,13 @@ var LandingGifOperationStatusSchema = z24.object({
|
|
|
8777
8786
|
reservedUserCents: z24.number().finite().int().nonnegative()
|
|
8778
8787
|
}).strict();
|
|
8779
8788
|
var LandingGifUseProposalSchema = z24.object({
|
|
8780
|
-
id: z24.string().
|
|
8781
|
-
gifId: z24.string().
|
|
8789
|
+
id: z24.string().guid(),
|
|
8790
|
+
gifId: z24.string().guid(),
|
|
8782
8791
|
idea: z24.string().trim().min(1).max(300),
|
|
8783
8792
|
motionBrief: z24.string().trim().min(1).max(1500),
|
|
8784
8793
|
productFingerprint: Hash,
|
|
8785
8794
|
referenceFingerprint: Hash.nullable(),
|
|
8786
|
-
referenceImageAssetId: z24.string().
|
|
8795
|
+
referenceImageAssetId: z24.string().guid().optional(),
|
|
8787
8796
|
referenceImageAssetKey: StorageKey.optional(),
|
|
8788
8797
|
referenceImageUrl: z24.string().url().optional(),
|
|
8789
8798
|
identityReferenceKeys: z24.array(StorageKey).min(1).max(4).optional(),
|
|
@@ -8804,8 +8813,8 @@ var LandingGifStateSchema = z24.enum([
|
|
|
8804
8813
|
"removed"
|
|
8805
8814
|
]);
|
|
8806
8815
|
var LandingGifItemSchema = z24.object({
|
|
8807
|
-
gifId: z24.string().
|
|
8808
|
-
ownerTaskId: z24.string().
|
|
8816
|
+
gifId: z24.string().guid(),
|
|
8817
|
+
ownerTaskId: z24.string().guid(),
|
|
8809
8818
|
gifRevision: Revision2,
|
|
8810
8819
|
state: LandingGifStateSchema,
|
|
8811
8820
|
/** Server-derived compatibility for an already delivered singular primary. */
|
|
@@ -8845,8 +8854,8 @@ function isDeliverableLandingGif(item) {
|
|
|
8845
8854
|
}
|
|
8846
8855
|
__name(isDeliverableLandingGif, "isDeliverableLandingGif");
|
|
8847
8856
|
var InitialLandingGifStatusSchema = z24.object({
|
|
8848
|
-
intentId: z24.string().
|
|
8849
|
-
gifId: z24.string().
|
|
8857
|
+
intentId: z24.string().guid(),
|
|
8858
|
+
gifId: z24.string().guid(),
|
|
8850
8859
|
status: z24.enum([
|
|
8851
8860
|
"funded",
|
|
8852
8861
|
"awaiting_usage",
|
|
@@ -8862,7 +8871,7 @@ var InitialLandingGifStatusSchema = z24.object({
|
|
|
8862
8871
|
refundStatus: LandingGifOperationStatusSchema.shape.refundStatus
|
|
8863
8872
|
}).strict();
|
|
8864
8873
|
var LandingGifCollectionResponseSchema = z24.object({
|
|
8865
|
-
ownerTaskId: z24.string().
|
|
8874
|
+
ownerTaskId: z24.string().guid(),
|
|
8866
8875
|
landingRevision: Revision2,
|
|
8867
8876
|
document: ClassicLandingDocumentSchema,
|
|
8868
8877
|
gifs: z24.array(LandingGifItemSchema).max(100),
|
|
@@ -8876,15 +8885,15 @@ var LandingGifCollectionResponseSchema = z24.object({
|
|
|
8876
8885
|
}
|
|
8877
8886
|
});
|
|
8878
8887
|
var LandingGifTargetSchema = z24.object({
|
|
8879
|
-
gifId: z24.string().
|
|
8888
|
+
gifId: z24.string().guid(),
|
|
8880
8889
|
expectedGifRevision: Revision2
|
|
8881
8890
|
}).strict();
|
|
8882
8891
|
var LandingGifProposalRequestSchema = z24.object({
|
|
8883
|
-
gifId: z24.string().
|
|
8892
|
+
gifId: z24.string().guid().optional(),
|
|
8884
8893
|
expectedDocumentRevision: Revision2,
|
|
8885
8894
|
afterBlockId: z24.string().min(1).max(300).optional(),
|
|
8886
8895
|
merchantIdea: z24.string().trim().min(8).max(300).optional(),
|
|
8887
|
-
referenceImageAssetId: z24.string().
|
|
8896
|
+
referenceImageAssetId: z24.string().guid().nullable().optional()
|
|
8888
8897
|
}).strict();
|
|
8889
8898
|
var LandingGifQuoteResponseSchema = z24.object({
|
|
8890
8899
|
quote: LandingOperationQuoteDto.extend({
|
|
@@ -8895,7 +8904,7 @@ var LandingGifCreateResponseSchema = z24.object({
|
|
|
8895
8904
|
operation: LandingGifOperationStatusSchema
|
|
8896
8905
|
}).strict();
|
|
8897
8906
|
var LandingGifStatusResponseSchema = z24.object({
|
|
8898
|
-
ownerTaskId: z24.string().
|
|
8907
|
+
ownerTaskId: z24.string().guid(),
|
|
8899
8908
|
landingRevision: Revision2,
|
|
8900
8909
|
gifRevision: Revision2,
|
|
8901
8910
|
demoGif: LandingGifReadableSchema.nullable(),
|
|
@@ -8933,9 +8942,9 @@ var LandingGifPresentationResponseSchema = z24.object({
|
|
|
8933
8942
|
}).strict();
|
|
8934
8943
|
var LandingGifCompletionReceiptBase = z24.object({
|
|
8935
8944
|
version: z24.literal(1),
|
|
8936
|
-
operationId: z24.string().
|
|
8937
|
-
taskId: z24.string().
|
|
8938
|
-
stepId: z24.string().
|
|
8945
|
+
operationId: z24.string().guid(),
|
|
8946
|
+
taskId: z24.string().guid(),
|
|
8947
|
+
stepId: z24.string().guid(),
|
|
8939
8948
|
stepEpoch: Revision2,
|
|
8940
8949
|
acceptedGifRevision: z24.number().finite().int().positive(),
|
|
8941
8950
|
gifAssetKey: z24.string().min(1),
|
|
@@ -8947,7 +8956,7 @@ var LandingGifCompletionReceiptSchema = z24.discriminatedUnion("version", [
|
|
|
8947
8956
|
LandingGifCompletionReceiptBase,
|
|
8948
8957
|
LandingGifCompletionReceiptBase.extend({
|
|
8949
8958
|
version: z24.literal(2),
|
|
8950
|
-
gifId: z24.string().
|
|
8959
|
+
gifId: z24.string().guid(),
|
|
8951
8960
|
disposition: z24.enum([
|
|
8952
8961
|
"activated",
|
|
8953
8962
|
"retained"
|
|
@@ -9248,7 +9257,7 @@ var VideoCreativeContext = z27.object({
|
|
|
9248
9257
|
productTitle: z27.string(),
|
|
9249
9258
|
primaryAngle: z27.string(),
|
|
9250
9259
|
buyerPersona: z27.string().optional(),
|
|
9251
|
-
brandId: z27.string().
|
|
9260
|
+
brandId: z27.string().guid().optional(),
|
|
9252
9261
|
features: z27.array(z27.string()).default([]),
|
|
9253
9262
|
scriptNotes: z27.string().optional(),
|
|
9254
9263
|
cta: z27.string().optional(),
|
|
@@ -9407,19 +9416,19 @@ var ImageCreativeJobStatusEnum = z27.enum([
|
|
|
9407
9416
|
"error"
|
|
9408
9417
|
]);
|
|
9409
9418
|
var ImageCreativeJobStatus = z27.object({
|
|
9410
|
-
jobId: z27.string().
|
|
9419
|
+
jobId: z27.string().guid(),
|
|
9411
9420
|
status: ImageCreativeJobStatusEnum,
|
|
9412
9421
|
error: z27.string().optional(),
|
|
9413
9422
|
result: ImageCreativeResult.nullable().optional(),
|
|
9414
9423
|
request: ImageCreativeEditableRequest.optional()
|
|
9415
9424
|
});
|
|
9416
9425
|
var ImageCreativeJobPayload = z27.object({
|
|
9417
|
-
jobId: z27.string().
|
|
9426
|
+
jobId: z27.string().guid(),
|
|
9418
9427
|
status: ImageCreativeJobStatusEnum,
|
|
9419
9428
|
replayed: z27.boolean().optional()
|
|
9420
9429
|
});
|
|
9421
9430
|
var ImageCreativeHistoryEntry = z27.object({
|
|
9422
|
-
id: z27.string().
|
|
9431
|
+
id: z27.string().guid(),
|
|
9423
9432
|
createdAt: z27.string().datetime(),
|
|
9424
9433
|
status: ImageCreativeJobStatusEnum,
|
|
9425
9434
|
result: ImageCreativeResult.nullable(),
|
|
@@ -9439,27 +9448,27 @@ var LandingCreativeResult = z27.object({
|
|
|
9439
9448
|
createdAt: z27.string().datetime().optional()
|
|
9440
9449
|
});
|
|
9441
9450
|
var LandingCreativeJobStatus = z27.object({
|
|
9442
|
-
jobId: z27.string().
|
|
9451
|
+
jobId: z27.string().guid(),
|
|
9443
9452
|
status: LandingCreativeJobStatusEnum,
|
|
9444
9453
|
error: z27.string().optional(),
|
|
9445
9454
|
result: LandingCreativeResult.nullable().optional()
|
|
9446
9455
|
});
|
|
9447
9456
|
var LandingCreativeJobPayload = z27.object({
|
|
9448
|
-
jobId: z27.string().
|
|
9457
|
+
jobId: z27.string().guid(),
|
|
9449
9458
|
status: LandingCreativeJobStatusEnum,
|
|
9450
9459
|
replayed: z27.boolean().optional()
|
|
9451
9460
|
});
|
|
9452
9461
|
var LandingCreativeHistoryEntry = z27.object({
|
|
9453
|
-
id: z27.string().
|
|
9462
|
+
id: z27.string().guid(),
|
|
9454
9463
|
createdAt: z27.string().datetime(),
|
|
9455
9464
|
status: LandingCreativeJobStatusEnum,
|
|
9456
9465
|
result: LandingCreativeResult.nullable(),
|
|
9457
9466
|
error: z27.string().optional()
|
|
9458
9467
|
});
|
|
9459
9468
|
var CreativeGeneratorJob = z27.object({
|
|
9460
|
-
taskId: z27.string().
|
|
9469
|
+
taskId: z27.string().guid(),
|
|
9461
9470
|
/** Immutable approved product-reference snapshot consumed by the worker. */
|
|
9462
|
-
referenceVersionId: z27.string().
|
|
9471
|
+
referenceVersionId: z27.string().guid().optional(),
|
|
9463
9472
|
cleanImagesWaitAttempt: z27.number().int().nonnegative().optional()
|
|
9464
9473
|
});
|
|
9465
9474
|
var ImageCreativeEditStatus = z27.enum([
|
|
@@ -9475,8 +9484,8 @@ var ImageCreativeRegenerateRequest = z27.object({
|
|
|
9475
9484
|
});
|
|
9476
9485
|
var ImageCreativeEditStatusResponse = z27.object({
|
|
9477
9486
|
ok: z27.literal(true),
|
|
9478
|
-
operationId: z27.string().
|
|
9479
|
-
taskId: z27.string().
|
|
9487
|
+
operationId: z27.string().guid(),
|
|
9488
|
+
taskId: z27.string().guid(),
|
|
9480
9489
|
variantIndex: z27.number().int().nonnegative(),
|
|
9481
9490
|
status: ImageCreativeEditStatus,
|
|
9482
9491
|
assetKey: z27.string().optional(),
|
|
@@ -9617,20 +9626,20 @@ var CreativeGenderPin = z33.enum([
|
|
|
9617
9626
|
var CreativeDirectionSchema = z33.string().transform((value) => value.trim()).pipe(z33.string().max(CREATIVE_DIRECTION_MAX_CHARS));
|
|
9618
9627
|
var IngestOptions = z33.object({
|
|
9619
9628
|
/** Optional owner-scoped guided journey context. Never bypasses ingest gates. */
|
|
9620
|
-
dropshippingProjectId: z33.string().
|
|
9621
|
-
languageCode: LanguageCodeSchema.default("es-CO"),
|
|
9622
|
-
ugcFormat: VideoFormat.default("single_15s"),
|
|
9629
|
+
dropshippingProjectId: z33.string().guid().optional(),
|
|
9630
|
+
languageCode: LanguageCodeSchema.default("es-CO").nonoptional(),
|
|
9631
|
+
ugcFormat: VideoFormat.default("single_15s").nonoptional(),
|
|
9623
9632
|
country: CountrySchema,
|
|
9624
9633
|
price: PriceSchema,
|
|
9625
9634
|
offer: OfferSchema,
|
|
9626
9635
|
compareAtPrice: CompareAtPriceSchema,
|
|
9627
9636
|
pricingInput: SellerPricingInputSchema.optional(),
|
|
9628
9637
|
paymentMethods: PaymentMethodsSchema,
|
|
9629
|
-
videoStyle: VideoStyle.default("ugc"),
|
|
9638
|
+
videoStyle: VideoStyle.default("ugc").nonoptional(),
|
|
9630
9639
|
/** Canonical public route axes; legacy provider fields remain compatibility aliases. */
|
|
9631
9640
|
videoStructure: VideoStructure.optional(),
|
|
9632
9641
|
videoQuality: VideoQuality.optional(),
|
|
9633
|
-
videoModel: VideoModel.default("veo"),
|
|
9642
|
+
videoModel: VideoModel.default("veo").nonoptional(),
|
|
9634
9643
|
/**
|
|
9635
9644
|
* An explicit registry model id for Free mode (Defect 1, follow-up to the
|
|
9636
9645
|
* model-agnostic video plan). Validated against `activeVideoModels()` in
|
|
@@ -9645,15 +9654,15 @@ var IngestOptions = z33.object({
|
|
|
9645
9654
|
]).optional(),
|
|
9646
9655
|
rawPrompt: FreeVideoOptionsSchema.shape.rawPrompt.optional(),
|
|
9647
9656
|
durationSeconds: FreeVideoOptionsSchema.shape.durationSeconds.optional(),
|
|
9648
|
-
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.optional(),
|
|
9657
|
+
addSubtitles: FreeVideoOptionsSchema.shape.addSubtitles.nonoptional().optional(),
|
|
9649
9658
|
subtitleText: z33.string().transform((value) => value.trim()).pipe(z33.string().max(FREE_VIDEO_SUBTITLE_MAX_CHARS)).optional(),
|
|
9650
|
-
videoTier: WritableVideoTier.default(DEFAULT_VIDEO_TIER),
|
|
9651
|
-
narrativeStyle: NarrativeStyle.default("review"),
|
|
9659
|
+
videoTier: WritableVideoTier.default(WritableVideoTier.parse(DEFAULT_VIDEO_TIER)).nonoptional(),
|
|
9660
|
+
narrativeStyle: NarrativeStyle.default("review").nonoptional(),
|
|
9652
9661
|
videoPreset: VideoPreset.optional(),
|
|
9653
9662
|
/** Orthogonal visual style for animated narratives only. The API rejects it
|
|
9654
9663
|
* on non-animated presets; absent → the pipeline resolves 'pixar_3d'. */
|
|
9655
9664
|
animationStyle: AnimationStyleSchema.optional(),
|
|
9656
|
-
multiAngleVideos: z33.boolean().default(false),
|
|
9665
|
+
multiAngleVideos: z33.boolean().default(false).nonoptional(),
|
|
9657
9666
|
videoAngleCount: z33.number().int().min(1).max(3).optional(),
|
|
9658
9667
|
/** Per-angle narrative override (positional). angleNarratives[i] forces the
|
|
9659
9668
|
* narrative of angle position i, overriding the batch auto-selector; a list
|
|
@@ -9665,7 +9674,7 @@ var IngestOptions = z33.object({
|
|
|
9665
9674
|
// quality levels; an explicit 720p pick wins. Callers that omit the field
|
|
9666
9675
|
// use the same 480p compatibility fallback in resolveSingleCallAwareResolution.
|
|
9667
9676
|
videoResolution: VideoResolution.optional(),
|
|
9668
|
-
generateAdCopy: z33.boolean().default(true),
|
|
9677
|
+
generateAdCopy: z33.boolean().default(true).nonoptional(),
|
|
9669
9678
|
generateAiMusic: z33.boolean().optional(),
|
|
9670
9679
|
/** «Edición con IA» opt-in; a music request aliases to it. */
|
|
9671
9680
|
generateAiEdit: AiEditRequestSchema.optional(),
|
|
@@ -9676,7 +9685,7 @@ var IngestOptions = z33.object({
|
|
|
9676
9685
|
* the multipart path on 2026-09-01, so an unbounded opaque string was newly persistable
|
|
9677
9686
|
* per task. Length only, never `.uuid()` — Actor.id is a CUID. */
|
|
9678
9687
|
actorId: z33.string().min(1).max(120).optional(),
|
|
9679
|
-
isCombo: z33.boolean().default(false),
|
|
9688
|
+
isCombo: z33.boolean().default(false).nonoptional(),
|
|
9680
9689
|
productContext: z33.string().transform(canonicalizeProductContext).pipe(z33.string().max(PRODUCT_CONTEXT_MAX_CHARS)).optional(),
|
|
9681
9690
|
creativeDirection: CreativeDirectionSchema.optional(),
|
|
9682
9691
|
/** Exact copy the user pinned. Rendered VERBATIM on the image creatives this task
|
|
@@ -9749,8 +9758,8 @@ var IngestOptions = z33.object({
|
|
|
9749
9758
|
* chosen videoPreset. Default true preserves the 2026-08-04 decision;
|
|
9750
9759
|
* only a deliberate `false` suspends replication. See
|
|
9751
9760
|
* `shouldAskReplicationConsent` for when this is even asked. */
|
|
9752
|
-
replicateWinnerWhenFound: z33.boolean().default(true),
|
|
9753
|
-
brandId: z33.string().
|
|
9761
|
+
replicateWinnerWhenFound: z33.boolean().default(true).nonoptional(),
|
|
9762
|
+
brandId: z33.string().guid().optional()
|
|
9754
9763
|
}).partial().transform(normalizeSellerPricingFields).superRefine((data, ctx) => {
|
|
9755
9764
|
const message = validatePriceInversion(data.price, data.compareAtPrice);
|
|
9756
9765
|
if (message) {
|
|
@@ -10497,7 +10506,7 @@ var CreativeEngineWinnerContextSchema = z38.object({
|
|
|
10497
10506
|
version: z38.literal(1),
|
|
10498
10507
|
winnerAdId: z38.string().min(1).max(200),
|
|
10499
10508
|
/** Owned parsed gap blueprint of the selected winner (opaque evidence). */
|
|
10500
|
-
gapBlueprint: z38.unknown(),
|
|
10509
|
+
gapBlueprint: z38.unknown().optional(),
|
|
10501
10510
|
observed: z38.object({
|
|
10502
10511
|
scenes: z38.array(CreativeEngineWinnerObservedSceneSchema).max(40),
|
|
10503
10512
|
/**
|
|
@@ -11668,7 +11677,7 @@ var VideoGenerator = z39.object({
|
|
|
11668
11677
|
ctx.addIssue({
|
|
11669
11678
|
code: z39.ZodIssueCode.too_small,
|
|
11670
11679
|
minimum: 1,
|
|
11671
|
-
|
|
11680
|
+
origin: "string",
|
|
11672
11681
|
inclusive: true,
|
|
11673
11682
|
path: [
|
|
11674
11683
|
"prompt"
|
|
@@ -11776,7 +11785,7 @@ var RegenerateVideoScriptNarrativeResponse = z39.object({
|
|
|
11776
11785
|
var RegenerateVideoRequest = z39.object({
|
|
11777
11786
|
angleKey: z39.string().min(1),
|
|
11778
11787
|
/** Stable new-intent identity for regeneration of an already delivered engine video. */
|
|
11779
|
-
clientRequestId: z39.string().
|
|
11788
|
+
clientRequestId: z39.string().guid().optional()
|
|
11780
11789
|
}).strict();
|
|
11781
11790
|
var RegenerateVideoResponse = z39.object({
|
|
11782
11791
|
ok: z39.literal(true),
|
|
@@ -11787,7 +11796,7 @@ var RegenerateVideoResponse = z39.object({
|
|
|
11787
11796
|
"single_call"
|
|
11788
11797
|
]),
|
|
11789
11798
|
/** New immutable child, when this command bought a new delivered-video intent. */
|
|
11790
|
-
taskId: z39.string().
|
|
11799
|
+
taskId: z39.string().guid().optional()
|
|
11791
11800
|
});
|
|
11792
11801
|
|
|
11793
11802
|
// ../../packages/types/src/billing.ts
|
|
@@ -11829,16 +11838,16 @@ var BillingProvider = z40.enum([
|
|
|
11829
11838
|
]);
|
|
11830
11839
|
var BillingRecordInput = z40.object({
|
|
11831
11840
|
userId: z40.string().min(1),
|
|
11832
|
-
taskId: z40.string().
|
|
11833
|
-
mixTaskId: z40.string().
|
|
11834
|
-
productResearchRunId: z40.string().
|
|
11835
|
-
servicePageId: z40.string().
|
|
11841
|
+
taskId: z40.string().guid().optional(),
|
|
11842
|
+
mixTaskId: z40.string().guid().optional(),
|
|
11843
|
+
productResearchRunId: z40.string().guid().optional(),
|
|
11844
|
+
servicePageId: z40.string().guid().optional(),
|
|
11836
11845
|
provider: BillingProvider,
|
|
11837
11846
|
label: z40.string().optional(),
|
|
11838
11847
|
units: z40.number().int().nonnegative().optional(),
|
|
11839
11848
|
ourCostCents: BillingNonNegativeAmount,
|
|
11840
11849
|
userPriceCents: BillingNonNegativeAmount,
|
|
11841
|
-
metadata: z40.record(z40.unknown()).optional()
|
|
11850
|
+
metadata: z40.record(z40.string(), z40.unknown()).optional()
|
|
11842
11851
|
}).superRefine((value, ctx) => {
|
|
11843
11852
|
const scopedIds = [
|
|
11844
11853
|
value.taskId,
|
|
@@ -11860,7 +11869,7 @@ var BillingSummary = z40.object({
|
|
|
11860
11869
|
// ../../packages/types/src/shopify.ts
|
|
11861
11870
|
import { z as z41 } from "zod";
|
|
11862
11871
|
var ShopifyShopSummary = z41.object({
|
|
11863
|
-
id: z41.string().
|
|
11872
|
+
id: z41.string().guid(),
|
|
11864
11873
|
shopDomain: z41.string(),
|
|
11865
11874
|
primaryDomain: z41.string().nullable(),
|
|
11866
11875
|
scopes: z41.array(z41.string()),
|
|
@@ -11907,7 +11916,7 @@ var ShopifyPublicationMode = z41.enum([
|
|
|
11907
11916
|
var SHOPIFY_ANNOUNCEMENT_BAR_MAX_LENGTH = 160;
|
|
11908
11917
|
var ShopifyPublishRequest = z41.object({
|
|
11909
11918
|
/** Correlates a mutation with read-only recovery after a lost response. */
|
|
11910
|
-
publishAttemptId: z41.string().
|
|
11919
|
+
publishAttemptId: z41.string().guid().optional(),
|
|
11911
11920
|
/** Omitted keeps legacy publication behavior; null explicitly excludes the GIF. */
|
|
11912
11921
|
selectedLandingGif: LandingGifSelectionSchema.nullable().optional(),
|
|
11913
11922
|
classicSelection: ClassicLandingSelectionSnapshotSchema.optional(),
|
|
@@ -11966,7 +11975,7 @@ var ShopifyPublishRequest = z41.object({
|
|
|
11966
11975
|
});
|
|
11967
11976
|
}
|
|
11968
11977
|
});
|
|
11969
|
-
var CodeLandingThemeSetupRequest = ShopifyPublishRequest.
|
|
11978
|
+
var CodeLandingThemeSetupRequest = z41.object(ShopifyPublishRequest.shape).omit({
|
|
11970
11979
|
publishAttemptId: true,
|
|
11971
11980
|
commerceCorrection: true
|
|
11972
11981
|
});
|
|
@@ -12036,8 +12045,8 @@ var ShopifyBundleMappingResult = z41.discriminatedUnion("status", [
|
|
|
12036
12045
|
]);
|
|
12037
12046
|
var ShopifyPublishResponse = z41.object({
|
|
12038
12047
|
pricingNotices: z41.array(SellerPricingNoticeSchema).max(32).optional(),
|
|
12039
|
-
publicationId: z41.string().
|
|
12040
|
-
taskId: z41.string().
|
|
12048
|
+
publicationId: z41.string().guid(),
|
|
12049
|
+
taskId: z41.string().guid(),
|
|
12041
12050
|
status: ShopifyPublicationStatus,
|
|
12042
12051
|
shopDomain: z41.string(),
|
|
12043
12052
|
productId: z41.string().optional(),
|
|
@@ -12108,8 +12117,8 @@ var ShopifyImportOutcomeResponse = z41.discriminatedUnion("status", [
|
|
|
12108
12117
|
]);
|
|
12109
12118
|
var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
12110
12119
|
z41.object({
|
|
12111
|
-
publicationId: z41.string().
|
|
12112
|
-
taskId: z41.string().
|
|
12120
|
+
publicationId: z41.string().guid(),
|
|
12121
|
+
taskId: z41.string().guid(),
|
|
12113
12122
|
status: z41.enum([
|
|
12114
12123
|
"pending",
|
|
12115
12124
|
"processing"
|
|
@@ -12117,8 +12126,8 @@ var ShopifyPublishAttemptStatus = z41.discriminatedUnion("status", [
|
|
|
12117
12126
|
productId: z41.string().optional()
|
|
12118
12127
|
}),
|
|
12119
12128
|
z41.object({
|
|
12120
|
-
publicationId: z41.string().
|
|
12121
|
-
taskId: z41.string().
|
|
12129
|
+
publicationId: z41.string().guid(),
|
|
12130
|
+
taskId: z41.string().guid(),
|
|
12122
12131
|
status: z41.literal("error"),
|
|
12123
12132
|
productId: z41.string().optional(),
|
|
12124
12133
|
failure: z41.discriminatedUnion("kind", [
|
|
@@ -12272,7 +12281,7 @@ var CreateShopifyBillingChargeRequest = z41.object({
|
|
|
12272
12281
|
});
|
|
12273
12282
|
var ShopifyBillingCallbackQuery = z41.object({
|
|
12274
12283
|
charge_id: z41.string().regex(/^\d+$/),
|
|
12275
|
-
transactionId: z41.string().
|
|
12284
|
+
transactionId: z41.string().guid()
|
|
12276
12285
|
});
|
|
12277
12286
|
var CancelShopifySubscriptionRequest = z41.object({
|
|
12278
12287
|
subscriptionId: z41.string().min(1)
|
|
@@ -12338,12 +12347,12 @@ var ApproveAnglesRefusalReason = z42.enum([
|
|
|
12338
12347
|
]);
|
|
12339
12348
|
var ApproveAnglesResponse = z42.object({
|
|
12340
12349
|
success: z42.boolean(),
|
|
12341
|
-
taskId: z42.string().
|
|
12350
|
+
taskId: z42.string().guid(),
|
|
12342
12351
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12343
12352
|
});
|
|
12344
12353
|
var IngestResumeRefusalResponse = z42.object({
|
|
12345
12354
|
success: z42.literal(false),
|
|
12346
|
-
taskId: z42.string().
|
|
12355
|
+
taskId: z42.string().guid(),
|
|
12347
12356
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12348
12357
|
});
|
|
12349
12358
|
var GenerateSuggestionsResponse = z42.object({
|
|
@@ -12358,7 +12367,7 @@ var SaveDraftRequest = z42.object({
|
|
|
12358
12367
|
});
|
|
12359
12368
|
var SaveDraftResponse = z42.object({
|
|
12360
12369
|
success: z42.boolean(),
|
|
12361
|
-
taskId: z42.string().
|
|
12370
|
+
taskId: z42.string().guid()
|
|
12362
12371
|
});
|
|
12363
12372
|
var ProductReferenceRecoveryImageMimeType = z42.enum([
|
|
12364
12373
|
"image/jpeg",
|
|
@@ -12403,7 +12412,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12403
12412
|
"keep_selection"
|
|
12404
12413
|
]),
|
|
12405
12414
|
affectedRefKeys: z42.array(z42.string().min(1).max(200)).min(1).max(5).optional(),
|
|
12406
|
-
expectedReferenceVersionId: z42.string().
|
|
12415
|
+
expectedReferenceVersionId: z42.string().guid().optional(),
|
|
12407
12416
|
expectedEvidenceHash: z42.string().min(1).max(128).optional(),
|
|
12408
12417
|
uploadedImages: z42.array(ProductReferenceRecoveryUpload).max(INGEST_MAX_REFERENCE_IMAGES).optional()
|
|
12409
12418
|
}).optional()
|
|
@@ -12440,7 +12449,7 @@ var ConfirmProductReferencesRequest = z42.object({
|
|
|
12440
12449
|
});
|
|
12441
12450
|
var ConfirmProductReferencesResponse = z42.object({
|
|
12442
12451
|
success: z42.boolean(),
|
|
12443
|
-
taskId: z42.string().
|
|
12452
|
+
taskId: z42.string().guid(),
|
|
12444
12453
|
anglesQueued: z42.boolean()
|
|
12445
12454
|
});
|
|
12446
12455
|
var UpdateProductFeaturesRequest = z42.object({
|
|
@@ -12507,7 +12516,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12507
12516
|
"meta",
|
|
12508
12517
|
"upload"
|
|
12509
12518
|
]).optional(),
|
|
12510
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12519
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional(),
|
|
12511
12520
|
/** Whether to pause for video script review before final generation */
|
|
12512
12521
|
pauseForVideoScriptReview: z42.boolean().optional(),
|
|
12513
12522
|
/** Whether to produce an additional AI-music video variant */
|
|
@@ -12521,7 +12530,7 @@ var ApproveVideoAnglesRequest = z42.object({
|
|
|
12521
12530
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, true));
|
|
12522
12531
|
var ApproveVideoAnglesResponse = z42.object({
|
|
12523
12532
|
success: z42.boolean(),
|
|
12524
|
-
taskId: z42.string().
|
|
12533
|
+
taskId: z42.string().guid(),
|
|
12525
12534
|
/** Persisted keys scheduled by this approval; visible candidate indices are not worker keys. */
|
|
12526
12535
|
approvedAngleKeys: z42.array(z42.string().regex(/^angle_\d+$/)).min(1).max(3).optional(),
|
|
12527
12536
|
reason: ApproveAnglesRefusalReason.optional()
|
|
@@ -12541,11 +12550,11 @@ var SaveVideoDraftRequest = z42.object({
|
|
|
12541
12550
|
"meta",
|
|
12542
12551
|
"upload"
|
|
12543
12552
|
]).optional(),
|
|
12544
|
-
sourceUploadIds: z42.array(z42.string().
|
|
12553
|
+
sourceUploadIds: z42.array(z42.string().guid()).min(2).max(5).optional()
|
|
12545
12554
|
}).superRefine((value, ctx) => validateFrankensteinDraftSources(value, ctx, false));
|
|
12546
12555
|
var SaveVideoDraftResponse = z42.object({
|
|
12547
12556
|
success: z42.boolean(),
|
|
12548
|
-
taskId: z42.string().
|
|
12557
|
+
taskId: z42.string().guid()
|
|
12549
12558
|
});
|
|
12550
12559
|
var ApproveImageAnglesRequest = z42.object({
|
|
12551
12560
|
/** Zero-based index of the generated angle explicitly selected for production. */
|
|
@@ -12569,7 +12578,7 @@ var ApproveImageAnglesRequest = z42.object({
|
|
|
12569
12578
|
});
|
|
12570
12579
|
var ApproveImageAnglesResponse = z42.object({
|
|
12571
12580
|
success: z42.boolean(),
|
|
12572
|
-
taskId: z42.string().
|
|
12581
|
+
taskId: z42.string().guid(),
|
|
12573
12582
|
reason: ApproveAnglesRefusalReason.optional()
|
|
12574
12583
|
});
|
|
12575
12584
|
var SaveImageDraftRequest = z42.object({
|
|
@@ -12580,7 +12589,7 @@ var SaveImageDraftRequest = z42.object({
|
|
|
12580
12589
|
});
|
|
12581
12590
|
var SaveImageDraftResponse = z42.object({
|
|
12582
12591
|
success: z42.boolean(),
|
|
12583
|
-
taskId: z42.string().
|
|
12592
|
+
taskId: z42.string().guid()
|
|
12584
12593
|
});
|
|
12585
12594
|
var ImageSuggestionsResponse = z42.object({
|
|
12586
12595
|
painPoints: z42.array(z42.string()),
|
|
@@ -12626,8 +12635,8 @@ var QualityReportReason = z43.enum([
|
|
|
12626
12635
|
"other"
|
|
12627
12636
|
]);
|
|
12628
12637
|
var QualityReportRequest = z43.object({
|
|
12629
|
-
taskId: z43.string().
|
|
12630
|
-
mixTaskId: z43.string().
|
|
12638
|
+
taskId: z43.string().guid().optional(),
|
|
12639
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12631
12640
|
kind: QualityReportKind,
|
|
12632
12641
|
/**
|
|
12633
12642
|
* URL or internal proxy path (e.g. `/api/assets/...`).
|
|
@@ -12653,9 +12662,9 @@ var QualityReportRequest = z43.object({
|
|
|
12653
12662
|
]
|
|
12654
12663
|
});
|
|
12655
12664
|
var QualityReportResponse = z43.object({
|
|
12656
|
-
reportId: z43.string().
|
|
12657
|
-
taskId: z43.string().
|
|
12658
|
-
mixTaskId: z43.string().
|
|
12665
|
+
reportId: z43.string().guid(),
|
|
12666
|
+
taskId: z43.string().guid().optional(),
|
|
12667
|
+
mixTaskId: z43.string().guid().optional(),
|
|
12659
12668
|
kind: QualityReportKind,
|
|
12660
12669
|
resourceUrl: z43.string().min(1),
|
|
12661
12670
|
reason: QualityReportReason,
|
|
@@ -13084,7 +13093,7 @@ var TaskCreativeVariantVideoPreset = VideoPreset.exclude([
|
|
|
13084
13093
|
...BLOCKED_VIDEO_PRESETS
|
|
13085
13094
|
]);
|
|
13086
13095
|
var CreateTaskCreativeVariantBase = z47.object({
|
|
13087
|
-
clientRequestId: z47.string().
|
|
13096
|
+
clientRequestId: z47.string().guid(),
|
|
13088
13097
|
angle: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.angle),
|
|
13089
13098
|
buyerPersona: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.buyerPersona).optional()
|
|
13090
13099
|
});
|
|
@@ -13107,7 +13116,7 @@ var CreateTaskImageVariantRequest = CreateTaskCreativeVariantBase.extend({
|
|
|
13107
13116
|
styleMix: z47.boolean().optional()
|
|
13108
13117
|
}).strict();
|
|
13109
13118
|
var CreateTaskLandingSectionVariantRequest = z47.object({
|
|
13110
|
-
clientRequestId: z47.string().
|
|
13119
|
+
clientRequestId: z47.string().guid(),
|
|
13111
13120
|
kind: z47.literal("landing"),
|
|
13112
13121
|
sectionKey: LandingSectionKeySchema,
|
|
13113
13122
|
instructions: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.landingInstructions).optional()
|
|
@@ -13135,8 +13144,8 @@ var EstimateTaskCreativeVariantRequest = z47.discriminatedUnion("kind", [
|
|
|
13135
13144
|
]);
|
|
13136
13145
|
var CreateTaskCreativeVariantResponse = z47.object({
|
|
13137
13146
|
ok: z47.literal(true),
|
|
13138
|
-
sourceTaskId: z47.string().
|
|
13139
|
-
variantTaskId: z47.string().
|
|
13147
|
+
sourceTaskId: z47.string().guid(),
|
|
13148
|
+
variantTaskId: z47.string().guid(),
|
|
13140
13149
|
kind: TaskCreativeVariantKind,
|
|
13141
13150
|
status: TaskCreativeVariantStatus
|
|
13142
13151
|
}).strict();
|
|
@@ -13159,15 +13168,15 @@ var TaskCreativeVariantRecommendationRequest = z47.object({
|
|
|
13159
13168
|
}).strict();
|
|
13160
13169
|
var TaskCreativeVariantRecommendationResponse = z47.object({
|
|
13161
13170
|
ok: z47.literal(true),
|
|
13162
|
-
sourceTaskId: z47.string().
|
|
13171
|
+
sourceTaskId: z47.string().guid(),
|
|
13163
13172
|
kind: TaskCreativeVariantKind,
|
|
13164
13173
|
field: TaskCreativeVariantRecommendationField,
|
|
13165
13174
|
value: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.scriptNotes),
|
|
13166
13175
|
rationale: z47.string().trim().min(1).max(TASK_CREATIVE_VARIANT_TEXT_LIMITS.recommendationRationale).optional()
|
|
13167
13176
|
}).strict();
|
|
13168
13177
|
var TaskCreativeVariantBaseResult = z47.object({
|
|
13169
|
-
variantTaskId: z47.string().
|
|
13170
|
-
sourceTaskId: z47.string().
|
|
13178
|
+
variantTaskId: z47.string().guid(),
|
|
13179
|
+
sourceTaskId: z47.string().guid(),
|
|
13171
13180
|
kind: TaskCreativeVariantKind,
|
|
13172
13181
|
status: TaskCreativeVariantStatus,
|
|
13173
13182
|
angle: z47.string().min(1),
|
|
@@ -13341,7 +13350,7 @@ var ResultAngle = Angle.extend({
|
|
|
13341
13350
|
aiEdit: AiEditTierSchema.nullable().optional()
|
|
13342
13351
|
});
|
|
13343
13352
|
var MVPResult = z49.object({
|
|
13344
|
-
taskId: z49.string().
|
|
13353
|
+
taskId: z49.string().guid(),
|
|
13345
13354
|
/** Read-only identity derived from validated persisted request context.
|
|
13346
13355
|
* Optional for older APIs and content-only tasks; absence never implies a service. */
|
|
13347
13356
|
subjectKind: z49.enum([
|
|
@@ -13519,7 +13528,7 @@ var PendingUserActionSchema = z49.discriminatedUnion("kind", [
|
|
|
13519
13528
|
z49.object({
|
|
13520
13529
|
kind: z49.literal("service_angle_approval"),
|
|
13521
13530
|
angles: z49.array(z49.object({
|
|
13522
|
-
id: z49.string().
|
|
13531
|
+
id: z49.string().guid(),
|
|
13523
13532
|
content: z49.string(),
|
|
13524
13533
|
creativeDirection: z49.string(),
|
|
13525
13534
|
actor: z49.string(),
|
|
@@ -13598,7 +13607,7 @@ var CommercialStudySummarySchema = z49.union([
|
|
|
13598
13607
|
})
|
|
13599
13608
|
]);
|
|
13600
13609
|
var StatusResponse = z49.object({
|
|
13601
|
-
taskId: z49.string().
|
|
13610
|
+
taskId: z49.string().guid(),
|
|
13602
13611
|
status: TaskStatusSchema,
|
|
13603
13612
|
/** ENGINEERING string (`Task.error`). Never render this to a seller. */
|
|
13604
13613
|
error: z49.string().optional(),
|
|
@@ -13806,7 +13815,7 @@ var StatusResponse = z49.object({
|
|
|
13806
13815
|
frankensteinRun: FrankensteinRunProgressSchema.optional()
|
|
13807
13816
|
});
|
|
13808
13817
|
var TaskSummary = z49.object({
|
|
13809
|
-
taskId: z49.string().
|
|
13818
|
+
taskId: z49.string().guid(),
|
|
13810
13819
|
/** A projected ServicePage, opened through its own editor and lifecycle. */
|
|
13811
13820
|
resourceType: z49.literal("service_page").optional(),
|
|
13812
13821
|
status: TaskStatusSchema,
|
|
@@ -14235,7 +14244,7 @@ var RegenerateLandingRoleBody = z50.object({
|
|
|
14235
14244
|
comment: z50.string().max(2e3).optional(),
|
|
14236
14245
|
sourceKey: z50.string().max(200).optional(),
|
|
14237
14246
|
/** Client-generated key makes a lost response safe to retry without another charge. */
|
|
14238
|
-
clientRequestId: z50.string().
|
|
14247
|
+
clientRequestId: z50.string().guid().optional()
|
|
14239
14248
|
}).strict();
|
|
14240
14249
|
var LandingRegenerateEstimationOptions = z50.object({
|
|
14241
14250
|
/** KIE image endpoint has non-linear pricing by nVariants; for landing we default to 2. */
|
|
@@ -15222,7 +15231,7 @@ var UpdateUserCreditsRequest = z53.object({
|
|
|
15222
15231
|
/** Free-text detail. Required when the enum alone does not explain the grant. */
|
|
15223
15232
|
notes: z53.string().trim().min(1).max(500).optional(),
|
|
15224
15233
|
/** The task the grant compensates, when there is one. */
|
|
15225
|
-
taskId: z53.string().
|
|
15234
|
+
taskId: z53.string().guid().optional()
|
|
15226
15235
|
});
|
|
15227
15236
|
var QualityReportStatus = z53.enum([
|
|
15228
15237
|
"open",
|
|
@@ -15282,7 +15291,7 @@ var AdminSupportDeliveryStatus = z53.enum([
|
|
|
15282
15291
|
"blocked"
|
|
15283
15292
|
]);
|
|
15284
15293
|
var AdminSupportMessage = z53.object({
|
|
15285
|
-
id: z53.string().
|
|
15294
|
+
id: z53.string().guid(),
|
|
15286
15295
|
direction: z53.enum([
|
|
15287
15296
|
"inbound",
|
|
15288
15297
|
"outbound"
|
|
@@ -15306,7 +15315,7 @@ var AdminSupportMessage = z53.object({
|
|
|
15306
15315
|
createdAt: z53.string().datetime()
|
|
15307
15316
|
});
|
|
15308
15317
|
var AdminSupportTicket = z53.object({
|
|
15309
|
-
id: z53.string().
|
|
15318
|
+
id: z53.string().guid(),
|
|
15310
15319
|
category: z53.enum([
|
|
15311
15320
|
"how_to",
|
|
15312
15321
|
"credits",
|
|
@@ -15335,7 +15344,7 @@ var AdminSupportTicket = z53.object({
|
|
|
15335
15344
|
updatedAt: z53.string().datetime()
|
|
15336
15345
|
});
|
|
15337
15346
|
var AdminSupportConversation = z53.object({
|
|
15338
|
-
id: z53.string().
|
|
15347
|
+
id: z53.string().guid(),
|
|
15339
15348
|
status: AdminSupportConversationStatus,
|
|
15340
15349
|
priority: z53.enum([
|
|
15341
15350
|
"low",
|
|
@@ -15350,7 +15359,7 @@ var AdminSupportConversation = z53.object({
|
|
|
15350
15359
|
createdAt: z53.string().datetime(),
|
|
15351
15360
|
updatedAt: z53.string().datetime(),
|
|
15352
15361
|
contact: z53.object({
|
|
15353
|
-
id: z53.string().
|
|
15362
|
+
id: z53.string().guid(),
|
|
15354
15363
|
userId: z53.string().nullable(),
|
|
15355
15364
|
verifiedAt: z53.string().datetime().nullable(),
|
|
15356
15365
|
botMode: z53.enum([
|
|
@@ -15366,11 +15375,11 @@ var AdminSupportConversation = z53.object({
|
|
|
15366
15375
|
var AdminSupportListQuery = z53.object({
|
|
15367
15376
|
status: AdminSupportConversationStatus.optional(),
|
|
15368
15377
|
take: z53.coerce.number().int().min(1).max(100).default(50),
|
|
15369
|
-
cursorId: z53.string().
|
|
15378
|
+
cursorId: z53.string().guid().optional()
|
|
15370
15379
|
}).strict();
|
|
15371
15380
|
var AdminSupportListResponse = z53.object({
|
|
15372
15381
|
conversations: z53.array(AdminSupportConversation),
|
|
15373
|
-
nextCursor: z53.string().
|
|
15382
|
+
nextCursor: z53.string().guid().nullable()
|
|
15374
15383
|
});
|
|
15375
15384
|
var AdminSupportReplyRequest = z53.object({
|
|
15376
15385
|
body: z53.string().trim().min(1).max(4096),
|
|
@@ -15381,7 +15390,7 @@ var AdminSupportActionResponse = z53.object({
|
|
|
15381
15390
|
conversation: AdminSupportConversation
|
|
15382
15391
|
});
|
|
15383
15392
|
var AdminSupportReplyResponse = z53.object({
|
|
15384
|
-
messageId: z53.string().
|
|
15393
|
+
messageId: z53.string().guid(),
|
|
15385
15394
|
deliveryStatus: AdminSupportDeliveryStatus,
|
|
15386
15395
|
duplicate: z53.boolean()
|
|
15387
15396
|
});
|
|
@@ -15511,7 +15520,7 @@ var VideoVoiceJobSchema = z57.object({
|
|
|
15511
15520
|
wakeRevision: z57.number().int().nonnegative()
|
|
15512
15521
|
}).strict();
|
|
15513
15522
|
var ExtractJobSchema = z57.object({
|
|
15514
|
-
taskId: z57.string().
|
|
15523
|
+
taskId: z57.string().guid(),
|
|
15515
15524
|
imageKey: z57.string().min(1).optional(),
|
|
15516
15525
|
imageKeys: z57.array(z57.string().min(1)).min(1).max(INGEST_MAX_REFERENCE_IMAGES).optional(),
|
|
15517
15526
|
/** Existing clean references carried through a recovery extract. They are
|
|
@@ -15630,20 +15639,20 @@ var BrandExtractDocumentSchema = z57.object({
|
|
|
15630
15639
|
])
|
|
15631
15640
|
});
|
|
15632
15641
|
var VideoMixSubmitJobSchema = z57.object({
|
|
15633
|
-
mixTaskId: z57.string().
|
|
15642
|
+
mixTaskId: z57.string().guid()
|
|
15634
15643
|
});
|
|
15635
15644
|
var VideoMixAssembleJobSchema = z57.object({
|
|
15636
|
-
mixTaskId: z57.string().
|
|
15645
|
+
mixTaskId: z57.string().guid()
|
|
15637
15646
|
});
|
|
15638
15647
|
var VideoMixQaJobSchema = z57.object({
|
|
15639
|
-
mixSceneTaskId: z57.string().
|
|
15648
|
+
mixSceneTaskId: z57.string().guid(),
|
|
15640
15649
|
// externalId is included in the BullMQ payload by the producer (used in the
|
|
15641
15650
|
// jobId for retry uniqueness) but the worker only reads mixSceneTaskId.
|
|
15642
15651
|
externalId: z57.string().min(1).optional()
|
|
15643
15652
|
});
|
|
15644
15653
|
var BrandExtractLocaleSchema = z57.string().regex(/^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,8})?$/, "invalid locale");
|
|
15645
15654
|
var BrandExtractJobSchema = z57.object({
|
|
15646
|
-
brandId: z57.string().
|
|
15655
|
+
brandId: z57.string().guid(),
|
|
15647
15656
|
// Generation is part of the durable paid-spend identity. Default 1 keeps
|
|
15648
15657
|
// pre-migration BullMQ payloads parseable; their DB state fails safe.
|
|
15649
15658
|
generation: z57.number().int().positive().default(1),
|
|
@@ -15675,23 +15684,23 @@ import { z as z58 } from "zod";
|
|
|
15675
15684
|
var WhatsAppDeliveryConsumerSchema = z58.discriminatedUnion("kind", [
|
|
15676
15685
|
z58.object({
|
|
15677
15686
|
kind: z58.literal("presentation"),
|
|
15678
|
-
presentationId: z58.string().
|
|
15687
|
+
presentationId: z58.string().guid(),
|
|
15679
15688
|
pollAt: z58.number().int().nonnegative()
|
|
15680
15689
|
}).strict(),
|
|
15681
15690
|
z58.object({
|
|
15682
15691
|
kind: z58.literal("message"),
|
|
15683
|
-
messageId: z58.string().
|
|
15692
|
+
messageId: z58.string().guid(),
|
|
15684
15693
|
providerMessageId: z58.string().min(1).max(256)
|
|
15685
15694
|
}).strict(),
|
|
15686
15695
|
z58.object({
|
|
15687
15696
|
kind: z58.literal("task_watch"),
|
|
15688
|
-
commandId: z58.string().
|
|
15697
|
+
commandId: z58.string().guid(),
|
|
15689
15698
|
pollAt: z58.number().int().nonnegative()
|
|
15690
15699
|
}).strict(),
|
|
15691
15700
|
z58.object({
|
|
15692
15701
|
kind: z58.literal("research_watch"),
|
|
15693
|
-
commandId: z58.string().
|
|
15694
|
-
runId: z58.string().
|
|
15702
|
+
commandId: z58.string().guid(),
|
|
15703
|
+
runId: z58.string().guid(),
|
|
15695
15704
|
pollAt: z58.number().int().nonnegative()
|
|
15696
15705
|
}).strict()
|
|
15697
15706
|
]);
|
|
@@ -15740,9 +15749,9 @@ var ComboItemSchema = z60.object({
|
|
|
15740
15749
|
/** Physical details for this specific product */
|
|
15741
15750
|
details: z60.object({
|
|
15742
15751
|
packagingType: z60.string().optional(),
|
|
15743
|
-
geometry: z60.record(z60.unknown()).optional(),
|
|
15744
|
-
morphology: z60.record(z60.unknown()).optional(),
|
|
15745
|
-
estimatedDimensions: z60.record(z60.unknown()).optional()
|
|
15752
|
+
geometry: z60.record(z60.string(), z60.unknown()).optional(),
|
|
15753
|
+
morphology: z60.record(z60.string(), z60.unknown()).optional(),
|
|
15754
|
+
estimatedDimensions: z60.record(z60.string(), z60.unknown()).optional()
|
|
15746
15755
|
}).optional(),
|
|
15747
15756
|
/** Per-item usage spec extracted individually (fallback: global combo usageSpec) */
|
|
15748
15757
|
usageSpec: ProductUsageSpec.optional()
|
|
@@ -15781,7 +15790,7 @@ var FacebookConnectionStatusSchema = z61.object({
|
|
|
15781
15790
|
message: z61.string().optional()
|
|
15782
15791
|
});
|
|
15783
15792
|
var FacebookCreateCampaignRequestSchema = z61.object({
|
|
15784
|
-
taskId: z61.string().
|
|
15793
|
+
taskId: z61.string().guid(),
|
|
15785
15794
|
pixelId: z61.string().optional(),
|
|
15786
15795
|
landingUrl: HttpUrl2.optional()
|
|
15787
15796
|
});
|
|
@@ -15906,29 +15915,14 @@ var FacebookCreateCampaignResponseSchema = z61.object({
|
|
|
15906
15915
|
appliedBudget: z61.number().int().positive()
|
|
15907
15916
|
});
|
|
15908
15917
|
var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
15909
|
-
|
|
15910
|
-
|
|
15911
|
-
|
|
15912
|
-
|
|
15913
|
-
title: z61.string().max(120),
|
|
15914
|
-
description: z61.string().max(500),
|
|
15915
|
-
cta: MetaCtaType,
|
|
15918
|
+
...UploadToMetaRequest.shape,
|
|
15919
|
+
creatives: z61.array(UploadToMetaRequest.shape.creatives.element.extend({
|
|
15920
|
+
// Retain this endpoint's HTTP URL policy; the upload owner additionally
|
|
15921
|
+
// forbids credentials. Sharing its field shape must not tighten ours.
|
|
15916
15922
|
mediaUrl: HttpUrl2.optional(),
|
|
15917
|
-
|
|
15918
|
-
thumbnailUrl: HttpUrl2.optional(),
|
|
15919
|
-
thumbnailAssetId: z61.string().uuid().optional(),
|
|
15920
|
-
creativeId: z61.string().min(1).optional()
|
|
15923
|
+
thumbnailUrl: HttpUrl2.optional()
|
|
15921
15924
|
})).min(1).max(CAMPAIGN_LIMITS.MAX_CREATIVES),
|
|
15922
|
-
adAccountId: MetaAdAccountId,
|
|
15923
|
-
portfolioId: z61.string().min(1).optional(),
|
|
15924
|
-
pageId: z61.string().min(1).optional(),
|
|
15925
|
-
pixelId: z61.string().optional(),
|
|
15926
|
-
/** Required unless campaignConfig.destination is 'whatsapp' (see superRefine below). */
|
|
15927
15925
|
landingUrl: HttpUrl2.optional(),
|
|
15928
|
-
/** Target country for ad targeting (ISO 3166-1 alpha-2 code or resolvable name) */
|
|
15929
|
-
targetCountry: CountryIso2Schema.default("US"),
|
|
15930
|
-
/** Custom campaign name */
|
|
15931
|
-
campaignName: z61.string().min(1).max(100).optional(),
|
|
15932
15926
|
campaignConfig: MetaCampaignConfig.optional()
|
|
15933
15927
|
}).superRefine((value, ctx) => {
|
|
15934
15928
|
const isWhatsapp = value.campaignConfig?.destination?.type === "whatsapp";
|
|
@@ -15941,30 +15935,7 @@ var FacebookCreateCampaignFromCreativesBodySchema = z61.object({
|
|
|
15941
15935
|
message: "landingUrl is required unless destination is whatsapp"
|
|
15942
15936
|
});
|
|
15943
15937
|
}
|
|
15944
|
-
value
|
|
15945
|
-
if (Boolean(creative.mediaUrl) === Boolean(creative.mediaAssetId)) {
|
|
15946
|
-
ctx.addIssue({
|
|
15947
|
-
code: z61.ZodIssueCode.custom,
|
|
15948
|
-
path: [
|
|
15949
|
-
"creatives",
|
|
15950
|
-
index,
|
|
15951
|
-
"mediaUrl"
|
|
15952
|
-
],
|
|
15953
|
-
message: "Provide exactly one of mediaUrl or mediaAssetId"
|
|
15954
|
-
});
|
|
15955
|
-
}
|
|
15956
|
-
if (creative.thumbnailUrl && creative.thumbnailAssetId) {
|
|
15957
|
-
ctx.addIssue({
|
|
15958
|
-
code: z61.ZodIssueCode.custom,
|
|
15959
|
-
path: [
|
|
15960
|
-
"creatives",
|
|
15961
|
-
index,
|
|
15962
|
-
"thumbnailUrl"
|
|
15963
|
-
],
|
|
15964
|
-
message: "Provide at most one of thumbnailUrl or thumbnailAssetId"
|
|
15965
|
-
});
|
|
15966
|
-
}
|
|
15967
|
-
});
|
|
15938
|
+
refineMetaCreativeSources(value, ctx);
|
|
15968
15939
|
if (value.campaignConfig?.destination?.type === "landing" && value.landingUrl && value.campaignConfig.destination.landingUrl !== value.landingUrl) {
|
|
15969
15940
|
ctx.addIssue({
|
|
15970
15941
|
code: z61.ZodIssueCode.custom,
|
|
@@ -16043,9 +16014,9 @@ var FacebookTaskCreativeSourceSchema = z61.object({
|
|
|
16043
16014
|
var FacebookMediaCreativeSourceSchema = z61.object({
|
|
16044
16015
|
type: z61.literal("media"),
|
|
16045
16016
|
mediaUrl: HttpUrl2.optional(),
|
|
16046
|
-
mediaAssetId: z61.string().
|
|
16017
|
+
mediaAssetId: z61.string().guid().optional(),
|
|
16047
16018
|
thumbnailUrl: HttpUrl2.optional(),
|
|
16048
|
-
thumbnailAssetId: z61.string().
|
|
16019
|
+
thumbnailAssetId: z61.string().guid().optional()
|
|
16049
16020
|
});
|
|
16050
16021
|
var FacebookCreativeSourceSchema = z61.discriminatedUnion("type", [
|
|
16051
16022
|
FacebookTaskCreativeSourceSchema,
|
|
@@ -16068,15 +16039,15 @@ var FacebookCreateCampaignFromTasksBodySchema = z61.object({
|
|
|
16068
16039
|
pageId: z61.string().min(1),
|
|
16069
16040
|
pixelId: z61.string().optional(),
|
|
16070
16041
|
/**
|
|
16071
|
-
|
|
16072
|
-
|
|
16073
|
-
|
|
16074
|
-
|
|
16042
|
+
* Omitted: a campaign with task creatives lands on the published service
|
|
16043
|
+
* landing of its service tasks (resolved server side, META_NO_LANDING_URL
|
|
16044
|
+
* when there is none); a media-only campaign must name it.
|
|
16045
|
+
*/
|
|
16075
16046
|
landingUrl: HttpUrl2.optional(),
|
|
16076
16047
|
/**
|
|
16077
|
-
|
|
16078
|
-
|
|
16079
|
-
|
|
16048
|
+
* Omitted: the brand country of its service tasks; a product-only campaign
|
|
16049
|
+
* keeps "US". Never a hardcoded country for a service (META_NO_TARGET_COUNTRY).
|
|
16050
|
+
*/
|
|
16080
16051
|
targetCountry: CountryIso2Schema.optional(),
|
|
16081
16052
|
campaignName: z61.string().min(1).max(100),
|
|
16082
16053
|
campaignConfig: MetaCampaignConfig.optional()
|
|
@@ -16637,7 +16608,7 @@ var VideoSpeechAssetSchema = z64.object({
|
|
|
16637
16608
|
var VoiceProgressSchema = z64.discriminatedUnion("status", [
|
|
16638
16609
|
z64.object({
|
|
16639
16610
|
status: z64.literal("ready"),
|
|
16640
|
-
value: z64.unknown()
|
|
16611
|
+
value: z64.unknown().optional()
|
|
16641
16612
|
}).strict(),
|
|
16642
16613
|
z64.object({
|
|
16643
16614
|
status: z64.literal("waiting"),
|
|
@@ -17187,7 +17158,7 @@ var MixSceneResult = z67.object({
|
|
|
17187
17158
|
degradedReason: MixDegradationReasonSchema.optional()
|
|
17188
17159
|
});
|
|
17189
17160
|
var MixResult = z67.object({
|
|
17190
|
-
mixTaskId: z67.string().
|
|
17161
|
+
mixTaskId: z67.string().guid(),
|
|
17191
17162
|
status: z67.enum([
|
|
17192
17163
|
"queued",
|
|
17193
17164
|
"processing",
|
|
@@ -17230,7 +17201,7 @@ var PreparedImagePreviewUrlSchema = z68.string().url().max(2048).refine((value)
|
|
|
17230
17201
|
return protocol === "https:" || protocol === "http:";
|
|
17231
17202
|
}, "Prepared image preview URLs must use HTTP(S)");
|
|
17232
17203
|
var WinningProductPreparedImageSchema = z68.object({
|
|
17233
|
-
assetId: z68.string().
|
|
17204
|
+
assetId: z68.string().guid(),
|
|
17234
17205
|
previewUrl: PreparedImagePreviewUrlSchema,
|
|
17235
17206
|
productName: z68.string().trim().min(1).max(240),
|
|
17236
17207
|
presentation: MediaPresentationImageSchema
|
|
@@ -17529,14 +17500,16 @@ var LandingOperationStepSelectionSchema = CodeLandingStepSelectionSchema.extend(
|
|
|
17529
17500
|
var LandingOperationReceiptStepSchema = LandingOperationStepSelectionSchema.extend({
|
|
17530
17501
|
receipt: CodeLandingEffectiveReceiptSchema.optional()
|
|
17531
17502
|
});
|
|
17532
|
-
var LandingOperationEnvelopeNodeSchema = CodeLandingEnvelopeNodeSchema.
|
|
17503
|
+
var LandingOperationEnvelopeNodeSchema = z73.object(CodeLandingEnvelopeNodeSchema.shape).strict().extend({
|
|
17533
17504
|
phase: LandingOperationStepPhaseSchema
|
|
17534
17505
|
}).superRefine((node, ctx) => {
|
|
17535
17506
|
const legacy = CodeLandingEnvelopeNodeSchema.safeParse({
|
|
17536
17507
|
...node,
|
|
17537
17508
|
phase: "asset"
|
|
17538
17509
|
});
|
|
17539
|
-
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue(
|
|
17510
|
+
if (!legacy.success) for (const issue of legacy.error.issues) ctx.addIssue({
|
|
17511
|
+
...issue
|
|
17512
|
+
});
|
|
17540
17513
|
});
|
|
17541
17514
|
var LandingGifGenerationPolicySchema = z73.discriminatedUnion("model", [
|
|
17542
17515
|
z73.object({
|
|
@@ -17923,7 +17896,7 @@ var LandingRegenerationStatusResponse = z75.object({
|
|
|
17923
17896
|
});
|
|
17924
17897
|
|
|
17925
17898
|
// ../../packages/types/src/shopify-meta-tracking.ts
|
|
17926
|
-
import
|
|
17899
|
+
import * as z76 from "zod";
|
|
17927
17900
|
var MetaTrackingOwnerSchema = z76.enum([
|
|
17928
17901
|
"auto",
|
|
17929
17902
|
"external",
|
|
@@ -18131,7 +18104,7 @@ var UploadedAssetRole = z78.enum([
|
|
|
18131
18104
|
]);
|
|
18132
18105
|
var UPLOADED_ASSET_MAX_FILES = 10;
|
|
18133
18106
|
var UPLOADED_ASSET_IMAGE_MAX_FILES = 5;
|
|
18134
|
-
var UploadedAssetId = z78.string().
|
|
18107
|
+
var UploadedAssetId = z78.string().guid();
|
|
18135
18108
|
var HttpsUrl = z78.string().url().refine((value) => {
|
|
18136
18109
|
try {
|
|
18137
18110
|
const url2 = new URL(value);
|
|
@@ -18272,7 +18245,7 @@ var DropshippingProjectRewardMilestoneStateSchema = z79.object({
|
|
|
18272
18245
|
credits: z79.number().int().positive(),
|
|
18273
18246
|
available: z79.boolean().optional(),
|
|
18274
18247
|
earned: z79.boolean(),
|
|
18275
|
-
grantId: z79.string().
|
|
18248
|
+
grantId: z79.string().guid().nullable(),
|
|
18276
18249
|
grantedAt: z79.string().datetime().nullable()
|
|
18277
18250
|
});
|
|
18278
18251
|
var DropshippingProjectRewardProgressSchema = z79.object({
|
|
@@ -18338,16 +18311,16 @@ var HttpUrlSchema = z79.string().url().max(2e3).refine((value) => {
|
|
|
18338
18311
|
}, "Product URL must use HTTP(S)");
|
|
18339
18312
|
var ResearchCandidateOriginSchema = z79.object({
|
|
18340
18313
|
type: z79.literal("research_candidate"),
|
|
18341
|
-
runId: z79.string().
|
|
18314
|
+
runId: z79.string().guid(),
|
|
18342
18315
|
candidateSourceId: z79.string().min(1).max(160)
|
|
18343
18316
|
});
|
|
18344
18317
|
var TaskOriginSchema = z79.object({
|
|
18345
18318
|
type: z79.literal("task"),
|
|
18346
|
-
taskId: z79.string().
|
|
18319
|
+
taskId: z79.string().guid()
|
|
18347
18320
|
});
|
|
18348
18321
|
var ManualOriginSchema = z79.object({
|
|
18349
18322
|
type: z79.literal("manual"),
|
|
18350
|
-
clientRequestId: z79.string().
|
|
18323
|
+
clientRequestId: z79.string().guid(),
|
|
18351
18324
|
country: z79.string().min(2).max(3).optional()
|
|
18352
18325
|
});
|
|
18353
18326
|
var CreateDropshippingProjectRequestSchema = z79.object({
|
|
@@ -18420,11 +18393,11 @@ var DropshippingProjectNextActionSchema = z79.discriminatedUnion("kind", [
|
|
|
18420
18393
|
})
|
|
18421
18394
|
]);
|
|
18422
18395
|
var DropshippingProjectResponseSchema = z79.object({
|
|
18423
|
-
id: z79.string().
|
|
18424
|
-
taskId: z79.string().
|
|
18396
|
+
id: z79.string().guid(),
|
|
18397
|
+
taskId: z79.string().guid().nullable(),
|
|
18425
18398
|
status: DropshippingProjectStatusSchema,
|
|
18426
18399
|
originKey: z79.string().min(1),
|
|
18427
|
-
researchRunId: z79.string().
|
|
18400
|
+
researchRunId: z79.string().guid().nullable(),
|
|
18428
18401
|
candidateSourceId: z79.string().nullable(),
|
|
18429
18402
|
productName: z79.string().nullable(),
|
|
18430
18403
|
productUrl: HttpUrlSchema.nullable(),
|
|
@@ -18779,7 +18752,7 @@ var mediaVideoFields = {
|
|
|
18779
18752
|
var mediaImageFields = {
|
|
18780
18753
|
kind: z81.literal("image"),
|
|
18781
18754
|
durationSec: z81.never({
|
|
18782
|
-
|
|
18755
|
+
error: "a photo has no duration"
|
|
18783
18756
|
}).optional()
|
|
18784
18757
|
};
|
|
18785
18758
|
var mediaOriginFields = {
|
|
@@ -19024,7 +18997,7 @@ var LegacyMotionGraphicsClipSpecSchema = z84.discriminatedUnion("kind", [
|
|
|
19024
18997
|
...clipSpecFields,
|
|
19025
18998
|
kind: z84.literal("broll"),
|
|
19026
18999
|
speech: z84.never({
|
|
19027
|
-
|
|
19000
|
+
error: "only a speaking clip carries speech"
|
|
19028
19001
|
}).optional()
|
|
19029
19002
|
}).strict(),
|
|
19030
19003
|
z84.object({
|
|
@@ -19597,8 +19570,8 @@ var MotionGraphicsCreativeBatchSchema = z89.object({
|
|
|
19597
19570
|
version: z89.literal("v1"),
|
|
19598
19571
|
count: MotionGraphicsHookVariantsSchema,
|
|
19599
19572
|
index: MotionGraphicsHookVariantsSchema,
|
|
19600
|
-
rootTaskId: z89.string().
|
|
19601
|
-
taskIds: z89.array(z89.string().
|
|
19573
|
+
rootTaskId: z89.string().guid().optional(),
|
|
19574
|
+
taskIds: z89.array(z89.string().guid()).min(1).max(3).optional(),
|
|
19602
19575
|
plans: MotionGraphicsCreativePlansSchema.optional()
|
|
19603
19576
|
}).strict().superRefine((batch, ctx) => {
|
|
19604
19577
|
if (batch.index > batch.count) ctx.addIssue({
|
|
@@ -19694,7 +19667,7 @@ var MotionGraphicsMusicStatusResponseSchema = z90.discriminatedUnion("status", [
|
|
|
19694
19667
|
// ../../packages/types/src/website-capture-artifact.ts
|
|
19695
19668
|
import { z as z91 } from "zod";
|
|
19696
19669
|
var WebsiteCaptureBindingSchema = z91.object({
|
|
19697
|
-
captureId: z91.string().
|
|
19670
|
+
captureId: z91.string().guid(),
|
|
19698
19671
|
bundleKey: z91.string().min(1),
|
|
19699
19672
|
sha256: z91.string().regex(/^[a-f0-9]{64}$/)
|
|
19700
19673
|
});
|
|
@@ -19838,7 +19811,7 @@ var motionGraphicsStateSchema = z93.object({
|
|
|
19838
19811
|
/** Durable, unpaid Generate intent. Removed only after capture admission and payment. */
|
|
19839
19812
|
captureAdmission: z93.object({
|
|
19840
19813
|
version: z93.literal("v1"),
|
|
19841
|
-
captureId: z93.string().
|
|
19814
|
+
captureId: z93.string().guid().optional(),
|
|
19842
19815
|
maxSocialAcquisitionPriceCents: z93.number().finite().nonnegative(),
|
|
19843
19816
|
maxTotalPriceCents: z93.number().finite().nonnegative(),
|
|
19844
19817
|
deadlineAt: z93.string().datetime(),
|
|
@@ -21802,7 +21775,7 @@ var DailyControlProductFactsSchema = z96.object({
|
|
|
21802
21775
|
currency: z96.string()
|
|
21803
21776
|
});
|
|
21804
21777
|
var DailyControlProductSchema = z96.object({
|
|
21805
|
-
projectId: z96.string().
|
|
21778
|
+
projectId: z96.string().guid(),
|
|
21806
21779
|
productName: z96.string().nullable(),
|
|
21807
21780
|
status: DailyControlStatusSchema,
|
|
21808
21781
|
/** Motivo legible cuando status !== 'ok'. Nunca se rellenan métricas en ese caso. */
|
|
@@ -21847,7 +21820,7 @@ var DailyControlQuerySchema = z96.object({
|
|
|
21847
21820
|
* necesita ese producto; sin este filtro cada carga de página lee el gasto
|
|
21848
21821
|
* de TODOS los proyectos activos del usuario contra Meta/TikTok/Shopify.
|
|
21849
21822
|
*/
|
|
21850
|
-
projectId: z96.string().
|
|
21823
|
+
projectId: z96.string().guid().optional()
|
|
21851
21824
|
});
|
|
21852
21825
|
var LinkableCampaignSchema = z96.object({
|
|
21853
21826
|
provider: z96.enum([
|
|
@@ -22056,7 +22029,7 @@ var CreateFinanceOperationSchema = z97.object({
|
|
|
22056
22029
|
label: z97.string().trim().min(1).max(60).optional()
|
|
22057
22030
|
}).strict();
|
|
22058
22031
|
var FinanceOperationSchema = z97.object({
|
|
22059
|
-
id: z97.string().
|
|
22032
|
+
id: z97.string().guid(),
|
|
22060
22033
|
countryCode: z97.string().length(2),
|
|
22061
22034
|
currency: z97.string().min(3).max(3),
|
|
22062
22035
|
label: z97.string().min(1)
|
|
@@ -22065,7 +22038,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22065
22038
|
/** Opcional a propósito: con UNA sola operación —el caso de casi todo el
|
|
22066
22039
|
* mundo— el servidor la resuelve solo. Con varias devuelve cuáles son,
|
|
22067
22040
|
* para poder preguntar por país en vez de fallar. */
|
|
22068
|
-
operationId: z97.string().
|
|
22041
|
+
operationId: z97.string().guid().optional(),
|
|
22069
22042
|
/** YYYY-MM. Solo mes calendario: es el periodo con el que se piensa un
|
|
22070
22043
|
* negocio, y prorratear gastos fijos sobre un rango libre confunde más de
|
|
22071
22044
|
* lo que ayuda. */
|
|
@@ -22074,7 +22047,7 @@ var MonthlyPLQuerySchema = z97.object({
|
|
|
22074
22047
|
var RESERVED_EXPENSE_LABEL_PREFIX = "__ad_spend__";
|
|
22075
22048
|
var isReservedExpenseLabel = /* @__PURE__ */ __name((label) => label.trim().startsWith(RESERVED_EXPENSE_LABEL_PREFIX), "isReservedExpenseLabel");
|
|
22076
22049
|
var SaveMonthlyExpenseSchema = z97.object({
|
|
22077
|
-
operationId: z97.string().
|
|
22050
|
+
operationId: z97.string().guid().optional(),
|
|
22078
22051
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22079
22052
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22080
22053
|
message: "reserved_expense_label"
|
|
@@ -22082,7 +22055,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22082
22055
|
/** Unidades mayores de la moneda; conserva decimales donde aplique. */
|
|
22083
22056
|
amount: z97.number().finite().min(0),
|
|
22084
22057
|
allocations: z97.array(z97.object({
|
|
22085
|
-
operationId: z97.string().
|
|
22058
|
+
operationId: z97.string().guid(),
|
|
22086
22059
|
sharePct: z97.number().int().min(1).max(100)
|
|
22087
22060
|
})).min(1).refine((allocations) => allocations.reduce((sum, one) => sum + one.sharePct, 0) <= 100, {
|
|
22088
22061
|
message: "allocations_must_sum_to_100"
|
|
@@ -22091,7 +22064,7 @@ var SaveMonthlyExpenseSchema = z97.object({
|
|
|
22091
22064
|
}).optional()
|
|
22092
22065
|
}).strict();
|
|
22093
22066
|
var DeleteMonthlyExpenseSchema = z97.object({
|
|
22094
|
-
operationId: z97.string().
|
|
22067
|
+
operationId: z97.string().guid().optional(),
|
|
22095
22068
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/),
|
|
22096
22069
|
label: z97.string().trim().min(1).max(80).refine((label) => !isReservedExpenseLabel(label), {
|
|
22097
22070
|
message: "reserved_expense_label"
|
|
@@ -22099,11 +22072,11 @@ var DeleteMonthlyExpenseSchema = z97.object({
|
|
|
22099
22072
|
}).strict();
|
|
22100
22073
|
var SetAdSpendSchema = z97.object({
|
|
22101
22074
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
22102
|
-
operationId: z97.string().
|
|
22075
|
+
operationId: z97.string().guid().optional(),
|
|
22103
22076
|
amount: z97.number().finite().min(0).nullable()
|
|
22104
22077
|
}).strict();
|
|
22105
22078
|
var MonthlyExpensesQuerySchema = z97.object({
|
|
22106
|
-
operationId: z97.string().
|
|
22079
|
+
operationId: z97.string().guid().optional(),
|
|
22107
22080
|
month: z97.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional()
|
|
22108
22081
|
}).strict();
|
|
22109
22082
|
|
|
@@ -22132,13 +22105,13 @@ var ResolveUnmatchedProductSchema = z98.object({
|
|
|
22132
22105
|
provider: z98.enum(PRODUCT_ALIAS_PROVIDERS),
|
|
22133
22106
|
externalId: z98.string().trim().min(1).max(64),
|
|
22134
22107
|
label: z98.string().trim().min(1).max(PRODUCT_ALIAS_LABEL_MAX_LENGTH),
|
|
22135
|
-
operationId: z98.string().
|
|
22108
|
+
operationId: z98.string().guid(),
|
|
22136
22109
|
/** Presente ⇒ es el producto al que pertenece. Ausente ⇒ es uno nuevo. */
|
|
22137
|
-
productControlId: z98.string().
|
|
22110
|
+
productControlId: z98.string().guid().optional()
|
|
22138
22111
|
}).strict();
|
|
22139
22112
|
var MergeProductsSchema = z98.object({
|
|
22140
|
-
sourceId: z98.string().
|
|
22141
|
-
targetId: z98.string().
|
|
22113
|
+
sourceId: z98.string().guid(),
|
|
22114
|
+
targetId: z98.string().guid()
|
|
22142
22115
|
}).strict().refine((value) => value.sourceId !== value.targetId, {
|
|
22143
22116
|
message: "merge_same_product",
|
|
22144
22117
|
path: [
|
|
@@ -22146,8 +22119,8 @@ var MergeProductsSchema = z98.object({
|
|
|
22146
22119
|
]
|
|
22147
22120
|
});
|
|
22148
22121
|
var CreateProductControlFromTaskSchema = z98.object({
|
|
22149
|
-
taskId: z98.string().
|
|
22150
|
-
operationId: z98.string().
|
|
22122
|
+
taskId: z98.string().guid(),
|
|
22123
|
+
operationId: z98.string().guid().optional()
|
|
22151
22124
|
}).strict();
|
|
22152
22125
|
|
|
22153
22126
|
// ../../packages/types/src/product-order-line.ts
|
|
@@ -22195,7 +22168,7 @@ var ProductOrderLineSchema = z99.object({
|
|
|
22195
22168
|
}).strict();
|
|
22196
22169
|
var ORDER_LINES_BATCH_MAX = 5e3;
|
|
22197
22170
|
var ImportOrderLinesSchema = z99.object({
|
|
22198
|
-
operationId: z99.string().
|
|
22171
|
+
operationId: z99.string().guid(),
|
|
22199
22172
|
provider: z99.string().min(1).max(32),
|
|
22200
22173
|
source: z99.string().min(1).max(32),
|
|
22201
22174
|
reportedAt: z99.string().datetime(),
|
|
@@ -22221,7 +22194,7 @@ var ImportOrderLinesFileSchema = z99.object({
|
|
|
22221
22194
|
/** El archivo en base64. `.xlsx` del proveedor. */
|
|
22222
22195
|
fileBase64: z99.string().min(1).max(Math.ceil(8 * 1024 * 1024 / 3) * 4),
|
|
22223
22196
|
filename: z99.string().min(1).max(200),
|
|
22224
|
-
operationId: z99.string().
|
|
22197
|
+
operationId: z99.string().guid().optional(),
|
|
22225
22198
|
provider: z99.string().min(1).max(32).default("dropi"),
|
|
22226
22199
|
/**
|
|
22227
22200
|
* Solo mirar: devuelve el resumen y NO escribe nada.
|
|
@@ -22255,7 +22228,7 @@ var OrderLinesFileSummarySchema = z99.object({
|
|
|
22255
22228
|
});
|
|
22256
22229
|
var SyncShopifyOrdersSchema = z99.object({
|
|
22257
22230
|
shopDomain: z99.string().min(3).max(120).optional(),
|
|
22258
|
-
operationId: z99.string().
|
|
22231
|
+
operationId: z99.string().guid().optional(),
|
|
22259
22232
|
/** YYYY-MM-DD. Sin rango, el mes en curso. */
|
|
22260
22233
|
since: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
22261
22234
|
until: z99.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
@@ -22456,7 +22429,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22456
22429
|
/** El de Shopify, cuando el producto vive en la tienda. */
|
|
22457
22430
|
shopifyProductId: z100.string().min(1).optional(),
|
|
22458
22431
|
/** El NUESTRO, para el producto que nació del archivo del proveedor. */
|
|
22459
|
-
productControlId: z100.string().
|
|
22432
|
+
productControlId: z100.string().guid().optional(),
|
|
22460
22433
|
/** Su precio de venta, solo si el producto no vive en Shopify. */
|
|
22461
22434
|
manualSellingPrice: z100.number().positive().nullable().optional(),
|
|
22462
22435
|
targetCountry: z100.string().min(2).max(2),
|
|
@@ -22496,7 +22469,7 @@ var SaveProductControlCostingSchema = z100.object({
|
|
|
22496
22469
|
});
|
|
22497
22470
|
var SaveProductCatalogSchema = z100.object({
|
|
22498
22471
|
shopDomain: z100.string().min(1).optional(),
|
|
22499
|
-
productControlId: z100.string().
|
|
22472
|
+
productControlId: z100.string().guid(),
|
|
22500
22473
|
/** Nulo BORRA la meta. Cero sería una meta de no ganar nada. */
|
|
22501
22474
|
targetMonthlyProfit: z100.number().finite().positive().nullable().optional(),
|
|
22502
22475
|
lifecycleStatus: z100.enum([
|
|
@@ -22519,7 +22492,7 @@ var ProductControlCampaignFieldsSchema = z100.object({
|
|
|
22519
22492
|
}).strict();
|
|
22520
22493
|
var LinkProductControlCampaignSchema = z100.union([
|
|
22521
22494
|
ProductControlCampaignFieldsSchema.extend({
|
|
22522
|
-
productControlId: z100.string().
|
|
22495
|
+
productControlId: z100.string().guid()
|
|
22523
22496
|
}).strict(),
|
|
22524
22497
|
ProductControlCampaignFieldsSchema.extend({
|
|
22525
22498
|
shopDomain: z100.string().min(1),
|
|
@@ -22666,7 +22639,7 @@ var ImportFulfillmentCountsResponseSchema = z100.object({
|
|
|
22666
22639
|
});
|
|
22667
22640
|
var CreateManualProductControlSchema = z100.object({
|
|
22668
22641
|
/** UUID que el diálogo fija por apertura; es además el id del producto. */
|
|
22669
|
-
requestId: z100.string().
|
|
22642
|
+
requestId: z100.string().guid(),
|
|
22670
22643
|
title: z100.string().trim().min(1).max(200),
|
|
22671
22644
|
/** País donde vende este producto; la moneda sale de él en el servidor. */
|
|
22672
22645
|
targetCountry: z100.string().regex(/^[A-Z]{2}$/).refine((code) => {
|
|
@@ -22678,7 +22651,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22678
22651
|
}
|
|
22679
22652
|
}, "unsupported_finance_country"),
|
|
22680
22653
|
/** Solo cuando coincide con el país elegido; si no, se omite. */
|
|
22681
|
-
operationId: z100.string().
|
|
22654
|
+
operationId: z100.string().guid().optional(),
|
|
22682
22655
|
manualSellingPrice: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22683
22656
|
supplierCost: z100.number().finite().positive().max(Number.MAX_SAFE_INTEGER),
|
|
22684
22657
|
shippingCost: z100.number().finite().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
@@ -22696,7 +22669,7 @@ var CreateManualProductControlSchema = z100.object({
|
|
|
22696
22669
|
}
|
|
22697
22670
|
});
|
|
22698
22671
|
var CreateManualProductControlResponseSchema = z100.object({
|
|
22699
|
-
productControlId: z100.string().
|
|
22672
|
+
productControlId: z100.string().guid(),
|
|
22700
22673
|
created: z100.boolean()
|
|
22701
22674
|
});
|
|
22702
22675
|
|
|
@@ -22787,7 +22760,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22787
22760
|
"approve_video_script",
|
|
22788
22761
|
// 2026-10-14: optional exact plan binding shared by legacy/unified review.
|
|
22789
22762
|
// Hash captured from the real registered schema in apps/mcp/src/server.test.ts.
|
|
22790
|
-
"
|
|
22763
|
+
"5f7722993798d952d4a920a9bc7929a8c6a54f8ca13bff1b824d555dd680a6d2",
|
|
22791
22764
|
"credit_consuming",
|
|
22792
22765
|
"creative",
|
|
22793
22766
|
[
|
|
@@ -22829,7 +22802,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22829
22802
|
], [
|
|
22830
22803
|
"staging_asset"
|
|
22831
22804
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
22832
|
-
defineCapability("check_media_upload", "
|
|
22805
|
+
defineCapability("check_media_upload", "58acbc7574d140389efbddfd45e660a353429681891b3d85a08b74351bb5acab", "none", "read_only", [
|
|
22833
22806
|
"read"
|
|
22834
22807
|
], [
|
|
22835
22808
|
slot("upload_session", true, [
|
|
@@ -22840,7 +22813,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22840
22813
|
], [
|
|
22841
22814
|
"uploaded_asset"
|
|
22842
22815
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
22843
|
-
defineCapability("cost_dropshipping_project", "
|
|
22816
|
+
defineCapability("cost_dropshipping_project", "fead3bca76b7531c52020cd64135072593783fe12c0c605865a08f1d7d028001", "state_change", "business", [
|
|
22844
22817
|
"state_change"
|
|
22845
22818
|
], [
|
|
22846
22819
|
slot("project_revision", true, [
|
|
@@ -22877,7 +22850,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22877
22850
|
], [
|
|
22878
22851
|
"project_costing"
|
|
22879
22852
|
]),
|
|
22880
|
-
defineCapability("cost_product", "
|
|
22853
|
+
defineCapability("cost_product", "2272a6a3375401ced9deba82e41796b037aef20d712bc7996221e7fee0d7a4d7", "none", "read_only", [
|
|
22881
22854
|
"read"
|
|
22882
22855
|
], [
|
|
22883
22856
|
slot("product_reference", false, [], [
|
|
@@ -22921,7 +22894,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22921
22894
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
22922
22895
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
22923
22896
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
22924
|
-
"
|
|
22897
|
+
"5991b2e897aad7b10c4e38a93e8c58234741498393439cf0228ed9ffd966efef",
|
|
22925
22898
|
"credit_consuming",
|
|
22926
22899
|
"creative",
|
|
22927
22900
|
[
|
|
@@ -22978,7 +22951,8 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
22978
22951
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
22979
22952
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
22980
22953
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
22981
|
-
|
|
22954
|
+
// MCP 12.4.0: landingStrategy narrowed to classic + social_proof.
|
|
22955
|
+
"5a6dd48977702dbb92a315fb668054f13918fd1cfae5056de82e94144e6f5804",
|
|
22982
22956
|
"credit_consuming",
|
|
22983
22957
|
"creative",
|
|
22984
22958
|
[
|
|
@@ -23138,7 +23112,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23138
23112
|
// SHARED_CHANNEL_EXPOSURE to restore it.
|
|
23139
23113
|
WHATSAPP_ONLY_CHANNEL_EXPOSURE
|
|
23140
23114
|
),
|
|
23141
|
-
defineCapability("edit_image_creative", "
|
|
23115
|
+
defineCapability("edit_image_creative", "eb487773c4a9ffd5d4472c5a1d77e0fef7b625dbf9ca15b5da700a903ba30945", "credit_consuming", "creative", [
|
|
23142
23116
|
"credit_consuming",
|
|
23143
23117
|
"state_change"
|
|
23144
23118
|
], [
|
|
@@ -23157,7 +23131,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23157
23131
|
], [
|
|
23158
23132
|
"creative"
|
|
23159
23133
|
]),
|
|
23160
|
-
defineCapability("get_image_edit_status", "
|
|
23134
|
+
defineCapability("get_image_edit_status", "3feb680140ab8459c10c22fb3aba3a7d41e147fddfcdd7e4cdac050c0f7ea34e", "none", "read_only", [
|
|
23161
23135
|
"read"
|
|
23162
23136
|
], [
|
|
23163
23137
|
slot("creative_operation", true, [
|
|
@@ -23169,7 +23143,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23169
23143
|
], [
|
|
23170
23144
|
"creative_edit_status"
|
|
23171
23145
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23172
|
-
defineCapability("edit_task_draft", "
|
|
23146
|
+
defineCapability("edit_task_draft", "6df71b63f0c00ba9eac12f31fb0b71610225ece74df85032025bb77197bb7c22", "state_change", "creative", [
|
|
23173
23147
|
"state_change"
|
|
23174
23148
|
], [
|
|
23175
23149
|
slot("task_angle", true, [
|
|
@@ -23184,7 +23158,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23184
23158
|
], [
|
|
23185
23159
|
"task_draft"
|
|
23186
23160
|
]),
|
|
23187
|
-
defineCapability("estimate_creative_variant", "
|
|
23161
|
+
defineCapability("estimate_creative_variant", "468079ba24e5e0d3c5c707cd54fec64571be429e66cadc12019af4d6e9d10c4e", "none", "read_only", [
|
|
23188
23162
|
"read"
|
|
23189
23163
|
], [
|
|
23190
23164
|
slot("source_task", true, [
|
|
@@ -23206,7 +23180,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23206
23180
|
], [
|
|
23207
23181
|
"cost_estimate"
|
|
23208
23182
|
]),
|
|
23209
|
-
defineCapability("estimate_market_study_cost", "
|
|
23183
|
+
defineCapability("estimate_market_study_cost", "d1fbe8ead642d481258c419a1eed059f9c8188d1cd9f2d4eed12e202fc8800a4", "none", "read_only", [
|
|
23210
23184
|
"read"
|
|
23211
23185
|
], [
|
|
23212
23186
|
slot("creative_kind", true, [
|
|
@@ -23231,7 +23205,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23231
23205
|
], [
|
|
23232
23206
|
"cost_estimate"
|
|
23233
23207
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23234
|
-
defineCapability("find_winning_products", "
|
|
23208
|
+
defineCapability("find_winning_products", "b73a18bb9618b96067b17791bf2f8e7450e17e34881c4f997e117be89abe058d", "credit_consuming", "business", [
|
|
23235
23209
|
"credit_consuming",
|
|
23236
23210
|
"state_change"
|
|
23237
23211
|
], [
|
|
@@ -23259,7 +23233,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23259
23233
|
// from `pnpm --filter @productmaker/mcp test` printing the real digest.
|
|
23260
23234
|
// Re-baselined 2026-09-26: `idempotencyKey` field description corrected —
|
|
23261
23235
|
// paid tools ignore caller-provided keys and derive their own semantic key.
|
|
23262
|
-
"
|
|
23236
|
+
"e9ae8370da117bae121714da12b78f234e07a0805093bce354d7fb9fcec2291e",
|
|
23263
23237
|
"credit_consuming",
|
|
23264
23238
|
"creative",
|
|
23265
23239
|
[
|
|
@@ -23318,7 +23292,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23318
23292
|
"video"
|
|
23319
23293
|
]
|
|
23320
23294
|
),
|
|
23321
|
-
defineCapability("generate_image_creatives", "
|
|
23295
|
+
defineCapability("generate_image_creatives", "f0d1f771d83c50070ebdef6554072e984997336cb9b7f7f06acd818b021a0187", "credit_consuming", "creative", [
|
|
23322
23296
|
"credit_consuming",
|
|
23323
23297
|
"state_change"
|
|
23324
23298
|
], [
|
|
@@ -23421,111 +23395,123 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23421
23395
|
]
|
|
23422
23396
|
}
|
|
23423
23397
|
]),
|
|
23424
|
-
defineCapability(
|
|
23398
|
+
defineCapability(
|
|
23399
|
+
"generate_landing",
|
|
23400
|
+
// MCP 12.4.0: guided landingStrategy narrowed to classic + social_proof.
|
|
23401
|
+
"6db8df9db5410d0abe0f44da7027af4cc40aff37ef6e66e82164edbd889eeb63",
|
|
23425
23402
|
"credit_consuming",
|
|
23426
|
-
"
|
|
23427
|
-
|
|
23428
|
-
|
|
23429
|
-
"
|
|
23430
|
-
|
|
23431
|
-
|
|
23432
|
-
"
|
|
23433
|
-
|
|
23434
|
-
|
|
23435
|
-
|
|
23436
|
-
|
|
23437
|
-
|
|
23438
|
-
|
|
23439
|
-
|
|
23440
|
-
|
|
23441
|
-
|
|
23442
|
-
|
|
23443
|
-
|
|
23444
|
-
|
|
23445
|
-
"
|
|
23446
|
-
|
|
23447
|
-
|
|
23448
|
-
|
|
23449
|
-
|
|
23450
|
-
|
|
23451
|
-
|
|
23452
|
-
|
|
23453
|
-
|
|
23454
|
-
|
|
23455
|
-
|
|
23456
|
-
|
|
23457
|
-
|
|
23458
|
-
|
|
23459
|
-
|
|
23460
|
-
|
|
23461
|
-
|
|
23462
|
-
"
|
|
23463
|
-
|
|
23464
|
-
|
|
23465
|
-
|
|
23466
|
-
|
|
23467
|
-
|
|
23468
|
-
|
|
23469
|
-
|
|
23470
|
-
"
|
|
23471
|
-
|
|
23472
|
-
|
|
23473
|
-
|
|
23474
|
-
|
|
23475
|
-
|
|
23476
|
-
|
|
23477
|
-
|
|
23478
|
-
|
|
23479
|
-
"
|
|
23480
|
-
|
|
23481
|
-
|
|
23482
|
-
|
|
23483
|
-
|
|
23484
|
-
|
|
23485
|
-
|
|
23486
|
-
|
|
23487
|
-
|
|
23488
|
-
|
|
23489
|
-
|
|
23490
|
-
|
|
23491
|
-
|
|
23492
|
-
|
|
23493
|
-
|
|
23494
|
-
|
|
23495
|
-
|
|
23496
|
-
|
|
23497
|
-
|
|
23498
|
-
|
|
23499
|
-
|
|
23500
|
-
|
|
23501
|
-
|
|
23502
|
-
|
|
23503
|
-
|
|
23504
|
-
|
|
23505
|
-
|
|
23506
|
-
|
|
23507
|
-
|
|
23508
|
-
|
|
23509
|
-
|
|
23510
|
-
|
|
23511
|
-
|
|
23512
|
-
|
|
23513
|
-
"
|
|
23514
|
-
|
|
23515
|
-
|
|
23516
|
-
|
|
23517
|
-
|
|
23518
|
-
|
|
23519
|
-
|
|
23520
|
-
|
|
23521
|
-
|
|
23522
|
-
|
|
23403
|
+
"creative",
|
|
23404
|
+
[
|
|
23405
|
+
"credit_consuming",
|
|
23406
|
+
"state_change"
|
|
23407
|
+
],
|
|
23408
|
+
[
|
|
23409
|
+
slot("product_reference", true, [
|
|
23410
|
+
"images",
|
|
23411
|
+
"winnerReference"
|
|
23412
|
+
], [
|
|
23413
|
+
"imageMessageIds",
|
|
23414
|
+
"imageAssetIds",
|
|
23415
|
+
"projectId",
|
|
23416
|
+
"productUrl"
|
|
23417
|
+
]),
|
|
23418
|
+
slot("locale", true, [
|
|
23419
|
+
"language",
|
|
23420
|
+
"country"
|
|
23421
|
+
]),
|
|
23422
|
+
slot("initial_landing_gif", false, [
|
|
23423
|
+
"includeInitialLandingGif"
|
|
23424
|
+
], []),
|
|
23425
|
+
slot("sales_context", false, [
|
|
23426
|
+
"salesAngle",
|
|
23427
|
+
"buyerPersona"
|
|
23428
|
+
]),
|
|
23429
|
+
slot("commercial_offer", false, [
|
|
23430
|
+
"price",
|
|
23431
|
+
"compareAtPrice",
|
|
23432
|
+
"offer"
|
|
23433
|
+
], [
|
|
23434
|
+
"price",
|
|
23435
|
+
"offer",
|
|
23436
|
+
"compareAtPrice",
|
|
23437
|
+
"paymentMethods"
|
|
23438
|
+
]),
|
|
23439
|
+
slot("product_context", false, [
|
|
23440
|
+
"productLabel",
|
|
23441
|
+
"isCombo"
|
|
23442
|
+
], [
|
|
23443
|
+
"productContext",
|
|
23444
|
+
"productLabel",
|
|
23445
|
+
"isCombo"
|
|
23446
|
+
]),
|
|
23447
|
+
slot("brand_direction", false, [
|
|
23448
|
+
"brandId"
|
|
23449
|
+
], [
|
|
23450
|
+
"brandId",
|
|
23451
|
+
"creativeDirection",
|
|
23452
|
+
"headline",
|
|
23453
|
+
"subheadline"
|
|
23454
|
+
]),
|
|
23455
|
+
slot(
|
|
23456
|
+
"landing_options",
|
|
23457
|
+
// Required by the direct MCP schema, optional for the WhatsApp adapter.
|
|
23458
|
+
false,
|
|
23459
|
+
[
|
|
23460
|
+
"creativeSetup"
|
|
23461
|
+
],
|
|
23462
|
+
[
|
|
23463
|
+
"competitorScanEnabled",
|
|
23464
|
+
"landingStrategy",
|
|
23465
|
+
"landingImageFormat",
|
|
23466
|
+
"pauseForAngleReview"
|
|
23467
|
+
]
|
|
23468
|
+
)
|
|
23469
|
+
],
|
|
23470
|
+
[
|
|
23471
|
+
"product_reference"
|
|
23472
|
+
],
|
|
23473
|
+
[
|
|
23474
|
+
"task",
|
|
23475
|
+
"product",
|
|
23476
|
+
"landing"
|
|
23477
|
+
],
|
|
23478
|
+
SHARED_CHANNEL_EXPOSURE,
|
|
23479
|
+
[
|
|
23480
|
+
{
|
|
23481
|
+
slot: "product_reference",
|
|
23482
|
+
askBeforePaidExecution: true,
|
|
23483
|
+
explicitOmissionAllowed: false,
|
|
23484
|
+
fieldCompletion: "any"
|
|
23485
|
+
},
|
|
23486
|
+
{
|
|
23487
|
+
slot: "locale",
|
|
23488
|
+
askBeforePaidExecution: true,
|
|
23489
|
+
explicitOmissionAllowed: false,
|
|
23490
|
+
fieldCompletion: "all"
|
|
23491
|
+
},
|
|
23492
|
+
{
|
|
23493
|
+
slot: "sales_context",
|
|
23494
|
+
askBeforePaidExecution: true,
|
|
23495
|
+
explicitOmissionAllowed: true,
|
|
23496
|
+
fieldCompletion: "any",
|
|
23497
|
+
completionFields: [
|
|
23498
|
+
"salesAngle"
|
|
23499
|
+
]
|
|
23500
|
+
},
|
|
23501
|
+
{
|
|
23502
|
+
slot: "commercial_offer",
|
|
23503
|
+
askBeforePaidExecution: true,
|
|
23504
|
+
explicitOmissionAllowed: true,
|
|
23505
|
+
fieldCompletion: "all"
|
|
23506
|
+
}
|
|
23507
|
+
]
|
|
23508
|
+
),
|
|
23523
23509
|
defineCapability(
|
|
23524
23510
|
"generate_video_creative",
|
|
23525
23511
|
// MCP 8.6.0: + storyteller narrative family and animationStyle axis.
|
|
23526
23512
|
// MCP 8.10.0: storyteller family blocked (BLOCKED_NARRATIVE_STYLES).
|
|
23527
23513
|
// MCP 9.1.0: combine current animated-video controls and initial GIF choice.
|
|
23528
|
-
"
|
|
23514
|
+
"66dee35d59da0e88e72e24c503f3f1dc46c17c1162d98d48705e2bfe552f3f02",
|
|
23529
23515
|
"credit_consuming",
|
|
23530
23516
|
"creative",
|
|
23531
23517
|
[
|
|
@@ -23646,7 +23632,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23646
23632
|
}
|
|
23647
23633
|
]
|
|
23648
23634
|
),
|
|
23649
|
-
defineCapability("get_meta_campaign_status", "
|
|
23635
|
+
defineCapability("get_meta_campaign_status", "a89fa144b69309bffd3d402c63ab6697757c447022d4af2a20d321f084efb274", "none", "read_only", [
|
|
23650
23636
|
"read"
|
|
23651
23637
|
], [
|
|
23652
23638
|
slot("campaign", true, [
|
|
@@ -23657,7 +23643,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23657
23643
|
], [
|
|
23658
23644
|
"campaign_status"
|
|
23659
23645
|
]),
|
|
23660
|
-
defineCapability("get_product_research_run", "
|
|
23646
|
+
defineCapability("get_product_research_run", "fd6d6260b4c9cf9cac5c0d210ceec54f99825d6214f7e3625622e82305e69550", "none", "read_only", [
|
|
23661
23647
|
"read"
|
|
23662
23648
|
], [
|
|
23663
23649
|
slot("research_run", true, [
|
|
@@ -23668,7 +23654,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23668
23654
|
], [
|
|
23669
23655
|
"product_research_run"
|
|
23670
23656
|
]),
|
|
23671
|
-
defineCapability("get_task_status", "
|
|
23657
|
+
defineCapability("get_task_status", "308241071b3ec785b1f0eba0fc17383e9fe8f2452c6a5a5ef27fd792a99b9d4c", "none", "read_only", [
|
|
23672
23658
|
"read"
|
|
23673
23659
|
], [
|
|
23674
23660
|
slot("task", true, [
|
|
@@ -23682,7 +23668,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23682
23668
|
], [
|
|
23683
23669
|
"task_status"
|
|
23684
23670
|
]),
|
|
23685
|
-
defineCapability("get_tiktok_campaign_status", "
|
|
23671
|
+
defineCapability("get_tiktok_campaign_status", "e19b1536d8e317185fb9662a244cc1e94986004b5a4bf84beaf473b5de28562f", "none", "read_only", [
|
|
23686
23672
|
"read"
|
|
23687
23673
|
], [
|
|
23688
23674
|
slot("campaign", true, [
|
|
@@ -23696,7 +23682,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23696
23682
|
], [
|
|
23697
23683
|
"campaign_status"
|
|
23698
23684
|
]),
|
|
23699
|
-
defineCapability("get_video_script", "
|
|
23685
|
+
defineCapability("get_video_script", "1de9980596c34b71ce8843c090549cf310ed52933f53c2b9c3fca13204441d64", "none", "read_only", [
|
|
23700
23686
|
"read"
|
|
23701
23687
|
], [
|
|
23702
23688
|
slot("task", true, [
|
|
@@ -23710,7 +23696,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23710
23696
|
], [
|
|
23711
23697
|
"video_script"
|
|
23712
23698
|
]),
|
|
23713
|
-
defineCapability("guide_dropshipping_launch", "
|
|
23699
|
+
defineCapability("guide_dropshipping_launch", "1ab3654ed7ef02fbc7b690826a475f27839a3402ca301b8cf26992c11e8f7cf8", "none", "business", [
|
|
23714
23700
|
"read"
|
|
23715
23701
|
], [
|
|
23716
23702
|
slot("project", false, [
|
|
@@ -23732,7 +23718,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23732
23718
|
"get_actor_voice_capabilities",
|
|
23733
23719
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
23734
23720
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
23735
|
-
"
|
|
23721
|
+
"862c210dd3c6bf0584ac61deb84617ecb41bf0219098995a1c5b84133af33239",
|
|
23736
23722
|
"none",
|
|
23737
23723
|
"read_only",
|
|
23738
23724
|
[
|
|
@@ -23751,7 +23737,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23751
23737
|
],
|
|
23752
23738
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
23753
23739
|
),
|
|
23754
|
-
defineCapability("quote_actor_voice", "
|
|
23740
|
+
defineCapability("quote_actor_voice", "4d2e9a643abf4cfe5e02789fed36cdfebc9ede6ab4557d0e5be1e4edb46fb836", "none", "read_only", [
|
|
23755
23741
|
"read"
|
|
23756
23742
|
], [
|
|
23757
23743
|
slot("actor", true, [
|
|
@@ -23765,7 +23751,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23765
23751
|
], [
|
|
23766
23752
|
"actor_voice_quote"
|
|
23767
23753
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23768
|
-
defineCapability("generate_actor_voice_preview", "
|
|
23754
|
+
defineCapability("generate_actor_voice_preview", "cb5a0033621df9bc88f4dcea658885eb35a4ebdc6ef88865c3d8afbe3b229548", "credit_consuming", "creative", [
|
|
23769
23755
|
"credit_consuming",
|
|
23770
23756
|
"state_change"
|
|
23771
23757
|
], [
|
|
@@ -23789,7 +23775,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23789
23775
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
23790
23776
|
defineCapability(
|
|
23791
23777
|
"get_actor_voice_preview",
|
|
23792
|
-
"
|
|
23778
|
+
"b28f1c7d7e7981ed672509398242b7b7256e2ab44185699e6a0ecd8f39882761",
|
|
23793
23779
|
"none",
|
|
23794
23780
|
"creative",
|
|
23795
23781
|
// Recovery uses the original accepted quote; it must not ask to pay again.
|
|
@@ -23814,7 +23800,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23814
23800
|
],
|
|
23815
23801
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
23816
23802
|
),
|
|
23817
|
-
defineCapability("approve_actor_voice", "
|
|
23803
|
+
defineCapability("approve_actor_voice", "5b1c61b992dce69b35f9fb1a388bbd73d41c99575fa86b72121b043045254944", "state_change", "creative", [
|
|
23818
23804
|
"state_change"
|
|
23819
23805
|
], [
|
|
23820
23806
|
slot("actor", true, [
|
|
@@ -23848,7 +23834,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23848
23834
|
], [
|
|
23849
23835
|
"meta_destination"
|
|
23850
23836
|
]),
|
|
23851
|
-
defineCapability("list_product_research_runs", "
|
|
23837
|
+
defineCapability("list_product_research_runs", "ee2d750bfd65a34a9c16bb39dac584fe0784956eaf7b0428a88b1e886846f2af", "none", "read_only", [
|
|
23852
23838
|
"read"
|
|
23853
23839
|
], [
|
|
23854
23840
|
slot("pagination", false, [
|
|
@@ -23859,7 +23845,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23859
23845
|
], [
|
|
23860
23846
|
"product_research_run"
|
|
23861
23847
|
]),
|
|
23862
|
-
defineCapability("list_shopify_products", "
|
|
23848
|
+
defineCapability("list_shopify_products", "c3daf527e345f737c8b23eb347b77fbf2290433257753122a8d55fdc65d58e78", "none", "read_only", [
|
|
23863
23849
|
"read"
|
|
23864
23850
|
], [
|
|
23865
23851
|
slot("shop", true, [
|
|
@@ -23883,7 +23869,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23883
23869
|
], [
|
|
23884
23870
|
"shop"
|
|
23885
23871
|
]),
|
|
23886
|
-
defineCapability("list_tasks", "
|
|
23872
|
+
defineCapability("list_tasks", "4a553c287e590c2dcb905c63eb92c8612093a82476093b9f55c0821cad486598", "none", "read_only", [
|
|
23887
23873
|
"read"
|
|
23888
23874
|
], [
|
|
23889
23875
|
slot("pagination", false, [
|
|
@@ -23905,7 +23891,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23905
23891
|
], [
|
|
23906
23892
|
"tiktok_advertiser"
|
|
23907
23893
|
]),
|
|
23908
|
-
defineCapability("publish_creatives_to_meta", "
|
|
23894
|
+
defineCapability("publish_creatives_to_meta", "d9b8961cb26c2357f45b0ed95eae479affc840742b5b09620a67ce325568cbee", "external_mutation", "publishing", [
|
|
23909
23895
|
"external_mutation",
|
|
23910
23896
|
"state_change"
|
|
23911
23897
|
], [
|
|
@@ -23940,7 +23926,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23940
23926
|
], [
|
|
23941
23927
|
"meta_campaign"
|
|
23942
23928
|
]),
|
|
23943
|
-
defineCapability("publish_to_meta", "
|
|
23929
|
+
defineCapability("publish_to_meta", "663d574b4aa005a5df41f6b8ff458e3f983f874fe6caef94ab0ae8a1477f70bb", "external_mutation", "publishing", [
|
|
23944
23930
|
"external_mutation",
|
|
23945
23931
|
"state_change"
|
|
23946
23932
|
], [
|
|
@@ -23978,7 +23964,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
23978
23964
|
], [
|
|
23979
23965
|
"meta_publication"
|
|
23980
23966
|
]),
|
|
23981
|
-
defineCapability("publish_to_shopify", "
|
|
23967
|
+
defineCapability("publish_to_shopify", "00c4c7af09bb45a72896118ca154a2dc9518f05d74bb9386c825be541fa10fdb", "external_mutation", "publishing", [
|
|
23982
23968
|
"external_mutation",
|
|
23983
23969
|
"state_change"
|
|
23984
23970
|
], [
|
|
@@ -24021,7 +24007,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24021
24007
|
// capability set unchanged, so the live agent's parity gate (which forces
|
|
24022
24008
|
// shadow mode on any canonical gap) is not tripped. Gated server-side by
|
|
24023
24009
|
// SERVICE_MOTION_GRAPHICS_ENABLED + the `service-motion-graphics` feature.
|
|
24024
|
-
defineCapability("create_animated_video", "
|
|
24010
|
+
defineCapability("create_animated_video", "2177ed726e767978eb61fa007f621b389f3b1eb3a2da967fdb44c279bf20fecd", "credit_consuming", "creative", [
|
|
24025
24011
|
"credit_consuming",
|
|
24026
24012
|
"state_change"
|
|
24027
24013
|
], [
|
|
@@ -24072,7 +24058,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24072
24058
|
// MCP-only service journey (2026-10-11): brand analysis → service landing →
|
|
24073
24059
|
// create_animated_video. WhatsApp has no adapter for either, so both are
|
|
24074
24060
|
// declared unavailable there and its parity gate is unchanged.
|
|
24075
|
-
defineCapability("create_brand", "
|
|
24061
|
+
defineCapability("create_brand", "0dba1e46eaaf3ae6ffda459de7eebbdfb2f04da1180b21f84ae4caae434dbbcf", "credit_consuming", "creative", [
|
|
24076
24062
|
"credit_consuming",
|
|
24077
24063
|
"state_change"
|
|
24078
24064
|
], [
|
|
@@ -24095,7 +24081,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24095
24081
|
], [
|
|
24096
24082
|
"brand"
|
|
24097
24083
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24098
|
-
defineCapability("create_service_landing", "
|
|
24084
|
+
defineCapability("create_service_landing", "9e0f68278d2daa3bcf0326dd8e796d4dc82423f850c765efd48881c99f04a14f", "credit_consuming", "creative", [
|
|
24099
24085
|
"credit_consuming",
|
|
24100
24086
|
"state_change"
|
|
24101
24087
|
], [
|
|
@@ -24120,7 +24106,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24120
24106
|
], [
|
|
24121
24107
|
"service_landing"
|
|
24122
24108
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24123
|
-
defineCapability("create_service_images", "
|
|
24109
|
+
defineCapability("create_service_images", "937e86a1b0e3e0678a029062cddb0a9b632c8bcbb9864225f66488e3e2abdbed", "credit_consuming", "creative", [
|
|
24124
24110
|
"credit_consuming",
|
|
24125
24111
|
"state_change"
|
|
24126
24112
|
], [
|
|
@@ -24157,7 +24143,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24157
24143
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24158
24144
|
// MCP-only recovery of an existing code edit. WhatsApp has no code-landing
|
|
24159
24145
|
// editor or edit receipt input; it hands this recovery to ProductMaker Web.
|
|
24160
|
-
defineCapability("verify_landing_commerce", "
|
|
24146
|
+
defineCapability("verify_landing_commerce", "f6dcbfbf8e90c39246f0b377745cd2c6c0f76f314c9736a257087c6d00a90f29", "external_mutation", "publishing", [
|
|
24161
24147
|
"read",
|
|
24162
24148
|
"state_change",
|
|
24163
24149
|
"external_mutation"
|
|
@@ -24176,7 +24162,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24176
24162
|
defineCapability(
|
|
24177
24163
|
"publish_to_tiktok",
|
|
24178
24164
|
// MCP 11.7.0: native WhatsApp destination and major-currency budget inputs.
|
|
24179
|
-
"
|
|
24165
|
+
"ce6e6572583a615203835f6e191a50883ba00f95b8813b3c2bc3d5d92746b24f",
|
|
24180
24166
|
"external_mutation",
|
|
24181
24167
|
"publishing",
|
|
24182
24168
|
[
|
|
@@ -24214,7 +24200,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24214
24200
|
"tiktok_publication"
|
|
24215
24201
|
]
|
|
24216
24202
|
),
|
|
24217
|
-
defineCapability("prepare_winning_product_image", "
|
|
24203
|
+
defineCapability("prepare_winning_product_image", "51c4795176c13b67901e2aad161124598675c7e5ae476b35a63be5b06906ccca", "none", "business", [
|
|
24218
24204
|
"state_change"
|
|
24219
24205
|
], [
|
|
24220
24206
|
slot("winner_reference", true, [
|
|
@@ -24226,7 +24212,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24226
24212
|
], [
|
|
24227
24213
|
"product_media"
|
|
24228
24214
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24229
|
-
defineCapability("regenerate_video_script", "
|
|
24215
|
+
defineCapability("regenerate_video_script", "e68fa5f4f6adb37c4275c60dcb6983d14655a030450c0ed75012044cff0aa29c", "credit_consuming", "creative", [
|
|
24230
24216
|
"credit_consuming",
|
|
24231
24217
|
"state_change"
|
|
24232
24218
|
], [
|
|
@@ -24266,7 +24252,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24266
24252
|
], [
|
|
24267
24253
|
"meta_upload_session"
|
|
24268
24254
|
], WHATSAPP_ONLY_CHANNEL_EXPOSURE),
|
|
24269
|
-
defineCapability("request_media_upload", "
|
|
24255
|
+
defineCapability("request_media_upload", "ab70248efd499351ff119e5563e31185040b57e42ccc0e09efe6b6fbeea794a5", "none", "creative", [
|
|
24270
24256
|
"state_change"
|
|
24271
24257
|
], [
|
|
24272
24258
|
slot("media_kind", true, [
|
|
@@ -24289,7 +24275,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24289
24275
|
], [
|
|
24290
24276
|
"media_upload_session"
|
|
24291
24277
|
], MCP_ONLY_CHANNEL_EXPOSURE),
|
|
24292
|
-
defineCapability("resolve_pending_action", "
|
|
24278
|
+
defineCapability("resolve_pending_action", "a7fef1e3299c2bfb387a16b3e1e243fba8df1db961ebc1f27d2119209124c293", "credit_consuming", "creative", [
|
|
24293
24279
|
"credit_consuming",
|
|
24294
24280
|
"state_change"
|
|
24295
24281
|
], [
|
|
@@ -24325,7 +24311,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24325
24311
|
], [
|
|
24326
24312
|
"task"
|
|
24327
24313
|
]),
|
|
24328
|
-
defineCapability("start_dropshipping_project", "
|
|
24314
|
+
defineCapability("start_dropshipping_project", "996385df905ed85a933c5726fbebf5a29a98f29364badd8256ff306aff38797c", "state_change", "business", [
|
|
24329
24315
|
"state_change"
|
|
24330
24316
|
], [
|
|
24331
24317
|
slot("origin", true, [
|
|
@@ -24346,7 +24332,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24346
24332
|
], [
|
|
24347
24333
|
"dropshipping_project"
|
|
24348
24334
|
]),
|
|
24349
|
-
defineCapability("get_daily_control", "
|
|
24335
|
+
defineCapability("get_daily_control", "f68e63aeda284d8f07040f6ec55c84ba5e55a515667a20bfe3a60268a6827130", "none", "read_only", [
|
|
24350
24336
|
"read"
|
|
24351
24337
|
], [
|
|
24352
24338
|
slot("window_end", false, [
|
|
@@ -24364,7 +24350,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24364
24350
|
], [
|
|
24365
24351
|
"daily_control_report"
|
|
24366
24352
|
]),
|
|
24367
|
-
defineCapability("link_campaign_to_project", "
|
|
24353
|
+
defineCapability("link_campaign_to_project", "1a6d51234a38259e9fa00475c76919742818efb32491a75ffa768ff9fede4013", "state_change", "business", [
|
|
24368
24354
|
"state_change"
|
|
24369
24355
|
], [
|
|
24370
24356
|
slot("project", true, [
|
|
@@ -24384,7 +24370,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24384
24370
|
], [
|
|
24385
24371
|
"campaign_link"
|
|
24386
24372
|
]),
|
|
24387
|
-
defineCapability("list_importable_products", "
|
|
24373
|
+
defineCapability("list_importable_products", "30404855a9d9c61bd437703f0287041ac77bf997fb7c6e5c7dafdf68712020a9", "none", "read_only", [
|
|
24388
24374
|
"read"
|
|
24389
24375
|
], [
|
|
24390
24376
|
slot("search", false, [
|
|
@@ -24401,7 +24387,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24401
24387
|
], [
|
|
24402
24388
|
"importable_product_page"
|
|
24403
24389
|
]),
|
|
24404
|
-
defineCapability("import_product_controls", "
|
|
24390
|
+
defineCapability("import_product_controls", "f0e1de3062389541317f1351977e77fdcb50ee5d0d5251bbc1f1e7e2ab034515", "state_change", "business", [
|
|
24405
24391
|
"state_change"
|
|
24406
24392
|
], [
|
|
24407
24393
|
slot("products", true, [
|
|
@@ -24418,7 +24404,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24418
24404
|
], [
|
|
24419
24405
|
"product_control"
|
|
24420
24406
|
]),
|
|
24421
|
-
defineCapability("set_product_costing", "
|
|
24407
|
+
defineCapability("set_product_costing", "de1353c7061d00bf793ecc789c0300c6dd54f758dbff86b10915a51592a99df9", "state_change", "business", [
|
|
24422
24408
|
"state_change"
|
|
24423
24409
|
], [
|
|
24424
24410
|
/* La identidad sin tienda solo existe en el contrato MCP: el
|
|
@@ -24456,7 +24442,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24456
24442
|
], [
|
|
24457
24443
|
"product_control_costing"
|
|
24458
24444
|
]),
|
|
24459
|
-
defineCapability("get_product_control", "
|
|
24445
|
+
defineCapability("get_product_control", "cc67eec02bc5fba649e705078ecebf4703a3e3e25b9d3189921a7e2bae7f6c0c", "none", "read_only", [
|
|
24460
24446
|
"read"
|
|
24461
24447
|
], [
|
|
24462
24448
|
slot("day", false, [
|
|
@@ -24474,7 +24460,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24474
24460
|
], [
|
|
24475
24461
|
"product_control_report"
|
|
24476
24462
|
]),
|
|
24477
|
-
defineCapability("report_product_counts", "
|
|
24463
|
+
defineCapability("report_product_counts", "8fa2561901b7743506a3639038d7806186c0512470bc6988a54c6bee5dbbb0b0", "state_change", "business", [
|
|
24478
24464
|
"state_change"
|
|
24479
24465
|
], [
|
|
24480
24466
|
slot("product_control", true, [
|
|
@@ -24503,7 +24489,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24503
24489
|
], [
|
|
24504
24490
|
"product_control_daily_counts"
|
|
24505
24491
|
]),
|
|
24506
|
-
defineCapability("get_finances", "
|
|
24492
|
+
defineCapability("get_finances", "bb57d3594b204597e9abd2d9beb7df644d07f5683a159d4de1860fa9d03aa5b4", "none", "read_only", [
|
|
24507
24493
|
"read"
|
|
24508
24494
|
], [
|
|
24509
24495
|
slot("month", false, [
|
|
@@ -24517,7 +24503,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24517
24503
|
], [
|
|
24518
24504
|
"monthly_pl"
|
|
24519
24505
|
]),
|
|
24520
|
-
defineCapability("sync_shopify_orders", "
|
|
24506
|
+
defineCapability("sync_shopify_orders", "0f821de23aa171e89e7e03c1910be57d8dbd878491cbad45a43c4540b4872910", "state_change", "business", [
|
|
24521
24507
|
"state_change"
|
|
24522
24508
|
], [
|
|
24523
24509
|
slot("shop", false, [
|
|
@@ -24537,7 +24523,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24537
24523
|
], [
|
|
24538
24524
|
"product_order_line"
|
|
24539
24525
|
]),
|
|
24540
|
-
defineCapability("import_orders_file", "
|
|
24526
|
+
defineCapability("import_orders_file", "449352851f20e229d488fd10dcfde682774d5c6ef0c66294bedfd6da8d1d93e9", "state_change", "business", [
|
|
24541
24527
|
"state_change"
|
|
24542
24528
|
], [
|
|
24543
24529
|
slot("orders_file", true, [
|
|
@@ -24559,7 +24545,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24559
24545
|
], [
|
|
24560
24546
|
"product_order_line"
|
|
24561
24547
|
]),
|
|
24562
|
-
defineCapability("create_operation", "
|
|
24548
|
+
defineCapability("create_operation", "569501e4e03e6f1782fcf7458e752864804b1ffaa9eb7bd9522e05260939c938", "state_change", "business", [
|
|
24563
24549
|
"state_change"
|
|
24564
24550
|
], [
|
|
24565
24551
|
slot("country", true, [
|
|
@@ -24573,7 +24559,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24573
24559
|
], [
|
|
24574
24560
|
"finance_operation"
|
|
24575
24561
|
]),
|
|
24576
|
-
defineCapability("merge_products", "
|
|
24562
|
+
defineCapability("merge_products", "8519963a68603ed7f4a2a82d24e43f317f0a9840e7fd7ba5a90832c4f4a6bcaf", "state_change", "business", [
|
|
24577
24563
|
"state_change"
|
|
24578
24564
|
], [
|
|
24579
24565
|
slot("source_product", true, [
|
|
@@ -24587,7 +24573,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24587
24573
|
], [
|
|
24588
24574
|
"product_control"
|
|
24589
24575
|
]),
|
|
24590
|
-
defineCapability("set_monthly_expense", "
|
|
24576
|
+
defineCapability("set_monthly_expense", "5ff786a29b44e1961c31fa30decd779d0a18fdf4d7a0bdff7fe130eda59640a4", "state_change", "business", [
|
|
24591
24577
|
"state_change"
|
|
24592
24578
|
], [
|
|
24593
24579
|
slot("expense_label", true, [
|
|
@@ -24607,7 +24593,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24607
24593
|
], [
|
|
24608
24594
|
"monthly_expense"
|
|
24609
24595
|
]),
|
|
24610
|
-
defineCapability("set_ad_spend", "
|
|
24596
|
+
defineCapability("set_ad_spend", "45f5515a91679304c27f2753ec568bcfe0343644363ec3d185eea3a3f220bbc0", "state_change", "business", [
|
|
24611
24597
|
"state_change"
|
|
24612
24598
|
], [
|
|
24613
24599
|
slot("amount", true, [
|
|
@@ -24628,7 +24614,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24628
24614
|
"get_dropi_status",
|
|
24629
24615
|
// Filled by the MCP schema fingerprint test (sha256 of the canonicalized
|
|
24630
24616
|
// inputSchema) — run apps/mcp server.test.ts to compute.
|
|
24631
|
-
"
|
|
24617
|
+
"dbbf0cae464909761b30d649f08ebf588bc34ab66a0b67abcf9ff3442e1ec457",
|
|
24632
24618
|
"none",
|
|
24633
24619
|
"read_only",
|
|
24634
24620
|
[
|
|
@@ -24653,7 +24639,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24653
24639
|
defineCapability(
|
|
24654
24640
|
"sync_dropi_orders",
|
|
24655
24641
|
// Filled by the MCP schema fingerprint test.
|
|
24656
|
-
"
|
|
24642
|
+
"a2b107f6f36ed6e9ed698e89ff54decf180bfce372adabd3bc0d00739ebd6a02",
|
|
24657
24643
|
"state_change",
|
|
24658
24644
|
"business",
|
|
24659
24645
|
[
|
|
@@ -24687,7 +24673,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24687
24673
|
defineCapability(
|
|
24688
24674
|
"create_manual_product",
|
|
24689
24675
|
// Filled by the MCP schema fingerprint test.
|
|
24690
|
-
"
|
|
24676
|
+
"00b0366e3c23989c10243e8c34ea74d2786c7f521093a006e53cc6e68750e5ad",
|
|
24691
24677
|
"state_change",
|
|
24692
24678
|
"business",
|
|
24693
24679
|
[
|
|
@@ -24730,7 +24716,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24730
24716
|
defineCapability(
|
|
24731
24717
|
"list_unmatched_products",
|
|
24732
24718
|
// Filled by the MCP schema fingerprint test.
|
|
24733
|
-
"
|
|
24719
|
+
"d72bf2d563daabe2ce719aeee4d3f1899154daba063ebca1ef69499e0ff09034",
|
|
24734
24720
|
"none",
|
|
24735
24721
|
"read_only",
|
|
24736
24722
|
[
|
|
@@ -24752,7 +24738,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24752
24738
|
defineCapability(
|
|
24753
24739
|
"resolve_unmatched_product",
|
|
24754
24740
|
// Filled by the MCP schema fingerprint test.
|
|
24755
|
-
"
|
|
24741
|
+
"05fb2d978e2e878cbbfeca78b87b0f7e25decedfcfa8490b7cfc055139953574",
|
|
24756
24742
|
"state_change",
|
|
24757
24743
|
"business",
|
|
24758
24744
|
[
|
|
@@ -24804,7 +24790,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24804
24790
|
defineCapability(
|
|
24805
24791
|
"link_product_campaign",
|
|
24806
24792
|
// Filled by the MCP schema fingerprint test.
|
|
24807
|
-
"
|
|
24793
|
+
"a4ea2424df8482eb5f004676aa6d43a24f8ad8790644a41f521cdeb879a306a9",
|
|
24808
24794
|
"state_change",
|
|
24809
24795
|
"business",
|
|
24810
24796
|
[
|
|
@@ -24842,7 +24828,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24842
24828
|
defineCapability(
|
|
24843
24829
|
"delete_monthly_expense",
|
|
24844
24830
|
// Filled by the MCP schema fingerprint test.
|
|
24845
|
-
"
|
|
24831
|
+
"e762a6d49f2ab0ce1f51315d0d0ec11e1456c8b8b8200c66b899808f89f706d5",
|
|
24846
24832
|
"state_change",
|
|
24847
24833
|
"business",
|
|
24848
24834
|
[
|
|
@@ -24870,7 +24856,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24870
24856
|
defineCapability(
|
|
24871
24857
|
"remove_product_control",
|
|
24872
24858
|
// Filled by the MCP schema fingerprint test.
|
|
24873
|
-
"
|
|
24859
|
+
"e29785ec81add0115499e3ae616f47224c2c01dc61c5d7f65d306bc1ac28929f",
|
|
24874
24860
|
"state_change",
|
|
24875
24861
|
"business",
|
|
24876
24862
|
[
|
|
@@ -24889,7 +24875,7 @@ var PRODUCTMAKER_CAPABILITY_REGISTRY = deepFreeze([
|
|
|
24889
24875
|
],
|
|
24890
24876
|
MCP_ONLY_CHANNEL_EXPOSURE
|
|
24891
24877
|
),
|
|
24892
|
-
defineCapability("report_daily_returns", "
|
|
24878
|
+
defineCapability("report_daily_returns", "c64af9e1750adf5892caa76c0c170feec91e617ba1769ee5c0af17cbbb4fc6d2", "state_change", "business", [
|
|
24893
24879
|
"state_change"
|
|
24894
24880
|
], [
|
|
24895
24881
|
slot("project", true, [
|
|
@@ -25187,7 +25173,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25187
25173
|
z103.object({
|
|
25188
25174
|
...recoveryBase,
|
|
25189
25175
|
state: z103.literal("consumed"),
|
|
25190
|
-
successorCommandId: z103.string().
|
|
25176
|
+
successorCommandId: z103.string().guid(),
|
|
25191
25177
|
choice: z103.enum([
|
|
25192
25178
|
"without_winner",
|
|
25193
25179
|
"retry"
|
|
@@ -25197,7 +25183,7 @@ var WhatsAppQuoteRecoveryReceiptSchema = z103.discriminatedUnion("state", [
|
|
|
25197
25183
|
...recoveryBase,
|
|
25198
25184
|
state: z103.literal("awaiting_media"),
|
|
25199
25185
|
successorCommandId: z103.null(),
|
|
25200
|
-
successorCollectionId: z103.string().
|
|
25186
|
+
successorCollectionId: z103.string().guid(),
|
|
25201
25187
|
choice: z103.enum([
|
|
25202
25188
|
"without_winner",
|
|
25203
25189
|
"retry"
|
|
@@ -25225,10 +25211,10 @@ var json = z103.lazy(() => z103.union([
|
|
|
25225
25211
|
z103.number().finite(),
|
|
25226
25212
|
z103.string(),
|
|
25227
25213
|
z103.array(json),
|
|
25228
|
-
z103.record(json)
|
|
25214
|
+
z103.record(z103.string(), json)
|
|
25229
25215
|
]));
|
|
25230
25216
|
var commandBase = {
|
|
25231
|
-
commandId: z103.string().
|
|
25217
|
+
commandId: z103.string().guid(),
|
|
25232
25218
|
requestHash: z103.string().min(1).max(256),
|
|
25233
25219
|
expectedUpdatedAt: z103.string().datetime(),
|
|
25234
25220
|
result: json,
|
|
@@ -25236,7 +25222,7 @@ var commandBase = {
|
|
|
25236
25222
|
};
|
|
25237
25223
|
var proposedSnapshot = {
|
|
25238
25224
|
...commandBase,
|
|
25239
|
-
sourceMessageId: z103.string().
|
|
25225
|
+
sourceMessageId: z103.string().guid(),
|
|
25240
25226
|
expectedStatus: z103.literal("proposed"),
|
|
25241
25227
|
expectedResult: json
|
|
25242
25228
|
};
|
|
@@ -25297,19 +25283,19 @@ var WhatsAppPresentationFinalizerSchema = z103.object({
|
|
|
25297
25283
|
]).optional(),
|
|
25298
25284
|
plan: z103.object({
|
|
25299
25285
|
guardOnly: z103.boolean().optional(),
|
|
25300
|
-
planId: z103.string().
|
|
25286
|
+
planId: z103.string().guid(),
|
|
25301
25287
|
expectedPlanRevision: z103.number().int().nonnegative(),
|
|
25302
|
-
stepId: z103.string().
|
|
25288
|
+
stepId: z103.string().guid(),
|
|
25303
25289
|
expectedStepRevision: z103.number().int().nonnegative(),
|
|
25304
|
-
expectedCommandId: z103.string().
|
|
25290
|
+
expectedCommandId: z103.string().guid().nullable(),
|
|
25305
25291
|
next: z103.object({
|
|
25306
|
-
stepId: z103.string().
|
|
25292
|
+
stepId: z103.string().guid(),
|
|
25307
25293
|
expectedRevision: z103.number().int().nonnegative()
|
|
25308
25294
|
}).strict().nullable(),
|
|
25309
25295
|
outputArtifacts: json
|
|
25310
25296
|
}).strict().optional(),
|
|
25311
25297
|
collection: z103.object({
|
|
25312
|
-
collectionId: z103.string().
|
|
25298
|
+
collectionId: z103.string().guid(),
|
|
25313
25299
|
expectedRevision: z103.number().int().nonnegative(),
|
|
25314
25300
|
expiresAt: z103.string().datetime()
|
|
25315
25301
|
}).strict().optional()
|
|
@@ -25394,9 +25380,9 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25394
25380
|
"research_ready",
|
|
25395
25381
|
"research_failed"
|
|
25396
25382
|
]).optional(),
|
|
25397
|
-
commandId: z104.string().
|
|
25398
|
-
taskId: z104.string().
|
|
25399
|
-
researchRunId: z104.string().
|
|
25383
|
+
commandId: z104.string().guid().optional(),
|
|
25384
|
+
taskId: z104.string().guid().optional(),
|
|
25385
|
+
researchRunId: z104.string().guid().optional()
|
|
25400
25386
|
}).strict().refine((value) => value.resetSourceSequence === void 0 || value.conversationReset === "completed", "Reset source sequence requires a completed reset").optional(),
|
|
25401
25387
|
intentKey
|
|
25402
25388
|
}).strict(),
|
|
@@ -25428,16 +25414,16 @@ var WhatsAppPresentationStepSchema = z104.discriminatedUnion("kind", [
|
|
|
25428
25414
|
"tiktok"
|
|
25429
25415
|
])).max(3),
|
|
25430
25416
|
fullResultUrl: z104.string().url().max(8192),
|
|
25431
|
-
commandId: z104.string().
|
|
25432
|
-
taskId: z104.string().
|
|
25417
|
+
commandId: z104.string().guid(),
|
|
25418
|
+
taskId: z104.string().guid(),
|
|
25433
25419
|
intentKey
|
|
25434
25420
|
}).strict(),
|
|
25435
25421
|
z104.object({
|
|
25436
25422
|
kind: z104.literal("reference_review"),
|
|
25437
|
-
commandId: z104.string().
|
|
25438
|
-
taskId: z104.string().
|
|
25423
|
+
commandId: z104.string().guid(),
|
|
25424
|
+
taskId: z104.string().guid(),
|
|
25439
25425
|
snapshotHash: z104.string().length(64).regex(/^[a-f0-9]+$/),
|
|
25440
|
-
pendingAction: z104.record(z104.unknown()),
|
|
25426
|
+
pendingAction: z104.record(z104.string(), z104.unknown()),
|
|
25441
25427
|
previews: z104.array(preview).max(20),
|
|
25442
25428
|
expectedPreviewCount: z104.number().int().min(0).max(50),
|
|
25443
25429
|
intentKey
|
|
@@ -25863,7 +25849,7 @@ var ProductTruthBody = z107.object({
|
|
|
25863
25849
|
out[key2] = rawIndexes.filter((i) => typeof i === "number" && Number.isInteger(i) && i >= 0 && i < 20);
|
|
25864
25850
|
}
|
|
25865
25851
|
return out;
|
|
25866
|
-
}, z107.record(z107.array(z107.number().int().min(0).max(19))))
|
|
25852
|
+
}, z107.record(z107.string(), z107.array(z107.number().int().min(0).max(19))))
|
|
25867
25853
|
})),
|
|
25868
25854
|
confidence: z107.preprocess((v) => typeof v === "number" && Number.isFinite(v) ? Math.min(1, Math.max(0, v)) : 0, z107.number().min(0).max(1))
|
|
25869
25855
|
});
|
|
@@ -26206,15 +26192,16 @@ var CreativeCompositionExecutorRoleSchema = z109.enum(CREATIVE_COMPOSITION_EXECU
|
|
|
26206
26192
|
var CreativeCompositionJobSchema = z109.object({
|
|
26207
26193
|
kind: z109.literal("creative_composition"),
|
|
26208
26194
|
protocolVersion: CreativeCompositionProtocolVersionSchema,
|
|
26209
|
-
jobId: z109.string().
|
|
26195
|
+
jobId: z109.string().guid(),
|
|
26210
26196
|
owner: CreativeEngineOwnerSchema,
|
|
26211
26197
|
attempt,
|
|
26212
26198
|
leaseUntil: z109.string().datetime(),
|
|
26213
26199
|
deadlineAtMs: z109.number().int().nonnegative(),
|
|
26214
26200
|
/**
|
|
26215
26201
|
* Contract digest of the API that wrote the job. The renderer refuses a
|
|
26216
|
-
* job whose digest is
|
|
26217
|
-
*
|
|
26202
|
+
* job whose digest is neither current nor explicitly verified compatible
|
|
26203
|
+
* (`renderer_schema_stale`). Accepted jobs still meet the current schema.
|
|
26204
|
+
* Absent only on rows written before digests existed.
|
|
26218
26205
|
*/
|
|
26219
26206
|
contractDigest: hash2.optional(),
|
|
26220
26207
|
width: z109.number().int().positive().max(4096),
|
|
@@ -26292,10 +26279,10 @@ var CreativeCompositionClaimResponseSchema = z109.object({
|
|
|
26292
26279
|
job: CreativeCompositionJobSchema.nullable()
|
|
26293
26280
|
}).strict();
|
|
26294
26281
|
var CreativeCompositionHeartbeatSchema = MotionGraphicsStageReportSchema.extend({
|
|
26295
|
-
jobId: z109.string().
|
|
26282
|
+
jobId: z109.string().guid()
|
|
26296
26283
|
});
|
|
26297
26284
|
var CreativeCompositionUploadRequestSchema = z109.object({
|
|
26298
|
-
jobId: z109.string().
|
|
26285
|
+
jobId: z109.string().guid(),
|
|
26299
26286
|
attempt,
|
|
26300
26287
|
files: z109.array(z109.object({
|
|
26301
26288
|
kind: z109.enum([
|
|
@@ -26319,7 +26306,7 @@ var CreativeCompositionUploadResponseSchema = z109.object({
|
|
|
26319
26306
|
}).strict()).min(1).max(3)
|
|
26320
26307
|
}).strict();
|
|
26321
26308
|
var CreativeCompositionDoneRequestSchema = z109.object({
|
|
26322
|
-
jobId: z109.string().
|
|
26309
|
+
jobId: z109.string().guid(),
|
|
26323
26310
|
attempt,
|
|
26324
26311
|
width: z109.number().int().positive(),
|
|
26325
26312
|
height: z109.number().int().positive(),
|
|
@@ -26327,14 +26314,14 @@ var CreativeCompositionDoneRequestSchema = z109.object({
|
|
|
26327
26314
|
durationSec: z109.number().positive()
|
|
26328
26315
|
}).strict();
|
|
26329
26316
|
var CreativeCompositionFailedRequestSchema = z109.object({
|
|
26330
|
-
jobId: z109.string().
|
|
26317
|
+
jobId: z109.string().guid(),
|
|
26331
26318
|
attempt,
|
|
26332
26319
|
reason: z109.string().min(1).max(1e3),
|
|
26333
26320
|
retryable: z109.literal(false)
|
|
26334
26321
|
}).strict();
|
|
26335
26322
|
var CreativeCompositionLocalManifestSchema = z109.object({
|
|
26336
26323
|
kind: z109.literal("creative_composition"),
|
|
26337
|
-
jobId: z109.string().
|
|
26324
|
+
jobId: z109.string().guid(),
|
|
26338
26325
|
owner: CreativeEngineOwnerSchema,
|
|
26339
26326
|
plan: z109.object({
|
|
26340
26327
|
revision: z109.number().int().positive(),
|
|
@@ -26420,8 +26407,8 @@ var CreativeEngineEditContextSnapshotSchema = z111.object({
|
|
|
26420
26407
|
hash: hash3,
|
|
26421
26408
|
binding: CreativeEngineContextBindingSchema,
|
|
26422
26409
|
data: z111.object({
|
|
26423
|
-
physical: z111.record(z111.unknown()),
|
|
26424
|
-
commercial: z111.record(z111.unknown())
|
|
26410
|
+
physical: z111.record(z111.string(), z111.unknown()),
|
|
26411
|
+
commercial: z111.record(z111.string(), z111.unknown())
|
|
26425
26412
|
}).strict(),
|
|
26426
26413
|
references: z111.array(z111.object({
|
|
26427
26414
|
sourceId: id4,
|
|
@@ -26491,7 +26478,7 @@ var CreativeEngineEditExecutionSchema = z111.object({
|
|
|
26491
26478
|
version: z111.literal(1),
|
|
26492
26479
|
source: CreativeEngineEditSourceSchema,
|
|
26493
26480
|
intent: z111.object({
|
|
26494
|
-
clientRequestId: z111.string().
|
|
26481
|
+
clientRequestId: z111.string().guid(),
|
|
26495
26482
|
sectionsHash: hash3,
|
|
26496
26483
|
sourceBindingHash: hash3,
|
|
26497
26484
|
derivedPlanHash: hash3,
|
|
@@ -26603,7 +26590,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26603
26590
|
userId: id4,
|
|
26604
26591
|
taskId: id4,
|
|
26605
26592
|
angleKey: id4,
|
|
26606
|
-
clientRequestId: z111.string().
|
|
26593
|
+
clientRequestId: z111.string().guid(),
|
|
26607
26594
|
createdAtMs: z111.number().int().nonnegative(),
|
|
26608
26595
|
expiresAtMs: z111.number().int().positive(),
|
|
26609
26596
|
source: CreativeEngineEditSourceSchema,
|
|
@@ -26612,7 +26599,7 @@ var CreativeEngineEditProposalSchema = z111.object({
|
|
|
26612
26599
|
context: CreativeEngineEditContextSnapshotSchema,
|
|
26613
26600
|
recipe: CreativeEngineRecipeSchema,
|
|
26614
26601
|
// The API validates these with its canonical section schema before persistence/use.
|
|
26615
|
-
sections: z111.array(z111.record(z111.unknown())).min(1).max(32)
|
|
26602
|
+
sections: z111.array(z111.record(z111.string(), z111.unknown())).min(1).max(32)
|
|
26616
26603
|
}).strict();
|
|
26617
26604
|
|
|
26618
26605
|
// ../../packages/types/src/creative-engine-retry.ts
|
|
@@ -26674,7 +26661,7 @@ var CreativeEngineFreshRetryProvenanceSchema = z112.object({
|
|
|
26674
26661
|
import { z as z113 } from "zod";
|
|
26675
26662
|
var CreativeEngineEntryRequestSchema = z113.object({
|
|
26676
26663
|
creativeEngine: z113.literal("unified_v1"),
|
|
26677
|
-
taskId: z113.string().
|
|
26664
|
+
taskId: z113.string().guid(),
|
|
26678
26665
|
angleKey: z113.string().min(1).max(200),
|
|
26679
26666
|
requestId: z113.string().min(1).max(200),
|
|
26680
26667
|
guide: z113.enum([
|
|
@@ -26886,7 +26873,7 @@ import { z as z116 } from "zod";
|
|
|
26886
26873
|
// ../../packages/types/src/service-landing-primitives.ts
|
|
26887
26874
|
import { z as z115 } from "zod";
|
|
26888
26875
|
var OptionalTextSchema = z115.string().trim().min(1).max(500).optional();
|
|
26889
|
-
var AssetIdSchema = z115.string().
|
|
26876
|
+
var AssetIdSchema = z115.string().guid().transform((value) => value.toLowerCase());
|
|
26890
26877
|
var ServiceLandingPrimaryCtaSchema = z115.object({
|
|
26891
26878
|
channelIndex: z115.number().int().nonnegative(),
|
|
26892
26879
|
label: z115.string().trim().min(1).max(80)
|
|
@@ -27022,7 +27009,7 @@ var ServiceLandingContactChannelSchema = z116.discriminatedUnion("kind", [
|
|
|
27022
27009
|
BookingUrlChannelSchema
|
|
27023
27010
|
]);
|
|
27024
27011
|
var ServiceLandingServiceSchema = z116.object({
|
|
27025
|
-
id: z116.string().
|
|
27012
|
+
id: z116.string().guid(),
|
|
27026
27013
|
name: z116.string().trim().min(1).max(120),
|
|
27027
27014
|
description: OptionalTextSchema,
|
|
27028
27015
|
inclusions: z116.array(z116.string().trim().min(1).max(160)).max(12),
|
|
@@ -27250,7 +27237,7 @@ var ServiceLandingArtifactSchema = z116.preprocess(applyCodeArtifactDefaults, z1
|
|
|
27250
27237
|
// ../../packages/types/src/service-landing-facts-brand.ts
|
|
27251
27238
|
import { z as z117 } from "zod";
|
|
27252
27239
|
var ServiceLandingServiceFactsSchema = z117.object({
|
|
27253
|
-
id: z117.string().
|
|
27240
|
+
id: z117.string().guid(),
|
|
27254
27241
|
name: z117.string().trim().min(1).max(120).optional(),
|
|
27255
27242
|
description: OptionalTextSchema,
|
|
27256
27243
|
inclusions: z117.array(z117.string().trim().min(1).max(160)).max(12).default([]),
|
|
@@ -27402,7 +27389,7 @@ var ServicePageParserMetadataSchema = z117.object({
|
|
|
27402
27389
|
}).strict()).max(100).optional()
|
|
27403
27390
|
}).strict();
|
|
27404
27391
|
var ServicePageSourceSchema = z117.object({
|
|
27405
|
-
id: z117.string().
|
|
27392
|
+
id: z117.string().guid(),
|
|
27406
27393
|
kind: ServicePageSourceKindSchema,
|
|
27407
27394
|
status: ServicePageSourceStatusSchema,
|
|
27408
27395
|
displayName: z117.string().trim().min(1).max(180).optional(),
|
|
@@ -27413,14 +27400,14 @@ var ServicePageSourceSchema = z117.object({
|
|
|
27413
27400
|
var ServicePageFactConflictSchema = z117.object({
|
|
27414
27401
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27415
27402
|
candidates: z117.array(z117.object({
|
|
27416
|
-
id: z117.string().
|
|
27403
|
+
id: z117.string().guid(),
|
|
27417
27404
|
value: z117.string().trim().min(1).max(500),
|
|
27418
|
-
sourceIds: z117.array(z117.string().
|
|
27405
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10)
|
|
27419
27406
|
}).strict()).min(2).max(8)
|
|
27420
27407
|
}).strict();
|
|
27421
27408
|
var ServicePageFactProvenanceSchema = z117.object({
|
|
27422
27409
|
fieldPath: z117.string().trim().min(1).max(180),
|
|
27423
|
-
sourceIds: z117.array(z117.string().
|
|
27410
|
+
sourceIds: z117.array(z117.string().guid()).min(1).max(10),
|
|
27424
27411
|
evidence: z117.string().trim().max(1e3).optional()
|
|
27425
27412
|
}).strict();
|
|
27426
27413
|
var ServicePageFactsReviewSchema = z117.object({
|
|
@@ -27436,26 +27423,26 @@ var ServicePageFactsReviewSchema = z117.object({
|
|
|
27436
27423
|
// ../../packages/types/src/service-landing-api.ts
|
|
27437
27424
|
import { z as z118 } from "zod";
|
|
27438
27425
|
var ServicePageCreateRequestSchema = z118.object({
|
|
27439
|
-
brandId: z118.string().
|
|
27426
|
+
brandId: z118.string().guid(),
|
|
27440
27427
|
includeBrandLogo: z118.boolean().optional(),
|
|
27441
|
-
idempotencyKey: z118.string().
|
|
27428
|
+
idempotencyKey: z118.string().guid().optional()
|
|
27442
27429
|
}).strict();
|
|
27443
27430
|
var ServicePageFactsUpdateRequestSchema = z118.object({
|
|
27444
27431
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27445
|
-
idempotencyKey: z118.string().
|
|
27432
|
+
idempotencyKey: z118.string().guid(),
|
|
27446
27433
|
facts: ServicePageFactsSchema
|
|
27447
27434
|
}).strict();
|
|
27448
27435
|
var ServicePageFactsConfirmRequestSchema = z118.object({
|
|
27449
27436
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27450
|
-
idempotencyKey: z118.string().
|
|
27437
|
+
idempotencyKey: z118.string().guid(),
|
|
27451
27438
|
resolutions: z118.array(z118.object({
|
|
27452
27439
|
fieldPath: z118.string().trim().min(1).max(180),
|
|
27453
|
-
candidateId: z118.string().
|
|
27440
|
+
candidateId: z118.string().guid()
|
|
27454
27441
|
}).strict()).max(30)
|
|
27455
27442
|
}).strict();
|
|
27456
27443
|
var ServicePageIntakeRequestSchema = z118.object({
|
|
27457
27444
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27458
|
-
idempotencyKey: z118.string().
|
|
27445
|
+
idempotencyKey: z118.string().guid(),
|
|
27459
27446
|
text: z118.string().trim().max(3e4).optional(),
|
|
27460
27447
|
profileUrl: z118.string().trim().url().max(2048).refine((value) => {
|
|
27461
27448
|
try {
|
|
@@ -27486,7 +27473,7 @@ var ServicePageAttachmentRefSchema = z118.object({
|
|
|
27486
27473
|
"source",
|
|
27487
27474
|
"asset"
|
|
27488
27475
|
]),
|
|
27489
|
-
id: z118.string().
|
|
27476
|
+
id: z118.string().guid().transform((id6) => id6.toLowerCase())
|
|
27490
27477
|
}).strict();
|
|
27491
27478
|
var ServicePageAttachmentRefsSchema = z118.array(ServicePageAttachmentRefSchema).max(SERVICE_PAGE_CHAT_ATTACHMENT_MAX_SELECTION).superRefine((refs, ctx) => {
|
|
27492
27479
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -27519,13 +27506,13 @@ var ServicePageChatAttachmentUploadResponseSchema = z118.object({
|
|
|
27519
27506
|
}).strict();
|
|
27520
27507
|
var ServicePageChatAttachmentUploadRequestSchema = z118.object({
|
|
27521
27508
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27522
|
-
idempotencyKey: z118.string().
|
|
27509
|
+
idempotencyKey: z118.string().guid(),
|
|
27523
27510
|
profileUrl: z118.string().url().max(2048).optional()
|
|
27524
27511
|
}).strict();
|
|
27525
27512
|
var ServicePageEditInstructionSchema = z118.string().trim().min(3).max(SERVICE_PAGE_EDIT_INSTRUCTION_MAX_CHARS);
|
|
27526
27513
|
var ServicePageEditEstimateRequestSchema = z118.object({
|
|
27527
27514
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27528
|
-
baseCandidateOperationId: z118.string().
|
|
27515
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27529
27516
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27530
27517
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27531
27518
|
}).strict();
|
|
@@ -27537,12 +27524,12 @@ var ServicePageEditEstimateResponseSchema = z118.object({
|
|
|
27537
27524
|
}).strict();
|
|
27538
27525
|
var ServicePageGenerationQuoteRequestSchema = z118.object({
|
|
27539
27526
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27540
|
-
baseCandidateOperationId: z118.string().
|
|
27527
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27541
27528
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27542
27529
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27543
27530
|
}).strict();
|
|
27544
27531
|
var ServicePageQuoteResponseSchema = z118.object({
|
|
27545
|
-
quoteId: z118.string().
|
|
27532
|
+
quoteId: z118.string().guid(),
|
|
27546
27533
|
purpose: ServicePageQuotePurposeSchema,
|
|
27547
27534
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27548
27535
|
requestHash: z118.string().regex(/^[a-f0-9]{64}$/),
|
|
@@ -27556,16 +27543,16 @@ var ServicePageQuoteResponseSchema = z118.object({
|
|
|
27556
27543
|
requiresConfirmation: z118.literal(true)
|
|
27557
27544
|
}).strict();
|
|
27558
27545
|
var ServicePageGenerateRequestSchema = z118.object({
|
|
27559
|
-
quoteId: z118.string().
|
|
27560
|
-
idempotencyKey: z118.string().
|
|
27546
|
+
quoteId: z118.string().guid(),
|
|
27547
|
+
idempotencyKey: z118.string().guid(),
|
|
27561
27548
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27562
|
-
baseCandidateOperationId: z118.string().
|
|
27549
|
+
baseCandidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27563
27550
|
instruction: ServicePageEditInstructionSchema.optional(),
|
|
27564
27551
|
attachmentRefs: ServicePageAttachmentRefsSchema.optional()
|
|
27565
27552
|
}).strict();
|
|
27566
27553
|
var SERVICE_PAGE_CREATION_MAX_ATTEMPTS = 3;
|
|
27567
27554
|
var ServicePageCreationMarkerSchema = z118.object({
|
|
27568
|
-
rootOperationId: z118.string().
|
|
27555
|
+
rootOperationId: z118.string().guid().optional(),
|
|
27569
27556
|
attempt: z118.number().int().min(1).max(SERVICE_PAGE_CREATION_MAX_ATTEMPTS)
|
|
27570
27557
|
}).strict();
|
|
27571
27558
|
var ServicePageCreationEstimateRequestSchema = z118.object({
|
|
@@ -27600,8 +27587,8 @@ var ServicePageOperationStatusSchema = z118.enum([
|
|
|
27600
27587
|
"requires_reconciliation"
|
|
27601
27588
|
]);
|
|
27602
27589
|
var ServicePageOperationResponseSchema = z118.object({
|
|
27603
|
-
opId: z118.string().
|
|
27604
|
-
servicePageId: z118.string().
|
|
27590
|
+
opId: z118.string().guid(),
|
|
27591
|
+
servicePageId: z118.string().guid(),
|
|
27605
27592
|
kind: z118.enum([
|
|
27606
27593
|
"fact_extraction",
|
|
27607
27594
|
"generation"
|
|
@@ -27616,7 +27603,7 @@ var ServicePageOperationResponseSchema = z118.object({
|
|
|
27616
27603
|
recoverable: z118.boolean()
|
|
27617
27604
|
}).strict();
|
|
27618
27605
|
var ServicePageEditHistoryItemSchema = z118.object({
|
|
27619
|
-
opId: z118.string().
|
|
27606
|
+
opId: z118.string().guid(),
|
|
27620
27607
|
instruction: ServicePageEditInstructionSchema,
|
|
27621
27608
|
status: ServicePageOperationStatusSchema,
|
|
27622
27609
|
expectedRevision: z118.number().int().nonnegative(),
|
|
@@ -27631,8 +27618,8 @@ var ServicePageEditHistoryItemSchema = z118.object({
|
|
|
27631
27618
|
}).strict();
|
|
27632
27619
|
var ServicePageEditHistorySchema = z118.array(ServicePageEditHistoryItemSchema).max(50).default([]);
|
|
27633
27620
|
var ServicePageOperationJobSchema = z118.object({
|
|
27634
|
-
operationId: z118.string().
|
|
27635
|
-
servicePageId: z118.string().
|
|
27621
|
+
operationId: z118.string().guid(),
|
|
27622
|
+
servicePageId: z118.string().guid(),
|
|
27636
27623
|
userId: z118.string().min(1).max(256),
|
|
27637
27624
|
kind: z118.enum([
|
|
27638
27625
|
"fact_extraction",
|
|
@@ -27641,22 +27628,22 @@ var ServicePageOperationJobSchema = z118.object({
|
|
|
27641
27628
|
}).strict();
|
|
27642
27629
|
var ServicePageDraftUpdateRequestSchema = z118.object({
|
|
27643
27630
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27644
|
-
idempotencyKey: z118.string().
|
|
27645
|
-
candidateOperationId: z118.string().
|
|
27631
|
+
idempotencyKey: z118.string().guid(),
|
|
27632
|
+
candidateOperationId: z118.string().guid().transform((id6) => id6.toLowerCase()).optional(),
|
|
27646
27633
|
artifact: ServiceLandingArtifactSchema
|
|
27647
27634
|
}).strict();
|
|
27648
27635
|
var ServicePagePublishRequestSchema = z118.object({
|
|
27649
27636
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27650
27637
|
slug: z118.string().trim().toLowerCase().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(64),
|
|
27651
|
-
idempotencyKey: z118.string().
|
|
27638
|
+
idempotencyKey: z118.string().guid()
|
|
27652
27639
|
}).strict();
|
|
27653
27640
|
var ServicePageUnpublishRequestSchema = z118.object({
|
|
27654
27641
|
publishedRevision: z118.number().int().positive(),
|
|
27655
|
-
idempotencyKey: z118.string().
|
|
27642
|
+
idempotencyKey: z118.string().guid()
|
|
27656
27643
|
}).strict();
|
|
27657
27644
|
var ServicePageSummarySchema = z118.object({
|
|
27658
|
-
id: z118.string().
|
|
27659
|
-
brandId: z118.string().
|
|
27645
|
+
id: z118.string().guid(),
|
|
27646
|
+
brandId: z118.string().guid().nullable(),
|
|
27660
27647
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27661
27648
|
status: ServicePageStatusSchema,
|
|
27662
27649
|
draftRevision: z118.number().int().nonnegative(),
|
|
@@ -27700,7 +27687,7 @@ var ServicePageListResponseSchema = z118.object({
|
|
|
27700
27687
|
pages: z118.array(ServicePageSummarySchema)
|
|
27701
27688
|
}).strict();
|
|
27702
27689
|
var ServicePageIntakeResponseSchema = z118.object({
|
|
27703
|
-
servicePageId: z118.string().
|
|
27690
|
+
servicePageId: z118.string().guid(),
|
|
27704
27691
|
draftRevision: z118.number().int().nonnegative(),
|
|
27705
27692
|
sources: z118.array(ServicePageSourceSchema).max(50),
|
|
27706
27693
|
facts: ServicePageFactsSchema,
|
|
@@ -27709,13 +27696,13 @@ var ServicePageIntakeResponseSchema = z118.object({
|
|
|
27709
27696
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27710
27697
|
}).strict();
|
|
27711
27698
|
var ServicePagePreviewResponseSchema = z118.object({
|
|
27712
|
-
servicePageId: z118.string().
|
|
27699
|
+
servicePageId: z118.string().guid(),
|
|
27713
27700
|
revision: z118.number().int().nonnegative(),
|
|
27714
27701
|
artifact: ServiceLandingArtifactSchema,
|
|
27715
27702
|
assetsById: z118.record(AssetIdSchema, ServicePagePublicAssetSchema)
|
|
27716
27703
|
}).strict();
|
|
27717
27704
|
var ServicePageAdminViewSchema = z118.object({
|
|
27718
|
-
id: z118.string().
|
|
27705
|
+
id: z118.string().guid(),
|
|
27719
27706
|
businessName: z118.string().trim().min(1).max(120).nullable(),
|
|
27720
27707
|
state: z118.enum([
|
|
27721
27708
|
"created",
|
|
@@ -27728,7 +27715,7 @@ var ServicePageAdminViewSchema = z118.object({
|
|
|
27728
27715
|
}).strict();
|
|
27729
27716
|
var ServicePagePreviewRequestSchema = z118.object({
|
|
27730
27717
|
expectedRevision: z118.number().int().nonnegative(),
|
|
27731
|
-
candidateOperationId: z118.string().
|
|
27718
|
+
candidateOperationId: z118.string().guid().optional(),
|
|
27732
27719
|
artifact: ServiceLandingArtifactSchema.optional()
|
|
27733
27720
|
}).strict().superRefine((request, context) => {
|
|
27734
27721
|
if (!request.artifact && !request.candidateOperationId) {
|
|
@@ -27886,7 +27873,7 @@ var FlightRecorderEntrySchema = z120.object({
|
|
|
27886
27873
|
elements: z120.array(FlightRecorderElementSchema).optional(),
|
|
27887
27874
|
distillation: FlightRecorderDistillationSchema.optional(),
|
|
27888
27875
|
// Raw payload (sanitized of secrets)
|
|
27889
|
-
rawPayload: z120.record(z120.unknown())
|
|
27876
|
+
rawPayload: z120.record(z120.string(), z120.unknown())
|
|
27890
27877
|
});
|
|
27891
27878
|
var FlightRecorderQuerySchema = z120.object({
|
|
27892
27879
|
taskId: z120.string().min(1),
|
|
@@ -27941,7 +27928,7 @@ var Url = z122.string().url().refine((value) => {
|
|
|
27941
27928
|
var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
27942
27929
|
z122.object({
|
|
27943
27930
|
kind: z122.literal("image"),
|
|
27944
|
-
ownerTaskId: z122.string().
|
|
27931
|
+
ownerTaskId: z122.string().guid(),
|
|
27945
27932
|
sourceIndex: z122.number().int().positive(),
|
|
27946
27933
|
variantIndex: z122.number().int().nonnegative(),
|
|
27947
27934
|
url: Url,
|
|
@@ -27951,8 +27938,8 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
27951
27938
|
}).strict(),
|
|
27952
27939
|
z122.object({
|
|
27953
27940
|
kind: z122.literal("gif"),
|
|
27954
|
-
ownerTaskId: z122.string().
|
|
27955
|
-
gifId: z122.string().
|
|
27941
|
+
ownerTaskId: z122.string().guid(),
|
|
27942
|
+
gifId: z122.string().guid(),
|
|
27956
27943
|
gifRevision: z122.number().int().nonnegative(),
|
|
27957
27944
|
demo: LandingGifReadableSchema,
|
|
27958
27945
|
historicalDelivery: z122.literal(true).optional()
|
|
@@ -27960,10 +27947,10 @@ var ClassicLandingAssetBlockSchema = z122.discriminatedUnion("kind", [
|
|
|
27960
27947
|
]);
|
|
27961
27948
|
var PublishedClassicLandingSchema = z122.object({
|
|
27962
27949
|
version: z122.literal(1),
|
|
27963
|
-
ownerTaskId: z122.string().
|
|
27950
|
+
ownerTaskId: z122.string().guid(),
|
|
27964
27951
|
documentRevision: z122.number().int().nonnegative(),
|
|
27965
27952
|
ownerRevisions: z122.array(z122.object({
|
|
27966
|
-
ownerTaskId: z122.string().
|
|
27953
|
+
ownerTaskId: z122.string().guid(),
|
|
27967
27954
|
landingRevision: z122.number().int().nonnegative()
|
|
27968
27955
|
}).strict()).max(100),
|
|
27969
27956
|
blocks: z122.array(ClassicLandingAssetBlockSchema).max(100)
|
|
@@ -28010,18 +27997,18 @@ import { z as z123 } from "zod";
|
|
|
28010
27997
|
var DropiCountrySchema = z123.enum(DROPI_COUNTRY_CODES);
|
|
28011
27998
|
var DropiCountryQuerySchema = z123.object({
|
|
28012
27999
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28013
|
-
connectionId: z123.string().
|
|
28000
|
+
connectionId: z123.string().guid().optional()
|
|
28014
28001
|
}).strict();
|
|
28015
28002
|
var ConnectDropiFinancialSchema = z123.object({
|
|
28016
28003
|
countryCode: DropiCountrySchema.default("CO"),
|
|
28017
|
-
connectionId: z123.string().
|
|
28004
|
+
connectionId: z123.string().guid().optional(),
|
|
28018
28005
|
label: z123.string().trim().min(1).max(80).optional(),
|
|
28019
28006
|
integrationKey: z123.string().trim().min(1).max(4096).regex(/^[\x21-\x7e]+$/)
|
|
28020
28007
|
}).strict();
|
|
28021
28008
|
var SyncDropiFinancialSchema = z123.object({
|
|
28022
28009
|
countryCode: DropiCountrySchema.optional(),
|
|
28023
|
-
operationId: z123.string().
|
|
28024
|
-
connectionId: z123.string().
|
|
28010
|
+
operationId: z123.string().guid().optional(),
|
|
28011
|
+
connectionId: z123.string().guid().optional(),
|
|
28025
28012
|
since: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
28026
28013
|
until: z123.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
28027
28014
|
}).strict();
|
|
@@ -28029,7 +28016,7 @@ var connectionCountries = z123.array(DropiCountrySchema).max(DROPI_COUNTRY_CODES
|
|
|
28029
28016
|
var DropiFinancialConnectionsSchema = z123.object({
|
|
28030
28017
|
connectedCountries: connectionCountries,
|
|
28031
28018
|
connections: z123.array(z123.object({
|
|
28032
|
-
connectionId: z123.string().
|
|
28019
|
+
connectionId: z123.string().guid(),
|
|
28033
28020
|
countryCode: DropiCountrySchema,
|
|
28034
28021
|
label: z123.string().min(1).max(80)
|
|
28035
28022
|
}).strict()).max(21).optional(),
|
|
@@ -28039,7 +28026,7 @@ var DropiFinancialConnectionsSchema = z123.object({
|
|
|
28039
28026
|
var DropiFinancialStatusSchema = z123.object({
|
|
28040
28027
|
enabled: z123.boolean(),
|
|
28041
28028
|
connected: z123.boolean(),
|
|
28042
|
-
connectionId: z123.string().
|
|
28029
|
+
connectionId: z123.string().guid().optional(),
|
|
28043
28030
|
connectionCount: z123.number().int().nonnegative().optional(),
|
|
28044
28031
|
label: z123.string().min(1).max(80).optional(),
|
|
28045
28032
|
countryCode: DropiCountrySchema,
|
|
@@ -28166,7 +28153,7 @@ var ServiceImageContextSchema = z124.object({
|
|
|
28166
28153
|
// ../../packages/types/src/brand-creation.ts
|
|
28167
28154
|
import { z as z125 } from "zod";
|
|
28168
28155
|
var BrandCreationReceiptSchema = z125.object({
|
|
28169
|
-
brandId: z125.string().
|
|
28156
|
+
brandId: z125.string().guid(),
|
|
28170
28157
|
status: z125.enum([
|
|
28171
28158
|
"extracting",
|
|
28172
28159
|
"ready",
|
|
@@ -28309,7 +28296,7 @@ var WebsiteCaptureRequestSchema = z127.object({
|
|
|
28309
28296
|
language: MotionGraphicsLanguageSchema
|
|
28310
28297
|
}).strict();
|
|
28311
28298
|
var WebsiteCaptureResponseSchema = z127.object({
|
|
28312
|
-
captureId: z127.string().
|
|
28299
|
+
captureId: z127.string().guid(),
|
|
28313
28300
|
status: WebsiteCaptureStatusSchema,
|
|
28314
28301
|
expiresAt: z127.string().datetime(),
|
|
28315
28302
|
previewUrl: z127.string().url().optional(),
|
|
@@ -28318,7 +28305,7 @@ var WebsiteCaptureResponseSchema = z127.object({
|
|
|
28318
28305
|
cause: WebsiteCaptureCauseSchema.optional()
|
|
28319
28306
|
});
|
|
28320
28307
|
var WebsiteCaptureJobSchema = WebsiteCaptureRequestSchema.extend({
|
|
28321
|
-
captureId: z127.string().
|
|
28308
|
+
captureId: z127.string().guid(),
|
|
28322
28309
|
attempt: z127.number().int().positive(),
|
|
28323
28310
|
leaseUntil: z127.string().datetime(),
|
|
28324
28311
|
/** Public profile document prepared by the API; never contains a provider credential. */
|
|
@@ -28481,7 +28468,7 @@ var image = z128.object({
|
|
|
28481
28468
|
width: z128.number().int().positive(),
|
|
28482
28469
|
height: z128.number().int().positive(),
|
|
28483
28470
|
adCopy: nullableText,
|
|
28484
|
-
rawResponse: z128.unknown()
|
|
28471
|
+
rawResponse: z128.unknown().optional()
|
|
28485
28472
|
});
|
|
28486
28473
|
var ProductDemoSnapshotSchema = z128.object({
|
|
28487
28474
|
/** Optional only for packs frozen before seller review drafts were captured. */
|
|
@@ -28494,12 +28481,12 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28494
28481
|
country: nullableText,
|
|
28495
28482
|
features: z128.array(text3).max(100),
|
|
28496
28483
|
form: nullableText,
|
|
28497
|
-
details: z128.unknown(),
|
|
28484
|
+
details: z128.unknown().optional(),
|
|
28498
28485
|
isCombo: z128.boolean(),
|
|
28499
|
-
comboItems: z128.unknown(),
|
|
28486
|
+
comboItems: z128.unknown().optional(),
|
|
28500
28487
|
images: z128.array(text3).min(1).max(50),
|
|
28501
28488
|
cleanImages: z128.array(text3).max(50),
|
|
28502
|
-
cleanImagesMeta: z128.unknown()
|
|
28489
|
+
cleanImagesMeta: z128.unknown().optional()
|
|
28503
28490
|
}),
|
|
28504
28491
|
angles: z128.array(z128.object({
|
|
28505
28492
|
content: text3,
|
|
@@ -28518,7 +28505,7 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28518
28505
|
durationSeconds: z128.number().int().positive().nullable(),
|
|
28519
28506
|
format: VideoFormat,
|
|
28520
28507
|
resultUrls: z128.array(text3).min(1).max(10),
|
|
28521
|
-
rawResponse: z128.unknown(),
|
|
28508
|
+
rawResponse: z128.unknown().optional(),
|
|
28522
28509
|
adCopy: nullableText
|
|
28523
28510
|
})).min(1).max(10),
|
|
28524
28511
|
landingImages: z128.array(z128.object({
|
|
@@ -28529,17 +28516,17 @@ var ProductDemoSnapshotSchema = z128.object({
|
|
|
28529
28516
|
height: z128.number().int().positive(),
|
|
28530
28517
|
notes: nullableText
|
|
28531
28518
|
})).max(20),
|
|
28532
|
-
landingConfig: z128.unknown(),
|
|
28519
|
+
landingConfig: z128.unknown().optional(),
|
|
28533
28520
|
image,
|
|
28534
|
-
productUseSheet: z128.unknown(),
|
|
28535
|
-
productTruth: z128.unknown(),
|
|
28521
|
+
productUseSheet: z128.unknown().optional(),
|
|
28522
|
+
productTruth: z128.unknown().optional(),
|
|
28536
28523
|
productReference: z128.object({
|
|
28537
28524
|
referenceEvidenceVersion: z128.number().int().nonnegative(),
|
|
28538
28525
|
planVersion: z128.number().int().positive(),
|
|
28539
28526
|
baseReferenceSetHash: text3,
|
|
28540
|
-
referenceSet: z128.unknown(),
|
|
28541
|
-
preparationPlan: z128.unknown(),
|
|
28542
|
-
canonicalIdentityAnchors: z128.unknown()
|
|
28527
|
+
referenceSet: z128.unknown().optional(),
|
|
28528
|
+
preparationPlan: z128.unknown().optional(),
|
|
28529
|
+
canonicalIdentityAnchors: z128.unknown().optional()
|
|
28543
28530
|
})
|
|
28544
28531
|
});
|
|
28545
28532
|
var ProductDemoPhaseSchema = z128.enum([
|
|
@@ -28568,10 +28555,10 @@ var ProductDemoTaskStateSchema = z128.object({
|
|
|
28568
28555
|
// ../../packages/types/src/demo-mode-service-page-assets.ts
|
|
28569
28556
|
import { z as z129 } from "zod";
|
|
28570
28557
|
var DemoServicePageAssetSourceSchema = z129.object({
|
|
28571
|
-
pageId: z129.string().
|
|
28558
|
+
pageId: z129.string().guid(),
|
|
28572
28559
|
ownerId: z129.string().min(1),
|
|
28573
28560
|
assets: z129.array(z129.object({
|
|
28574
|
-
id: z129.string().
|
|
28561
|
+
id: z129.string().guid(),
|
|
28575
28562
|
storageKey: z129.string().min(1).max(1024),
|
|
28576
28563
|
mediaType: z129.enum([
|
|
28577
28564
|
"image/webp",
|
|
@@ -28647,14 +28634,14 @@ var DEMO_MODE_OPTIONAL_TEMPLATE_KEYS = [
|
|
|
28647
28634
|
...DEMO_MODE_OPTIONAL_MOTION_TEMPLATE_KEYS,
|
|
28648
28635
|
...DEMO_MODE_PRODUCT_ALL_TEMPLATE_KEYS
|
|
28649
28636
|
];
|
|
28650
|
-
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().
|
|
28637
|
+
var optionalTemplateId = z130.preprocess((value) => value === "" ? void 0 : value, z130.string().guid().optional());
|
|
28651
28638
|
var DemoModeTemplatesSchema = z130.object({
|
|
28652
|
-
brandId: z130.string().
|
|
28653
|
-
servicePageId: z130.string().
|
|
28654
|
-
motionTaskId: z130.string().
|
|
28639
|
+
brandId: z130.string().guid(),
|
|
28640
|
+
servicePageId: z130.string().guid(),
|
|
28641
|
+
motionTaskId: z130.string().guid(),
|
|
28655
28642
|
motionVariantTaskId: optionalTemplateId,
|
|
28656
28643
|
motionThirdTaskId: optionalTemplateId,
|
|
28657
|
-
imageTaskId: z130.string().
|
|
28644
|
+
imageTaskId: z130.string().guid(),
|
|
28658
28645
|
productLandingTaskId: optionalTemplateId,
|
|
28659
28646
|
productVideoTaskId: optionalTemplateId,
|
|
28660
28647
|
productVideoVariantTaskId: optionalTemplateId,
|
|
@@ -28695,7 +28682,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28695
28682
|
product: ProductDemoSnapshotSchema.optional(),
|
|
28696
28683
|
brand: z130.object({
|
|
28697
28684
|
/** Columnas de identidad de `Brand` listas para un `update` (sin id/userId/slug/estado/fechas). */
|
|
28698
|
-
identity: z130.record(z130.unknown()),
|
|
28685
|
+
identity: z130.record(z130.string(), z130.unknown()),
|
|
28699
28686
|
productSamples: z130.array(z130.object({
|
|
28700
28687
|
name: z130.string(),
|
|
28701
28688
|
priceCents: z130.number().int().nullable(),
|
|
@@ -28715,9 +28702,9 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28715
28702
|
}))
|
|
28716
28703
|
}),
|
|
28717
28704
|
servicePage: z130.object({
|
|
28718
|
-
facts: z130.unknown(),
|
|
28719
|
-
review: z130.unknown(),
|
|
28720
|
-
artifact: z130.unknown(),
|
|
28705
|
+
facts: z130.unknown().optional(),
|
|
28706
|
+
review: z130.unknown().optional(),
|
|
28707
|
+
artifact: z130.unknown().optional(),
|
|
28721
28708
|
/** Optional only for snapshots saved before page-owned demo media. */
|
|
28722
28709
|
assetSource: DemoServicePageAssetSourceSchema.optional()
|
|
28723
28710
|
}),
|
|
@@ -28743,7 +28730,7 @@ var DemoModeSnapshotSchema = z130.object({
|
|
|
28743
28730
|
width: z130.number().int(),
|
|
28744
28731
|
height: z130.number().int(),
|
|
28745
28732
|
adCopy: nullableString,
|
|
28746
|
-
rawResponse: z130.unknown()
|
|
28733
|
+
rawResponse: z130.unknown().optional()
|
|
28747
28734
|
})
|
|
28748
28735
|
});
|
|
28749
28736
|
var DemoModeConfigSchema = DemoModeEditableObjectSchema.extend({
|
|
@@ -28808,7 +28795,7 @@ var DemoModeJobSchema = z130.object({
|
|
|
28808
28795
|
productPhase: ProductDemoJobPhaseSchema.optional(),
|
|
28809
28796
|
step: DemoModeStepSchema,
|
|
28810
28797
|
/** brandId | servicePageOperationId | taskId según el flujo. */
|
|
28811
|
-
targetId: z130.string().
|
|
28798
|
+
targetId: z130.string().guid(),
|
|
28812
28799
|
userId: z130.string().min(1),
|
|
28813
28800
|
/** Solo marca: la generación de extracción que el guion completa. */
|
|
28814
28801
|
generation: z130.number().int().positive().optional(),
|
|
@@ -29289,7 +29276,7 @@ var ApiClient = class {
|
|
|
29289
29276
|
};
|
|
29290
29277
|
|
|
29291
29278
|
// src/index.ts
|
|
29292
|
-
var MCP_VERSION = "12.
|
|
29279
|
+
var MCP_VERSION = "12.4.1";
|
|
29293
29280
|
|
|
29294
29281
|
// src/meta-upload-app.ts
|
|
29295
29282
|
import { readFileSync } from "fs";
|
|
@@ -30287,7 +30274,7 @@ __name(resolveMediaRef, "resolveMediaRef");
|
|
|
30287
30274
|
import { z as z132 } from "zod";
|
|
30288
30275
|
var Lang = z132.string().regex(/^[a-z]{2}(?:[-_][a-zA-Z]{2})?$/, "Usa un c\xF3digo de idioma BCP-47, por ejemplo es, en-US o pt-BR").max(10);
|
|
30289
30276
|
var Country = z132.string().min(2).max(3);
|
|
30290
|
-
var LandingStrategyEnum =
|
|
30277
|
+
var LandingStrategyEnum = SelectableLandingStrategySchema;
|
|
30291
30278
|
var LandingImageFormatEnum = LandingImageFormatSchema;
|
|
30292
30279
|
var VideoPresetEnum = VideoPreset.extract([
|
|
30293
30280
|
"auto",
|
|
@@ -30451,7 +30438,7 @@ var ImageCreativeAspectRatioEnum = ImageCreativeAspectRatio;
|
|
|
30451
30438
|
var ImageRefSchema = z132.object({
|
|
30452
30439
|
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.'),
|
|
30453
30440
|
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`.'),
|
|
30454
|
-
assetId: z132.string().
|
|
30441
|
+
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.")
|
|
30455
30442
|
}).refine((v) => [
|
|
30456
30443
|
v.url,
|
|
30457
30444
|
v.path,
|
|
@@ -31536,8 +31523,8 @@ function serviceVideoResultMedia(result) {
|
|
|
31536
31523
|
}
|
|
31537
31524
|
__name(serviceVideoResultMedia, "serviceVideoResultMedia");
|
|
31538
31525
|
var CreativeVariantIdentity = z133.object({
|
|
31539
|
-
variantTaskId: z133.string().
|
|
31540
|
-
sourceTaskId: z133.string().
|
|
31526
|
+
variantTaskId: z133.string().guid(),
|
|
31527
|
+
sourceTaskId: z133.string().guid(),
|
|
31541
31528
|
kind: TaskCreativeVariantKind,
|
|
31542
31529
|
status: TaskStatusSchema,
|
|
31543
31530
|
error: z133.string().optional()
|
|
@@ -32781,9 +32768,9 @@ var CreateAnimatedVideoInput = z135.object({
|
|
|
32781
32768
|
"cancel",
|
|
32782
32769
|
"generate"
|
|
32783
32770
|
]).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."),
|
|
32784
|
-
brandId: z135.string().
|
|
32785
|
-
websiteCaptureId: z135.string().
|
|
32786
|
-
generationRequestId: z135.string().
|
|
32771
|
+
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."),
|
|
32772
|
+
websiteCaptureId: z135.string().guid().optional().describe("ID de la captura preparada. Obligatorio para status/cancel/generate; no inventarlo."),
|
|
32773
|
+
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."),
|
|
32787
32774
|
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."),
|
|
32788
32775
|
// Plain text, not `.url()`: users type «cal.com», and the web accepts it.
|
|
32789
32776
|
// normalizeWebAddress (shared with the web) adds https:// and refuses
|
|
@@ -32873,7 +32860,7 @@ var AnimatedVideoResultSchema = z135.object({
|
|
|
32873
32860
|
index: MotionGraphicsHookVariantsSchema,
|
|
32874
32861
|
count: MotionGraphicsHookVariantsSchema,
|
|
32875
32862
|
tasks: z135.array(z135.object({
|
|
32876
|
-
taskId: z135.string().
|
|
32863
|
+
taskId: z135.string().guid(),
|
|
32877
32864
|
index: MotionGraphicsHookVariantsSchema,
|
|
32878
32865
|
status: z135.enum([
|
|
32879
32866
|
"queued",
|
|
@@ -33184,7 +33171,7 @@ function registerAnimatedVideoTools(server, api) {
|
|
|
33184
33171
|
nowMs: 0
|
|
33185
33172
|
})
|
|
33186
33173
|
});
|
|
33187
|
-
const parsedTaskIds = z135.array(z135.string().
|
|
33174
|
+
const parsedTaskIds = z135.array(z135.string().guid()).min(1).max(MOTION_GRAPHICS_HOOK_VARIANTS_MAX).safeParse(created.taskIds);
|
|
33188
33175
|
const taskIds = parsedTaskIds.success && parsedTaskIds.data[0] === created.taskId ? parsedTaskIds.data : void 0;
|
|
33189
33176
|
const receipt = {
|
|
33190
33177
|
taskId: created.taskId,
|
|
@@ -33228,7 +33215,7 @@ __name(registerAnimatedVideoTools, "registerAnimatedVideoTools");
|
|
|
33228
33215
|
// src/tools/winning-product-image.ts
|
|
33229
33216
|
import { z as z136 } from "zod";
|
|
33230
33217
|
var WinnerReferenceInput = z136.object({
|
|
33231
|
-
runId: z136.string().
|
|
33218
|
+
runId: z136.string().guid(),
|
|
33232
33219
|
candidateSourceId: z136.string().trim().min(1).max(160)
|
|
33233
33220
|
}).strict().describe("Referencia opaca de un producto devuelto por find_winning_products/get_product_research_run.");
|
|
33234
33221
|
async function resolveWinnerImages(api, winnerReference, images) {
|
|
@@ -33269,7 +33256,7 @@ var editTaskDraftGuidance = getProductMakerCapabilityModelGuidance("edit_task_dr
|
|
|
33269
33256
|
var CreateProductTaskInput = z137.object({
|
|
33270
33257
|
images: ImagesInput.optional().describe("1\u20135 fotos del mismo producto. Omitir \xFAnicamente cuando projectId apunta a un proyecto propio con imagen guardada."),
|
|
33271
33258
|
winnerReference: WinnerReferenceInput.optional().describe(WINNER_IMAGE_CHOICE_GUIDANCE),
|
|
33272
|
-
projectId: z137.string().
|
|
33259
|
+
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."),
|
|
33273
33260
|
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."),
|
|
33274
33261
|
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.'),
|
|
33275
33262
|
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.'),
|
|
@@ -33302,13 +33289,13 @@ var CreateProductTaskInput = z137.object({
|
|
|
33302
33289
|
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."),
|
|
33303
33290
|
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.'),
|
|
33304
33291
|
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."),
|
|
33305
|
-
brandId: z137.string().
|
|
33292
|
+
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."),
|
|
33306
33293
|
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."),
|
|
33307
33294
|
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.'),
|
|
33308
33295
|
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.'),
|
|
33309
33296
|
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."),
|
|
33310
33297
|
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."),
|
|
33311
|
-
landingStrategy: LandingStrategyEnum.optional().describe('Opcional. Estructura de la landing cl\xE1sica cuando landing est\xE1 entre outputs: "classic" (estructura original probada y recomendada
|
|
33298
|
+
landingStrategy: LandingStrategyEnum.optional().describe('Opcional. Estructura de la landing cl\xE1sica cuando landing est\xE1 entre outputs: "classic" (Landing cl\xE1sica de ProductMaker: estructura original probada y recomendada) o "social_proof" (Landing Viral: UGC, WhatsApp, Instagram y evidencia social). Default "classic".'),
|
|
33312
33299
|
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".')
|
|
33313
33300
|
}).strict();
|
|
33314
33301
|
var CreateServiceVideoInput = z137.object({
|
|
@@ -33316,7 +33303,7 @@ var CreateServiceVideoInput = z137.object({
|
|
|
33316
33303
|
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.'),
|
|
33317
33304
|
language: Lang.describe("Idioma del video: es, en o pt."),
|
|
33318
33305
|
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.'),
|
|
33319
|
-
brandId: z137.string().
|
|
33306
|
+
brandId: z137.string().guid().optional().describe("Marca guardada del usuario. Aplica voz, mensajes, paleta y persona predeterminada."),
|
|
33320
33307
|
reviewMode: z137.enum([
|
|
33321
33308
|
"automatic",
|
|
33322
33309
|
"guided"
|
|
@@ -33362,7 +33349,7 @@ var PendingActionPayload = z137.discriminatedUnion("kind", [
|
|
|
33362
33349
|
kind: z137.literal("product_reference_set_approval"),
|
|
33363
33350
|
scope: ProductReferenceScopeEnum.optional(),
|
|
33364
33351
|
scopeKey: z137.string().min(1).max(120).optional(),
|
|
33365
|
-
scopeSnapshotId: z137.string().
|
|
33352
|
+
scopeSnapshotId: z137.string().guid().optional(),
|
|
33366
33353
|
expectedScopeHash: z137.string().min(1).max(128).optional(),
|
|
33367
33354
|
decision: ProductReferenceResolutionDecisionEnum,
|
|
33368
33355
|
reason: ProductReferenceRejectionReasonEnum.optional(),
|
|
@@ -33427,7 +33414,7 @@ var PendingActionPayload = z137.discriminatedUnion("kind", [
|
|
|
33427
33414
|
}),
|
|
33428
33415
|
z137.object({
|
|
33429
33416
|
kind: z137.literal("service_angle_approval"),
|
|
33430
|
-
angleId: z137.string().
|
|
33417
|
+
angleId: z137.string().guid().optional(),
|
|
33431
33418
|
angleNumber: z137.number().int().positive().optional(),
|
|
33432
33419
|
content: z137.string().min(1).max(480).optional(),
|
|
33433
33420
|
creativeDirection: z137.string().min(1).max(1500).optional(),
|
|
@@ -33530,7 +33517,7 @@ var StatusForResolveSchema = z137.object({
|
|
|
33530
33517
|
}).optional(),
|
|
33531
33518
|
scope: ProductReferenceScopeEnum.optional(),
|
|
33532
33519
|
scopeKey: z137.string().optional(),
|
|
33533
|
-
scopeSnapshotId: z137.string().
|
|
33520
|
+
scopeSnapshotId: z137.string().guid().optional(),
|
|
33534
33521
|
scopeHash: z137.string().optional(),
|
|
33535
33522
|
baseReferenceSetHash: z137.string().optional(),
|
|
33536
33523
|
phase: z137.enum([
|
|
@@ -33559,7 +33546,7 @@ var StatusForResolveSchema = z137.object({
|
|
|
33559
33546
|
// dropped here, so the approval handler below could not echo it back on the
|
|
33560
33547
|
// PATCH — the selection looked accepted and reached no render.
|
|
33561
33548
|
angles: z137.array(z137.object({
|
|
33562
|
-
id: z137.string().
|
|
33549
|
+
id: z137.string().guid(),
|
|
33563
33550
|
content: z137.string(),
|
|
33564
33551
|
creativeDirection: z137.string(),
|
|
33565
33552
|
actor: z137.string(),
|
|
@@ -33921,8 +33908,8 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
33921
33908
|
server.registerTool("verify_landing_commerce", {
|
|
33922
33909
|
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.",
|
|
33923
33910
|
inputSchema: {
|
|
33924
|
-
taskId: z137.string().
|
|
33925
|
-
editId: z137.string().
|
|
33911
|
+
taskId: z137.string().guid(),
|
|
33912
|
+
editId: z137.string().guid()
|
|
33926
33913
|
},
|
|
33927
33914
|
annotations: OVERWRITES_EXTERNAL
|
|
33928
33915
|
}, async (input) => {
|
|
@@ -34201,7 +34188,7 @@ ANTES de invocar, resume outputs, cantidad de videos y datos comerciales, explic
|
|
|
34201
34188
|
...page.data,
|
|
34202
34189
|
items: page.data.items.map((item) => {
|
|
34203
34190
|
const servicePage = z137.object({
|
|
34204
|
-
taskId: z137.string().
|
|
34191
|
+
taskId: z137.string().guid(),
|
|
34205
34192
|
resourceType: z137.literal("service_page")
|
|
34206
34193
|
}).passthrough().safeParse(item);
|
|
34207
34194
|
if (!servicePage.success) return item;
|
|
@@ -34713,7 +34700,7 @@ var CreateBrandInput = z138.object({
|
|
|
34713
34700
|
"pt"
|
|
34714
34701
|
]).optional().describe("Idioma de la conversaci\xF3n. Solo se usa si la p\xE1gina del negocio no deja claro su idioma."),
|
|
34715
34702
|
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."),
|
|
34716
|
-
brandId: z138.string().
|
|
34703
|
+
brandId: z138.string().guid().optional().describe("ID de la marca. Obligatorio para status; no lo inventes.")
|
|
34717
34704
|
}).strict();
|
|
34718
34705
|
function normalizeBrandSourceUrl(raw) {
|
|
34719
34706
|
const value = raw.trim();
|
|
@@ -35008,12 +34995,12 @@ var CreateServiceLandingInput = z139.object({
|
|
|
35008
34995
|
"status",
|
|
35009
34996
|
"publish"
|
|
35010
34997
|
]).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."),
|
|
35011
|
-
brandId: z139.string().
|
|
35012
|
-
servicePageId: z139.string().
|
|
34998
|
+
brandId: z139.string().guid().optional().describe("ID de la marca (de create_brand). Obligatorio para prepare. Nunca un taskId de producto."),
|
|
34999
|
+
servicePageId: z139.string().guid().optional().describe("ID de la landing que devolvi\xF3 prepare. Obligatorio para build, status y publish."),
|
|
35013
35000
|
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."),
|
|
35014
35001
|
confirmed: z139.boolean().optional().describe("Solo true despu\xE9s de mostrar el precio total y que el usuario acepte. Obligatorio para build."),
|
|
35015
35002
|
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."),
|
|
35016
|
-
operationId: z139.string().
|
|
35003
|
+
operationId: z139.string().guid().optional().describe("Opcional en status: la operaci\xF3n que devolvi\xF3 build."),
|
|
35017
35004
|
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.")
|
|
35018
35005
|
}).strict();
|
|
35019
35006
|
function serviceKey(...parts) {
|
|
@@ -35407,7 +35394,7 @@ var LANGUAGE_TAGS = {
|
|
|
35407
35394
|
pt: "pt-BR"
|
|
35408
35395
|
};
|
|
35409
35396
|
var CreateServiceImagesInput = z140.object({
|
|
35410
|
-
brandId: z140.string().
|
|
35397
|
+
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."),
|
|
35411
35398
|
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."),
|
|
35412
35399
|
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."),
|
|
35413
35400
|
format: z140.enum(SERVICE_IMAGE_FORMATS).optional().describe('Formato: "4:5" (feed, por defecto), "9:16" (historias/reels) o "1:1" (cuadrado).'),
|
|
@@ -35566,7 +35553,7 @@ var CreativeRefs = {
|
|
|
35566
35553
|
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.'),
|
|
35567
35554
|
isCombo: z141.boolean().optional().describe("Opcional. Si true, el creativo presenta el producto como combo/pack. Default false."),
|
|
35568
35555
|
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."),
|
|
35569
|
-
brandId: z141.string().
|
|
35556
|
+
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.")
|
|
35570
35557
|
};
|
|
35571
35558
|
var VideoPresenter = z141.discriminatedUnion("mode", [
|
|
35572
35559
|
z141.object({
|
|
@@ -35671,7 +35658,7 @@ var FreeVideoInput = z141.object({
|
|
|
35671
35658
|
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.'),
|
|
35672
35659
|
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.'),
|
|
35673
35660
|
addSubtitles: z141.boolean().default(false).describe("Opcional. Quema subt\xEDtulos usando el rawPrompt exacto. Default false."),
|
|
35674
|
-
idempotencyKey: z141.string().
|
|
35661
|
+
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.")
|
|
35675
35662
|
}).strict();
|
|
35676
35663
|
var imageStyleList = ImageCreativeStyleEnum.options.join(" | ");
|
|
35677
35664
|
var ImageCreativeSetup = z141.discriminatedUnion("mode", [
|
|
@@ -35773,7 +35760,7 @@ var ImageInput = z141.object({
|
|
|
35773
35760
|
brandId: CreativeRefs.brandId
|
|
35774
35761
|
});
|
|
35775
35762
|
var EditImageCreativeInput = z141.object({
|
|
35776
|
-
taskId: z141.string().
|
|
35763
|
+
taskId: z141.string().guid().describe("ID de la tarea de imagen ya finalizada."),
|
|
35777
35764
|
variantIndex: z141.number().int().min(0).max(10).describe("\xCDndice de la variante a corregir (0 = primera imagen)."),
|
|
35778
35765
|
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."),
|
|
35779
35766
|
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".')
|
|
@@ -36068,8 +36055,8 @@ function registerCreativeTools(server, api, { transport = "http", proxyBaseUrl =
|
|
|
36068
36055
|
server.registerTool("get_image_edit_status", {
|
|
36069
36056
|
description: imageEditStatusGuidance.summary,
|
|
36070
36057
|
inputSchema: {
|
|
36071
|
-
taskId: z141.string().
|
|
36072
|
-
operationId: z141.string().
|
|
36058
|
+
taskId: z141.string().guid(),
|
|
36059
|
+
operationId: z141.string().guid()
|
|
36073
36060
|
},
|
|
36074
36061
|
annotations: READS_INTERNAL,
|
|
36075
36062
|
_meta: taskResultsToolMeta()
|
|
@@ -36208,7 +36195,7 @@ var CreativeVariantKindEnum = z142.enum([
|
|
|
36208
36195
|
"landing"
|
|
36209
36196
|
]);
|
|
36210
36197
|
var EstimateCreativeVariantInputBase = z142.object({
|
|
36211
|
-
sourceTaskId: z142.string().
|
|
36198
|
+
sourceTaskId: z142.string().guid().describe("ID de la tarea original completada."),
|
|
36212
36199
|
kind: CreativeVariantKindEnum,
|
|
36213
36200
|
videoPreset: TaskCreativeVariantVideoPresetEnum.optional().describe("Opcional para video. Solo cambia el preset p\xFAblico; el servidor conserva el modelo/tier del task origen."),
|
|
36214
36201
|
videoResolution: VideoResolutionEnum.optional().describe("Opcional para video. Resoluci\xF3n del nuevo render."),
|
|
@@ -36277,10 +36264,10 @@ var EstimateCreativeVariantInput = EstimateCreativeVariantInputBase.superRefine(
|
|
|
36277
36264
|
}
|
|
36278
36265
|
});
|
|
36279
36266
|
var CreateCreativeVariantInputBase = z142.object({
|
|
36280
|
-
sourceTaskId: z142.string().
|
|
36267
|
+
sourceTaskId: z142.string().guid().describe("ID de la tarea original completada."),
|
|
36281
36268
|
kind: CreativeVariantKindEnum,
|
|
36282
36269
|
confirm: z142.literal(true).describe("Confirmaci\xF3n expl\xEDcita del usuario despu\xE9s de mostrarle el estimado de cr\xE9ditos."),
|
|
36283
|
-
clientRequestId: z142.string().
|
|
36270
|
+
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."),
|
|
36284
36271
|
angle: z142.string().trim().min(1).max(500).optional().describe("\xC1ngulo nuevo para video o imagen."),
|
|
36285
36272
|
buyerPersona: z142.string().trim().min(1).max(360).optional().describe("Buyer persona coherente con el \xE1ngulo."),
|
|
36286
36273
|
scriptNotes: z142.string().trim().min(1).max(2e3).optional().describe("Direcci\xF3n breve del guion para una variante de video."),
|
|
@@ -36649,7 +36636,7 @@ function registerConnectionTools(server, api) {
|
|
|
36649
36636
|
inputSchema: z144.object({
|
|
36650
36637
|
shopDomain: z144.string().min(3).max(120),
|
|
36651
36638
|
query: z144.string().trim().max(120).optional(),
|
|
36652
|
-
taskId: z144.string().
|
|
36639
|
+
taskId: z144.string().guid().optional()
|
|
36653
36640
|
}).shape,
|
|
36654
36641
|
annotations: READS_EXTERNAL
|
|
36655
36642
|
}, async ({ shopDomain, query, taskId }) => {
|
|
@@ -37001,8 +36988,8 @@ var GroupedMediaSource = z146.object({
|
|
|
37001
36988
|
var GroupedUploadedAssetSource = z146.object({
|
|
37002
36989
|
type: z146.literal("asset"),
|
|
37003
36990
|
/** Returned by check_media_upload. ProductMaker resolves ownership server-side. */
|
|
37004
|
-
assetId: z146.string().
|
|
37005
|
-
thumbnailAssetId: z146.string().
|
|
36991
|
+
assetId: z146.string().guid(),
|
|
36992
|
+
thumbnailAssetId: z146.string().guid().optional()
|
|
37006
36993
|
});
|
|
37007
36994
|
var GroupedCreative = z146.object({
|
|
37008
36995
|
type: z146.enum([
|
|
@@ -37149,7 +37136,7 @@ var PresignUploadResponseSchema = z146.object({
|
|
|
37149
37136
|
const url2 = new URL(value);
|
|
37150
37137
|
return !url2.username && !url2.password;
|
|
37151
37138
|
}, "public media URL must not contain embedded credentials"),
|
|
37152
|
-
stagingAssetId: z146.string().
|
|
37139
|
+
stagingAssetId: z146.string().guid()
|
|
37153
37140
|
});
|
|
37154
37141
|
async function uploadResolvedMedia(api, media, assetRole) {
|
|
37155
37142
|
if (!media.buffer) throw new ResolveMediaError("INVALID_INPUT", "resolved media has no bytes");
|
|
@@ -37638,7 +37625,7 @@ var UploadSessionToolInput = z147.object(UploadSessionToolInputShape).superRefin
|
|
|
37638
37625
|
}
|
|
37639
37626
|
});
|
|
37640
37627
|
var UploadSessionResponse = z147.object({
|
|
37641
|
-
sessionId: z147.string().
|
|
37628
|
+
sessionId: z147.string().guid(),
|
|
37642
37629
|
uploadPageUrl: z147.string().url(),
|
|
37643
37630
|
mediaKind: z147.enum([
|
|
37644
37631
|
"image",
|
|
@@ -37653,7 +37640,7 @@ var UploadSessionResponse = z147.object({
|
|
|
37653
37640
|
expiresAt: z147.string().datetime()
|
|
37654
37641
|
});
|
|
37655
37642
|
var UploadStatusInput = z147.object({
|
|
37656
|
-
sessionId: z147.string().
|
|
37643
|
+
sessionId: z147.string().guid().describe("The sessionId returned by request_media_upload.")
|
|
37657
37644
|
});
|
|
37658
37645
|
var UniversalUploadStatusResponse = z147.discriminatedUnion("status", [
|
|
37659
37646
|
z147.object({
|
|
@@ -37663,7 +37650,7 @@ var UniversalUploadStatusResponse = z147.discriminatedUnion("status", [
|
|
|
37663
37650
|
z147.object({
|
|
37664
37651
|
status: z147.literal("uploaded"),
|
|
37665
37652
|
assets: z147.array(z147.object({
|
|
37666
|
-
assetId: z147.string().
|
|
37653
|
+
assetId: z147.string().guid(),
|
|
37667
37654
|
mediaKind: z147.enum([
|
|
37668
37655
|
"image",
|
|
37669
37656
|
"video"
|
|
@@ -37975,7 +37962,7 @@ var ShippingReferenceSchema = z149.object({
|
|
|
37975
37962
|
});
|
|
37976
37963
|
}
|
|
37977
37964
|
});
|
|
37978
|
-
var SHIPPING_REFERENCES = z149.record(ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
37965
|
+
var SHIPPING_REFERENCES = z149.record(z149.string(), ShippingReferenceSchema).parse(product_costing_shipping_references_default);
|
|
37979
37966
|
var PRODUCT_COSTING_COUNTRY_CODES = Object.freeze(Object.keys(SHIPPING_REFERENCES));
|
|
37980
37967
|
var SPANISH_LOCALE_COUNTRIES = /* @__PURE__ */ new Set([
|
|
37981
37968
|
"MX",
|
|
@@ -38814,7 +38801,7 @@ var FindInput = z152.object({
|
|
|
38814
38801
|
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.")
|
|
38815
38802
|
});
|
|
38816
38803
|
var GetInput = z152.object({
|
|
38817
|
-
runId: z152.string().
|
|
38804
|
+
runId: z152.string().guid().describe("ID del run devuelto por find_winning_products.")
|
|
38818
38805
|
});
|
|
38819
38806
|
var ListInput = z152.object({
|
|
38820
38807
|
limit: z152.number().int().min(1).max(20).default(10)
|
|
@@ -38960,7 +38947,7 @@ import { z as z153 } from "zod";
|
|
|
38960
38947
|
var startDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("start_dropshipping_project");
|
|
38961
38948
|
var costDropshippingProjectGuidance = getProductMakerCapabilityModelGuidance("cost_dropshipping_project");
|
|
38962
38949
|
var guideDropshippingLaunchGuidance = getProductMakerCapabilityModelGuidance("guide_dropshipping_launch");
|
|
38963
|
-
var ProjectId = z153.string().
|
|
38950
|
+
var ProjectId = z153.string().guid();
|
|
38964
38951
|
var DropshippingProjectStatus = z153.enum([
|
|
38965
38952
|
"active",
|
|
38966
38953
|
"completed",
|
|
@@ -39074,15 +39061,7 @@ var DropshippingProjectNextAction = z153.discriminatedUnion("kind", NEXT_ACTION_
|
|
|
39074
39061
|
kind: z153.literal(kind2),
|
|
39075
39062
|
href: z153.string().min(1)
|
|
39076
39063
|
})));
|
|
39077
|
-
var CostingInputSchema = z153.object({
|
|
39078
|
-
country: z153.string().min(2).max(3),
|
|
39079
|
-
supplierCost: z153.number().finite().positive(),
|
|
39080
|
-
shippingCost: z153.number().finite().nonnegative(),
|
|
39081
|
-
returnRate: z153.number().finite().min(0).lt(1),
|
|
39082
|
-
cancellationRate: z153.number().finite().min(0).lt(1),
|
|
39083
|
-
adsManagerCpa: z153.number().finite().nonnegative(),
|
|
39084
|
-
desiredMargin: z153.number().finite().min(0).lt(1)
|
|
39085
|
-
}).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
39064
|
+
var CostingInputSchema = z153.object(DropshippingProjectCostingInputSchema.shape).superRefine(({ returnRate, cancellationRate }, context) => {
|
|
39086
39065
|
if (returnRate + cancellationRate >= 1) context.addIssue({
|
|
39087
39066
|
code: z153.ZodIssueCode.custom,
|
|
39088
39067
|
path: [
|
|
@@ -39272,10 +39251,10 @@ var DateOnly = z154.string().regex(/^\d{4}-\d{2}-\d{2}$/);
|
|
|
39272
39251
|
var DailyControlInput = z154.object({
|
|
39273
39252
|
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."),
|
|
39274
39253
|
days: z154.number().int().min(1).max(14).default(3).describe("Tama\xF1o de la ventana, 1 a 14 d\xEDas."),
|
|
39275
|
-
projectId: z154.string().
|
|
39254
|
+
projectId: z154.string().guid().optional().describe("Opcional: limita el reporte a un solo proyecto en vez de todos los productos activos.")
|
|
39276
39255
|
}).strict();
|
|
39277
39256
|
var LinkCampaignInput = z154.object({
|
|
39278
|
-
projectId: z154.string().
|
|
39257
|
+
projectId: z154.string().guid(),
|
|
39279
39258
|
provider: z154.enum([
|
|
39280
39259
|
"meta",
|
|
39281
39260
|
"tiktok"
|
|
@@ -39284,7 +39263,7 @@ var LinkCampaignInput = z154.object({
|
|
|
39284
39263
|
campaignId: ProviderCampaignIdentifier
|
|
39285
39264
|
}).strict();
|
|
39286
39265
|
var ReportReturnsInput = z154.object({
|
|
39287
|
-
projectId: z154.string().
|
|
39266
|
+
projectId: z154.string().guid(),
|
|
39288
39267
|
date: DateOnly,
|
|
39289
39268
|
returnedOrders: z154.number().int().min(0).max(1e5),
|
|
39290
39269
|
note: z154.string().trim().max(280).optional()
|
|
@@ -39302,7 +39281,7 @@ var DailyControlDayMirror = z154.object({
|
|
|
39302
39281
|
light: DailyControlLightMirror
|
|
39303
39282
|
}).passthrough();
|
|
39304
39283
|
var DailyControlProductMirror = z154.object({
|
|
39305
|
-
projectId: z154.string().
|
|
39284
|
+
projectId: z154.string().guid(),
|
|
39306
39285
|
productName: z154.string().nullable(),
|
|
39307
39286
|
status: DailyControlStatusMirror,
|
|
39308
39287
|
statusMessage: z154.string().nullable(),
|
|
@@ -39435,7 +39414,7 @@ var SetProductCostingInput = z155.object({
|
|
|
39435
39414
|
tienda + id de Shopify. El esquema canónico también las admite juntas,
|
|
39436
39415
|
pero pedirlas por separado evita que el modelo emita una mezcla que
|
|
39437
39416
|
diga dos productos a la vez. */
|
|
39438
|
-
productControlId: z155.string().
|
|
39417
|
+
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."),
|
|
39439
39418
|
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."),
|
|
39440
39419
|
shopDomain: z155.string().min(1).optional(),
|
|
39441
39420
|
shopifyProductId: z155.string().min(1).max(64).optional(),
|
|
@@ -39447,7 +39426,7 @@ var SetProductCostingInput = z155.object({
|
|
|
39447
39426
|
}).strict();
|
|
39448
39427
|
var Count = z155.number().int().min(0).max(1e5).nullable().optional();
|
|
39449
39428
|
var ReportProductCountsInput = z155.object({
|
|
39450
|
-
productControlId: z155.string().
|
|
39429
|
+
productControlId: z155.string().guid().describe("El identificador que devuelve get_product_control."),
|
|
39451
39430
|
date: DateOnly2,
|
|
39452
39431
|
orders: Count.describe("Pedidos que entraron ese d\xEDa."),
|
|
39453
39432
|
cancelledOrders: Count,
|
|
@@ -39460,7 +39439,7 @@ var SyncShopifyOrdersInput = SyncShopifyOrdersSchema;
|
|
|
39460
39439
|
var ImportOrdersFileInput = z155.object({
|
|
39461
39440
|
/** Ruta ABSOLUTA en la máquina de quien usa el MCP. */
|
|
39462
39441
|
path: z155.string().min(1),
|
|
39463
|
-
operationId: z155.string().
|
|
39442
|
+
operationId: z155.string().guid().optional(),
|
|
39464
39443
|
/** Solo mirar: devuelve el resumen y no escribe nada. */
|
|
39465
39444
|
dryRun: z155.boolean().optional()
|
|
39466
39445
|
}).strict();
|
|
@@ -39469,35 +39448,35 @@ var CreateOperationInput = z155.object({
|
|
|
39469
39448
|
label: z155.string().trim().min(1).max(60).optional()
|
|
39470
39449
|
}).strict();
|
|
39471
39450
|
var MergeProductsInput = z155.object({
|
|
39472
|
-
sourceId: z155.string().
|
|
39473
|
-
targetId: z155.string().
|
|
39451
|
+
sourceId: z155.string().guid(),
|
|
39452
|
+
targetId: z155.string().guid()
|
|
39474
39453
|
}).strict();
|
|
39475
39454
|
var SetMonthlyExpenseInput = z155.object({
|
|
39476
39455
|
month: z155.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
39477
39456
|
label: SaveMonthlyExpenseSchema.shape.label,
|
|
39478
39457
|
amount: z155.number().finite().min(0),
|
|
39479
|
-
operationId: z155.string().
|
|
39458
|
+
operationId: z155.string().guid().optional()
|
|
39480
39459
|
}).strict();
|
|
39481
39460
|
var SetAdSpendInput = z155.object({
|
|
39482
39461
|
month: z155.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/).optional(),
|
|
39483
|
-
operationId: z155.string().
|
|
39462
|
+
operationId: z155.string().guid().optional(),
|
|
39484
39463
|
/** null RETIRA la corrección; cero afirma que no pautó. */
|
|
39485
39464
|
amount: z155.number().finite().min(0).nullable()
|
|
39486
39465
|
}).strict();
|
|
39487
39466
|
var GetFinancesInput = z155.object({
|
|
39488
39467
|
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."),
|
|
39489
|
-
operationId: z155.string().
|
|
39468
|
+
operationId: z155.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
39490
39469
|
}).strict();
|
|
39491
39470
|
var GetDropiStatusInput = DropiCountryQuerySchema.extend({
|
|
39492
39471
|
countryCode: DropiCountrySchema.optional().describe("Pa\xEDs de la cuenta (ISO-2). Si se omite, el servidor responde por Colombia (CO)."),
|
|
39493
|
-
connectionId: z155.string().
|
|
39472
|
+
connectionId: z155.string().guid().optional().describe("Una cuenta concreta cuando el pa\xEDs tiene varias. Sale de la lista de conexiones; nunca se inventa.")
|
|
39494
39473
|
});
|
|
39495
39474
|
var SyncDropiOrdersInput = SyncDropiFinancialSchema;
|
|
39496
|
-
var CreateManualProductInput = CreateManualProductControlSchema.
|
|
39475
|
+
var CreateManualProductInput = z155.strictObject(CreateManualProductControlSchema.shape).omit({
|
|
39497
39476
|
requestId: true
|
|
39498
39477
|
});
|
|
39499
39478
|
var ListUnmatchedProductsInput = z155.object({
|
|
39500
|
-
operationId: z155.string().
|
|
39479
|
+
operationId: z155.string().guid().optional().describe("El negocio, si tiene mas de uno. Con uno solo no hace falta decirlo.")
|
|
39501
39480
|
}).strict();
|
|
39502
39481
|
var ResolveUnmatchedProductInput = ResolveUnmatchedProductSchema;
|
|
39503
39482
|
var ListLinkableCampaignsInput = z155.object({}).strict();
|
|
@@ -39508,13 +39487,13 @@ var LinkProductCampaignInput = z155.object({
|
|
|
39508
39487
|
]).describe("La red publicitaria de la campa\xF1a."),
|
|
39509
39488
|
accountId: z155.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La cuenta publicitaria. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
39510
39489
|
campaignId: z155.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/).describe("La campa\xF1a. Sale de list_linkable_campaigns; nunca se inventa."),
|
|
39511
|
-
productControlId: z155.string().
|
|
39490
|
+
productControlId: z155.string().guid().optional().describe("El id del producto en su control financiero."),
|
|
39512
39491
|
shopDomain: z155.string().min(1).optional().describe("La tienda del producto; con shopifyProductId es la otra forma de decir cu\xE1l es."),
|
|
39513
39492
|
shopifyProductId: z155.string().min(1).optional().describe("El id del producto en su tienda. Va junto a shopDomain.")
|
|
39514
39493
|
}).strict();
|
|
39515
39494
|
var DeleteMonthlyExpenseInput = DeleteMonthlyExpenseSchema;
|
|
39516
39495
|
var RemoveProductControlInput = z155.object({
|
|
39517
|
-
productControlId: z155.string().
|
|
39496
|
+
productControlId: z155.string().guid().describe("El id del producto en su control. Sale del listado; nunca se inventa.")
|
|
39518
39497
|
}).strict();
|
|
39519
39498
|
function manualProductRequestId(input) {
|
|
39520
39499
|
const digest3 = createHash4("sha256").update(JSON.stringify(input, [
|
|
@@ -40068,6 +40047,8 @@ function createServer(opts) {
|
|
|
40068
40047
|
},
|
|
40069
40048
|
logging: {}
|
|
40070
40049
|
},
|
|
40050
|
+
// Bound structural work before parsing hosted tool arguments; stdio remains local.
|
|
40051
|
+
maxToolInputElements: transport === "http" ? 1e4 : void 0,
|
|
40071
40052
|
instructions
|
|
40072
40053
|
});
|
|
40073
40054
|
const api = new ApiClient(apiBaseUrl, opts.credential, {
|