@bubblelab/bubble-core 0.1.275 → 0.1.276

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.
@@ -488,7 +488,7 @@ export interface IToolBubble<TResult extends BubbleOperationResult = BubbleOpera
488
488
  export interface IUIBubble extends IBubble { readonly type: 'ui'; template: string; }
489
489
  export interface IInfraBubble extends IBubble { readonly type: 'infra'; provider: 'aws' | 'gcp' | 'supabase'; resourceType: string; }
490
490
  export type BubbleFlowOperationResult = unknown; export interface BubbleContext { logger?: BubbleLogger; variableId?: number; invocationCallSiteKey?: string; dependencyGraph?: DependencyGraphNode; currentUniqueId?: string; __uniqueIdCounters__?: Record<string, number>; executionMeta?: ExecutionMeta; [key: string]: unknown; }
491
- export type ServiceBubbleParams<T = unknown> = T & { credentials?: CredentialOptions; retries?: number; }; declare const StorageParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; region: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; region: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; accountId?: string | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; region: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; declare const StorageResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; type StorageResult = z.output<typeof StorageResultSchema>; type StorageParams = z.input<typeof StorageParamsSchema>;; export type StorageOperationResult<T extends StorageParams['operation']> = Extract<StorageResult, { operation: T; }>; export declare class StorageBubble<T extends StorageParams = StorageParams> extends ServiceBubble<T, Extract<StorageResult, { operation: T['operation']; }>> { static readonly service = "cloudflare-r2"; static readonly authType: "apikey"; static readonly bubbleName = "storage"; static readonly type: "service"; static readonly schema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; region: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; region: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; accountId?: string | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; region: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; static readonly resultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; static readonly shortDescription = "Cloudflare R2 storage operations for file management"; static readonly longDescription = "\n A comprehensive storage bubble for Cloudflare R2 operations.\n Use cases:\n - Generate presigned upload URLs for client-side file uploads\n - Get secure download URLs for file retrieval with authentication \n - Delete files from R2 buckets\n - Update/replace files in R2 buckets (supports base64 encoded content for binary files like images)\n - Manage file access with time-limited URLs\n "; static readonly alias = "r2"; private s3Client; constructor(params?: T, context?: BubbleContext, instanceId?: string); protected chooseCredential(): string | undefined; private initializeS3Client; testCredential(): Promise<boolean>; protected performAction(context?: BubbleContext): Promise<Extract<StorageResult, { operation: T['operation']; }>>; private getUploadUrl; private getFile; private deleteFile; private updateFile; private isBase64; private getMultipleUploadUrls; }
491
+ export type ServiceBubbleParams<T = unknown> = T & { credentials?: CredentialOptions; retries?: number; }; declare const StorageParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; region: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; region: string; expirationMinutes: number; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; region: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; declare const StorageResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; type StorageResult = z.output<typeof StorageResultSchema>; type StorageParams = z.input<typeof StorageParamsSchema>;; export type StorageOperationResult<T extends StorageParams['operation']> = Extract<StorageResult, { operation: T; }>; export declare class StorageBubble<T extends StorageParams = StorageParams> extends ServiceBubble<T, Extract<StorageResult, { operation: T['operation']; }>> { static readonly service = "cloudflare-r2"; static readonly authType: "apikey"; static readonly bubbleName = "storage"; static readonly type: "service"; static readonly schema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; region: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; region: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; region: string; expirationMinutes: number; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; accountId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; accountId: z.ZodOptional<z.ZodString>; region: z.ZodDefault<z.ZodOptional<z.ZodString>>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; region: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; accountId?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; static readonly resultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; static readonly shortDescription = "Cloudflare R2 storage operations for file management"; static readonly longDescription = "\n A comprehensive storage bubble for Cloudflare R2 operations.\n Use cases:\n - Generate presigned upload URLs for client-side file uploads\n - Get secure download URLs for file retrieval with authentication \n - Delete files from R2 buckets\n - Update/replace files in R2 buckets (supports base64 encoded content for binary files like images)\n - Manage file access with time-limited URLs\n "; static readonly alias = "r2"; private s3Client; constructor(params?: T, context?: BubbleContext, instanceId?: string); protected chooseCredential(): string | undefined; private initializeS3Client; testCredential(): Promise<boolean>; protected performAction(context?: BubbleContext): Promise<Extract<StorageResult, { operation: T['operation']; }>>; private getUploadUrl; private getFile; private deleteFile; private updateFile; private isBase64; private getMultipleUploadUrls; }
492
492
  export {}; export declare abstract class BaseBubble<TParams = unknown, TResult extends BubbleOperationResult = BubbleOperationResult> implements IBubble<TResult> { readonly name: string; readonly schema: z.ZodObject<z.ZodRawShape>; readonly resultSchema: z.ZodObject<z.ZodRawShape>; readonly shortDescription: string; readonly longDescription: string; readonly alias?: string; abstract readonly type: 'service' | 'workflow' | 'tool' | 'ui' | 'infra'; protected readonly params: TParams; protected context?: BubbleContext; previousResult: BubbleResult<BubbleOperationResult> | undefined; protected readonly instanceId?: string; constructor(params: unknown, context?: BubbleContext, instanceId?: string); private computeChildContext; saveResult<R extends BubbleOperationResult>(result: BubbleResult<R>): void; clearSavedResult(): void; toJSON(): Record<string, unknown>; protected beforeAction(): Promise<void>; action(): Promise<BubbleResult<TResult>>; generateMockResult(): BubbleResult<TResult>; generateMockResultWithSeed(seed: number): BubbleResult<TResult>; protected abstract performAction(context?: BubbleContext): Promise<TResult>; }
493
493
  export declare abstract class ServiceBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> { readonly type: "service"; authType?: 'oauth' | 'apikey' | 'none' | 'connection-string'; constructor(params: unknown, context?: BubbleContext, instanceId?: string); abstract testCredential(): Promise<boolean>; protected abstract chooseCredential(): string | undefined; getCredentialMetadata(): Promise<DatabaseMetadata | undefined>; get currentParams(): Omit<TParams, 'credentials'>; setParam<K extends keyof TParams>(paramName: K, paramValue: TParams[K]): void; get currentContext(): BubbleContext | undefined; }
494
494
  export declare class BubbleError extends Error { readonly variableId?: number; readonly bubbleName?: string; constructor(message: string, options?: { variableId?: number; bubbleName?: string; cause?: Error; }); }
@@ -1657,9 +1657,9 @@ export interface IToolBubble<TResult extends BubbleOperationResult = BubbleOpera
1657
1657
  export interface IUIBubble extends IBubble { readonly type: 'ui'; template: string; }
1658
1658
  export interface IInfraBubble extends IBubble { readonly type: 'infra'; provider: 'aws' | 'gcp' | 'supabase'; resourceType: string; }
1659
1659
  export type BubbleFlowOperationResult = unknown; export interface BubbleContext { logger?: BubbleLogger; variableId?: number; invocationCallSiteKey?: string; dependencyGraph?: DependencyGraphNode; currentUniqueId?: string; __uniqueIdCounters__?: Record<string, number>; executionMeta?: ExecutionMeta; [key: string]: unknown; }
