Add conversation image replacement

This commit is contained in:
jjbrunton committed 2026-08-14 12:56:00 +01:00
1 parent 2500f0a23c
commit 8523873831
18 files changed
+812 -3

No files matched your search

+25
View File
@@ -147,6 +147,28 @@ export const ConversationMediaShareOptionsResponseSchema = z.strictObject({
});
export const ShareConversationMediaRequestSchema = z.strictObject({ assetId: z.string().uuid() });
export const ConversationImageReplacementTargetSchema = z.strictObject({
id: z.string().min(1),
label: z.string().min(1),
urlPath: z.string().min(1),
});
export const ConversationImageReplacementOptionsResponseSchema = z.strictObject({
sources: z.array(MediaLibraryAssetSchema),
targets: z.array(ConversationImageReplacementTargetSchema),
reason: z.string().nullable(),
});
export const GenerateConversationImageReplacementRequestSchema = z.strictObject({
sourceAssetId: z.string().uuid(),
targetId: z.string().min(1),
});
export const GenerateConversationImageReplacementResponseSchema = z.strictObject({
imageDataUrl: z.string().startsWith('data:image/jpeg;base64,'),
mimeType: z.literal('image/jpeg'),
fileName: z.string().min(1),
width: z.number().int().positive(),
height: z.number().int().positive(),
});
export const MarkConversationReadRequestSchema = z.strictObject({
/** Defaults to the conversation's newest message when omitted. */
throughTimestamp: z.number().int().nonnegative().optional(),
@@ -224,3 +246,6 @@ export type SellerScanResponse = z.infer<typeof SellerScanResponseSchema>;
export type ChatSyncStatus = z.infer<typeof ChatSyncStatusSchema>;
export type ConversationDetailResponse = z.infer<typeof ConversationDetailResponseSchema>;
export type ConversationMediaShareOptions = z.infer<typeof ConversationMediaShareOptionsResponseSchema>;
export type ConversationImageReplacementTarget = z.infer<typeof ConversationImageReplacementTargetSchema>;
export type ConversationImageReplacementOptions = z.infer<typeof ConversationImageReplacementOptionsResponseSchema>;
export type ConversationImageReplacementResult = z.infer<typeof GenerateConversationImageReplacementResponseSchema>;