@plyaz/types 1.25.2 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/enums.d.ts +86 -0
- package/dist/auth/index.cjs +122 -0
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.js +122 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/types.d.ts +59 -1
- package/dist/examples/schemas.d.ts +3 -3
- package/dist/index.cjs +914 -678
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +903 -679
- package/dist/index.js.map +1 -1
- package/dist/storage/enums.d.ts +55 -0
- package/dist/storage/index.cjs +129 -0
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.ts +4 -4
- package/dist/storage/index.js +119 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/interfaces.d.ts +300 -2
- package/dist/storage/schemas.d.ts +170 -0
- package/package.json +1 -1
package/dist/storage/enums.d.ts
CHANGED
|
@@ -525,3 +525,58 @@ export declare enum STORAGE_SIGNATURE_METHOD {
|
|
|
525
525
|
JWT = "jwt",
|
|
526
526
|
Custom = "custom"
|
|
527
527
|
}
|
|
528
|
+
/**
|
|
529
|
+
* Template variable types for template engine
|
|
530
|
+
* Defines the data type of template variables for validation
|
|
531
|
+
*/
|
|
532
|
+
export declare enum TEMPLATE_VARIABLE_TYPE {
|
|
533
|
+
/** Plain text string */
|
|
534
|
+
STRING = "string",
|
|
535
|
+
/** Numeric value (integer or decimal) */
|
|
536
|
+
NUMBER = "number",
|
|
537
|
+
/** Boolean true/false */
|
|
538
|
+
BOOLEAN = "boolean",
|
|
539
|
+
/** Date value */
|
|
540
|
+
DATE = "date",
|
|
541
|
+
/** Email address */
|
|
542
|
+
EMAIL = "email",
|
|
543
|
+
/** Phone number */
|
|
544
|
+
PHONE = "phone",
|
|
545
|
+
/** URL/web address */
|
|
546
|
+
URL = "url",
|
|
547
|
+
/** Currency amount (decimal with 2 places) */
|
|
548
|
+
CURRENCY = "currency",
|
|
549
|
+
/** Percentage value (0-100 or decimal) */
|
|
550
|
+
PERCENTAGE = "percentage",
|
|
551
|
+
/** Array of items (for {{#each}} loops) */
|
|
552
|
+
ARRAY = "array",
|
|
553
|
+
/** Nested object */
|
|
554
|
+
OBJECT = "object",
|
|
555
|
+
/** Rich text / HTML content */
|
|
556
|
+
RICHTEXT = "richtext",
|
|
557
|
+
/** Image URL or base64 */
|
|
558
|
+
IMAGE = "image",
|
|
559
|
+
/** Select from predefined options */
|
|
560
|
+
SELECT = "select",
|
|
561
|
+
/** Multi-select from predefined options */
|
|
562
|
+
MULTISELECT = "multiselect"
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* Template document type for categorization
|
|
566
|
+
*/
|
|
567
|
+
export declare enum TEMPLATE_DOCUMENT_TYPE {
|
|
568
|
+
/** Simple document without calculations */
|
|
569
|
+
SIMPLE = "simple",
|
|
570
|
+
/** Financial document with calculations (invoices, receipts, quotes) */
|
|
571
|
+
FINANCIAL = "financial",
|
|
572
|
+
/** Legal/contract document */
|
|
573
|
+
LEGAL = "legal",
|
|
574
|
+
/** Report document */
|
|
575
|
+
REPORT = "report",
|
|
576
|
+
/** Form/questionnaire */
|
|
577
|
+
FORM = "form",
|
|
578
|
+
/** Letter/correspondence */
|
|
579
|
+
LETTER = "letter",
|
|
580
|
+
/** Certificate */
|
|
581
|
+
CERTIFICATE = "certificate"
|
|
582
|
+
}
|
package/dist/storage/index.cjs
CHANGED
|
@@ -427,6 +427,34 @@ var STORAGE_SIGNATURE_METHOD = /* @__PURE__ */ ((STORAGE_SIGNATURE_METHOD2) => {
|
|
|
427
427
|
STORAGE_SIGNATURE_METHOD2["Custom"] = "custom";
|
|
428
428
|
return STORAGE_SIGNATURE_METHOD2;
|
|
429
429
|
})(STORAGE_SIGNATURE_METHOD || {});
|
|
430
|
+
var TEMPLATE_VARIABLE_TYPE = /* @__PURE__ */ ((TEMPLATE_VARIABLE_TYPE2) => {
|
|
431
|
+
TEMPLATE_VARIABLE_TYPE2["STRING"] = "string";
|
|
432
|
+
TEMPLATE_VARIABLE_TYPE2["NUMBER"] = "number";
|
|
433
|
+
TEMPLATE_VARIABLE_TYPE2["BOOLEAN"] = "boolean";
|
|
434
|
+
TEMPLATE_VARIABLE_TYPE2["DATE"] = "date";
|
|
435
|
+
TEMPLATE_VARIABLE_TYPE2["EMAIL"] = "email";
|
|
436
|
+
TEMPLATE_VARIABLE_TYPE2["PHONE"] = "phone";
|
|
437
|
+
TEMPLATE_VARIABLE_TYPE2["URL"] = "url";
|
|
438
|
+
TEMPLATE_VARIABLE_TYPE2["CURRENCY"] = "currency";
|
|
439
|
+
TEMPLATE_VARIABLE_TYPE2["PERCENTAGE"] = "percentage";
|
|
440
|
+
TEMPLATE_VARIABLE_TYPE2["ARRAY"] = "array";
|
|
441
|
+
TEMPLATE_VARIABLE_TYPE2["OBJECT"] = "object";
|
|
442
|
+
TEMPLATE_VARIABLE_TYPE2["RICHTEXT"] = "richtext";
|
|
443
|
+
TEMPLATE_VARIABLE_TYPE2["IMAGE"] = "image";
|
|
444
|
+
TEMPLATE_VARIABLE_TYPE2["SELECT"] = "select";
|
|
445
|
+
TEMPLATE_VARIABLE_TYPE2["MULTISELECT"] = "multiselect";
|
|
446
|
+
return TEMPLATE_VARIABLE_TYPE2;
|
|
447
|
+
})(TEMPLATE_VARIABLE_TYPE || {});
|
|
448
|
+
var TEMPLATE_DOCUMENT_TYPE = /* @__PURE__ */ ((TEMPLATE_DOCUMENT_TYPE2) => {
|
|
449
|
+
TEMPLATE_DOCUMENT_TYPE2["SIMPLE"] = "simple";
|
|
450
|
+
TEMPLATE_DOCUMENT_TYPE2["FINANCIAL"] = "financial";
|
|
451
|
+
TEMPLATE_DOCUMENT_TYPE2["LEGAL"] = "legal";
|
|
452
|
+
TEMPLATE_DOCUMENT_TYPE2["REPORT"] = "report";
|
|
453
|
+
TEMPLATE_DOCUMENT_TYPE2["FORM"] = "form";
|
|
454
|
+
TEMPLATE_DOCUMENT_TYPE2["LETTER"] = "letter";
|
|
455
|
+
TEMPLATE_DOCUMENT_TYPE2["CERTIFICATE"] = "certificate";
|
|
456
|
+
return TEMPLATE_DOCUMENT_TYPE2;
|
|
457
|
+
})(TEMPLATE_DOCUMENT_TYPE || {});
|
|
430
458
|
|
|
431
459
|
// src/storage/event-handler-mapping.ts
|
|
432
460
|
var STORAGE_EVENT_HANDLER_MAPPING = {
|
|
@@ -626,6 +654,96 @@ var SupabaseWebhookPayloadSchema = zod.z.object({
|
|
|
626
654
|
old_record: SupabaseStorageObjectSchema.optional().nullable()
|
|
627
655
|
// Old record (for UPDATE/DELETE)
|
|
628
656
|
});
|
|
657
|
+
var TEMPLATE_VARIABLE_TYPE_SCHEMA = /* @__PURE__ */ ((TEMPLATE_VARIABLE_TYPE_SCHEMA2) => {
|
|
658
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["STRING"] = "string";
|
|
659
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["NUMBER"] = "number";
|
|
660
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["BOOLEAN"] = "boolean";
|
|
661
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["DATE"] = "date";
|
|
662
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["EMAIL"] = "email";
|
|
663
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["PHONE"] = "phone";
|
|
664
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["URL"] = "url";
|
|
665
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["CURRENCY"] = "currency";
|
|
666
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["PERCENTAGE"] = "percentage";
|
|
667
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["ARRAY"] = "array";
|
|
668
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["OBJECT"] = "object";
|
|
669
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["RICHTEXT"] = "richtext";
|
|
670
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["IMAGE"] = "image";
|
|
671
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["SELECT"] = "select";
|
|
672
|
+
TEMPLATE_VARIABLE_TYPE_SCHEMA2["MULTISELECT"] = "multiselect";
|
|
673
|
+
return TEMPLATE_VARIABLE_TYPE_SCHEMA2;
|
|
674
|
+
})(TEMPLATE_VARIABLE_TYPE_SCHEMA || {});
|
|
675
|
+
var TEMPLATE_DOCUMENT_TYPE_SCHEMA = /* @__PURE__ */ ((TEMPLATE_DOCUMENT_TYPE_SCHEMA2) => {
|
|
676
|
+
TEMPLATE_DOCUMENT_TYPE_SCHEMA2["SIMPLE"] = "simple";
|
|
677
|
+
TEMPLATE_DOCUMENT_TYPE_SCHEMA2["FINANCIAL"] = "financial";
|
|
678
|
+
TEMPLATE_DOCUMENT_TYPE_SCHEMA2["LEGAL"] = "legal";
|
|
679
|
+
TEMPLATE_DOCUMENT_TYPE_SCHEMA2["REPORT"] = "report";
|
|
680
|
+
TEMPLATE_DOCUMENT_TYPE_SCHEMA2["FORM"] = "form";
|
|
681
|
+
TEMPLATE_DOCUMENT_TYPE_SCHEMA2["LETTER"] = "letter";
|
|
682
|
+
TEMPLATE_DOCUMENT_TYPE_SCHEMA2["CERTIFICATE"] = "certificate";
|
|
683
|
+
return TEMPLATE_DOCUMENT_TYPE_SCHEMA2;
|
|
684
|
+
})(TEMPLATE_DOCUMENT_TYPE_SCHEMA || {});
|
|
685
|
+
var TemplateVariableValidationSchema = zod.z.object({
|
|
686
|
+
required: zod.z.boolean().optional(),
|
|
687
|
+
pattern: zod.z.string().optional(),
|
|
688
|
+
patternMessage: zod.z.string().optional(),
|
|
689
|
+
min: zod.z.number().optional(),
|
|
690
|
+
max: zod.z.number().optional(),
|
|
691
|
+
minLength: zod.z.number().min(0).optional(),
|
|
692
|
+
maxLength: zod.z.number().min(0).optional(),
|
|
693
|
+
enum: zod.z.array(zod.z.string()).optional(),
|
|
694
|
+
dateFormat: zod.z.string().optional(),
|
|
695
|
+
minDate: zod.z.string().optional(),
|
|
696
|
+
maxDate: zod.z.string().optional(),
|
|
697
|
+
errorMessage: zod.z.string().optional()
|
|
698
|
+
});
|
|
699
|
+
var TemplateVariableOptionSchema = zod.z.object({
|
|
700
|
+
label: zod.z.string().min(1),
|
|
701
|
+
value: zod.z.string()
|
|
702
|
+
});
|
|
703
|
+
var BaseTemplateVariableDefinitionSchema = zod.z.object({
|
|
704
|
+
name: zod.z.string().min(1).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/, "Variable name must be alphanumeric with underscores"),
|
|
705
|
+
type: zod.z.nativeEnum(TEMPLATE_VARIABLE_TYPE_SCHEMA),
|
|
706
|
+
label: zod.z.string().optional(),
|
|
707
|
+
description: zod.z.string().optional(),
|
|
708
|
+
defaultValue: zod.z.unknown().optional(),
|
|
709
|
+
placeholder: zod.z.string().optional(),
|
|
710
|
+
validation: TemplateVariableValidationSchema.optional(),
|
|
711
|
+
options: zod.z.array(TemplateVariableOptionSchema).optional(),
|
|
712
|
+
group: zod.z.string().optional(),
|
|
713
|
+
order: zod.z.number().int().min(0).optional(),
|
|
714
|
+
hidden: zod.z.boolean().optional(),
|
|
715
|
+
readOnly: zod.z.boolean().optional(),
|
|
716
|
+
showIf: zod.z.string().optional()
|
|
717
|
+
});
|
|
718
|
+
var TemplateVariableDefinitionSchema = BaseTemplateVariableDefinitionSchema.extend({
|
|
719
|
+
items: zod.z.lazy(() => TemplateVariableDefinitionSchema).optional(),
|
|
720
|
+
properties: zod.z.lazy(() => zod.z.array(TemplateVariableDefinitionSchema)).optional()
|
|
721
|
+
});
|
|
722
|
+
var TemplateVariableGroupSchema = zod.z.object({
|
|
723
|
+
name: zod.z.string().min(1),
|
|
724
|
+
label: zod.z.string().min(1),
|
|
725
|
+
description: zod.z.string().optional(),
|
|
726
|
+
collapsed: zod.z.boolean().optional()
|
|
727
|
+
});
|
|
728
|
+
var TemplateCalculationsConfigSchema = zod.z.object({
|
|
729
|
+
enabled: zod.z.boolean(),
|
|
730
|
+
taxField: zod.z.string().optional(),
|
|
731
|
+
discountField: zod.z.string().optional(),
|
|
732
|
+
shippingField: zod.z.string().optional(),
|
|
733
|
+
itemsField: zod.z.string().optional()
|
|
734
|
+
});
|
|
735
|
+
var TemplateVariablesFrontmatterSchema = zod.z.object({
|
|
736
|
+
documentType: zod.z.nativeEnum(TEMPLATE_DOCUMENT_TYPE_SCHEMA).optional(),
|
|
737
|
+
calculations: TemplateCalculationsConfigSchema.optional(),
|
|
738
|
+
variables: zod.z.array(TemplateVariableDefinitionSchema).optional(),
|
|
739
|
+
variableGroups: zod.z.array(TemplateVariableGroupSchema).optional()
|
|
740
|
+
});
|
|
741
|
+
var TemplateVariableValidationResultSchema = zod.z.object({
|
|
742
|
+
valid: zod.z.boolean(),
|
|
743
|
+
errors: zod.z.record(zod.z.string(), zod.z.array(zod.z.string())),
|
|
744
|
+
warnings: zod.z.record(zod.z.string(), zod.z.array(zod.z.string())).optional(),
|
|
745
|
+
coercedValues: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
746
|
+
});
|
|
629
747
|
|
|
630
748
|
exports.ADAPTER_HEALTH_STATUS = ADAPTER_HEALTH_STATUS;
|
|
631
749
|
exports.BUCKET_PURPOSE = BUCKET_PURPOSE;
|
|
@@ -665,7 +783,18 @@ exports.StorageMediaProcessingPayloadSchema = StorageMediaProcessingPayloadSchem
|
|
|
665
783
|
exports.StorageProcessingOutputSchema = StorageProcessingOutputSchema;
|
|
666
784
|
exports.SupabaseStorageObjectSchema = SupabaseStorageObjectSchema;
|
|
667
785
|
exports.SupabaseWebhookPayloadSchema = SupabaseWebhookPayloadSchema;
|
|
786
|
+
exports.TEMPLATE_DOCUMENT_TYPE = TEMPLATE_DOCUMENT_TYPE;
|
|
787
|
+
exports.TEMPLATE_DOCUMENT_TYPE_SCHEMA = TEMPLATE_DOCUMENT_TYPE_SCHEMA;
|
|
668
788
|
exports.TEMPLATE_OUTPUT_FORMAT = TEMPLATE_OUTPUT_FORMAT;
|
|
789
|
+
exports.TEMPLATE_VARIABLE_TYPE = TEMPLATE_VARIABLE_TYPE;
|
|
790
|
+
exports.TEMPLATE_VARIABLE_TYPE_SCHEMA = TEMPLATE_VARIABLE_TYPE_SCHEMA;
|
|
791
|
+
exports.TemplateCalculationsConfigSchema = TemplateCalculationsConfigSchema;
|
|
792
|
+
exports.TemplateVariableDefinitionSchema = TemplateVariableDefinitionSchema;
|
|
793
|
+
exports.TemplateVariableGroupSchema = TemplateVariableGroupSchema;
|
|
794
|
+
exports.TemplateVariableOptionSchema = TemplateVariableOptionSchema;
|
|
795
|
+
exports.TemplateVariableValidationResultSchema = TemplateVariableValidationResultSchema;
|
|
796
|
+
exports.TemplateVariableValidationSchema = TemplateVariableValidationSchema;
|
|
797
|
+
exports.TemplateVariablesFrontmatterSchema = TemplateVariablesFrontmatterSchema;
|
|
669
798
|
exports.UPLOAD_STATUS = UPLOAD_STATUS;
|
|
670
799
|
exports.WEBHOOK_EVENT_TYPE_MAPPING = WEBHOOK_EVENT_TYPE_MAPPING;
|
|
671
800
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/storage/enums.ts","../../src/storage/event-handler-mapping.ts","../../src/storage/schemas.ts"],"names":["FILE_CATEGORY","ENTITY_TYPE","STORAGE_ADAPTER_TYPE","FILE_ACCESS_LEVEL","UPLOAD_STATUS","STORAGE_EVENT_TYPE","RETRY_STRATEGY","PATH_GENERATION_STRATEGY","FILE_VALIDATION_ERROR","TEMPLATE_OUTPUT_FORMAT","DOCUMENT_TYPE","MEDIA_ENTITY","STORAGE_VISIBILITY","STORAGE_ENVIRONMENT","BUSINESS_MODEL","ORGANIZATION_TIER","BUCKET_PURPOSE","PATH_STRATEGY","MEDIA_VARIANT_TYPE","STORAGE_QUEUE_PRIORITY","STORAGE_DEVICE_TYPE","STORAGE_VARIANT_NAME","ADAPTER_HEALTH_STATUS","STORAGE_RENDERER_TYPE","OUTPUT_FORMAT","STORAGE_JURISDICTION","STORAGE_REGULATORY_FRAMEWORK","STORAGE_PLUGIN_TYPE","STORAGE_WEBHOOK_EVENT_TYPE","STORAGE_OPERATION","STORAGE_SIGNATURE_METHOD","STORAGE_PROCESSING_STATUS","z"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Storage Package Enums\n * @module @plyaz/types/storage\n */\n\n/**\n * File categories for organizing uploaded files\n */\nexport enum FILE_CATEGORY {\n // Profile & Identity\n ProfileImage = 'profile_image',\n ProfileBanner = 'profile_banner',\n ProfileData = 'profile_data',\n IdDocument = 'id_document',\n\n // Content\n PostImage = 'post_image',\n PostVideo = 'post_video',\n PostAudio = 'post_audio',\n PostDocument = 'post_document',\n PostArchive = 'post_archive',\n\n // Media\n GalleryImage = 'gallery_image',\n GalleryVideo = 'gallery_video',\n HighlightVideo = 'highlight_video',\n TrainingVideo = 'training_video',\n\n // Commerce\n ProductImage = 'product_image',\n ProductVideo = 'product_video',\n MerchandiseImage = 'merchandise_image',\n\n // Documents\n DOCUMENT = 'document',\n ContractDocument = 'contract_document',\n InvoiceDocument = 'invoice_document',\n ReceiptDocument = 'receipt_document',\n TaxDocument = 'tax_document',\n LegalDocument = 'legal_document',\n FinancialDocument = 'financial_document',\n\n // NFT & Digital Assets\n NftImage = 'nft_image',\n NftMetadata = 'nft_metadata',\n\n // Brand Assets\n BrandLogo = 'brand_logo',\n BrandAsset = 'brand_asset',\n MarketingAsset = 'marketing_asset',\n\n // Other\n AVATAR = 'avatar',\n ATTACHMENT = 'attachment',\n TempFile = 'temp_file',\n OTHER = 'other',\n}\n\n/**\n * Entity types that can own files\n */\nexport enum ENTITY_TYPE {\n USER = 'user',\n FAN = 'fan',\n ATHLETE = 'athlete',\n CLUB = 'club',\n BRAND = 'brand',\n ORGANIZATION = 'organization',\n EVENT = 'event',\n POST = 'post',\n PRODUCT = 'product',\n NFT = 'nft',\n SYSTEM = 'system',\n}\n\n/**\n * Storage adapter types\n */\nexport enum STORAGE_ADAPTER_TYPE {\n CloudflareR2 = 'cloudflare_r2',\n SupabaseStorage = 'supabase_storage',\n CUSTOM = 'custom',\n MOCK = 'mock',\n}\n\n/**\n * File access levels\n */\nexport enum FILE_ACCESS_LEVEL {\n PUBLIC = 'public',\n PRIVATE = 'private',\n SHARED = 'shared',\n RESTRICTED = 'restricted',\n}\n\n/**\n * Upload status\n */\nexport enum UPLOAD_STATUS {\n PENDING = 'pending',\n UPLOADING = 'uploading',\n PROCESSING = 'processing',\n COMPLETED = 'completed',\n FAILED = 'failed',\n CANCELLED = 'cancelled',\n}\n\n/**\n * Storage event types\n */\nexport enum STORAGE_EVENT_TYPE {\n // Upload events\n FileUploaded = 'file_uploaded',\n FileUploadFailed = 'file_upload_failed',\n UploadProgress = 'upload_progress',\n UploadAborted = 'upload_aborted',\n\n // Delete events\n FileDeleted = 'file_deleted',\n FileDeleteFailed = 'file_delete_failed',\n\n // Access events\n FileAccessed = 'file_accessed',\n SignedUrlGenerated = 'signed_url_generated',\n\n // Processing events\n MetadataExtracted = 'metadata_extracted',\n MediaProcessingStarted = 'media_processing_started',\n MediaProcessingCompleted = 'media_processing_completed',\n MediaProcessingFailed = 'media_processing_failed',\n TranscodeComplete = 'transcode_complete',\n TranscodeFailed = 'transcode_failed',\n TranscodeProgress = 'transcode_progress',\n ThumbnailGenerated = 'thumbnail_generated',\n ImageOptimized = 'image_optimized',\n\n // Security events\n VirusDetected = 'virus_detected',\n VirusScanCompleted = 'virus_scan_completed',\n\n // Adapter events\n AdapterHealthCheck = 'adapter_health_check',\n AdapterFailed = 'adapter_failed',\n\n // Compliance events\n RetentionPolicyApplied = 'retention_policy_applied',\n RetentionEnforced = 'retention_enforced',\n FileMarkedForDeletion = 'file_marked_for_deletion',\n ImmutabilityEnforced = 'immutability_enforced',\n SoftDeleteProcessed = 'soft_delete_processed',\n FileRestored = 'file_restored',\n FileArchived = 'file_archived',\n RetentionExpired = 'retention_expired',\n JurisdictionConflictResolved = 'jurisdiction_conflict_resolved',\n\n // Generation events\n FileGenerated = 'file_generated',\n FileGenerationFailed = 'file_generation_failed',\n FileUpdated = 'file_updated',\n FileUpdateFailed = 'file_update_failed',\n\n // File operations events\n FileReplaced = 'file_replaced',\n FileReplaceFailed = 'file_replace_failed',\n FileMoved = 'file_moved',\n FileMoveFailed = 'file_move_failed',\n FileCopied = 'file_copied',\n FileCopyFailed = 'file_copy_failed',\n\n // Audit events\n AuditLogCreated = 'audit_log_created',\n\n // Queue events\n QueueStarted = 'storage.queue.started',\n QueueStopped = 'storage.queue.stopped',\n OperationProcessing = 'storage.operation.processing',\n OperationCompleted = 'storage.operation.completed',\n OperationRetry = 'storage.operation.retry',\n OperationFailed = 'storage.operation.failed',\n\n // Error events\n StorageError = 'storage_error',\n\n // CDN events\n CdnInvalidated = 'cdn_invalidated',\n CdnInvalidationFailed = 'cdn_invalidation_failed',\n\n // Integrity events\n IntegrityCheckFailed = 'integrity_check_failed',\n CorruptionDetected = 'corruption_detected',\n\n // Quota events\n QuotaWarning = 'quota_warning',\n QuotaExceeded = 'quota_exceeded',\n\n // Webhook events\n WebhookReceived = 'webhook_received',\n WebhookProcessed = 'webhook_processed',\n WebhookFailed = 'webhook_failed',\n WebhookRetryExhausted = 'webhook_retry_exhausted',\n}\n\n/**\n * Retry strategies for adapter operations\n */\nexport enum RETRY_STRATEGY {\n ExponentialBackoff = 'exponential_backoff',\n LinearBackoff = 'linear_backoff',\n FixedDelay = 'fixed_delay',\n NoRetry = 'no_retry',\n}\n\n/**\n * Path generation strategies\n */\nexport enum PATH_GENERATION_STRATEGY {\n HashBased = 'hash_based',\n EntityBased = 'entity_based',\n DateBased = 'date_based',\n CategoryBased = 'category_based',\n FLAT = 'flat',\n}\n\n/**\n * File validation error types\n */\nexport enum FILE_VALIDATION_ERROR {\n InvalidMimeType = 'invalid_mime_type',\n FileTooLarge = 'file_too_large',\n FileTooSmall = 'file_too_small',\n InvalidExtension = 'invalid_extension',\n InvalidFilename = 'invalid_filename',\n ExecutableDetected = 'executable_detected',\n VirusDetected = 'virus_detected',\n}\n\n/**\n * Template output formats\n */\nexport enum TEMPLATE_OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n MARKDOWN = 'markdown',\n}\n\n/**\n * Document types for compliance storage (R2)\n * Financial and legal documents requiring strict compliance\n */\nexport enum DOCUMENT_TYPE {\n INVOICE = 'invoice',\n RECEIPT = 'receipt',\n TAX = 'tax',\n COMPLIANCE = 'compliance',\n CERTIFICATE = 'certificate',\n CONTRACT = 'contract',\n REPORT = 'report',\n}\n\n/**\n * Media entity types (for Supabase media storage)\n */\nexport enum MEDIA_ENTITY {\n TEAM = 'team',\n CLUB = 'club',\n ATHLETE = 'athlete',\n MATCH = 'match',\n LEAGUE = 'league',\n POST = 'post',\n CAMPAIGN = 'campaign',\n PRODUCT = 'product',\n BRAND = 'brand',\n USER = 'user',\n}\n\n/**\n * Storage visibility levels\n */\nexport enum STORAGE_VISIBILITY {\n PUBLIC = 'public',\n PRIVATE = 'private',\n}\n\n/**\n * Environment types for bucket naming\n */\nexport enum STORAGE_ENVIRONMENT {\n PRODUCTION = 'prod',\n STAGING = 'stg',\n DEVELOPMENT = 'dev',\n}\n\n/**\n * Business model types for organizational separation\n */\nexport enum BUSINESS_MODEL {\n B2B = 'b2b',\n B2C = 'b2c',\n B2B2C = 'b2b2c',\n INTERNAL = 'internal',\n}\n\n/**\n * Organization tier for dedicated resources\n */\nexport enum ORGANIZATION_TIER {\n ENTERPRISE = 'enterprise',\n PROFESSIONAL = 'professional',\n STANDARD = 'standard',\n STARTER = 'starter',\n}\n\n/**\n * Storage bucket purpose (provider-agnostic)\n * Describes what the bucket is used for, not how it's named\n */\nexport enum BUCKET_PURPOSE {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Image files (photos, graphics) */\n MediaImages = 'media-images',\n /** Video files */\n MediaVideos = 'media-videos',\n /** Static assets (CSS, JS, fonts) */\n MediaStatic = 'media-static',\n /** User uploads (attachments, documents) */\n UserUploads = 'user-uploads',\n /** Temporary files (processing, staging) */\n TEMPORARY = 'temporary',\n /** Archived/cold storage */\n ARCHIVES = 'archives',\n /** Backups */\n BACKUPS = 'backups',\n}\n\n/**\n * Path generation strategy type\n */\nexport enum PATH_STRATEGY {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Media files (images/videos) */\n MEDIA = 'media',\n /** General files */\n GENERAL = 'general',\n}\n\n/**\n * Media variant types\n */\nexport enum MEDIA_VARIANT_TYPE {\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n}\n\n/**\n * Storage queue priority levels\n */\nexport enum STORAGE_QUEUE_PRIORITY {\n HIGH = 'high',\n NORMAL = 'normal',\n LOW = 'low',\n}\n\n/**\n * Device types for device-aware variant optimization\n * Used to select optimal variants based on target device\n */\nexport enum STORAGE_DEVICE_TYPE {\n /** Mobile phones (320px - 480px) */\n MOBILE = 'mobile',\n /** Tablets (768px - 1024px) */\n TABLET = 'tablet',\n /** Desktop/laptop screens (1280px - 1920px) */\n DESKTOP = 'desktop',\n /** 4K/Retina displays (2560px+) */\n FourK = '4k',\n /** Smart TVs and large displays (3840px+) */\n TV = 'tv',\n /** Watch/wearable devices (small screens) */\n WATCH = 'watch',\n /** Auto-detect best variant (default) */\n AUTO = 'auto',\n}\n\n/**\n * Standard variant names for images and videos\n * Used to identify specific size/quality variants\n */\nexport enum STORAGE_VARIANT_NAME {\n // Image variants - Standard sizes\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n XLARGE = 'xlarge',\n\n // Device-specific image variants\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n RETINA = 'retina',\n\n // Video variants - Standard resolutions\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n Video4k = '4k-video',\n}\n\n/**\n * Adapter health status\n */\nexport enum ADAPTER_HEALTH_STATUS {\n HEALTHY = 'healthy',\n DEGRADED = 'degraded',\n UNHEALTHY = 'unhealthy',\n UNKNOWN = 'unknown',\n}\n\n/**\n * Renderer type (document/template rendering engines)\n */\nexport enum STORAGE_RENDERER_TYPE {\n PUPPETEER = 'puppeteer', // Headless Chrome (HTML → PDF/PNG)\n PLAYWRIGHT = 'playwright', // Headless browser (HTML → PDF/PNG)\n PDFKIT = 'pdfkit', // Lightweight PDF generation\n JSPDF = 'jspdf', // Client-side PDF generation\n WKHTMLTOPDF = 'wkhtmltopdf', // Standalone binary (HTML → PDF)\n EXCELJS = 'exceljs', // Excel generation\n DOCXTEMPLATER = 'docxtemplater', // Word document generation\n}\n\n/**\n * Output format for rendered documents\n */\nexport enum OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n PNG = 'png',\n JPEG = 'jpeg',\n EXCEL = 'excel', // .xlsx\n WORD = 'word', // .docx\n CSV = 'csv',\n JSON = 'json',\n}\n\n/**\n * Compliance jurisdictions\n *\n * Standardized jurisdiction codes for compliance enforcement\n */\nexport enum STORAGE_JURISDICTION {\n // Global\n GLOBAL = 'GLOBAL',\n\n // United States (Federal)\n US = 'US',\n\n // United States (States)\n UsCa = 'US-CA', // California (CCPA)\n UsNy = 'US-NY', // New York (NYDFS)\n UsTx = 'US-TX', // Texas\n UsFl = 'US-FL', // Florida\n UsIl = 'US-IL', // Illinois\n\n // European Union\n EU = 'EU',\n\n // European Countries\n EuDe = 'EU-DE', // Germany\n EuFr = 'EU-FR', // France\n EuGb = 'EU-GB', // United Kingdom (post-Brexit)\n EuIt = 'EU-IT', // Italy\n EuEs = 'EU-ES', // Spain\n EuNl = 'EU-NL', // Netherlands\n EuCh = 'EU-CH', // Switzerland\n\n // Asia Pacific\n JP = 'JP', // Japan\n SG = 'SG', // Singapore\n HK = 'HK', // Hong Kong\n AU = 'AU', // Australia\n NZ = 'NZ', // New Zealand\n KR = 'KR', // South Korea\n CN = 'CN', // China\n\n // Middle East & Africa\n AE = 'AE', // UAE\n SA = 'SA', // Saudi Arabia\n IL = 'IL', // Israel\n ZA = 'ZA', // South Africa\n\n // Americas\n CA = 'CA', // Canada\n BR = 'BR', // Brazil\n MX = 'MX', // Mexico\n AR = 'AR', // Argentina\n}\n\n/**\n * Regulatory frameworks for compliance\n *\n * Standardized framework codes to prevent arbitrary strings\n */\nexport enum STORAGE_REGULATORY_FRAMEWORK {\n // US Financial Regulations\n IRS = 'IRS', // Internal Revenue Service\n SEC = 'SEC', // Securities and Exchange Commission\n FINRA = 'FINRA', // Financial Industry Regulatory Authority\n SOX = 'SOX', // Sarbanes-Oxley Act\n GLBA = 'GLBA', // Gramm-Leach-Bliley Act\n FCRA = 'FCRA', // Fair Credit Reporting Act\n\n // US Crypto/FinTech Regulations\n FINCEN = 'FinCEN', // Financial Crimes Enforcement Network\n BSA = 'BSA', // Bank Secrecy Act\n AML = 'AML', // Anti-Money Laundering\n OFAC = 'OFAC', // Office of Foreign Assets Control\n NYDFS = 'NYDFS', // NY Department of Financial Services\n\n // US State Regulations\n CCPA = 'CCPA', // California Consumer Privacy Act\n CPRA = 'CPRA', // California Privacy Rights Act\n\n // European Regulations\n GDPR = 'GDPR', // General Data Protection Regulation\n MICA = 'MiCA', // Markets in Crypto-Assets Regulation\n AMLD5 = '5AMLD', // 5th Anti-Money Laundering Directive\n AMLD6 = '6AMLD', // 6th Anti-Money Laundering Directive\n PSD2 = 'PSD2', // Payment Services Directive 2\n EMIR = 'EMIR', // European Market Infrastructure Regulation\n\n // International Standards\n FATF = 'FATF', // Financial Action Task Force\n BaselIii = 'Basel III', // Basel III banking regulations\n ISO27001 = 'ISO27001', // Information security management\n SOC2 = 'SOC2', // Service Organization Control 2\n\n // Healthcare\n HIPAA = 'HIPAA', // Health Insurance Portability and Accountability Act\n HITECH = 'HITECH', // Health Information Technology for Economic and Clinical Health\n\n // Other Industries\n PciDss = 'PCI DSS', // Payment Card Industry Data Security Standard\n FERPA = 'FERPA', // Family Educational Rights and Privacy Act\n COPPA = 'COPPA', // Children's Online Privacy Protection Act\n\n // Internal/Custom\n InternalSecurity = 'Internal Security Policy',\n IndustryBestPractices = 'Industry Best Practices',\n}\n\n/**\n * Storage plugin types\n */\nexport enum STORAGE_PLUGIN_TYPE {\n VALIDATION = 'validation', // File validation (size, type, content)\n SECURITY = 'security', // Virus scanning, malware detection\n METADATA = 'metadata', // Metadata extraction (dimensions, duration)\n CDN = 'cdn', // CDN invalidation, cache management\n PROCESSING = 'processing', // Media processing, transcoding\n MONITORING = 'monitoring', // Access tracking, performance monitoring\n COMPLIANCE = 'compliance', // Compliance checks, retention policies\n AUDIT = 'audit', // Audit logging, compliance tracking\n CUSTOM = 'custom', // Custom user-defined plugins\n}\n\n/**\n * Storage Webhook Types\n *\n * Webhook system for handling external callbacks from:\n * - Cloud storage providers (R2, Supabase)\n * - Media processing services (AWS MediaConvert, Cloudinary)\n * - CDN providers (Cloudflare, CloudFront, Fastly)\n *\n * @module @plyaz/types/storage/webhooks\n *\n * Note: Validation schema implementation (Zod) is abstracted away.\n * Consumers don't need to know about or install Zod.\n */\n\n/**\n * Webhook event types for storage operations\n */\nexport enum STORAGE_WEBHOOK_EVENT_TYPE {\n // Object lifecycle events\n ObjectCreated = 'object.created',\n ObjectUpdated = 'object.updated',\n ObjectDeleted = 'object.deleted',\n ObjectRestored = 'object.restored',\n ObjectArchived = 'object.archived',\n\n // Processing events\n TranscodeComplete = 'transcode.complete',\n TranscodeFailed = 'transcode.failed',\n TranscodeProgress = 'transcode.progress',\n ThumbnailComplete = 'thumbnail.complete',\n ImageOptimizationComplete = 'image.optimization.complete',\n\n // CDN events\n CdnInvalidationComplete = 'cdn.invalidation.complete',\n CdnInvalidationFailed = 'cdn.invalidation.failed',\n\n // Storage integrity events\n ChecksumMismatch = 'checksum.mismatch',\n ObjectCorrupted = 'object.corrupted',\n\n // Quota/billing events\n QuotaWarning = 'quota.warning',\n QuotaExceeded = 'quota.exceeded',\n}\n\n/**\n * Storage operations\n */\nexport enum STORAGE_OPERATION {\n UPLOAD = 'upload',\n DELETE = 'delete',\n UPDATE = 'update',\n RESTORE = 'restore',\n ARCHIVE = 'archive',\n}\n\n/**\n * Signature verification methods for storage webhooks\n */\nexport enum STORAGE_SIGNATURE_METHOD {\n HmacSha256 = 'hmac-sha256',\n HmacSha512 = 'hmac-sha512',\n HmacSha1 = 'hmac-sha1',\n AwsSignatureV4 = 'aws-signature-v4',\n JWT = 'jwt',\n Custom = 'custom',\n}\n","/**\n * Event Handler Mapping\n *\n * Centralized mapping between camelCase handler names (StorageEventHandlers)\n * and enum-based event types (STORAGE_EVENT_TYPE).\n *\n * This mapping is used by:\n * - StorageService to register handlers\n * - Documentation generation\n * - Type utilities\n * - Testing utilities\n *\n * @module @plyaz/types/storage\n */\n\nimport type { StorageEventHandlers } from './interfaces';\nimport type { STORAGE_WEBHOOK_EVENT_TYPE } from './enums';\nimport { STORAGE_EVENT_TYPE } from './enums';\n\n/**\n * Mapping from camelCase handler method names to StorageEventType enum values\n *\n * This is the single source of truth for the handler name <-> event type relationship.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_HANDLER_MAPPING } from '@plyaz/types';\n *\n * // Get event type from handler name\n * const eventType = STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded;\n * // Returns: STORAGE_EVENT_TYPE.FileUploaded\n *\n * // Register handler\n * if (handlers.onFileUploaded) {\n * eventManager.on(STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded, handlers.onFileUploaded);\n * }\n * ```\n */\nexport const STORAGE_EVENT_HANDLER_MAPPING: Record<keyof StorageEventHandlers, STORAGE_EVENT_TYPE> =\n {\n // Upload events\n onFileUploaded: STORAGE_EVENT_TYPE.FileUploaded,\n onFileUploadFailed: STORAGE_EVENT_TYPE.FileUploadFailed,\n onUploadProgress: STORAGE_EVENT_TYPE.UploadProgress,\n onUploadAborted: STORAGE_EVENT_TYPE.UploadAborted,\n\n // Delete events\n onFileDeleted: STORAGE_EVENT_TYPE.FileDeleted,\n onFileDeleteFailed: STORAGE_EVENT_TYPE.FileDeleteFailed,\n\n // Access events\n onFileAccessed: STORAGE_EVENT_TYPE.FileAccessed,\n onSignedUrlGenerated: STORAGE_EVENT_TYPE.SignedUrlGenerated,\n\n // Processing events\n onMetadataExtracted: STORAGE_EVENT_TYPE.MetadataExtracted,\n onMediaProcessingStarted: STORAGE_EVENT_TYPE.MediaProcessingStarted,\n onMediaProcessingCompleted: STORAGE_EVENT_TYPE.MediaProcessingCompleted,\n onMediaProcessingFailed: STORAGE_EVENT_TYPE.MediaProcessingFailed,\n\n // Security events\n onVirusDetected: STORAGE_EVENT_TYPE.VirusDetected,\n onVirusScanCompleted: STORAGE_EVENT_TYPE.VirusScanCompleted,\n\n // Adapter events\n onAdapterHealthCheck: STORAGE_EVENT_TYPE.AdapterHealthCheck,\n onAdapterFailed: STORAGE_EVENT_TYPE.AdapterFailed,\n\n // Compliance events\n onRetentionPolicyApplied: STORAGE_EVENT_TYPE.RetentionPolicyApplied,\n onFileMarkedForDeletion: STORAGE_EVENT_TYPE.FileMarkedForDeletion,\n onImmutabilityEnforced: STORAGE_EVENT_TYPE.ImmutabilityEnforced,\n\n // File operations events\n onFileReplaced: STORAGE_EVENT_TYPE.FileReplaced,\n onFileReplaceFailed: STORAGE_EVENT_TYPE.FileReplaceFailed,\n onFileMoved: STORAGE_EVENT_TYPE.FileMoved,\n onFileMoveFailed: STORAGE_EVENT_TYPE.FileMoveFailed,\n onFileCopied: STORAGE_EVENT_TYPE.FileCopied,\n onFileCopyFailed: STORAGE_EVENT_TYPE.FileCopyFailed,\n\n // Audit events\n onAuditLogCreated: STORAGE_EVENT_TYPE.AuditLogCreated,\n\n // Queue events\n onQueueStarted: STORAGE_EVENT_TYPE.QueueStarted,\n onQueueStopped: STORAGE_EVENT_TYPE.QueueStopped,\n onOperationProcessing: STORAGE_EVENT_TYPE.OperationProcessing,\n onOperationCompleted: STORAGE_EVENT_TYPE.OperationCompleted,\n onOperationRetry: STORAGE_EVENT_TYPE.OperationRetry,\n onOperationFailed: STORAGE_EVENT_TYPE.OperationFailed,\n\n // Error events\n onStorageError: STORAGE_EVENT_TYPE.StorageError,\n } as const;\n\n/**\n * Webhook event type to internal storage event mapping\n *\n * Maps external webhook event types to internal StorageEventType enums\n * Used by WebhookManager to emit the correct storage events\n */\nexport const WEBHOOK_EVENT_TYPE_MAPPING: Record<\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE],\n STORAGE_EVENT_TYPE\n> = {\n 'object.created': STORAGE_EVENT_TYPE.FileUploaded,\n 'object.updated': STORAGE_EVENT_TYPE.FileUpdated,\n 'object.deleted': STORAGE_EVENT_TYPE.FileDeleted,\n 'object.restored': STORAGE_EVENT_TYPE.FileRestored,\n 'object.archived': STORAGE_EVENT_TYPE.FileArchived,\n 'transcode.complete': STORAGE_EVENT_TYPE.TranscodeComplete,\n 'transcode.failed': STORAGE_EVENT_TYPE.TranscodeFailed,\n 'transcode.progress': STORAGE_EVENT_TYPE.TranscodeProgress,\n 'thumbnail.complete': STORAGE_EVENT_TYPE.ThumbnailGenerated,\n 'image.optimization.complete': STORAGE_EVENT_TYPE.ImageOptimized,\n 'cdn.invalidation.complete': STORAGE_EVENT_TYPE.CdnInvalidated,\n 'cdn.invalidation.failed': STORAGE_EVENT_TYPE.CdnInvalidationFailed,\n 'checksum.mismatch': STORAGE_EVENT_TYPE.IntegrityCheckFailed,\n 'object.corrupted': STORAGE_EVENT_TYPE.CorruptionDetected,\n 'quota.warning': STORAGE_EVENT_TYPE.QuotaWarning,\n 'quota.exceeded': STORAGE_EVENT_TYPE.QuotaExceeded,\n} as const;\n\n/**\n * Reverse mapping from StorageEventType enum values to camelCase handler names\n *\n * Useful for generating handler names from event types, documentation, etc.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_TYPE_TO_HANDLER_NAME } from '@plyaz/types';\n *\n * // Get handler name from event type\n * const handlerName = STORAGE_EVENT_TYPE_TO_HANDLER_NAME[STORAGE_EVENT_TYPE.FileUploaded];\n * // Returns: 'onFileUploaded'\n * ```\n */\nexport const STORAGE_EVENT_TYPE_TO_HANDLER_NAME: Record<\n STORAGE_EVENT_TYPE,\n keyof StorageEventHandlers\n> = Object.entries(STORAGE_EVENT_HANDLER_MAPPING).reduce(\n (acc, [handlerName, eventType]) => {\n acc[eventType] = handlerName as keyof StorageEventHandlers;\n return acc;\n },\n {} as Record<STORAGE_EVENT_TYPE, keyof StorageEventHandlers>\n);\n\n/**\n * Type-safe helper to get all handler names\n */\nexport type StorageEventHandlerName = keyof StorageEventHandlers;\nexport type StorageWebhookEventHandlerName =\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE];\n\n/**\n * Type-safe helper to get all event types that have handlers\n */\nexport type MappedStorageEventType =\n (typeof STORAGE_EVENT_HANDLER_MAPPING)[StorageEventHandlerName];\nexport type MappedStorageWebhookEventType =\n (typeof WEBHOOK_EVENT_TYPE_MAPPING)[StorageWebhookEventHandlerName];\n","/**\n * Storage Package Zod Schemas\n * @module @plyaz/types/storage/schemas\n *\n * Validation schemas for storage webhooks and other features\n */\n\nimport { z } from 'zod';\n\n/**\n * Maximum progress percentage (0-100)\n */\nconst MAX_PROGRESS_PERCENTAGE = 100;\n\n/**\n * Storage media processing job status\n */\nexport enum STORAGE_PROCESSING_STATUS {\n Queued = 'queued',\n Processing = 'processing',\n Completed = 'completed',\n Failed = 'failed',\n}\n\n/**\n * Storage media processing output schema\n */\nexport const StorageProcessingOutputSchema = z.object({\n url: z.string().url(),\n format: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n duration: z.number().optional(),\n size: z.number(),\n bitrate: z.number().optional(),\n codec: z.string().optional(),\n});\n\nexport type StorageProcessingOutput = z.infer<typeof StorageProcessingOutputSchema>;\n\n/**\n * Storage media processing webhook payload schema\n */\nexport const StorageMediaProcessingPayloadSchema = z.object({\n jobId: z.string(),\n status: z.nativeEnum(STORAGE_PROCESSING_STATUS),\n input: z.object({\n url: z.string().url(),\n objectKey: z.string(),\n bucket: z.string().optional(),\n }),\n output: z\n .object({\n primary: StorageProcessingOutputSchema.optional(),\n thumbnail: StorageProcessingOutputSchema.optional(),\n variants: z.array(StorageProcessingOutputSchema).optional(),\n })\n .optional(),\n metadata: z\n .object({\n duration: z.number().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n format: z.string().optional(),\n codec: z.string().optional(),\n })\n .optional(),\n progress: z.number().min(0).max(MAX_PROGRESS_PERCENTAGE).optional(),\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n details: z.record(z.string(), z.unknown()).optional(),\n })\n .optional(),\n timestamp: z.union([z.string(), z.number()]),\n provider: z.string().optional(),\n});\n\nexport type StorageMediaProcessingPayload = z.infer<typeof StorageMediaProcessingPayloadSchema>;\n\n/**\n * ============================================================================\n * Cloudflare R2 Webhook Schemas\n * ============================================================================\n * S3-compatible event notifications\n * https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-content-structure.html\n */\nexport const R2EventRecordSchema = z.object({\n eventVersion: z.string(), // \"2.1\"\n eventSource: z.string(), // \"aws:s3\" or \"cloudflare:r2\"\n awsRegion: z.string().optional(), // R2 may not include this\n eventTime: z.string(), // ISO 8601 timestamp\n eventName: z.string(), // e.g., \"ObjectCreated:Put\", \"ObjectRemoved:Delete\"\n userIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n requestParameters: z\n .object({\n sourceIPAddress: z.string(),\n })\n .optional(),\n responseElements: z\n .object({\n 'x-amz-request-id': z.string().optional(),\n 'x-amz-id-2': z.string().optional(),\n })\n .optional(),\n s3: z.object({\n s3SchemaVersion: z.string(), // \"1.0\"\n configurationId: z.string().optional(),\n bucket: z.object({\n name: z.string(), // Bucket name\n ownerIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n arn: z.string().optional(),\n }),\n object: z.object({\n key: z.string(), // Object key\n size: z.number().optional(), // File size in bytes\n eTag: z.string().optional(), // Entity tag\n versionId: z.string().optional(),\n sequencer: z.string().optional(),\n }),\n }),\n});\n\nexport const R2WebhookPayloadSchema = z.object({\n Records: z.array(R2EventRecordSchema),\n});\n\nexport type R2WebhookPayload = z.infer<typeof R2WebhookPayloadSchema>;\nexport type R2EventRecord = z.infer<typeof R2EventRecordSchema>;\n\n/**\n * ============================================================================\n * Supabase Storage Webhook Schemas\n * ============================================================================\n * Database webhook events from storage.objects table\n */\nexport const SupabaseStorageObjectSchema = z.object({\n id: z.uuid(), // Object UUID\n bucket_id: z.string(), // Bucket name\n name: z.string(), // Object path/key\n owner: z.uuid().optional().nullable(), // Owner UUID\n created_at: z.string(), // ISO timestamp\n updated_at: z.string().optional().nullable(), // ISO timestamp\n last_accessed_at: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(), // Custom metadata\n version: z.string().optional().nullable(),\n owner_id: z.string().optional().nullable(),\n});\n\nexport const SupabaseWebhookPayloadSchema = z.object({\n type: z.enum(['INSERT', 'UPDATE', 'DELETE']), // Database event type\n table: z.literal('objects'), // Always 'objects' for storage\n schema: z.literal('storage'), // Always 'storage'\n record: SupabaseStorageObjectSchema.optional().nullable(), // New/updated record\n old_record: SupabaseStorageObjectSchema.optional().nullable(), // Old record (for UPDATE/DELETE)\n});\n\nexport type SupabaseWebhookPayload = z.infer<typeof SupabaseWebhookPayloadSchema>;\nexport type SupabaseStorageObject = z.infer<typeof SupabaseStorageObjectSchema>;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/storage/enums.ts","../../src/storage/event-handler-mapping.ts","../../src/storage/schemas.ts"],"names":["FILE_CATEGORY","ENTITY_TYPE","STORAGE_ADAPTER_TYPE","FILE_ACCESS_LEVEL","UPLOAD_STATUS","STORAGE_EVENT_TYPE","RETRY_STRATEGY","PATH_GENERATION_STRATEGY","FILE_VALIDATION_ERROR","TEMPLATE_OUTPUT_FORMAT","DOCUMENT_TYPE","MEDIA_ENTITY","STORAGE_VISIBILITY","STORAGE_ENVIRONMENT","BUSINESS_MODEL","ORGANIZATION_TIER","BUCKET_PURPOSE","PATH_STRATEGY","MEDIA_VARIANT_TYPE","STORAGE_QUEUE_PRIORITY","STORAGE_DEVICE_TYPE","STORAGE_VARIANT_NAME","ADAPTER_HEALTH_STATUS","STORAGE_RENDERER_TYPE","OUTPUT_FORMAT","STORAGE_JURISDICTION","STORAGE_REGULATORY_FRAMEWORK","STORAGE_PLUGIN_TYPE","STORAGE_WEBHOOK_EVENT_TYPE","STORAGE_OPERATION","STORAGE_SIGNATURE_METHOD","TEMPLATE_VARIABLE_TYPE","TEMPLATE_DOCUMENT_TYPE","STORAGE_PROCESSING_STATUS","z","TEMPLATE_VARIABLE_TYPE_SCHEMA","TEMPLATE_DOCUMENT_TYPE_SCHEMA"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Storage Package Enums\n * @module @plyaz/types/storage\n */\n\n/**\n * File categories for organizing uploaded files\n */\nexport enum FILE_CATEGORY {\n // Profile & Identity\n ProfileImage = 'profile_image',\n ProfileBanner = 'profile_banner',\n ProfileData = 'profile_data',\n IdDocument = 'id_document',\n\n // Content\n PostImage = 'post_image',\n PostVideo = 'post_video',\n PostAudio = 'post_audio',\n PostDocument = 'post_document',\n PostArchive = 'post_archive',\n\n // Media\n GalleryImage = 'gallery_image',\n GalleryVideo = 'gallery_video',\n HighlightVideo = 'highlight_video',\n TrainingVideo = 'training_video',\n\n // Commerce\n ProductImage = 'product_image',\n ProductVideo = 'product_video',\n MerchandiseImage = 'merchandise_image',\n\n // Documents\n DOCUMENT = 'document',\n ContractDocument = 'contract_document',\n InvoiceDocument = 'invoice_document',\n ReceiptDocument = 'receipt_document',\n TaxDocument = 'tax_document',\n LegalDocument = 'legal_document',\n FinancialDocument = 'financial_document',\n\n // NFT & Digital Assets\n NftImage = 'nft_image',\n NftMetadata = 'nft_metadata',\n\n // Brand Assets\n BrandLogo = 'brand_logo',\n BrandAsset = 'brand_asset',\n MarketingAsset = 'marketing_asset',\n\n // Other\n AVATAR = 'avatar',\n ATTACHMENT = 'attachment',\n TempFile = 'temp_file',\n OTHER = 'other',\n}\n\n/**\n * Entity types that can own files\n */\nexport enum ENTITY_TYPE {\n USER = 'user',\n FAN = 'fan',\n ATHLETE = 'athlete',\n CLUB = 'club',\n BRAND = 'brand',\n ORGANIZATION = 'organization',\n EVENT = 'event',\n POST = 'post',\n PRODUCT = 'product',\n NFT = 'nft',\n SYSTEM = 'system',\n}\n\n/**\n * Storage adapter types\n */\nexport enum STORAGE_ADAPTER_TYPE {\n CloudflareR2 = 'cloudflare_r2',\n SupabaseStorage = 'supabase_storage',\n CUSTOM = 'custom',\n MOCK = 'mock',\n}\n\n/**\n * File access levels\n */\nexport enum FILE_ACCESS_LEVEL {\n PUBLIC = 'public',\n PRIVATE = 'private',\n SHARED = 'shared',\n RESTRICTED = 'restricted',\n}\n\n/**\n * Upload status\n */\nexport enum UPLOAD_STATUS {\n PENDING = 'pending',\n UPLOADING = 'uploading',\n PROCESSING = 'processing',\n COMPLETED = 'completed',\n FAILED = 'failed',\n CANCELLED = 'cancelled',\n}\n\n/**\n * Storage event types\n */\nexport enum STORAGE_EVENT_TYPE {\n // Upload events\n FileUploaded = 'file_uploaded',\n FileUploadFailed = 'file_upload_failed',\n UploadProgress = 'upload_progress',\n UploadAborted = 'upload_aborted',\n\n // Delete events\n FileDeleted = 'file_deleted',\n FileDeleteFailed = 'file_delete_failed',\n\n // Access events\n FileAccessed = 'file_accessed',\n SignedUrlGenerated = 'signed_url_generated',\n\n // Processing events\n MetadataExtracted = 'metadata_extracted',\n MediaProcessingStarted = 'media_processing_started',\n MediaProcessingCompleted = 'media_processing_completed',\n MediaProcessingFailed = 'media_processing_failed',\n TranscodeComplete = 'transcode_complete',\n TranscodeFailed = 'transcode_failed',\n TranscodeProgress = 'transcode_progress',\n ThumbnailGenerated = 'thumbnail_generated',\n ImageOptimized = 'image_optimized',\n\n // Security events\n VirusDetected = 'virus_detected',\n VirusScanCompleted = 'virus_scan_completed',\n\n // Adapter events\n AdapterHealthCheck = 'adapter_health_check',\n AdapterFailed = 'adapter_failed',\n\n // Compliance events\n RetentionPolicyApplied = 'retention_policy_applied',\n RetentionEnforced = 'retention_enforced',\n FileMarkedForDeletion = 'file_marked_for_deletion',\n ImmutabilityEnforced = 'immutability_enforced',\n SoftDeleteProcessed = 'soft_delete_processed',\n FileRestored = 'file_restored',\n FileArchived = 'file_archived',\n RetentionExpired = 'retention_expired',\n JurisdictionConflictResolved = 'jurisdiction_conflict_resolved',\n\n // Generation events\n FileGenerated = 'file_generated',\n FileGenerationFailed = 'file_generation_failed',\n FileUpdated = 'file_updated',\n FileUpdateFailed = 'file_update_failed',\n\n // File operations events\n FileReplaced = 'file_replaced',\n FileReplaceFailed = 'file_replace_failed',\n FileMoved = 'file_moved',\n FileMoveFailed = 'file_move_failed',\n FileCopied = 'file_copied',\n FileCopyFailed = 'file_copy_failed',\n\n // Audit events\n AuditLogCreated = 'audit_log_created',\n\n // Queue events\n QueueStarted = 'storage.queue.started',\n QueueStopped = 'storage.queue.stopped',\n OperationProcessing = 'storage.operation.processing',\n OperationCompleted = 'storage.operation.completed',\n OperationRetry = 'storage.operation.retry',\n OperationFailed = 'storage.operation.failed',\n\n // Error events\n StorageError = 'storage_error',\n\n // CDN events\n CdnInvalidated = 'cdn_invalidated',\n CdnInvalidationFailed = 'cdn_invalidation_failed',\n\n // Integrity events\n IntegrityCheckFailed = 'integrity_check_failed',\n CorruptionDetected = 'corruption_detected',\n\n // Quota events\n QuotaWarning = 'quota_warning',\n QuotaExceeded = 'quota_exceeded',\n\n // Webhook events\n WebhookReceived = 'webhook_received',\n WebhookProcessed = 'webhook_processed',\n WebhookFailed = 'webhook_failed',\n WebhookRetryExhausted = 'webhook_retry_exhausted',\n}\n\n/**\n * Retry strategies for adapter operations\n */\nexport enum RETRY_STRATEGY {\n ExponentialBackoff = 'exponential_backoff',\n LinearBackoff = 'linear_backoff',\n FixedDelay = 'fixed_delay',\n NoRetry = 'no_retry',\n}\n\n/**\n * Path generation strategies\n */\nexport enum PATH_GENERATION_STRATEGY {\n HashBased = 'hash_based',\n EntityBased = 'entity_based',\n DateBased = 'date_based',\n CategoryBased = 'category_based',\n FLAT = 'flat',\n}\n\n/**\n * File validation error types\n */\nexport enum FILE_VALIDATION_ERROR {\n InvalidMimeType = 'invalid_mime_type',\n FileTooLarge = 'file_too_large',\n FileTooSmall = 'file_too_small',\n InvalidExtension = 'invalid_extension',\n InvalidFilename = 'invalid_filename',\n ExecutableDetected = 'executable_detected',\n VirusDetected = 'virus_detected',\n}\n\n/**\n * Template output formats\n */\nexport enum TEMPLATE_OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n MARKDOWN = 'markdown',\n}\n\n/**\n * Document types for compliance storage (R2)\n * Financial and legal documents requiring strict compliance\n */\nexport enum DOCUMENT_TYPE {\n INVOICE = 'invoice',\n RECEIPT = 'receipt',\n TAX = 'tax',\n COMPLIANCE = 'compliance',\n CERTIFICATE = 'certificate',\n CONTRACT = 'contract',\n REPORT = 'report',\n}\n\n/**\n * Media entity types (for Supabase media storage)\n */\nexport enum MEDIA_ENTITY {\n TEAM = 'team',\n CLUB = 'club',\n ATHLETE = 'athlete',\n MATCH = 'match',\n LEAGUE = 'league',\n POST = 'post',\n CAMPAIGN = 'campaign',\n PRODUCT = 'product',\n BRAND = 'brand',\n USER = 'user',\n}\n\n/**\n * Storage visibility levels\n */\nexport enum STORAGE_VISIBILITY {\n PUBLIC = 'public',\n PRIVATE = 'private',\n}\n\n/**\n * Environment types for bucket naming\n */\nexport enum STORAGE_ENVIRONMENT {\n PRODUCTION = 'prod',\n STAGING = 'stg',\n DEVELOPMENT = 'dev',\n}\n\n/**\n * Business model types for organizational separation\n */\nexport enum BUSINESS_MODEL {\n B2B = 'b2b',\n B2C = 'b2c',\n B2B2C = 'b2b2c',\n INTERNAL = 'internal',\n}\n\n/**\n * Organization tier for dedicated resources\n */\nexport enum ORGANIZATION_TIER {\n ENTERPRISE = 'enterprise',\n PROFESSIONAL = 'professional',\n STANDARD = 'standard',\n STARTER = 'starter',\n}\n\n/**\n * Storage bucket purpose (provider-agnostic)\n * Describes what the bucket is used for, not how it's named\n */\nexport enum BUCKET_PURPOSE {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Image files (photos, graphics) */\n MediaImages = 'media-images',\n /** Video files */\n MediaVideos = 'media-videos',\n /** Static assets (CSS, JS, fonts) */\n MediaStatic = 'media-static',\n /** User uploads (attachments, documents) */\n UserUploads = 'user-uploads',\n /** Temporary files (processing, staging) */\n TEMPORARY = 'temporary',\n /** Archived/cold storage */\n ARCHIVES = 'archives',\n /** Backups */\n BACKUPS = 'backups',\n}\n\n/**\n * Path generation strategy type\n */\nexport enum PATH_STRATEGY {\n /** Financial/legal compliance documents */\n COMPLIANCE = 'compliance',\n /** Media files (images/videos) */\n MEDIA = 'media',\n /** General files */\n GENERAL = 'general',\n}\n\n/**\n * Media variant types\n */\nexport enum MEDIA_VARIANT_TYPE {\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n}\n\n/**\n * Storage queue priority levels\n */\nexport enum STORAGE_QUEUE_PRIORITY {\n HIGH = 'high',\n NORMAL = 'normal',\n LOW = 'low',\n}\n\n/**\n * Device types for device-aware variant optimization\n * Used to select optimal variants based on target device\n */\nexport enum STORAGE_DEVICE_TYPE {\n /** Mobile phones (320px - 480px) */\n MOBILE = 'mobile',\n /** Tablets (768px - 1024px) */\n TABLET = 'tablet',\n /** Desktop/laptop screens (1280px - 1920px) */\n DESKTOP = 'desktop',\n /** 4K/Retina displays (2560px+) */\n FourK = '4k',\n /** Smart TVs and large displays (3840px+) */\n TV = 'tv',\n /** Watch/wearable devices (small screens) */\n WATCH = 'watch',\n /** Auto-detect best variant (default) */\n AUTO = 'auto',\n}\n\n/**\n * Standard variant names for images and videos\n * Used to identify specific size/quality variants\n */\nexport enum STORAGE_VARIANT_NAME {\n // Image variants - Standard sizes\n THUMBNAIL = 'thumbnail',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n XLARGE = 'xlarge',\n\n // Device-specific image variants\n MOBILE = 'mobile',\n TABLET = 'tablet',\n DESKTOP = 'desktop',\n HD = 'hd',\n FourK = '4k',\n RETINA = 'retina',\n\n // Video variants - Standard resolutions\n Video360p = '360p',\n Video480p = '480p',\n Video720p = '720p',\n Video1080p = '1080p',\n Video4k = '4k-video',\n}\n\n/**\n * Adapter health status\n */\nexport enum ADAPTER_HEALTH_STATUS {\n HEALTHY = 'healthy',\n DEGRADED = 'degraded',\n UNHEALTHY = 'unhealthy',\n UNKNOWN = 'unknown',\n}\n\n/**\n * Renderer type (document/template rendering engines)\n */\nexport enum STORAGE_RENDERER_TYPE {\n PUPPETEER = 'puppeteer', // Headless Chrome (HTML → PDF/PNG)\n PLAYWRIGHT = 'playwright', // Headless browser (HTML → PDF/PNG)\n PDFKIT = 'pdfkit', // Lightweight PDF generation\n JSPDF = 'jspdf', // Client-side PDF generation\n WKHTMLTOPDF = 'wkhtmltopdf', // Standalone binary (HTML → PDF)\n EXCELJS = 'exceljs', // Excel generation\n DOCXTEMPLATER = 'docxtemplater', // Word document generation\n}\n\n/**\n * Output format for rendered documents\n */\nexport enum OUTPUT_FORMAT {\n PDF = 'pdf',\n HTML = 'html',\n PNG = 'png',\n JPEG = 'jpeg',\n EXCEL = 'excel', // .xlsx\n WORD = 'word', // .docx\n CSV = 'csv',\n JSON = 'json',\n}\n\n/**\n * Compliance jurisdictions\n *\n * Standardized jurisdiction codes for compliance enforcement\n */\nexport enum STORAGE_JURISDICTION {\n // Global\n GLOBAL = 'GLOBAL',\n\n // United States (Federal)\n US = 'US',\n\n // United States (States)\n UsCa = 'US-CA', // California (CCPA)\n UsNy = 'US-NY', // New York (NYDFS)\n UsTx = 'US-TX', // Texas\n UsFl = 'US-FL', // Florida\n UsIl = 'US-IL', // Illinois\n\n // European Union\n EU = 'EU',\n\n // European Countries\n EuDe = 'EU-DE', // Germany\n EuFr = 'EU-FR', // France\n EuGb = 'EU-GB', // United Kingdom (post-Brexit)\n EuIt = 'EU-IT', // Italy\n EuEs = 'EU-ES', // Spain\n EuNl = 'EU-NL', // Netherlands\n EuCh = 'EU-CH', // Switzerland\n\n // Asia Pacific\n JP = 'JP', // Japan\n SG = 'SG', // Singapore\n HK = 'HK', // Hong Kong\n AU = 'AU', // Australia\n NZ = 'NZ', // New Zealand\n KR = 'KR', // South Korea\n CN = 'CN', // China\n\n // Middle East & Africa\n AE = 'AE', // UAE\n SA = 'SA', // Saudi Arabia\n IL = 'IL', // Israel\n ZA = 'ZA', // South Africa\n\n // Americas\n CA = 'CA', // Canada\n BR = 'BR', // Brazil\n MX = 'MX', // Mexico\n AR = 'AR', // Argentina\n}\n\n/**\n * Regulatory frameworks for compliance\n *\n * Standardized framework codes to prevent arbitrary strings\n */\nexport enum STORAGE_REGULATORY_FRAMEWORK {\n // US Financial Regulations\n IRS = 'IRS', // Internal Revenue Service\n SEC = 'SEC', // Securities and Exchange Commission\n FINRA = 'FINRA', // Financial Industry Regulatory Authority\n SOX = 'SOX', // Sarbanes-Oxley Act\n GLBA = 'GLBA', // Gramm-Leach-Bliley Act\n FCRA = 'FCRA', // Fair Credit Reporting Act\n\n // US Crypto/FinTech Regulations\n FINCEN = 'FinCEN', // Financial Crimes Enforcement Network\n BSA = 'BSA', // Bank Secrecy Act\n AML = 'AML', // Anti-Money Laundering\n OFAC = 'OFAC', // Office of Foreign Assets Control\n NYDFS = 'NYDFS', // NY Department of Financial Services\n\n // US State Regulations\n CCPA = 'CCPA', // California Consumer Privacy Act\n CPRA = 'CPRA', // California Privacy Rights Act\n\n // European Regulations\n GDPR = 'GDPR', // General Data Protection Regulation\n MICA = 'MiCA', // Markets in Crypto-Assets Regulation\n AMLD5 = '5AMLD', // 5th Anti-Money Laundering Directive\n AMLD6 = '6AMLD', // 6th Anti-Money Laundering Directive\n PSD2 = 'PSD2', // Payment Services Directive 2\n EMIR = 'EMIR', // European Market Infrastructure Regulation\n\n // International Standards\n FATF = 'FATF', // Financial Action Task Force\n BaselIii = 'Basel III', // Basel III banking regulations\n ISO27001 = 'ISO27001', // Information security management\n SOC2 = 'SOC2', // Service Organization Control 2\n\n // Healthcare\n HIPAA = 'HIPAA', // Health Insurance Portability and Accountability Act\n HITECH = 'HITECH', // Health Information Technology for Economic and Clinical Health\n\n // Other Industries\n PciDss = 'PCI DSS', // Payment Card Industry Data Security Standard\n FERPA = 'FERPA', // Family Educational Rights and Privacy Act\n COPPA = 'COPPA', // Children's Online Privacy Protection Act\n\n // Internal/Custom\n InternalSecurity = 'Internal Security Policy',\n IndustryBestPractices = 'Industry Best Practices',\n}\n\n/**\n * Storage plugin types\n */\nexport enum STORAGE_PLUGIN_TYPE {\n VALIDATION = 'validation', // File validation (size, type, content)\n SECURITY = 'security', // Virus scanning, malware detection\n METADATA = 'metadata', // Metadata extraction (dimensions, duration)\n CDN = 'cdn', // CDN invalidation, cache management\n PROCESSING = 'processing', // Media processing, transcoding\n MONITORING = 'monitoring', // Access tracking, performance monitoring\n COMPLIANCE = 'compliance', // Compliance checks, retention policies\n AUDIT = 'audit', // Audit logging, compliance tracking\n CUSTOM = 'custom', // Custom user-defined plugins\n}\n\n/**\n * Storage Webhook Types\n *\n * Webhook system for handling external callbacks from:\n * - Cloud storage providers (R2, Supabase)\n * - Media processing services (AWS MediaConvert, Cloudinary)\n * - CDN providers (Cloudflare, CloudFront, Fastly)\n *\n * @module @plyaz/types/storage/webhooks\n *\n * Note: Validation schema implementation (Zod) is abstracted away.\n * Consumers don't need to know about or install Zod.\n */\n\n/**\n * Webhook event types for storage operations\n */\nexport enum STORAGE_WEBHOOK_EVENT_TYPE {\n // Object lifecycle events\n ObjectCreated = 'object.created',\n ObjectUpdated = 'object.updated',\n ObjectDeleted = 'object.deleted',\n ObjectRestored = 'object.restored',\n ObjectArchived = 'object.archived',\n\n // Processing events\n TranscodeComplete = 'transcode.complete',\n TranscodeFailed = 'transcode.failed',\n TranscodeProgress = 'transcode.progress',\n ThumbnailComplete = 'thumbnail.complete',\n ImageOptimizationComplete = 'image.optimization.complete',\n\n // CDN events\n CdnInvalidationComplete = 'cdn.invalidation.complete',\n CdnInvalidationFailed = 'cdn.invalidation.failed',\n\n // Storage integrity events\n ChecksumMismatch = 'checksum.mismatch',\n ObjectCorrupted = 'object.corrupted',\n\n // Quota/billing events\n QuotaWarning = 'quota.warning',\n QuotaExceeded = 'quota.exceeded',\n}\n\n/**\n * Storage operations\n */\nexport enum STORAGE_OPERATION {\n UPLOAD = 'upload',\n DELETE = 'delete',\n UPDATE = 'update',\n RESTORE = 'restore',\n ARCHIVE = 'archive',\n}\n\n/**\n * Signature verification methods for storage webhooks\n */\nexport enum STORAGE_SIGNATURE_METHOD {\n HmacSha256 = 'hmac-sha256',\n HmacSha512 = 'hmac-sha512',\n HmacSha1 = 'hmac-sha1',\n AwsSignatureV4 = 'aws-signature-v4',\n JWT = 'jwt',\n Custom = 'custom',\n}\n\n/**\n * Template variable types for template engine\n * Defines the data type of template variables for validation\n */\nexport enum TEMPLATE_VARIABLE_TYPE {\n /** Plain text string */\n STRING = 'string',\n /** Numeric value (integer or decimal) */\n NUMBER = 'number',\n /** Boolean true/false */\n BOOLEAN = 'boolean',\n /** Date value */\n DATE = 'date',\n /** Email address */\n EMAIL = 'email',\n /** Phone number */\n PHONE = 'phone',\n /** URL/web address */\n URL = 'url',\n /** Currency amount (decimal with 2 places) */\n CURRENCY = 'currency',\n /** Percentage value (0-100 or decimal) */\n PERCENTAGE = 'percentage',\n /** Array of items (for {{#each}} loops) */\n ARRAY = 'array',\n /** Nested object */\n OBJECT = 'object',\n /** Rich text / HTML content */\n RICHTEXT = 'richtext',\n /** Image URL or base64 */\n IMAGE = 'image',\n /** Select from predefined options */\n SELECT = 'select',\n /** Multi-select from predefined options */\n MULTISELECT = 'multiselect',\n}\n\n/**\n * Template document type for categorization\n */\nexport enum TEMPLATE_DOCUMENT_TYPE {\n /** Simple document without calculations */\n SIMPLE = 'simple',\n /** Financial document with calculations (invoices, receipts, quotes) */\n FINANCIAL = 'financial',\n /** Legal/contract document */\n LEGAL = 'legal',\n /** Report document */\n REPORT = 'report',\n /** Form/questionnaire */\n FORM = 'form',\n /** Letter/correspondence */\n LETTER = 'letter',\n /** Certificate */\n CERTIFICATE = 'certificate',\n}\n","/**\n * Event Handler Mapping\n *\n * Centralized mapping between camelCase handler names (StorageEventHandlers)\n * and enum-based event types (STORAGE_EVENT_TYPE).\n *\n * This mapping is used by:\n * - StorageService to register handlers\n * - Documentation generation\n * - Type utilities\n * - Testing utilities\n *\n * @module @plyaz/types/storage\n */\n\nimport type { StorageEventHandlers } from './interfaces';\nimport type { STORAGE_WEBHOOK_EVENT_TYPE } from './enums';\nimport { STORAGE_EVENT_TYPE } from './enums';\n\n/**\n * Mapping from camelCase handler method names to StorageEventType enum values\n *\n * This is the single source of truth for the handler name <-> event type relationship.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_HANDLER_MAPPING } from '@plyaz/types';\n *\n * // Get event type from handler name\n * const eventType = STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded;\n * // Returns: STORAGE_EVENT_TYPE.FileUploaded\n *\n * // Register handler\n * if (handlers.onFileUploaded) {\n * eventManager.on(STORAGE_EVENT_HANDLER_MAPPING.onFileUploaded, handlers.onFileUploaded);\n * }\n * ```\n */\nexport const STORAGE_EVENT_HANDLER_MAPPING: Record<keyof StorageEventHandlers, STORAGE_EVENT_TYPE> =\n {\n // Upload events\n onFileUploaded: STORAGE_EVENT_TYPE.FileUploaded,\n onFileUploadFailed: STORAGE_EVENT_TYPE.FileUploadFailed,\n onUploadProgress: STORAGE_EVENT_TYPE.UploadProgress,\n onUploadAborted: STORAGE_EVENT_TYPE.UploadAborted,\n\n // Delete events\n onFileDeleted: STORAGE_EVENT_TYPE.FileDeleted,\n onFileDeleteFailed: STORAGE_EVENT_TYPE.FileDeleteFailed,\n\n // Access events\n onFileAccessed: STORAGE_EVENT_TYPE.FileAccessed,\n onSignedUrlGenerated: STORAGE_EVENT_TYPE.SignedUrlGenerated,\n\n // Processing events\n onMetadataExtracted: STORAGE_EVENT_TYPE.MetadataExtracted,\n onMediaProcessingStarted: STORAGE_EVENT_TYPE.MediaProcessingStarted,\n onMediaProcessingCompleted: STORAGE_EVENT_TYPE.MediaProcessingCompleted,\n onMediaProcessingFailed: STORAGE_EVENT_TYPE.MediaProcessingFailed,\n\n // Security events\n onVirusDetected: STORAGE_EVENT_TYPE.VirusDetected,\n onVirusScanCompleted: STORAGE_EVENT_TYPE.VirusScanCompleted,\n\n // Adapter events\n onAdapterHealthCheck: STORAGE_EVENT_TYPE.AdapterHealthCheck,\n onAdapterFailed: STORAGE_EVENT_TYPE.AdapterFailed,\n\n // Compliance events\n onRetentionPolicyApplied: STORAGE_EVENT_TYPE.RetentionPolicyApplied,\n onFileMarkedForDeletion: STORAGE_EVENT_TYPE.FileMarkedForDeletion,\n onImmutabilityEnforced: STORAGE_EVENT_TYPE.ImmutabilityEnforced,\n\n // File operations events\n onFileReplaced: STORAGE_EVENT_TYPE.FileReplaced,\n onFileReplaceFailed: STORAGE_EVENT_TYPE.FileReplaceFailed,\n onFileMoved: STORAGE_EVENT_TYPE.FileMoved,\n onFileMoveFailed: STORAGE_EVENT_TYPE.FileMoveFailed,\n onFileCopied: STORAGE_EVENT_TYPE.FileCopied,\n onFileCopyFailed: STORAGE_EVENT_TYPE.FileCopyFailed,\n\n // Audit events\n onAuditLogCreated: STORAGE_EVENT_TYPE.AuditLogCreated,\n\n // Queue events\n onQueueStarted: STORAGE_EVENT_TYPE.QueueStarted,\n onQueueStopped: STORAGE_EVENT_TYPE.QueueStopped,\n onOperationProcessing: STORAGE_EVENT_TYPE.OperationProcessing,\n onOperationCompleted: STORAGE_EVENT_TYPE.OperationCompleted,\n onOperationRetry: STORAGE_EVENT_TYPE.OperationRetry,\n onOperationFailed: STORAGE_EVENT_TYPE.OperationFailed,\n\n // Error events\n onStorageError: STORAGE_EVENT_TYPE.StorageError,\n } as const;\n\n/**\n * Webhook event type to internal storage event mapping\n *\n * Maps external webhook event types to internal StorageEventType enums\n * Used by WebhookManager to emit the correct storage events\n */\nexport const WEBHOOK_EVENT_TYPE_MAPPING: Record<\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE],\n STORAGE_EVENT_TYPE\n> = {\n 'object.created': STORAGE_EVENT_TYPE.FileUploaded,\n 'object.updated': STORAGE_EVENT_TYPE.FileUpdated,\n 'object.deleted': STORAGE_EVENT_TYPE.FileDeleted,\n 'object.restored': STORAGE_EVENT_TYPE.FileRestored,\n 'object.archived': STORAGE_EVENT_TYPE.FileArchived,\n 'transcode.complete': STORAGE_EVENT_TYPE.TranscodeComplete,\n 'transcode.failed': STORAGE_EVENT_TYPE.TranscodeFailed,\n 'transcode.progress': STORAGE_EVENT_TYPE.TranscodeProgress,\n 'thumbnail.complete': STORAGE_EVENT_TYPE.ThumbnailGenerated,\n 'image.optimization.complete': STORAGE_EVENT_TYPE.ImageOptimized,\n 'cdn.invalidation.complete': STORAGE_EVENT_TYPE.CdnInvalidated,\n 'cdn.invalidation.failed': STORAGE_EVENT_TYPE.CdnInvalidationFailed,\n 'checksum.mismatch': STORAGE_EVENT_TYPE.IntegrityCheckFailed,\n 'object.corrupted': STORAGE_EVENT_TYPE.CorruptionDetected,\n 'quota.warning': STORAGE_EVENT_TYPE.QuotaWarning,\n 'quota.exceeded': STORAGE_EVENT_TYPE.QuotaExceeded,\n} as const;\n\n/**\n * Reverse mapping from StorageEventType enum values to camelCase handler names\n *\n * Useful for generating handler names from event types, documentation, etc.\n *\n * @example\n * ```typescript\n * import { STORAGE_EVENT_TYPE_TO_HANDLER_NAME } from '@plyaz/types';\n *\n * // Get handler name from event type\n * const handlerName = STORAGE_EVENT_TYPE_TO_HANDLER_NAME[STORAGE_EVENT_TYPE.FileUploaded];\n * // Returns: 'onFileUploaded'\n * ```\n */\nexport const STORAGE_EVENT_TYPE_TO_HANDLER_NAME: Record<\n STORAGE_EVENT_TYPE,\n keyof StorageEventHandlers\n> = Object.entries(STORAGE_EVENT_HANDLER_MAPPING).reduce(\n (acc, [handlerName, eventType]) => {\n acc[eventType] = handlerName as keyof StorageEventHandlers;\n return acc;\n },\n {} as Record<STORAGE_EVENT_TYPE, keyof StorageEventHandlers>\n);\n\n/**\n * Type-safe helper to get all handler names\n */\nexport type StorageEventHandlerName = keyof StorageEventHandlers;\nexport type StorageWebhookEventHandlerName =\n (typeof STORAGE_WEBHOOK_EVENT_TYPE)[keyof typeof STORAGE_WEBHOOK_EVENT_TYPE];\n\n/**\n * Type-safe helper to get all event types that have handlers\n */\nexport type MappedStorageEventType =\n (typeof STORAGE_EVENT_HANDLER_MAPPING)[StorageEventHandlerName];\nexport type MappedStorageWebhookEventType =\n (typeof WEBHOOK_EVENT_TYPE_MAPPING)[StorageWebhookEventHandlerName];\n","/**\n * Storage Package Zod Schemas\n * @module @plyaz/types/storage/schemas\n *\n * Validation schemas for storage webhooks and other features\n */\n\nimport { z } from 'zod';\n\n/**\n * Maximum progress percentage (0-100)\n */\nconst MAX_PROGRESS_PERCENTAGE = 100;\n\n/**\n * Storage media processing job status\n */\nexport enum STORAGE_PROCESSING_STATUS {\n Queued = 'queued',\n Processing = 'processing',\n Completed = 'completed',\n Failed = 'failed',\n}\n\n/**\n * Storage media processing output schema\n */\nexport const StorageProcessingOutputSchema = z.object({\n url: z.string().url(),\n format: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n duration: z.number().optional(),\n size: z.number(),\n bitrate: z.number().optional(),\n codec: z.string().optional(),\n});\n\nexport type StorageProcessingOutput = z.infer<typeof StorageProcessingOutputSchema>;\n\n/**\n * Storage media processing webhook payload schema\n */\nexport const StorageMediaProcessingPayloadSchema = z.object({\n jobId: z.string(),\n status: z.nativeEnum(STORAGE_PROCESSING_STATUS),\n input: z.object({\n url: z.string().url(),\n objectKey: z.string(),\n bucket: z.string().optional(),\n }),\n output: z\n .object({\n primary: StorageProcessingOutputSchema.optional(),\n thumbnail: StorageProcessingOutputSchema.optional(),\n variants: z.array(StorageProcessingOutputSchema).optional(),\n })\n .optional(),\n metadata: z\n .object({\n duration: z.number().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n format: z.string().optional(),\n codec: z.string().optional(),\n })\n .optional(),\n progress: z.number().min(0).max(MAX_PROGRESS_PERCENTAGE).optional(),\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n details: z.record(z.string(), z.unknown()).optional(),\n })\n .optional(),\n timestamp: z.union([z.string(), z.number()]),\n provider: z.string().optional(),\n});\n\nexport type StorageMediaProcessingPayload = z.infer<typeof StorageMediaProcessingPayloadSchema>;\n\n/**\n * ============================================================================\n * Cloudflare R2 Webhook Schemas\n * ============================================================================\n * S3-compatible event notifications\n * https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-content-structure.html\n */\nexport const R2EventRecordSchema = z.object({\n eventVersion: z.string(), // \"2.1\"\n eventSource: z.string(), // \"aws:s3\" or \"cloudflare:r2\"\n awsRegion: z.string().optional(), // R2 may not include this\n eventTime: z.string(), // ISO 8601 timestamp\n eventName: z.string(), // e.g., \"ObjectCreated:Put\", \"ObjectRemoved:Delete\"\n userIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n requestParameters: z\n .object({\n sourceIPAddress: z.string(),\n })\n .optional(),\n responseElements: z\n .object({\n 'x-amz-request-id': z.string().optional(),\n 'x-amz-id-2': z.string().optional(),\n })\n .optional(),\n s3: z.object({\n s3SchemaVersion: z.string(), // \"1.0\"\n configurationId: z.string().optional(),\n bucket: z.object({\n name: z.string(), // Bucket name\n ownerIdentity: z\n .object({\n principalId: z.string(),\n })\n .optional(),\n arn: z.string().optional(),\n }),\n object: z.object({\n key: z.string(), // Object key\n size: z.number().optional(), // File size in bytes\n eTag: z.string().optional(), // Entity tag\n versionId: z.string().optional(),\n sequencer: z.string().optional(),\n }),\n }),\n});\n\nexport const R2WebhookPayloadSchema = z.object({\n Records: z.array(R2EventRecordSchema),\n});\n\nexport type R2WebhookPayload = z.infer<typeof R2WebhookPayloadSchema>;\nexport type R2EventRecord = z.infer<typeof R2EventRecordSchema>;\n\n/**\n * ============================================================================\n * Supabase Storage Webhook Schemas\n * ============================================================================\n * Database webhook events from storage.objects table\n */\nexport const SupabaseStorageObjectSchema = z.object({\n id: z.uuid(), // Object UUID\n bucket_id: z.string(), // Bucket name\n name: z.string(), // Object path/key\n owner: z.uuid().optional().nullable(), // Owner UUID\n created_at: z.string(), // ISO timestamp\n updated_at: z.string().optional().nullable(), // ISO timestamp\n last_accessed_at: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(), // Custom metadata\n version: z.string().optional().nullable(),\n owner_id: z.string().optional().nullable(),\n});\n\nexport const SupabaseWebhookPayloadSchema = z.object({\n type: z.enum(['INSERT', 'UPDATE', 'DELETE']), // Database event type\n table: z.literal('objects'), // Always 'objects' for storage\n schema: z.literal('storage'), // Always 'storage'\n record: SupabaseStorageObjectSchema.optional().nullable(), // New/updated record\n old_record: SupabaseStorageObjectSchema.optional().nullable(), // Old record (for UPDATE/DELETE)\n});\n\nexport type SupabaseWebhookPayload = z.infer<typeof SupabaseWebhookPayloadSchema>;\nexport type SupabaseStorageObject = z.infer<typeof SupabaseStorageObjectSchema>;\n\n/**\n * ============================================================================\n * Template Variable Schemas\n * ============================================================================\n * Validation schemas for template variable definitions\n */\n\n/**\n * Template variable types enum for schema validation\n */\nexport enum TEMPLATE_VARIABLE_TYPE_SCHEMA {\n STRING = 'string',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n EMAIL = 'email',\n PHONE = 'phone',\n URL = 'url',\n CURRENCY = 'currency',\n PERCENTAGE = 'percentage',\n ARRAY = 'array',\n OBJECT = 'object',\n RICHTEXT = 'richtext',\n IMAGE = 'image',\n SELECT = 'select',\n MULTISELECT = 'multiselect',\n}\n\n/**\n * Template document types enum for schema validation\n */\nexport enum TEMPLATE_DOCUMENT_TYPE_SCHEMA {\n SIMPLE = 'simple',\n FINANCIAL = 'financial',\n LEGAL = 'legal',\n REPORT = 'report',\n FORM = 'form',\n LETTER = 'letter',\n CERTIFICATE = 'certificate',\n}\n\n/**\n * Template variable validation schema\n */\nexport const TemplateVariableValidationSchema = z.object({\n required: z.boolean().optional(),\n pattern: z.string().optional(),\n patternMessage: z.string().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n minLength: z.number().min(0).optional(),\n maxLength: z.number().min(0).optional(),\n enum: z.array(z.string()).optional(),\n dateFormat: z.string().optional(),\n minDate: z.string().optional(),\n maxDate: z.string().optional(),\n errorMessage: z.string().optional(),\n});\n\nexport type TemplateVariableValidationType = z.infer<typeof TemplateVariableValidationSchema>;\n\n/**\n * Template variable option schema (for select/multiselect)\n */\nexport const TemplateVariableOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n});\n\nexport type TemplateVariableOptionType = z.infer<typeof TemplateVariableOptionSchema>;\n\n/**\n * Base template variable definition schema (without recursive properties)\n */\nconst BaseTemplateVariableDefinitionSchema = z.object({\n name: z\n .string()\n .min(1)\n .regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/, 'Variable name must be alphanumeric with underscores'),\n type: z.nativeEnum(TEMPLATE_VARIABLE_TYPE_SCHEMA),\n label: z.string().optional(),\n description: z.string().optional(),\n defaultValue: z.unknown().optional(),\n placeholder: z.string().optional(),\n validation: TemplateVariableValidationSchema.optional(),\n options: z.array(TemplateVariableOptionSchema).optional(),\n group: z.string().optional(),\n order: z.number().int().min(0).optional(),\n hidden: z.boolean().optional(),\n readOnly: z.boolean().optional(),\n showIf: z.string().optional(),\n});\n\n/**\n * Template variable definition schema (with recursive properties support)\n * Note: Due to Zod limitations with recursive types, we use z.lazy()\n */\nexport const TemplateVariableDefinitionSchema: z.ZodType<{\n name: string;\n type: TEMPLATE_VARIABLE_TYPE_SCHEMA;\n label?: string;\n description?: string;\n defaultValue?: unknown;\n placeholder?: string;\n validation?: TemplateVariableValidationType;\n items?: unknown;\n properties?: unknown[];\n options?: TemplateVariableOptionType[];\n group?: string;\n order?: number;\n hidden?: boolean;\n readOnly?: boolean;\n showIf?: string;\n}> = BaseTemplateVariableDefinitionSchema.extend({\n items: z.lazy(() => TemplateVariableDefinitionSchema).optional(),\n properties: z.lazy(() => z.array(TemplateVariableDefinitionSchema)).optional(),\n});\n\nexport type TemplateVariableDefinitionType = z.infer<typeof TemplateVariableDefinitionSchema>;\n\n/**\n * Variable group schema for UI organization\n */\nexport const TemplateVariableGroupSchema = z.object({\n name: z.string().min(1),\n label: z.string().min(1),\n description: z.string().optional(),\n collapsed: z.boolean().optional(),\n});\n\nexport type TemplateVariableGroupType = z.infer<typeof TemplateVariableGroupSchema>;\n\n/**\n * Calculations configuration schema\n */\nexport const TemplateCalculationsConfigSchema = z.object({\n enabled: z.boolean(),\n taxField: z.string().optional(),\n discountField: z.string().optional(),\n shippingField: z.string().optional(),\n itemsField: z.string().optional(),\n});\n\nexport type TemplateCalculationsConfigType = z.infer<typeof TemplateCalculationsConfigSchema>;\n\n/**\n * Extended template frontmatter schema with variable definitions\n */\nexport const TemplateVariablesFrontmatterSchema = z.object({\n documentType: z.nativeEnum(TEMPLATE_DOCUMENT_TYPE_SCHEMA).optional(),\n calculations: TemplateCalculationsConfigSchema.optional(),\n variables: z.array(TemplateVariableDefinitionSchema).optional(),\n variableGroups: z.array(TemplateVariableGroupSchema).optional(),\n});\n\nexport type TemplateVariablesFrontmatterType = z.infer<typeof TemplateVariablesFrontmatterSchema>;\n\n/**\n * Validation result schema\n */\nexport const TemplateVariableValidationResultSchema = z.object({\n valid: z.boolean(),\n errors: z.record(z.string(), z.array(z.string())),\n warnings: z.record(z.string(), z.array(z.string())).optional(),\n coercedValues: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type TemplateVariableValidationResultType = z.infer<\n typeof TemplateVariableValidationResultSchema\n>;\n"]}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Storage Package Types
|
|
3
3
|
* @module @plyaz/types/storage
|
|
4
4
|
*/
|
|
5
|
-
export { ADAPTER_HEALTH_STATUS, ENTITY_TYPE, FILE_ACCESS_LEVEL, FILE_CATEGORY, FILE_VALIDATION_ERROR, MEDIA_VARIANT_TYPE, OUTPUT_FORMAT, PATH_GENERATION_STRATEGY, STORAGE_RENDERER_TYPE, RETRY_STRATEGY, STORAGE_ADAPTER_TYPE, STORAGE_EVENT_TYPE, STORAGE_QUEUE_PRIORITY, TEMPLATE_OUTPUT_FORMAT, DOCUMENT_TYPE, MEDIA_ENTITY, STORAGE_VISIBILITY, STORAGE_ENVIRONMENT, BUSINESS_MODEL, ORGANIZATION_TIER, BUCKET_PURPOSE, PATH_STRATEGY, UPLOAD_STATUS, STORAGE_JURISDICTION, STORAGE_REGULATORY_FRAMEWORK, STORAGE_PLUGIN_TYPE, STORAGE_WEBHOOK_EVENT_TYPE, STORAGE_OPERATION, STORAGE_SIGNATURE_METHOD, STORAGE_DEVICE_TYPE, STORAGE_VARIANT_NAME, } from './enums';
|
|
6
|
-
export type { AdapterHealthCheck, BaseStorageAdapterConfig, BucketConfiguration, BucketRouterConfig, CompliancePathOptions, CloudflareR2Config, CorsConfig, CustomAdapterConfig, DeleteParams, DownloadParams, DownloadResult, FileDeleteResult, FileMetadata, FileValidationResult, GeneralPathOptions, MediaPathOptions, MediaProcessingOptions, MockAdapterConfig, PathGenerationConfig, PDFRenderOptions, PresignedUrlOptions, PresignedUrlResult, StorageExcelRenderOptions, StorageWordRenderOptions, StorageFileOperationType, StorageQueueProcessFunction, StorageQueuedOperation, QueueItem, StorageQueueStatistics, RetentionPolicy, RoutingCondition, RoutingDecision, RoutingRule, ShareLinkConfig, StorageApiClientConfig, StorageCategory, StorageComplianceRule, StorageEventPayload, StorageEventHandlers, StorageLayoutConfig, StorageRenderOptions, StorageRendererAdapterConfig, StorageRendererHealthCheck, StorageRenderResult, StorageResult, StorageQueueConfig, StorageRetryConfig, StorageServiceConfig, StorageTemplateCacheEntry, StorageTemplateEngineConfig, StorageTemplateFrontmatter, StorageTemplateRenderResult, StorageTranslationService, SupabaseStorageConfig, TemplateConfig, TemplateService, UploadParams, UploadProgressEvent, UploadResult, ValidationRule, MultipartUploadPart, BucketDeletionResult, BucketPurposeValidationRules, StorageValidationConfig, StorageAdapterRegistryConfig, StorageEventManagerConfig, StorageQueueProcessorConfig, StorageComplianceManagerConfig, StorageRendererRegistryConfig, StorageLayoutEngineConfig, StorageAppliedLayout, StorageTranslationServiceConfig, FileSystemTemplateServiceConfig, StorageDocxTemplaterRendererConfig, StorageWordDocumentData, StoragePlaywrightRendererConfig, StoragePDFKitRendererConfig, StoragePDFKitDocumentData, StorageExcelJSRendererConfig, StorageExcelData, StoragePuppeteerRendererConfig, StorageMediaProcessingWebhookConfig, StorageRetryOptions, StorageHashPathOptions, StorageEntityPathOptions, StorageDatePathOptions, StorageCategoryPathOptions, StorageFlatPathOptions, StorageTemplateVariables, StorageSignedUrlOptions, StorageVerificationResult, StorageEventCallback, StoragePathHashAlgorithm, StorageHashAlgorithm, StorageSignedUrlPermission, StorageAdapterCapability, StorageVariantConfig, StoragePresetConfig, StorageResolvedVariant, StoragePresetManagerConfig, StorageResolveVariantsOptions, StorageBucketDeletionResult, StorageChunkExtractionResult, StorageChunkUploadPartResult, StorageBucketInfo, StorageCopyFileParams, StorageListBucketsResult, StorageListFilesParams, StorageListFilesResult, StorageMoveFileParams, StoragePublicUrlParams, StorageReplaceFileParams, StorageSignedUploadUrlParams, StorageSignedUploadUrlResult, StorageUpdateBucketParams, GenerateFileParams, GenerateFileToPathParams, GenerateFileToPathResult, UpdateFileParams, } from './interfaces';
|
|
5
|
+
export { ADAPTER_HEALTH_STATUS, ENTITY_TYPE, FILE_ACCESS_LEVEL, FILE_CATEGORY, FILE_VALIDATION_ERROR, MEDIA_VARIANT_TYPE, OUTPUT_FORMAT, PATH_GENERATION_STRATEGY, STORAGE_RENDERER_TYPE, RETRY_STRATEGY, STORAGE_ADAPTER_TYPE, STORAGE_EVENT_TYPE, STORAGE_QUEUE_PRIORITY, TEMPLATE_OUTPUT_FORMAT, DOCUMENT_TYPE, MEDIA_ENTITY, STORAGE_VISIBILITY, STORAGE_ENVIRONMENT, BUSINESS_MODEL, ORGANIZATION_TIER, BUCKET_PURPOSE, PATH_STRATEGY, UPLOAD_STATUS, STORAGE_JURISDICTION, STORAGE_REGULATORY_FRAMEWORK, STORAGE_PLUGIN_TYPE, STORAGE_WEBHOOK_EVENT_TYPE, STORAGE_OPERATION, STORAGE_SIGNATURE_METHOD, STORAGE_DEVICE_TYPE, STORAGE_VARIANT_NAME, TEMPLATE_VARIABLE_TYPE, TEMPLATE_DOCUMENT_TYPE, } from './enums';
|
|
6
|
+
export type { AdapterHealthCheck, BaseStorageAdapterConfig, BucketConfiguration, BucketRouterConfig, CompliancePathOptions, CloudflareR2Config, CorsConfig, CustomAdapterConfig, DeleteParams, DownloadParams, DownloadResult, FileDeleteResult, FileMetadata, FileValidationResult, GeneralPathOptions, MediaPathOptions, MediaProcessingOptions, MockAdapterConfig, PathGenerationConfig, PDFRenderOptions, PresignedUrlOptions, PresignedUrlResult, StorageExcelRenderOptions, StorageWordRenderOptions, StorageFileOperationType, StorageQueueProcessFunction, StorageQueuedOperation, QueueItem, StorageQueueStatistics, RetentionPolicy, RoutingCondition, RoutingDecision, RoutingRule, ShareLinkConfig, StorageApiClientConfig, StorageCategory, StorageComplianceRule, StorageEventPayload, StorageEventHandlers, StorageLayoutConfig, StorageRenderOptions, StorageRendererAdapterConfig, StorageRendererHealthCheck, StorageRenderResult, StorageResult, StorageQueueConfig, StorageRetryConfig, StorageServiceConfig, StorageTemplateCacheEntry, StorageTemplateEngineConfig, StorageTemplateFrontmatter, StorageTemplateRenderResult, StorageTranslationService, SupabaseStorageConfig, TemplateConfig, TemplateService, UploadParams, UploadProgressEvent, UploadResult, ValidationRule, MultipartUploadPart, BucketDeletionResult, BucketPurposeValidationRules, StorageValidationConfig, StorageAdapterRegistryConfig, StorageEventManagerConfig, StorageQueueProcessorConfig, StorageComplianceManagerConfig, StorageRendererRegistryConfig, StorageLayoutEngineConfig, StorageAppliedLayout, StorageTranslationServiceConfig, FileSystemTemplateServiceConfig, StorageDocxTemplaterRendererConfig, StorageWordDocumentData, StoragePlaywrightRendererConfig, StoragePDFKitRendererConfig, StoragePDFKitDocumentData, StorageExcelJSRendererConfig, StorageExcelData, StoragePuppeteerRendererConfig, StorageMediaProcessingWebhookConfig, StorageRetryOptions, StorageHashPathOptions, StorageEntityPathOptions, StorageDatePathOptions, StorageCategoryPathOptions, StorageFlatPathOptions, StorageTemplateVariables, StorageSignedUrlOptions, StorageVerificationResult, StorageEventCallback, StoragePathHashAlgorithm, StorageHashAlgorithm, StorageSignedUrlPermission, StorageAdapterCapability, StorageVariantConfig, StoragePresetConfig, StorageResolvedVariant, StoragePresetManagerConfig, StorageResolveVariantsOptions, StorageBucketDeletionResult, StorageChunkExtractionResult, StorageChunkUploadPartResult, StorageBucketInfo, StorageCopyFileParams, StorageListBucketsResult, StorageListFilesParams, StorageListFilesResult, StorageMoveFileParams, StoragePublicUrlParams, StorageReplaceFileParams, StorageSignedUploadUrlParams, StorageSignedUploadUrlResult, StorageUpdateBucketParams, GenerateFileParams, GenerateFileToPathParams, GenerateFileToPathResult, UpdateFileParams, TemplateVariableValidation, TemplateVariableDefinition, TemplateVariableValidationResult, TemplateVariablesFrontmatter, CustomValidationSchema, TemplateValidationOptions, StorageTemplateRenderResultWithValidation, StorageTemplateValidationDataResult, StorageTemplateRenderToHtmlOptions, StorageTemplateBuildMetadataOptions, StorageTemplateTypeCoercionResult, StorageTemplateInvoiceLineItem, StorageTemplateInvoiceTotalOptions, StorageTemplateInvoiceTotalArgs, } from './interfaces';
|
|
7
7
|
export { STORAGE_EVENT_HANDLER_MAPPING, STORAGE_EVENT_TYPE_TO_HANDLER_NAME, WEBHOOK_EVENT_TYPE_MAPPING, } from './event-handler-mapping';
|
|
8
8
|
export type { StorageEventHandlerName, MappedStorageEventType } from './event-handler-mapping';
|
|
9
9
|
export type { StorageRetentionPolicyType, StorageRetentionStrategy, StorageImmutabilityStrategy, StorageDeletionReason, StorageRetentionPolicy, StorageComplianceConfig, StorageComplianceCheckResult, StorageDeleteComplianceOptions, StorageBulkDeleteResult, StorageComplianceEventMetadata, StorageSoftDeleteMetadata, StorageJurisdictionContext, } from './compliance';
|
|
10
10
|
export type { StoragePlugin, StoragePluginConfig, BasePluginConfig, PluginStorageAdapterInterface, StoragePluginContext, StoragePluginFile, StoragePluginUploadResult, StoragePluginDeleteResult, StoragePluginAccessEvent, StoragePluginHealth, StoragePluginExecutionResult, StoragePluginExecutionOptions, StorageKnownPluginName, PluginRegistryConfig, BeforeUploadResult, BeforeDeleteResult, VirusScanResult, VirusThreat, VirusScanProviderConfig, VirusScanProvider, VirusScanPluginConfig, VirusTotalProviderConfig, ClamAVProviderConfig, ImageVariant, WatermarkConfig, SharpImagePluginConfig, StorageImageProcessingPluginStatistics, VideoResolution, ThumbnailConfig, HLSConfig, FFmpegVideoPluginConfig, StorageVideoProcessingPluginStatistics, ExtractedMetadata, MetadataExtractionPluginConfig, StorageMetadataExtractionPluginStatistics, CDNProviderType, BaseCDNProviderConfig, CloudflareCDNConfig, CloudflareCDNPluginConfig, CloudFrontCDNConfig, CloudFrontCDNPluginConfig, FastlyCDNConfig, FastlyCDNPluginConfig, CDNProviderConfig, CDNInvalidationPluginConfig, CDNInvalidationResult, StorageCDNPluginStatistics, FFprobeData, FFprobeStream, FFprobeFormat, FFmpegProgress, FFmpegOptions, ScreenshotOptions, } from './plugins';
|
|
11
11
|
export type { StorageWebhookPayload, ProcessedStorageWebhookEvent, StorageWebhookVerificationResult, StorageWebhookProcessingResult, StorageBaseWebhookAdapterConfig, StorageWebhookSecurityConfig, StorageWebhookAdapter, StorageWebhookManagerConfig, StorageWebhookMiddleware, StorageWebhookRetryConfig, StorageIdempotencyRecord, StorageExternalIdempotencyStore, CloudflareR2WebhookConfig, SupabaseStorageWebhookConfig, } from './webhooks';
|
|
12
|
-
export { STORAGE_PROCESSING_STATUS, StorageProcessingOutputSchema, StorageMediaProcessingPayloadSchema, R2EventRecordSchema, R2WebhookPayloadSchema, SupabaseStorageObjectSchema, SupabaseWebhookPayloadSchema, } from './schemas';
|
|
13
|
-
export type { StorageProcessingOutput, StorageMediaProcessingPayload, R2WebhookPayload, R2EventRecord, SupabaseWebhookPayload, SupabaseStorageObject, } from './schemas';
|
|
12
|
+
export { STORAGE_PROCESSING_STATUS, StorageProcessingOutputSchema, StorageMediaProcessingPayloadSchema, R2EventRecordSchema, R2WebhookPayloadSchema, SupabaseStorageObjectSchema, SupabaseWebhookPayloadSchema, TEMPLATE_VARIABLE_TYPE_SCHEMA, TEMPLATE_DOCUMENT_TYPE_SCHEMA, TemplateVariableValidationSchema, TemplateVariableOptionSchema, TemplateVariableDefinitionSchema, TemplateVariableGroupSchema, TemplateCalculationsConfigSchema, TemplateVariablesFrontmatterSchema, TemplateVariableValidationResultSchema, } from './schemas';
|
|
13
|
+
export type { StorageProcessingOutput, StorageMediaProcessingPayload, R2WebhookPayload, R2EventRecord, SupabaseWebhookPayload, SupabaseStorageObject, TemplateVariableValidationType, TemplateVariableOptionType, TemplateVariableDefinitionType, TemplateVariableGroupType, TemplateCalculationsConfigType, TemplateVariablesFrontmatterType, TemplateVariableValidationResultType, } from './schemas';
|