1660
- export type ServiceBubbleParams<T = unknown> = T & { credentials?: CredentialOptions; retries?: number; }; export declare const S3ParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; region?: string | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; export declare const S3ResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; export type S3Result = z.output<typeof S3ResultSchema>; export type S3Params = z.output<typeof S3ParamsSchema>; export
1661
- type S3ParamsInput = z.input<typeof S3ParamsSchema>;;; export type S3OperationResult<T extends S3Params['operation']> = Extract<S3Result, { operation: T; }>; export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends ServiceBubble<T, Extract<S3Result, { operation: T['operation']; }>> { static readonly service = "s3"; static readonly authType: "apikey"; static readonly bubbleName = "s3-storage"; static readonly type: "service"; static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getUploadUrl">; bucketName: import("zod").ZodString; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>; contentType: import("zod").ZodOptional<import("zod").ZodString>; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getFile">; bucketName: import("zod").ZodString; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"deleteFile">; bucketName: import("zod").ZodString; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"updateFile">; bucketName: import("zod").ZodDefault<import("zod").ZodString>; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; contentType: import("zod").ZodOptional<import("zod").ZodString>; fileContent: import("zod").ZodString; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; region?: string | undefined; userId?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getMultipleUploadUrls">; bucketName: import("zod").ZodString; pdfFileName: import("zod").ZodString; pageCount: import("zod").ZodNumber; region: import("zod").ZodOptional<import("zod").ZodString>; expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getUploadUrl">; success: import("zod").ZodBoolean; uploadUrl: import("zod").ZodOptional<import("zod").ZodString>; fileName: import("zod").ZodOptional<import("zod").ZodString>; contentType: import("zod").ZodOptional<import("zod").ZodString>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getFile">; success: import("zod").ZodBoolean; downloadUrl: import("zod").ZodOptional<import("zod").ZodString>; fileUrl: import("zod").ZodOptional<import("zod").ZodString>; fileName: import("zod").ZodOptional<import("zod").ZodString>; fileSize: import("zod").ZodOptional<import("zod").ZodNumber>; contentType: import("zod").ZodOptional<import("zod").ZodString>; lastModified: import("zod").ZodOptional<import("zod").ZodString>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"deleteFile">; success: import("zod").ZodBoolean; fileName: import("zod").ZodOptional<import("zod").ZodString>; deleted: import("zod").ZodOptional<import("zod").ZodBoolean>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"updateFile">; success: import("zod").ZodBoolean; fileName: import("zod").ZodOptional<import("zod").ZodString>; updated: import("zod").ZodOptional<import("zod").ZodBoolean>; contentType: import("zod").ZodOptional<import("zod").ZodString>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getMultipleUploadUrls">; success: import("zod").ZodBoolean; pdfUploadUrl: import("zod").ZodOptional<import("zod").ZodString>; pdfFileName: import("zod").ZodOptional<import("zod").ZodString>; pageUploadUrls: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{ pageNumber: import("zod").ZodNumber; uploadUrl: import("zod").ZodString; fileName: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; static readonly shortDescription = "S3-compatible storage operations for file management"; static readonly longDescription = "\n A comprehensive storage bubble for S3-compatible storage providers.\n Works with AWS S3, MinIO, DigitalOcean Spaces, Backblaze B2, and more.\n Use cases:\n - Generate presigned upload URLs for client-side file uploads\n - Get secure download URLs for file retrieval with authentication\n - Delete files from S3 buckets\n - Update/replace files in S3 buckets (supports base64 encoded content for binary files like images)\n - Manage file access with time-limited URLs\n "; static readonly alias = "s3"; private s3Client; constructor(params?: T, context?: BubbleContext, instanceId?: string); protected chooseCredential(): string | undefined; private initializeS3Client; private extractRegionFromRedirectError; testCredential(): Promise<boolean>; private executeOperation; protected performAction(context?: BubbleContext): Promise<Extract<S3Result, { operation: T['operation']; }>>; private getUploadUrl; private getFile; private deleteFile; private isSecureFileName; private updateFile; private getMultipleUploadUrls; }
1662
- export declare const S3ParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; region?: string | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; export declare const S3ResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; export type S3Result = z.output<typeof S3ResultSchema>; export type S3Params = z.output<typeof S3ParamsSchema>; export type S3ParamsInput = z.input<typeof S3ParamsSchema>; export type S3OperationResult<T extends S3Params['operation']> = Extract<S3Result, { operation: T; }>; export interface S3Credentials { accessKeyId: string; secretAccessKey: string; endpoint?: string; region?: string; }
1660
+ export type ServiceBubbleParams<T = unknown> = T & { credentials?: CredentialOptions; retries?: number; }; export declare const S3ParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; expirationMinutes: number; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; export declare const S3ResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; export type S3Result = z.output<typeof S3ResultSchema>; export type S3Params = z.output<typeof S3ParamsSchema>; export
1661
+ type S3ParamsInput = z.input<typeof S3ParamsSchema>;;; export type S3OperationResult<T extends S3Params['operation']> = Extract<S3Result, { operation: T; }>; export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends ServiceBubble<T, Extract<S3Result, { operation: T['operation']; }>> { static readonly service = "s3"; static readonly authType: "apikey"; static readonly bubbleName = "s3-storage"; static readonly type: "service"; static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getUploadUrl">; bucketName: import("zod").ZodString; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>; contentType: import("zod").ZodOptional<import("zod").ZodString>; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getFile">; bucketName: import("zod").ZodString; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"deleteFile">; bucketName: import("zod").ZodString; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"updateFile">; bucketName: import("zod").ZodDefault<import("zod").ZodString>; fileName: import("zod").ZodString; region: import("zod").ZodOptional<import("zod").ZodString>; expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>; contentType: import("zod").ZodOptional<import("zod").ZodString>; fileContent: import("zod").ZodString; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; expirationMinutes: number; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getMultipleUploadUrls">; bucketName: import("zod").ZodString; pdfFileName: import("zod").ZodString; pageCount: import("zod").ZodNumber; region: import("zod").ZodOptional<import("zod").ZodString>; expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>; userId: import("zod").ZodOptional<import("zod").ZodString>; credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>; }, "strip", import("zod").ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getUploadUrl">; success: import("zod").ZodBoolean; uploadUrl: import("zod").ZodOptional<import("zod").ZodString>; fileName: import("zod").ZodOptional<import("zod").ZodString>; contentType: import("zod").ZodOptional<import("zod").ZodString>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getFile">; success: import("zod").ZodBoolean; downloadUrl: import("zod").ZodOptional<import("zod").ZodString>; fileUrl: import("zod").ZodOptional<import("zod").ZodString>; fileName: import("zod").ZodOptional<import("zod").ZodString>; fileSize: import("zod").ZodOptional<import("zod").ZodNumber>; contentType: import("zod").ZodOptional<import("zod").ZodString>; lastModified: import("zod").ZodOptional<import("zod").ZodString>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"deleteFile">; success: import("zod").ZodBoolean; fileName: import("zod").ZodOptional<import("zod").ZodString>; deleted: import("zod").ZodOptional<import("zod").ZodBoolean>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"updateFile">; success: import("zod").ZodBoolean; fileName: import("zod").ZodOptional<import("zod").ZodString>; fileUrl: import("zod").ZodOptional<import("zod").ZodString>; updated: import("zod").ZodOptional<import("zod").ZodBoolean>; contentType: import("zod").ZodOptional<import("zod").ZodString>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"getMultipleUploadUrls">; success: import("zod").ZodBoolean; pdfUploadUrl: import("zod").ZodOptional<import("zod").ZodString>; pdfFileName: import("zod").ZodOptional<import("zod").ZodString>; pageUploadUrls: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{ pageNumber: import("zod").ZodNumber; uploadUrl: import("zod").ZodString; fileName: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: import("zod").ZodString; }, "strip", import("zod").ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; static readonly shortDescription = "S3-compatible storage operations for file management"; static readonly longDescription = "\n A comprehensive storage bubble for S3-compatible storage providers.\n Works with AWS S3, MinIO, DigitalOcean Spaces, Backblaze B2, and more.\n Use cases:\n - Generate presigned upload URLs for client-side file uploads\n - Get secure download URLs for file retrieval with authentication\n - Delete files from S3 buckets\n - Update/replace files in S3 buckets (supports base64 encoded content for binary files like images)\n - Manage file access with time-limited URLs\n "; static readonly alias = "s3"; private s3Client; constructor(params?: T, context?: BubbleContext, instanceId?: string); protected chooseCredential(): string | undefined; private initializeS3Client; private extractRegionFromRedirectError; testCredential(): Promise<boolean>; private executeOperation; protected performAction(context?: BubbleContext): Promise<Extract<S3Result, { operation: T['operation']; }>>; private getUploadUrl; private getFile; private deleteFile; private isSecureFileName; private updateFile; private getMultipleUploadUrls; }
1662
+ export declare const S3ParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getUploadUrl"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getUploadUrl"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getFile"; bucketName: string; fileName: string; expirationMinutes: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; bucketName: z.ZodString; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }, { operation: "deleteFile"; bucketName: string; fileName: string; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; bucketName: z.ZodDefault<z.ZodString>; fileName: z.ZodString; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; contentType: z.ZodOptional<z.ZodString>; fileContent: z.ZodString; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "updateFile"; bucketName: string; fileName: string; expirationMinutes: number; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "updateFile"; fileName: string; fileContent: string; credentials?: Partial<Record<CredentialType, string>> | undefined; contentType?: string | undefined; bucketName?: string | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; bucketName: z.ZodString; pdfFileName: z.ZodString; pageCount: z.ZodNumber; region: z.ZodOptional<z.ZodString>; expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; userId: z.ZodOptional<z.ZodString>; credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "getMultipleUploadUrls"; bucketName: string; expirationMinutes: number; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; userId?: string | undefined; }, { operation: "getMultipleUploadUrls"; bucketName: string; pdfFileName: string; pageCount: number; credentials?: Partial<Record<CredentialType, string>> | undefined; region?: string | undefined; expirationMinutes?: number | undefined; userId?: string | undefined; }>]>; export declare const S3ResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{ operation: z.ZodLiteral<"getUploadUrl">; success: z.ZodBoolean; uploadUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }, { success: boolean; error: string; operation: "getUploadUrl"; contentType?: string | undefined; fileName?: string | undefined; uploadUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getFile">; success: z.ZodBoolean; downloadUrl: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; fileName: z.ZodOptional<z.ZodString>; fileSize: z.ZodOptional<z.ZodNumber>; contentType: z.ZodOptional<z.ZodString>; lastModified: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }, { success: boolean; error: string; operation: "getFile"; contentType?: string | undefined; fileName?: string | undefined; downloadUrl?: string | undefined; fileUrl?: string | undefined; fileSize?: number | undefined; lastModified?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"deleteFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; deleted: z.ZodOptional<z.ZodBoolean>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }, { success: boolean; error: string; operation: "deleteFile"; deleted?: boolean | undefined; fileName?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"updateFile">; success: z.ZodBoolean; fileName: z.ZodOptional<z.ZodString>; fileUrl: z.ZodOptional<z.ZodString>; updated: z.ZodOptional<z.ZodBoolean>; contentType: z.ZodOptional<z.ZodString>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }, { success: boolean; error: string; operation: "updateFile"; updated?: boolean | undefined; contentType?: string | undefined; fileName?: string | undefined; fileUrl?: string | undefined; }>, z.ZodObject<{ operation: z.ZodLiteral<"getMultipleUploadUrls">; success: z.ZodBoolean; pdfUploadUrl: z.ZodOptional<z.ZodString>; pdfFileName: z.ZodOptional<z.ZodString>; pageUploadUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{ pageNumber: z.ZodNumber; uploadUrl: z.ZodString; fileName: z.ZodString; }, "strip", z.ZodTypeAny, { fileName: string; uploadUrl: string; pageNumber: number; }, { fileName: string; uploadUrl: string; pageNumber: number; }>, "many">>; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }, { success: boolean; error: string; operation: "getMultipleUploadUrls"; pdfFileName?: string | undefined; pdfUploadUrl?: string | undefined; pageUploadUrls?: { fileName: string; uploadUrl: string; pageNumber: number; }[] | undefined; }>]>; export type S3Result = z.output<typeof S3ResultSchema>; export type S3Params = z.output<typeof S3ParamsSchema>; export type S3ParamsInput = z.input<typeof S3ParamsSchema>; export type S3OperationResult<T extends S3Params['operation']> = Extract<S3Result, { operation: T; }>; export interface S3Credentials { accessKeyId: string; secretAccessKey: string; endpoint?: string; region?: string; }
1663
1663
  export declare function parseS3Credential(value: string): S3Credentials; export declare function isBase64(str: string): boolean; export declare abstract class BaseBubble<TParams = unknown, TResult extends BubbleOperationResult = BubbleOperationResult> implements IBubble<TResult> { readonly name: string; readonly schema: z.ZodObject<z.ZodRawShape>; readonly resultSchema: z.ZodObject<z.ZodRawShape>; readonly shortDescription: string; readonly longDescription: string; readonly alias?: string; abstract readonly type: 'service' | 'workflow' | 'tool' | 'ui' | 'infra'; protected readonly params: TParams; protected context?: BubbleContext; previousResult: BubbleResult<BubbleOperationResult> | undefined; protected readonly instanceId?: string; constructor(params: unknown, context?: BubbleContext, instanceId?: string); private computeChildContext; saveResult<R extends BubbleOperationResult>(result: BubbleResult<R>): void; clearSavedResult(): void; toJSON(): Record<string, unknown>; protected beforeAction(): Promise<void>; action(): Promise<BubbleResult<TResult>>; generateMockResult(): BubbleResult<TResult>; generateMockResultWithSeed(seed: number): BubbleResult<TResult>; protected abstract performAction(context?: BubbleContext): Promise<TResult>; }
1664
1664
  export declare abstract class ServiceBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> { readonly type: "service"; authType?: 'oauth' | 'apikey' | 'none' | 'connection-string'; constructor(params: unknown, context?: BubbleContext, instanceId?: string); abstract testCredential(): Promise<boolean>; protected abstract chooseCredential(): string | undefined; getCredentialMetadata(): Promise<DatabaseMetadata | undefined>; get currentParams(): Omit<TParams, 'credentials'>; setParam<K extends keyof TParams>(paramName: K, paramValue: TParams[K]): void; get currentContext(): BubbleContext | undefined; }
1665
1665
  export declare class BubbleError extends Error { readonly variableId?: number; readonly bubbleName?: string; constructor(message: string, options?: { variableId?: number; bubbleName?: string; cause?: Error; }); }
@@ -95,6 +95,7 @@ export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends S
95
95
  bucketName: import("zod").ZodDefault<import("zod").ZodString>;
96
96
  fileName: import("zod").ZodString;
97
97
  region: import("zod").ZodOptional<import("zod").ZodString>;
98
+ expirationMinutes: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
98
99
  contentType: import("zod").ZodOptional<import("zod").ZodString>;
99
100
  fileContent: import("zod").ZodString;
100
101
  userId: import("zod").ZodOptional<import("zod").ZodString>;
@@ -103,6 +104,7 @@ export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends S
103
104
  operation: "updateFile";
104
105
  bucketName: string;
105
106
  fileName: string;
107
+ expirationMinutes: number;
106
108
  fileContent: string;
107
109
  credentials?: Partial<Record<CredentialType, string>> | undefined;
108
110
  contentType?: string | undefined;
@@ -116,6 +118,7 @@ export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends S
116
118
  contentType?: string | undefined;
117
119
  bucketName?: string | undefined;
118
120
  region?: string | undefined;
121
+ expirationMinutes?: number | undefined;
119
122
  userId?: string | undefined;
120
123
  }>, import("zod").ZodObject<{
121
124
  operation: import("zod").ZodLiteral<"getMultipleUploadUrls">;
@@ -218,6 +221,7 @@ export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends S
218
221
  operation: import("zod").ZodLiteral<"updateFile">;
219
222
  success: import("zod").ZodBoolean;
220
223
  fileName: import("zod").ZodOptional<import("zod").ZodString>;
224
+ fileUrl: import("zod").ZodOptional<import("zod").ZodString>;
221
225
  updated: import("zod").ZodOptional<import("zod").ZodBoolean>;
222
226
  contentType: import("zod").ZodOptional<import("zod").ZodString>;
223
227
  error: import("zod").ZodString;
@@ -228,6 +232,7 @@ export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends S
228
232
  updated?: boolean | undefined;
229
233
  contentType?: string | undefined;
230
234
  fileName?: string | undefined;
235
+ fileUrl?: string | undefined;
231
236
  }, {
232
237
  success: boolean;
233
238
  error: string;
@@ -235,6 +240,7 @@ export declare class S3Bubble<T extends S3ParamsInput = S3ParamsInput> extends S
235
240
  updated?: boolean | undefined;
236
241
  contentType?: string | undefined;
237
242
  fileName?: string | undefined;
243
+ fileUrl?: string | undefined;
238
244
  }>, import("zod").ZodObject<{
239
245
  operation: import("zod").ZodLiteral<"getMultipleUploadUrls">;
240
246
  success: import("zod").ZodBoolean;
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ,CACnB,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,OAAO,QAAQ;IAC/B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAAgB;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAkB;IACxC,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAkB;IAC9C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,0DACyB;IACzD,MAAM,CAAC,QAAQ,CAAC,eAAe,ufAS7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;IAE7B,OAAO,CAAC,QAAQ,CAAyB;gBAGvC,MAAM,GAAE,CAIF,EACN,OAAO,CAAC,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM;IAKrB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAYhD,OAAO,CAAC,kBAAkB;IAmC1B;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAsCzB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YAwBjC,gBAAgB;cA+Bd,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YA+D9C,YAAY;YAkCZ,OAAO;YAoCP,UAAU;IAqBxB,+EAA+E;IAC/E,OAAO,CAAC,gBAAgB;YAWV,UAAU;YAiDV,qBAAqB;CA6DpC"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ,CACnB,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,OAAO,QAAQ;IAC/B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAAgB;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAkB;IACxC,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAkB;IAC9C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,0DACyB;IACzD,MAAM,CAAC,QAAQ,CAAC,eAAe,ufAS7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;IAE7B,OAAO,CAAC,QAAQ,CAAyB;gBAGvC,MAAM,GAAE,CAIF,EACN,OAAO,CAAC,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM;IAKrB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAYhD,OAAO,CAAC,kBAAkB;IAmC1B;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAsCzB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YAwBjC,gBAAgB;cA+Bd,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YA+D9C,YAAY;YAkCZ,OAAO;YAoCP,UAAU;IAqBxB,+EAA+E;IAC/E,OAAO,CAAC,gBAAgB;YAWV,UAAU;YA4DV,qBAAqB;CA6DpC"}
@@ -312,10 +312,20 @@ export class S3Bubble extends ServiceBubble {
312
312
  Body: bodyContent,
313
313
  });
314
314
  await this.s3Client.send(command);
315
+ // Generate a presigned download URL for the uploaded file
316
+ const getCommand = new GetObjectCommand({
317
+ Bucket: params.bucketName,
318
+ Key: key,
319
+ });
320
+ const expirationSeconds = (params.expirationMinutes ?? 10080) * 60; // default 7 days
321
+ const fileUrl = await getSignedUrl(this.s3Client, getCommand, {
322
+ expiresIn: expirationSeconds,
323
+ });
315
324
  return {
316
325
  operation: 'updateFile',
317
326
  success: true,
318
327
  fileName: key,
328
+ fileUrl,
319
329
  updated: true,
320
330
  contentType: params.contentType,
321
331
  error: '',
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,7 @@ export declare const S3ParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.Zod
74
74
  bucketName: z.ZodDefault<z.ZodString>;
75
75
  fileName: z.ZodString;
76
76
  region: z.ZodOptional<z.ZodString>;
77
+ expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
77
78
  contentType: z.ZodOptional<z.ZodString>;
78
79
  fileContent: z.ZodString;
79
80
  userId: z.ZodOptional<z.ZodString>;
@@ -82,6 +83,7 @@ export declare const S3ParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.Zod
82
83
  operation: "updateFile";
83
84
  bucketName: string;
84
85
  fileName: string;
86
+ expirationMinutes: number;
85
87
  fileContent: string;
86
88
  credentials?: Partial<Record<CredentialType, string>> | undefined;
87
89
  contentType?: string | undefined;
@@ -95,6 +97,7 @@ export declare const S3ParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.Zod
95
97
  contentType?: string | undefined;
96
98
  bucketName?: string | undefined;
97
99
  region?: string | undefined;
100
+ expirationMinutes?: number | undefined;
98
101
  userId?: string | undefined;
99
102
  }>, z.ZodObject<{
100
103
  operation: z.ZodLiteral<"getMultipleUploadUrls">;
@@ -197,6 +200,7 @@ export declare const S3ResultSchema: z.ZodDiscriminatedUnion<"operation", [z.Zod
197
200
  operation: z.ZodLiteral<"updateFile">;
198
201
  success: z.ZodBoolean;
199
202
  fileName: z.ZodOptional<z.ZodString>;
203
+ fileUrl: z.ZodOptional<z.ZodString>;
200
204
  updated: z.ZodOptional<z.ZodBoolean>;
201
205
  contentType: z.ZodOptional<z.ZodString>;
202
206
  error: z.ZodString;
@@ -207,6 +211,7 @@ export declare const S3ResultSchema: z.ZodDiscriminatedUnion<"operation", [z.Zod
207
211
  updated?: boolean | undefined;
208
212
  contentType?: string | undefined;
209
213
  fileName?: string | undefined;
214
+ fileUrl?: string | undefined;
210
215
  }, {
211
216
  success: boolean;
212
217
  error: string;
@@ -214,6 +219,7 @@ export declare const S3ResultSchema: z.ZodDiscriminatedUnion<"operation", [z.Zod
214
219
  updated?: boolean | undefined;
215
220
  contentType?: string | undefined;
216
221
  fileName?: string | undefined;
222
+ fileUrl?: string | undefined;
217
223
  }>, z.ZodObject<{
218
224
  operation: z.ZodLiteral<"getMultipleUploadUrls">;
219
225
  success: z.ZodBoolean;
@@ -1 +1 @@
1
- {"version":3,"file":"s3.schema.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiIzB,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8FzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG3D,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CACtE,QAAQ,EACR;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,CACjB,CAAC"}
1
+ {"version":3,"file":"s3.schema.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsIzB,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoGzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAG3D,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CACtE,QAAQ,EACR;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,CACjB,CAAC"}
@@ -77,7 +77,7 @@ export const S3ParamsSchema = z.discriminatedUnion('operation', [
77
77
  z.object({
78
78
  operation: z
79
79
  .literal('updateFile')
80
- .describe('Upload or replace file content'),
80
+ .describe('Upload or replace file content. Returns a presigned fileUrl for the uploaded file (default 7-day expiry).'),
81
81
  bucketName: z
82
82
  .string()
83
83
  .min(1, 'Bucket name is required')
@@ -90,6 +90,11 @@ export const S3ParamsSchema = z.discriminatedUnion('operation', [
90
90
  .string()
91
91
  .optional()
92
92
  .describe('AWS region override (defaults from credential or us-east-1)'),
93
+ expirationMinutes: z
94
+ .number()
95
+ .optional()
96
+ .default(10080)
97
+ .describe('Presigned fileUrl expiration in minutes (default 10080 = 7 days, max 7 days for R2/S3)'),
93
98
  contentType: z.string().optional().describe('Content type for uploads'),
94
99
  fileContent: z
95
100
  .string()
@@ -179,7 +184,11 @@ export const S3ResultSchema = z.discriminatedUnion('operation', [
179
184
  fileName: z
180
185
  .string()
181
186
  .optional()
182
- .describe('Secure filename for the updated file (different from the original filename)'),
187
+ .describe('Secure filename for the updated file (different from the original filename). Use this key with getFile to generate new download URLs.'),
188
+ fileUrl: z
189
+ .string()
190
+ .optional()
191
+ .describe('Presigned download URL for the uploaded file. Expires after expirationMinutes (default 7 days). Do NOT construct URLs manually — always use this field.'),
183
192
  updated: z
184
193
  .boolean()
185
194
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"s3.schema.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,oDAAoD;AACpD,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAChD,QAAQ,EAAE;KACV,QAAQ,CAAC,iEAAiE,CAAC,CAAC;AAE/E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IAC9D,2BAA2B;IAC3B,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC;aACT,OAAO,CAAC,cAAc,CAAC;aACvB,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;aACjC,QAAQ,CAAC,uBAAuB,CAAC;QACpC,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;aAC/B,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACvE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,WAAW,EAAE,qBAAqB;KACnC,CAAC;IAEF,qBAAqB;IACrB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC3E,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;aACjC,QAAQ,CAAC,uBAAuB,CAAC;QACpC,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;aAC/B,QAAQ,CAAC,8BAA8B,CAAC;QAC3C,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,WAAW,EAAE,qBAAqB;KACnC,CAAC;IAEF,wBAAwB;IACxB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACtE,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;aACjC,QAAQ,CAAC,uBAAuB,CAAC;QACpC,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;aAC/B,QAAQ,CAAC,4BAA4B,CAAC;QACzC,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,WAAW,EAAE,qBAAqB;KACnC,CAAC;IAEF,wBAAwB;IACxB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC;aACT,OAAO,CAAC,YAAY,CAAC;aACrB,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;aACjC,OAAO,CAAC,mBAAmB,CAAC;QAC/B,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;aAC/B,QAAQ,CACP,wHAAwH,CACzH;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACvE,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;aAC9C,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,WAAW,EAAE,qBAAqB;KACnC,CAAC;IAEF,qCAAqC;IACrC,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC;aACT,OAAO,CAAC,uBAAuB,CAAC;aAChC,QAAQ,CACP,+DAA+D,CAChE;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;aACjC,QAAQ,CAAC,uBAAuB,CAAC;QACpC,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;aACnC,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;aACvC,QAAQ,CAAC,6CAA6C,CAAC;QAC1D,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,WAAW,EAAE,qBAAqB;KACnC,CAAC;CACH,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IAC9D,wBAAwB;IACxB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC;aACT,OAAO,CAAC,cAAc,CAAC;aACvB,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACjE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAChE,CAAC;IAEF,kBAAkB;IAClB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC3E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACvE,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uCAAuC,CAAC;QACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAChE,CAAC;IAEF,qBAAqB;IACrB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACtE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpE,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,2CAA2C,CAAC;QACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAChE,CAAC;IAEF,qBAAqB;IACrB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC;aACT,OAAO,CAAC,YAAY,CAAC;aACrB,QAAQ,CACP,6EAA6E,CAC9E;QACH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACrE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6EAA6E,CAC9E;QACH,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,2CAA2C,CAAC;QACxD,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAChE,CAAC;IAEF,kCAAkC;IAClC,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC;aACT,OAAO,CAAC,uBAAuB,CAAC;aAChC,QAAQ,CACP,+DAA+D,CAChE;QACH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACrE,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8BAA8B,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACtE,cAAc,EAAE,CAAC;aACd,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SACrE,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,sCAAsC,CAAC;QACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAChE,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"s3.schema.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/s3/s3.schema.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,7 @@ declare const StorageParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodOb
86
86
  fileName: z.ZodString;
87
87
  accountId: z.ZodOptional<z.ZodString>;
88
88
  region: z.ZodDefault<z.ZodOptional<z.ZodString>>;
89
+ expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
89
90
  contentType: z.ZodOptional<z.ZodString>;
90
91
  fileContent: z.ZodString;
91
92
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
@@ -94,6 +95,7 @@ declare const StorageParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodOb
94
95
  bucketName: string;
95
96
  fileName: string;
96
97
  region: string;
98
+ expirationMinutes: number;
97
99
  fileContent: string;
98
100
  credentials?: Partial<Record<CredentialType, string>> | undefined;
99
101
  contentType?: string | undefined;
@@ -107,6 +109,7 @@ declare const StorageParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodOb
107
109
  bucketName?: string | undefined;
108
110
  accountId?: string | undefined;
109
111
  region?: string | undefined;
112
+ expirationMinutes?: number | undefined;
110
113
  }>, z.ZodObject<{
111
114
  operation: z.ZodLiteral<"getMultipleUploadUrls">;
112
115
  bucketName: z.ZodString;
@@ -211,6 +214,7 @@ declare const StorageResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodOb
211
214
  operation: z.ZodLiteral<"updateFile">;
212
215
  success: z.ZodBoolean;
213
216
  fileName: z.ZodOptional<z.ZodString>;
217
+ fileUrl: z.ZodOptional<z.ZodString>;
214
218
  updated: z.ZodOptional<z.ZodBoolean>;
215
219
  contentType: z.ZodOptional<z.ZodString>;
216
220
  error: z.ZodString;
@@ -221,6 +225,7 @@ declare const StorageResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodOb
221
225
  updated?: boolean | undefined;
222
226
  contentType?: string | undefined;
223
227
  fileName?: string | undefined;
228
+ fileUrl?: string | undefined;
224
229
  }, {
225
230
  success: boolean;
226
231
  error: string;
@@ -228,6 +233,7 @@ declare const StorageResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodOb
228
233
  updated?: boolean | undefined;
229
234
  contentType?: string | undefined;
230
235
  fileName?: string | undefined;
236
+ fileUrl?: string | undefined;
231
237
  }>, z.ZodObject<{
232
238
  operation: z.ZodLiteral<"getMultipleUploadUrls">;
233
239
  success: z.ZodBoolean;
@@ -366,6 +372,7 @@ export declare class StorageBubble<T extends StorageParams = StorageParams> exte
366
372
  fileName: z.ZodString;
367
373
  accountId: z.ZodOptional<z.ZodString>;
368
374
  region: z.ZodDefault<z.ZodOptional<z.ZodString>>;
375
+ expirationMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
369
376
  contentType: z.ZodOptional<z.ZodString>;
370
377
  fileContent: z.ZodString;
371
378
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
@@ -374,6 +381,7 @@ export declare class StorageBubble<T extends StorageParams = StorageParams> exte
374
381
  bucketName: string;
375
382
  fileName: string;
376
383
  region: string;
384
+ expirationMinutes: number;
377
385
  fileContent: string;
378
386
  credentials?: Partial<Record<CredentialType, string>> | undefined;
379
387
  contentType?: string | undefined;
@@ -387,6 +395,7 @@ export declare class StorageBubble<T extends StorageParams = StorageParams> exte
387
395
  bucketName?: string | undefined;
388
396
  accountId?: string | undefined;
389
397
  region?: string | undefined;
398
+ expirationMinutes?: number | undefined;
390
399
  }>, z.ZodObject<{
391
400
  operation: z.ZodLiteral<"getMultipleUploadUrls">;
392
401
  bucketName: z.ZodString;
@@ -491,6 +500,7 @@ export declare class StorageBubble<T extends StorageParams = StorageParams> exte
491
500
  operation: z.ZodLiteral<"updateFile">;
492
501
  success: z.ZodBoolean;
493
502
  fileName: z.ZodOptional<z.ZodString>;
503
+ fileUrl: z.ZodOptional<z.ZodString>;
494
504
  updated: z.ZodOptional<z.ZodBoolean>;
495
505
  contentType: z.ZodOptional<z.ZodString>;
496
506
  error: z.ZodString;
@@ -501,6 +511,7 @@ export declare class StorageBubble<T extends StorageParams = StorageParams> exte
501
511
  updated?: boolean | undefined;
502
512
  contentType?: string | undefined;
503
513
  fileName?: string | undefined;
514
+ fileUrl?: string | undefined;
504
515
  }, {
505
516
  success: boolean;
506
517
  error: string;
@@ -508,6 +519,7 @@ export declare class StorageBubble<T extends StorageParams = StorageParams> exte
508
519
  updated?: boolean | undefined;
509
520
  contentType?: string | undefined;
510
521
  fileName?: string | undefined;
522
+ fileUrl?: string | undefined;
511
523
  }>, z.ZodObject<{
512
524
  operation: z.ZodLiteral<"getMultipleUploadUrls">;
513
525
  success: z.ZodBoolean;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqJvB,CAAC;AAGH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8FvB,CAAC;AAEH,KAAK,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1D,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGzD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,aAAa,CAAC,WAAW,CAAC,IACrE,OAAO,CAAC,aAAa,EAAE;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAE3C,qBAAa,aAAa,CACxB,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,aAAa,CACrB,CAAC,EACD,OAAO,CAAC,aAAa,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CACtD;IACC,MAAM,CAAC,QAAQ,CAAC,OAAO,mBAAmB;IAC1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,aAAa;IACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAuB;IAC7C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAuB;IACnD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,0DACyB;IACzD,MAAM,CAAC,QAAQ,CAAC,eAAe,saAQ7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;IAE7B,OAAO,CAAC,QAAQ,CAAyB;gBAGvC,MAAM,GAAE,CAIF,EACN,OAAO,CAAC,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM;IAKrB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAShD,OAAO,CAAC,kBAAkB;IAkCb,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;cAK/B,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YAuCnD,YAAY;YAuDZ,OAAO;YA+CP,UAAU;YAqBV,UAAU;IAsDxB;;OAEG;IACH,OAAO,CAAC,QAAQ;YAyBF,qBAAqB;CA6DpC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0JvB,CAAC;AAGH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoGvB,CAAC;AAEH,KAAK,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1D,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGzD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,aAAa,CAAC,WAAW,CAAC,IACrE,OAAO,CAAC,aAAa,EAAE;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAE3C,qBAAa,aAAa,CACxB,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,aAAa,CACrB,CAAC,EACD,OAAO,CAAC,aAAa,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CACtD;IACC,MAAM,CAAC,QAAQ,CAAC,OAAO,mBAAmB;IAC1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,aAAa;IACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAuB;IAC7C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAuB;IACnD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,0DACyB;IACzD,MAAM,CAAC,QAAQ,CAAC,eAAe,saAQ7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;IAE7B,OAAO,CAAC,QAAQ,CAAyB;gBAGvC,MAAM,GAAE,CAIF,EACN,OAAO,CAAC,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,MAAM;IAKrB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAShD,OAAO,CAAC,kBAAkB;IAkCb,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;cAK/B,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YAuCnD,YAAY;YAuDZ,OAAO;YA+CP,UAAU;YAqBV,UAAU;IAiExB;;OAEG;IACH,OAAO,CAAC,QAAQ;YAyBF,qBAAqB;CA6DpC"}
@@ -93,7 +93,7 @@ const StorageParamsSchema = z.discriminatedUnion('operation', [
93
93
  }),
94
94
  // Update file operation
95
95
  z.object({
96
- operation: z.literal('updateFile').describe('Update/replace file content'),
96
+ operation: z.literal('updateFile').describe('Upload or replace file content. Returns a presigned fileUrl for the uploaded file (default 7-day expiry).'),
97
97
  bucketName: z
98
98
  .string()
99
99
  .min(1, 'Bucket name is required')
@@ -111,6 +111,11 @@ const StorageParamsSchema = z.discriminatedUnion('operation', [
111
111
  .optional()
112
112
  .default('auto')
113
113
  .describe('AWS region for R2 storage (defaults to auto)'),
114
+ expirationMinutes: z
115
+ .number()
116
+ .optional()
117
+ .default(10080)
118
+ .describe('Presigned fileUrl expiration in minutes (default 10080 = 7 days, max 7 days for R2)'),
114
119
  contentType: z.string().optional().describe('Content type for uploads'),
115
120
  fileContent: z
116
121
  .string()
@@ -204,7 +209,11 @@ const StorageResultSchema = z.discriminatedUnion('operation', [
204
209
  fileName: z
205
210
  .string()
206
211
  .optional()
207
- .describe('Secure filename for the updated file (different from the original filename)'),
212
+ .describe('Secure filename for the updated file (different from the original filename). Use this key with getFile to generate new download URLs.'),
213
+ fileUrl: z
214
+ .string()
215
+ .optional()
216
+ .describe('Presigned download URL for the uploaded file. Expires after expirationMinutes (default 7 days). Do NOT construct URLs manually — always use this field.'),
208
217
  updated: z
209
218
  .boolean()
210
219
  .optional()
@@ -471,10 +480,20 @@ export class StorageBubble extends ServiceBubble {
471
480
  Body: bodyContent,
472
481
  });
473
482
  await this.s3Client.send(command);
483
+ // Generate a presigned download URL for the uploaded file
484
+ const getCommand = new GetObjectCommand({
485
+ Bucket: params.bucketName,
486
+ Key: secureFileName,
487
+ });
488
+ const expirationSeconds = (params.expirationMinutes ?? 10080) * 60; // default 7 days
489
+ const fileUrl = await getSignedUrl(this.s3Client, getCommand, {
490
+ expiresIn: expirationSeconds,
491
+ });
474
492
  return {
475
493
  operation: 'updateFile',
476
494
  success: true,
477
495
  fileName: secureFileName,
496
+ fileUrl,
478
497
  updated: true,
479
498
  contentType: params.contentType,
480
499
  error: '',
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/storage.ts"],"names":[],"mappings":"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"}
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-04-04T10:07:25.104Z",
3
+ "generatedAt": "2026-04-04T10:39:53.012Z",
4
4
  "totalCount": 82,
5
5
  "bubbles": [
6
6
  {
@@ -8566,7 +8566,7 @@
8566
8566
  "enum": [
8567
8567
  "updateFile"
8568
8568
  ],
8569
- "description": "Update/replace file content"
8569
+ "description": "Upload or replace file content. Returns a presigned fileUrl for the uploaded file (default 7-day expiry)."
8570
8570
  },
8571
8571
  "bucketName": {
8572
8572
  "type": "string",
@@ -8587,6 +8587,11 @@
8587
8587
  "default": "auto",
8588
8588
  "description": "AWS region for R2 storage (defaults to auto)"
8589
8589
  },
8590
+ "expirationMinutes": {
8591
+ "type": "number",
8592
+ "default": 10080,
8593
+ "description": "Presigned fileUrl expiration in minutes (default 10080 = 7 days, max 7 days for R2)"
8594
+ },
8590
8595
  "contentType": {
8591
8596
  "type": "string",
8592
8597
  "description": "Content type for uploads"
@@ -8812,7 +8817,11 @@
8812
8817
  },
8813
8818
  "fileName": {
8814
8819
  "type": "string",
8815
- "description": "Secure filename for the updated file (different from the original filename)"
8820
+ "description": "Secure filename for the updated file (different from the original filename). Use this key with getFile to generate new download URLs."
8821
+ },
8822
+ "fileUrl": {
8823
+ "type": "string",
8824
+ "description": "Presigned download URL for the uploaded file. Expires after expirationMinutes (default 7 days). Do NOT construct URLs manually — always use this field."
8816
8825
  },
8817
8826
  "updated": {
8818
8827
  "type": "boolean",
@@ -8897,7 +8906,7 @@
8897
8906
  }
8898
8907
  ]
8899
8908
  },
8900
- "usageExample": "// GetUploadUrl example\nconst storage_getUploadUrl = new StorageBubble({\n operation: \"getUploadUrl\", // Generate presigned upload URL\n bucketName: \"example string\", // Name of the R2 bucket\n fileName: \"example string\", // Original filename for the upload\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n contentType: \"example string\", // Content type for uploads\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await storage_getUploadUrl.action();\n// outputSchema for result.data when operation === 'getUploadUrl':\n// {\n// operation: \"getUploadUrl\" // Generate presigned upload URL,\n// success: boolean // Whether the operation was successful,\n// uploadUrl: string | undefined // Presigned upload URL,\n// fileName: string | undefined // Secure filename generated for the upload,\n// contentType: string | undefined // Content type of the file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetFile example\nconst storage_getFile = new StorageBubble({\n operation: \"getFile\", // Generate presigned download URL\n bucketName: \"example string\", // Name of the R2 bucket\n fileName: \"example string\", // Name of the file to retrieve\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await storage_getFile.action();\n// outputSchema for result.data when operation === 'getFile':\n// {\n// operation: \"getFile\" // Generate presigned download URL,\n// success: boolean // Whether the operation was successful,\n// downloadUrl: string | undefined // Presigned download URL,\n// fileUrl: string | undefined // Direct file access URL,\n// fileName: string | undefined // Name of the file,\n// fileSize: number | undefined // File size in bytes,\n// contentType: string | undefined // Content type of the file,\n// lastModified: string | undefined // Last modified timestamp in ISO format,\n// error: string // Error message if operation failed\n// }\n\n\n// DeleteFile example\nconst storage_deleteFile = new StorageBubble({\n operation: \"deleteFile\", // Delete file from bucket\n bucketName: \"example string\", // Name of the R2 bucket\n fileName: \"example string\", // Name of the file to delete\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n});\n\nconst result = await storage_deleteFile.action();\n// outputSchema for result.data when operation === 'deleteFile':\n// {\n// operation: \"deleteFile\" // Delete file from bucket,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Name of the deleted file,\n// deleted: boolean | undefined // Whether the file was successfully deleted,\n// error: string // Error message if operation failed\n// }\n\n\n// UpdateFile example\nconst storage_updateFile = new StorageBubble({\n operation: \"updateFile\", // Update/replace file content\n bucketName: \"bubble-lab-bucket\" // default,\n fileName: \"example string\", // Name of the file to update\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n contentType: \"example string\", // Content type for uploads\n fileContent: \"example string\", // Base64 encoded file content or raw text content\n});\n\nconst result = await storage_updateFile.action();\n// outputSchema for result.data when operation === 'updateFile':\n// {\n// operation: \"updateFile\" // Update/replace file content and generate a new secure filename for the file,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Secure filename for the updated file (different from the original filename),\n// updated: boolean | undefined // Whether the file was successfully updated,\n// contentType: string | undefined // Content type of the updated file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetMultipleUploadUrls example\nconst storage_getMultipleUploadUrls = new StorageBubble({\n operation: \"getMultipleUploadUrls\", // Generate multiple presigned upload URLs for PDF + page images\n bucketName: \"example string\", // Name of the R2 bucket\n pdfFileName: \"example string\", // Original filename for the PDF\n pageCount: 42, // Number of pages to generate upload URLs for\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await storage_getMultipleUploadUrls.action();\n// outputSchema for result.data when operation === 'getMultipleUploadUrls':\n// {\n// operation: \"getMultipleUploadUrls\" // Generate multiple presigned upload URLs for PDF + page images,\n// success: boolean // Whether the operation was successful,\n// pdfUploadUrl: string | undefined // Presigned upload URL for PDF,\n// pdfFileName: string | undefined // Secure filename for PDF,\n// pageUploadUrls: { pageNumber: number // Page number (1-indexed), uploadUrl: string // Presigned upload URL for this page, fileName: string // Secure filename for this page image }[] | undefined // Array of upload URLs for page images,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`storage failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
8909
+ "usageExample": "// GetUploadUrl example\nconst storage_getUploadUrl = new StorageBubble({\n operation: \"getUploadUrl\", // Generate presigned upload URL\n bucketName: \"example string\", // Name of the R2 bucket\n fileName: \"example string\", // Original filename for the upload\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n contentType: \"example string\", // Content type for uploads\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await storage_getUploadUrl.action();\n// outputSchema for result.data when operation === 'getUploadUrl':\n// {\n// operation: \"getUploadUrl\" // Generate presigned upload URL,\n// success: boolean // Whether the operation was successful,\n// uploadUrl: string | undefined // Presigned upload URL,\n// fileName: string | undefined // Secure filename generated for the upload,\n// contentType: string | undefined // Content type of the file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetFile example\nconst storage_getFile = new StorageBubble({\n operation: \"getFile\", // Generate presigned download URL\n bucketName: \"example string\", // Name of the R2 bucket\n fileName: \"example string\", // Name of the file to retrieve\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await storage_getFile.action();\n// outputSchema for result.data when operation === 'getFile':\n// {\n// operation: \"getFile\" // Generate presigned download URL,\n// success: boolean // Whether the operation was successful,\n// downloadUrl: string | undefined // Presigned download URL,\n// fileUrl: string | undefined // Direct file access URL,\n// fileName: string | undefined // Name of the file,\n// fileSize: number | undefined // File size in bytes,\n// contentType: string | undefined // Content type of the file,\n// lastModified: string | undefined // Last modified timestamp in ISO format,\n// error: string // Error message if operation failed\n// }\n\n\n// DeleteFile example\nconst storage_deleteFile = new StorageBubble({\n operation: \"deleteFile\", // Delete file from bucket\n bucketName: \"example string\", // Name of the R2 bucket\n fileName: \"example string\", // Name of the file to delete\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n});\n\nconst result = await storage_deleteFile.action();\n// outputSchema for result.data when operation === 'deleteFile':\n// {\n// operation: \"deleteFile\" // Delete file from bucket,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Name of the deleted file,\n// deleted: boolean | undefined // Whether the file was successfully deleted,\n// error: string // Error message if operation failed\n// }\n\n\n// UpdateFile example\nconst storage_updateFile = new StorageBubble({\n operation: \"updateFile\", // Upload or replace file content. Returns a presigned fileUrl for the uploaded file (default 7-day expiry).\n bucketName: \"bubble-lab-bucket\" // default,\n fileName: \"example string\", // Name of the file to update\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n expirationMinutes: 10080 // default, // Presigned fileUrl expiration in minutes (default 10080 = 7 days, max 7 days for R2)\n contentType: \"example string\", // Content type for uploads\n fileContent: \"example string\", // Base64 encoded file content or raw text content\n});\n\nconst result = await storage_updateFile.action();\n// outputSchema for result.data when operation === 'updateFile':\n// {\n// operation: \"updateFile\" // Update/replace file content and generate a new secure filename for the file,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Secure filename for the updated file (different from the original filename). Use this key with getFile to generate new download URLs.,\n// fileUrl: string | undefined // Presigned download URL for the uploaded file. Expires after expirationMinutes (default 7 days). Do NOT construct URLs manually — always use this field.,\n// updated: boolean | undefined // Whether the file was successfully updated,\n// contentType: string | undefined // Content type of the updated file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetMultipleUploadUrls example\nconst storage_getMultipleUploadUrls = new StorageBubble({\n operation: \"getMultipleUploadUrls\", // Generate multiple presigned upload URLs for PDF + page images\n bucketName: \"example string\", // Name of the R2 bucket\n pdfFileName: \"example string\", // Original filename for the PDF\n pageCount: 42, // Number of pages to generate upload URLs for\n accountId: \"example string\", // Cloudflare Account ID - can be provided via credentials\n region: \"auto\" // default, // AWS region for R2 storage (defaults to auto)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await storage_getMultipleUploadUrls.action();\n// outputSchema for result.data when operation === 'getMultipleUploadUrls':\n// {\n// operation: \"getMultipleUploadUrls\" // Generate multiple presigned upload URLs for PDF + page images,\n// success: boolean // Whether the operation was successful,\n// pdfUploadUrl: string | undefined // Presigned upload URL for PDF,\n// pdfFileName: string | undefined // Secure filename for PDF,\n// pageUploadUrls: { pageNumber: number // Page number (1-indexed), uploadUrl: string // Presigned upload URL for this page, fileName: string // Secure filename for this page image }[] | undefined // Array of upload URLs for page images,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`storage failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
8901
8910
  "requiredCredentials": [
8902
8911
  "CLOUDFLARE_R2_ACCESS_KEY",
8903
8912
  "CLOUDFLARE_R2_SECRET_KEY",
@@ -73533,7 +73542,7 @@
73533
73542
  "enum": [
73534
73543
  "updateFile"
73535
73544
  ],
73536
- "description": "Upload or replace file content"
73545
+ "description": "Upload or replace file content. Returns a presigned fileUrl for the uploaded file (default 7-day expiry)."
73537
73546
  },
73538
73547
  "bucketName": {
73539
73548
  "type": "string",
@@ -73549,6 +73558,11 @@
73549
73558
  "type": "string",
73550
73559
  "description": "AWS region override (defaults from credential or us-east-1)"
73551
73560
  },
73561
+ "expirationMinutes": {
73562
+ "type": "number",
73563
+ "default": 10080,
73564
+ "description": "Presigned fileUrl expiration in minutes (default 10080 = 7 days, max 7 days for R2/S3)"
73565
+ },
73552
73566
  "contentType": {
73553
73567
  "type": "string",
73554
73568
  "description": "Content type for uploads"
@@ -73773,7 +73787,11 @@
73773
73787
  },
73774
73788
  "fileName": {
73775
73789
  "type": "string",
73776
- "description": "Secure filename for the updated file (different from the original filename)"
73790
+ "description": "Secure filename for the updated file (different from the original filename). Use this key with getFile to generate new download URLs."
73791
+ },
73792
+ "fileUrl": {
73793
+ "type": "string",
73794
+ "description": "Presigned download URL for the uploaded file. Expires after expirationMinutes (default 7 days). Do NOT construct URLs manually — always use this field."
73777
73795
  },
73778
73796
  "updated": {
73779
73797
  "type": "boolean",
@@ -73858,7 +73876,7 @@
73858
73876
  }
73859
73877
  ]
73860
73878
  },
73861
- "usageExample": "// GetUploadUrl example\nconst s3Storage_getUploadUrl = new S3Bubble({\n operation: \"getUploadUrl\", // Generate presigned upload URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Original filename for the upload\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n contentType: \"example string\", // Content type for uploads\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getUploadUrl.action();\n// outputSchema for result.data when operation === 'getUploadUrl':\n// {\n// operation: \"getUploadUrl\" // Generate presigned upload URL,\n// success: boolean // Whether the operation was successful,\n// uploadUrl: string | undefined // Presigned upload URL,\n// fileName: string | undefined // Secure filename generated for the upload,\n// contentType: string | undefined // Content type of the file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetFile example\nconst s3Storage_getFile = new S3Bubble({\n operation: \"getFile\", // Generate presigned download URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to retrieve\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getFile.action();\n// outputSchema for result.data when operation === 'getFile':\n// {\n// operation: \"getFile\" // Generate presigned download URL,\n// success: boolean // Whether the operation was successful,\n// downloadUrl: string | undefined // Presigned download URL,\n// fileUrl: string | undefined // Direct file access URL,\n// fileName: string | undefined // Name of the file,\n// fileSize: number | undefined // File size in bytes,\n// contentType: string | undefined // Content type of the file,\n// lastModified: string | undefined // Last modified timestamp in ISO format,\n// error: string // Error message if operation failed\n// }\n\n\n// DeleteFile example\nconst s3Storage_deleteFile = new S3Bubble({\n operation: \"deleteFile\", // Delete file from bucket\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to delete\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n});\n\nconst result = await s3Storage_deleteFile.action();\n// outputSchema for result.data when operation === 'deleteFile':\n// {\n// operation: \"deleteFile\" // Delete file from bucket,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Name of the deleted file,\n// deleted: boolean | undefined // Whether the file was successfully deleted,\n// error: string // Error message if operation failed\n// }\n\n\n// UpdateFile example\nconst s3Storage_updateFile = new S3Bubble({\n operation: \"updateFile\", // Upload or replace file content\n bucketName: \"bubble-lab-bucket\" // default,\n fileName: \"example string\", // Name of the file. Pass a secure fileName from a previous operation to overwrite it, or a new name to create a new file\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n contentType: \"example string\", // Content type for uploads\n fileContent: \"example string\", // Base64 encoded file content or raw text content\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_updateFile.action();\n// outputSchema for result.data when operation === 'updateFile':\n// {\n// operation: \"updateFile\" // Update/replace file content and generate a new secure filename for the file,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Secure filename for the updated file (different from the original filename),\n// updated: boolean | undefined // Whether the file was successfully updated,\n// contentType: string | undefined // Content type of the updated file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetMultipleUploadUrls example\nconst s3Storage_getMultipleUploadUrls = new S3Bubble({\n operation: \"getMultipleUploadUrls\", // Generate multiple presigned upload URLs for PDF + page images\n bucketName: \"example string\", // Name of the S3 bucket\n pdfFileName: \"example string\", // Original filename for the PDF\n pageCount: 42, // Number of pages to generate upload URLs for\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getMultipleUploadUrls.action();\n// outputSchema for result.data when operation === 'getMultipleUploadUrls':\n// {\n// operation: \"getMultipleUploadUrls\" // Generate multiple presigned upload URLs for PDF + page images,\n// success: boolean // Whether the operation was successful,\n// pdfUploadUrl: string | undefined // Presigned upload URL for PDF,\n// pdfFileName: string | undefined // Secure filename for PDF,\n// pageUploadUrls: { pageNumber: number // Page number (1-indexed), uploadUrl: string // Presigned upload URL for this page, fileName: string // Secure filename for this page image }[] | undefined // Array of upload URLs for page images,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`s3-storage failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
73879
+ "usageExample": "// GetUploadUrl example\nconst s3Storage_getUploadUrl = new S3Bubble({\n operation: \"getUploadUrl\", // Generate presigned upload URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Original filename for the upload\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n contentType: \"example string\", // Content type for uploads\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getUploadUrl.action();\n// outputSchema for result.data when operation === 'getUploadUrl':\n// {\n// operation: \"getUploadUrl\" // Generate presigned upload URL,\n// success: boolean // Whether the operation was successful,\n// uploadUrl: string | undefined // Presigned upload URL,\n// fileName: string | undefined // Secure filename generated for the upload,\n// contentType: string | undefined // Content type of the file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetFile example\nconst s3Storage_getFile = new S3Bubble({\n operation: \"getFile\", // Generate presigned download URL\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to retrieve\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getFile.action();\n// outputSchema for result.data when operation === 'getFile':\n// {\n// operation: \"getFile\" // Generate presigned download URL,\n// success: boolean // Whether the operation was successful,\n// downloadUrl: string | undefined // Presigned download URL,\n// fileUrl: string | undefined // Direct file access URL,\n// fileName: string | undefined // Name of the file,\n// fileSize: number | undefined // File size in bytes,\n// contentType: string | undefined // Content type of the file,\n// lastModified: string | undefined // Last modified timestamp in ISO format,\n// error: string // Error message if operation failed\n// }\n\n\n// DeleteFile example\nconst s3Storage_deleteFile = new S3Bubble({\n operation: \"deleteFile\", // Delete file from bucket\n bucketName: \"example string\", // Name of the S3 bucket\n fileName: \"example string\", // Name of the file to delete\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n});\n\nconst result = await s3Storage_deleteFile.action();\n// outputSchema for result.data when operation === 'deleteFile':\n// {\n// operation: \"deleteFile\" // Delete file from bucket,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Name of the deleted file,\n// deleted: boolean | undefined // Whether the file was successfully deleted,\n// error: string // Error message if operation failed\n// }\n\n\n// UpdateFile example\nconst s3Storage_updateFile = new S3Bubble({\n operation: \"updateFile\", // Upload or replace file content. Returns a presigned fileUrl for the uploaded file (default 7-day expiry).\n bucketName: \"bubble-lab-bucket\" // default,\n fileName: \"example string\", // Name of the file. Pass a secure fileName from a previous operation to overwrite it, or a new name to create a new file\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 10080 // default, // Presigned fileUrl expiration in minutes (default 10080 = 7 days, max 7 days for R2/S3)\n contentType: \"example string\", // Content type for uploads\n fileContent: \"example string\", // Base64 encoded file content or raw text content\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_updateFile.action();\n// outputSchema for result.data when operation === 'updateFile':\n// {\n// operation: \"updateFile\" // Update/replace file content and generate a new secure filename for the file,\n// success: boolean // Whether the operation was successful,\n// fileName: string | undefined // Secure filename for the updated file (different from the original filename). Use this key with getFile to generate new download URLs.,\n// fileUrl: string | undefined // Presigned download URL for the uploaded file. Expires after expirationMinutes (default 7 days). Do NOT construct URLs manually — always use this field.,\n// updated: boolean | undefined // Whether the file was successfully updated,\n// contentType: string | undefined // Content type of the updated file,\n// error: string // Error message if operation failed\n// }\n\n\n// GetMultipleUploadUrls example\nconst s3Storage_getMultipleUploadUrls = new S3Bubble({\n operation: \"getMultipleUploadUrls\", // Generate multiple presigned upload URLs for PDF + page images\n bucketName: \"example string\", // Name of the S3 bucket\n pdfFileName: \"example string\", // Original filename for the PDF\n pageCount: 42, // Number of pages to generate upload URLs for\n region: \"example string\", // AWS region override (defaults from credential or us-east-1)\n expirationMinutes: 60 // default, // URL expiration time in minutes\n userId: \"example string\", // User ID for secure file isolation\n});\n\nconst result = await s3Storage_getMultipleUploadUrls.action();\n// outputSchema for result.data when operation === 'getMultipleUploadUrls':\n// {\n// operation: \"getMultipleUploadUrls\" // Generate multiple presigned upload URLs for PDF + page images,\n// success: boolean // Whether the operation was successful,\n// pdfUploadUrl: string | undefined // Presigned upload URL for PDF,\n// pdfFileName: string | undefined // Secure filename for PDF,\n// pageUploadUrls: { pageNumber: number // Page number (1-indexed), uploadUrl: string // Presigned upload URL for this page, fileName: string // Secure filename for this page image }[] | undefined // Array of upload URLs for page images,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`s3-storage failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
73862
73880
  "requiredCredentials": [
73863
73881
  "S3_CRED"
73864
73882
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.275",
3
+ "version": "0.1.276",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "puppeteer-core": "^24.10.0",
42
42
  "resend": "^4.8.0",
43
43
  "zod": "^3.24.1",
44
- "@bubblelab/shared-schemas": "0.1.275"
44
+ "@bubblelab/shared-schemas": "0.1.276"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/node": "^20.12.12",