@plyaz/types 1.36.0 → 1.36.2

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.
Files changed (44) hide show
  1. package/dist/api/index.cjs +199 -1
  2. package/dist/api/index.cjs.map +1 -1
  3. package/dist/api/index.js +199 -1
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/auth/index.cjs +1 -2
  6. package/dist/auth/index.cjs.map +1 -1
  7. package/dist/auth/index.js +1 -2
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/campaign/schemas.d.ts +1 -1
  10. package/dist/core/domain/files/enums.d.ts +36 -0
  11. package/dist/core/domain/files/index.d.ts +4 -1
  12. package/dist/core/domain/files/schemas.d.ts +14 -21
  13. package/dist/core/domain/files/streaming.d.ts +167 -0
  14. package/dist/core/events/index.d.ts +2 -0
  15. package/dist/core/events/streaming/index.d.ts +18 -0
  16. package/dist/core/events/streaming/responses.d.ts +164 -0
  17. package/dist/core/events/streaming/types.d.ts +408 -0
  18. package/dist/core/frontend/index.d.ts +1 -1
  19. package/dist/core/frontend/types.d.ts +179 -5
  20. package/dist/core/index.cjs +221 -0
  21. package/dist/core/index.cjs.map +1 -1
  22. package/dist/core/index.d.ts +1 -1
  23. package/dist/core/index.js +192 -1
  24. package/dist/core/index.js.map +1 -1
  25. package/dist/core/init/index.d.ts +1 -1
  26. package/dist/core/init/types.d.ts +51 -0
  27. package/dist/errors/codes.d.ts +47 -0
  28. package/dist/errors/enums.d.ts +1 -0
  29. package/dist/errors/index.cjs +231 -1
  30. package/dist/errors/index.cjs.map +1 -1
  31. package/dist/errors/index.js +231 -2
  32. package/dist/errors/index.js.map +1 -1
  33. package/dist/errors/types.d.ts +15 -0
  34. package/dist/index.cjs +450 -1
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.js +420 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/store/files/index.d.ts +1 -1
  39. package/dist/store/files/types.d.ts +47 -1
  40. package/dist/store/index.d.ts +1 -0
  41. package/dist/store/stream/index.d.ts +9 -0
  42. package/dist/store/stream/types.d.ts +294 -0
  43. package/dist/store/types.d.ts +3 -0
  44. package/package.json +1 -1
@@ -736,3 +736,18 @@ export interface SanitizeConfig {
736
736
  */
737
737
  limitComplexTypes?: boolean;
738
738
  }
739
+ /**
740
+ * Options for creating stream errors (SSE/WebSocket)
741
+ */
742
+ export interface StreamErrorOptions {
743
+ /** Error context */
744
+ context?: BaseErrorContext;
745
+ /** Original error */
746
+ cause?: Error;
747
+ /** Additional metadata */
748
+ metadata?: Record<string, string | number | boolean | null>;
749
+ /** Correlation ID */
750
+ correlationId?: string;
751
+ /** HTTP status code override */
752
+ statusCode?: number;
753
+ }
package/dist/index.cjs CHANGED
@@ -278,6 +278,7 @@ var ERROR_EXCEPTIONS_NAMESPACES = {
278
278
  TESTING: "testing",
279
279
  CORE: "core",
280
280
  STORE: "store",
281
+ STREAM: "stream",
281
282
  WEB3: "web3",
282
283
  MONITORING: "monitoring",
283
284
  HOOKS: "hooks",
@@ -1160,7 +1161,36 @@ var ERROR_CODES = {
1160
1161
  NONCE_EXPIRED: "AUTH_NONCE_EXPIRED",
1161
1162
  NONCE_ALREADY_USED: "AUTH_NONCE_ALREADY_USED",
1162
1163
  ACCOUNT_LOCKED: "AUTH_ACCOUNT_LOCKED",
1163
- ACCOUNT_SUSPENDED: "AUTH_ACCOUNT_SUSPENDED"
1164
+ ACCOUNT_SUSPENDED: "AUTH_ACCOUNT_SUSPENDED",
1165
+ // ===== Streaming Errors =====
1166
+ // Connection
1167
+ STREAM_CONNECTION_FAILED: "stream.connection.failed",
1168
+ STREAM_CONNECTION_TIMEOUT: "stream.connection.timeout",
1169
+ STREAM_CONNECTION_CLOSED: "stream.connection.closed",
1170
+ // Channel
1171
+ STREAM_CHANNEL_NOT_FOUND: "stream.channel.not_found",
1172
+ STREAM_CHANNEL_FORBIDDEN: "stream.channel.forbidden",
1173
+ STREAM_SUBSCRIPTION_FAILED: "stream.subscription.failed",
1174
+ STREAM_UNSUBSCRIBE_FAILED: "stream.unsubscribe.failed",
1175
+ // Broadcasting
1176
+ STREAM_BROADCAST_FAILED: "stream.broadcast.failed",
1177
+ STREAM_INVALID_MESSAGE: "stream.invalid.message",
1178
+ STREAM_MESSAGE_TOO_LARGE: "stream.message.too_large",
1179
+ // Transport
1180
+ STREAM_TRANSPORT_ERROR: "stream.transport.error",
1181
+ STREAM_TRANSPORT_NOT_SUPPORTED: "stream.transport.not_supported",
1182
+ // Authentication
1183
+ STREAM_AUTH_REQUIRED: "stream.auth.required",
1184
+ STREAM_AUTH_FAILED: "stream.auth.failed",
1185
+ STREAM_TOKEN_EXPIRED: "stream.token.expired",
1186
+ // Rate Limiting
1187
+ STREAM_RATE_LIMITED: "stream.rate_limited",
1188
+ // Endpoint
1189
+ STREAM_ENDPOINT_NOT_FOUND: "stream.endpoint.not_found",
1190
+ STREAM_ENDPOINT_DISABLED: "stream.endpoint.disabled",
1191
+ // General
1192
+ STREAM_UNKNOWN_ERROR: "stream.unknown.error",
1193
+ STREAM_INITIALIZATION_FAILED: "stream.initialization.failed"
1164
1194
  };
1165
1195
  var API_ERROR_CODES = {
1166
1196
  CLIENT_INITIALIZATION_FAILED: ERROR_CODES.CLIENT_INITIALIZATION_FAILED,
@@ -1741,6 +1771,36 @@ var DATABASE_ERROR_CODES = {
1741
1771
  NOT_FOUND: ERROR_CODES.DB_RECORD_NOT_FOUND,
1742
1772
  UNKNOWN_ERROR: ERROR_CODES.DB_UNKNOWN_ERROR
1743
1773
  };
1774
+ var STREAM_ERROR_CODES = {
1775
+ // Connection
1776
+ CONNECTION_FAILED: ERROR_CODES.STREAM_CONNECTION_FAILED,
1777
+ CONNECTION_TIMEOUT: ERROR_CODES.STREAM_CONNECTION_TIMEOUT,
1778
+ CONNECTION_CLOSED: ERROR_CODES.STREAM_CONNECTION_CLOSED,
1779
+ // Channel
1780
+ CHANNEL_NOT_FOUND: ERROR_CODES.STREAM_CHANNEL_NOT_FOUND,
1781
+ CHANNEL_FORBIDDEN: ERROR_CODES.STREAM_CHANNEL_FORBIDDEN,
1782
+ SUBSCRIPTION_FAILED: ERROR_CODES.STREAM_SUBSCRIPTION_FAILED,
1783
+ UNSUBSCRIBE_FAILED: ERROR_CODES.STREAM_UNSUBSCRIBE_FAILED,
1784
+ // Broadcasting
1785
+ BROADCAST_FAILED: ERROR_CODES.STREAM_BROADCAST_FAILED,
1786
+ INVALID_MESSAGE: ERROR_CODES.STREAM_INVALID_MESSAGE,
1787
+ MESSAGE_TOO_LARGE: ERROR_CODES.STREAM_MESSAGE_TOO_LARGE,
1788
+ // Transport
1789
+ TRANSPORT_ERROR: ERROR_CODES.STREAM_TRANSPORT_ERROR,
1790
+ TRANSPORT_NOT_SUPPORTED: ERROR_CODES.STREAM_TRANSPORT_NOT_SUPPORTED,
1791
+ // Authentication
1792
+ AUTH_REQUIRED: ERROR_CODES.STREAM_AUTH_REQUIRED,
1793
+ AUTH_FAILED: ERROR_CODES.STREAM_AUTH_FAILED,
1794
+ TOKEN_EXPIRED: ERROR_CODES.STREAM_TOKEN_EXPIRED,
1795
+ // Rate Limiting
1796
+ RATE_LIMITED: ERROR_CODES.STREAM_RATE_LIMITED,
1797
+ // Endpoint
1798
+ ENDPOINT_NOT_FOUND: ERROR_CODES.STREAM_ENDPOINT_NOT_FOUND,
1799
+ ENDPOINT_DISABLED: ERROR_CODES.STREAM_ENDPOINT_DISABLED,
1800
+ // General
1801
+ UNKNOWN_ERROR: ERROR_CODES.STREAM_UNKNOWN_ERROR,
1802
+ INITIALIZATION_FAILED: ERROR_CODES.STREAM_INITIALIZATION_FAILED
1803
+ };
1744
1804
  var ERROR_DEFINITIONS = {
1745
1805
  // ===== Generic/Common Error Definitions =====
1746
1806
  [ERROR_CODES.NOT_IMPLEMENTED]: {
@@ -5817,6 +5877,175 @@ var ERROR_DEFINITIONS = {
5817
5877
  userMessage: "errors.auth.account_suspended",
5818
5878
  severity: ERROR_SEVERITY.High,
5819
5879
  retryable: false
5880
+ },
5881
+ // ===== Streaming Error Definitions =====
5882
+ // Connection
5883
+ [ERROR_CODES.STREAM_CONNECTION_FAILED]: {
5884
+ code: ERROR_CODES.STREAM_CONNECTION_FAILED,
5885
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
5886
+ category: ERROR_CATEGORY.Network,
5887
+ userMessage: "errors.stream.connection_failed",
5888
+ severity: ERROR_SEVERITY.High,
5889
+ retryable: true
5890
+ },
5891
+ [ERROR_CODES.STREAM_CONNECTION_TIMEOUT]: {
5892
+ code: ERROR_CODES.STREAM_CONNECTION_TIMEOUT,
5893
+ status: HTTP_STATUS.REQUEST_TIMEOUT,
5894
+ category: ERROR_CATEGORY.Network,
5895
+ userMessage: "errors.stream.connection_timeout",
5896
+ severity: ERROR_SEVERITY.Medium,
5897
+ retryable: true
5898
+ },
5899
+ [ERROR_CODES.STREAM_CONNECTION_CLOSED]: {
5900
+ code: ERROR_CODES.STREAM_CONNECTION_CLOSED,
5901
+ status: HTTP_STATUS.OK,
5902
+ category: ERROR_CATEGORY.Network,
5903
+ userMessage: "errors.stream.connection_closed",
5904
+ severity: ERROR_SEVERITY.Low,
5905
+ retryable: true
5906
+ },
5907
+ // Channel
5908
+ [ERROR_CODES.STREAM_CHANNEL_NOT_FOUND]: {
5909
+ code: ERROR_CODES.STREAM_CHANNEL_NOT_FOUND,
5910
+ status: HTTP_STATUS.NOT_FOUND,
5911
+ category: ERROR_CATEGORY.Validation,
5912
+ userMessage: "errors.stream.channel_not_found",
5913
+ severity: ERROR_SEVERITY.Medium,
5914
+ retryable: false
5915
+ },
5916
+ [ERROR_CODES.STREAM_CHANNEL_FORBIDDEN]: {
5917
+ code: ERROR_CODES.STREAM_CHANNEL_FORBIDDEN,
5918
+ status: HTTP_STATUS.FORBIDDEN,
5919
+ category: ERROR_CATEGORY.Authorization,
5920
+ userMessage: "errors.stream.channel_forbidden",
5921
+ severity: ERROR_SEVERITY.Medium,
5922
+ retryable: false
5923
+ },
5924
+ [ERROR_CODES.STREAM_SUBSCRIPTION_FAILED]: {
5925
+ code: ERROR_CODES.STREAM_SUBSCRIPTION_FAILED,
5926
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
5927
+ category: ERROR_CATEGORY.System,
5928
+ userMessage: "errors.stream.subscription_failed",
5929
+ severity: ERROR_SEVERITY.Medium,
5930
+ retryable: true
5931
+ },
5932
+ [ERROR_CODES.STREAM_UNSUBSCRIBE_FAILED]: {
5933
+ code: ERROR_CODES.STREAM_UNSUBSCRIBE_FAILED,
5934
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
5935
+ category: ERROR_CATEGORY.System,
5936
+ userMessage: "errors.stream.unsubscribe_failed",
5937
+ severity: ERROR_SEVERITY.Low,
5938
+ retryable: true
5939
+ },
5940
+ // Broadcasting
5941
+ [ERROR_CODES.STREAM_BROADCAST_FAILED]: {
5942
+ code: ERROR_CODES.STREAM_BROADCAST_FAILED,
5943
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
5944
+ category: ERROR_CATEGORY.System,
5945
+ userMessage: "errors.stream.broadcast_failed",
5946
+ severity: ERROR_SEVERITY.High,
5947
+ retryable: true
5948
+ },
5949
+ [ERROR_CODES.STREAM_INVALID_MESSAGE]: {
5950
+ code: ERROR_CODES.STREAM_INVALID_MESSAGE,
5951
+ status: HTTP_STATUS.BAD_REQUEST,
5952
+ category: ERROR_CATEGORY.Validation,
5953
+ userMessage: "errors.stream.invalid_message",
5954
+ severity: ERROR_SEVERITY.Medium,
5955
+ retryable: false
5956
+ },
5957
+ [ERROR_CODES.STREAM_MESSAGE_TOO_LARGE]: {
5958
+ code: ERROR_CODES.STREAM_MESSAGE_TOO_LARGE,
5959
+ status: HTTP_STATUS.PAYLOAD_TOO_LARGE,
5960
+ category: ERROR_CATEGORY.Validation,
5961
+ userMessage: "errors.stream.message_too_large",
5962
+ severity: ERROR_SEVERITY.Medium,
5963
+ retryable: false
5964
+ },
5965
+ // Transport
5966
+ [ERROR_CODES.STREAM_TRANSPORT_ERROR]: {
5967
+ code: ERROR_CODES.STREAM_TRANSPORT_ERROR,
5968
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
5969
+ category: ERROR_CATEGORY.System,
5970
+ userMessage: "errors.stream.transport_error",
5971
+ severity: ERROR_SEVERITY.High,
5972
+ retryable: true
5973
+ },
5974
+ [ERROR_CODES.STREAM_TRANSPORT_NOT_SUPPORTED]: {
5975
+ code: ERROR_CODES.STREAM_TRANSPORT_NOT_SUPPORTED,
5976
+ status: HTTP_STATUS.NOT_IMPLEMENTED,
5977
+ category: ERROR_CATEGORY.System,
5978
+ userMessage: "errors.stream.transport_not_supported",
5979
+ severity: ERROR_SEVERITY.Medium,
5980
+ retryable: false
5981
+ },
5982
+ // Authentication
5983
+ [ERROR_CODES.STREAM_AUTH_REQUIRED]: {
5984
+ code: ERROR_CODES.STREAM_AUTH_REQUIRED,
5985
+ status: HTTP_STATUS.UNAUTHORIZED,
5986
+ category: ERROR_CATEGORY.Authentication,
5987
+ userMessage: "errors.stream.auth_required",
5988
+ severity: ERROR_SEVERITY.Medium,
5989
+ retryable: false
5990
+ },
5991
+ [ERROR_CODES.STREAM_AUTH_FAILED]: {
5992
+ code: ERROR_CODES.STREAM_AUTH_FAILED,
5993
+ status: HTTP_STATUS.UNAUTHORIZED,
5994
+ category: ERROR_CATEGORY.Authentication,
5995
+ userMessage: "errors.stream.auth_failed",
5996
+ severity: ERROR_SEVERITY.Medium,
5997
+ retryable: false
5998
+ },
5999
+ [ERROR_CODES.STREAM_TOKEN_EXPIRED]: {
6000
+ code: ERROR_CODES.STREAM_TOKEN_EXPIRED,
6001
+ status: HTTP_STATUS.UNAUTHORIZED,
6002
+ category: ERROR_CATEGORY.Authentication,
6003
+ userMessage: "errors.stream.token_expired",
6004
+ severity: ERROR_SEVERITY.Medium,
6005
+ retryable: true
6006
+ },
6007
+ // Rate Limiting
6008
+ [ERROR_CODES.STREAM_RATE_LIMITED]: {
6009
+ code: ERROR_CODES.STREAM_RATE_LIMITED,
6010
+ status: HTTP_STATUS.TOO_MANY_REQUESTS,
6011
+ category: ERROR_CATEGORY.RateLimit,
6012
+ userMessage: "errors.stream.rate_limited",
6013
+ severity: ERROR_SEVERITY.Medium,
6014
+ retryable: true
6015
+ },
6016
+ // Endpoint
6017
+ [ERROR_CODES.STREAM_ENDPOINT_NOT_FOUND]: {
6018
+ code: ERROR_CODES.STREAM_ENDPOINT_NOT_FOUND,
6019
+ status: HTTP_STATUS.NOT_FOUND,
6020
+ category: ERROR_CATEGORY.System,
6021
+ userMessage: "errors.stream.endpoint_not_found",
6022
+ severity: ERROR_SEVERITY.Medium,
6023
+ retryable: false
6024
+ },
6025
+ [ERROR_CODES.STREAM_ENDPOINT_DISABLED]: {
6026
+ code: ERROR_CODES.STREAM_ENDPOINT_DISABLED,
6027
+ status: HTTP_STATUS.SERVICE_UNAVAILABLE,
6028
+ category: ERROR_CATEGORY.System,
6029
+ userMessage: "errors.stream.endpoint_disabled",
6030
+ severity: ERROR_SEVERITY.Medium,
6031
+ retryable: false
6032
+ },
6033
+ // General
6034
+ [ERROR_CODES.STREAM_UNKNOWN_ERROR]: {
6035
+ code: ERROR_CODES.STREAM_UNKNOWN_ERROR,
6036
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
6037
+ category: ERROR_CATEGORY.System,
6038
+ userMessage: "errors.stream.unknown_error",
6039
+ severity: ERROR_SEVERITY.High,
6040
+ retryable: true
6041
+ },
6042
+ [ERROR_CODES.STREAM_INITIALIZATION_FAILED]: {
6043
+ code: ERROR_CODES.STREAM_INITIALIZATION_FAILED,
6044
+ status: HTTP_STATUS.INTERNAL_SERVER_ERROR,
6045
+ category: ERROR_CATEGORY.System,
6046
+ userMessage: "errors.stream.initialization_failed",
6047
+ severity: ERROR_SEVERITY.Critical,
6048
+ retryable: true
5820
6049
  }
5821
6050
  };
5822
6051
 
@@ -6465,6 +6694,195 @@ var CORE_EVENTS = {
6465
6694
  }
6466
6695
  };
6467
6696
 
6697
+ // src/core/domain/files/enums.ts
6698
+ var SYSTEM_USER_ID = "00000000-0000-0000-0000-000000000000";
6699
+ var FILE_TYPES = {
6700
+ IMAGE: "IMAGE",
6701
+ VIDEO: "VIDEO",
6702
+ AUDIO: "AUDIO",
6703
+ DOCUMENT: "DOCUMENT"
6704
+ };
6705
+ var FILE_ACCESS_LEVELS = {
6706
+ PUBLIC: "public",
6707
+ PRIVATE: "private",
6708
+ PROTECTED: "protected"
6709
+ };
6710
+
6711
+ // src/core/domain/files/streaming.ts
6712
+ var FILES_STREAM_MESSAGE_TYPE = {
6713
+ PROGRESS: "progress",
6714
+ STATUS: "status",
6715
+ ERROR: "error"
6716
+ };
6717
+ var FILES_STREAM_SUBTYPE = {
6718
+ UPLOAD: "upload",
6719
+ DOWNLOAD: "download",
6720
+ GENERATE: "generate"
6721
+ };
6722
+ var FILES_STREAM_PROGRESS_STATUS = {
6723
+ PENDING: "pending",
6724
+ UPLOADING: "uploading",
6725
+ DOWNLOADING: "downloading",
6726
+ PROCESSING: "processing",
6727
+ GENERATING: "generating",
6728
+ COMPLETED: "completed",
6729
+ FAILED: "failed",
6730
+ CANCELLED: "cancelled"
6731
+ };
6732
+ var FILES_STREAM_EVENT = {
6733
+ // Upload events
6734
+ UPLOAD_PROGRESS: "upload:progress",
6735
+ UPLOAD_COMPLETED: "upload:completed",
6736
+ UPLOAD_FAILED: "upload:failed",
6737
+ UPLOAD_CANCELLED: "upload:cancelled",
6738
+ // Download events
6739
+ DOWNLOAD_PROGRESS: "download:progress",
6740
+ DOWNLOAD_COMPLETED: "download:completed",
6741
+ DOWNLOAD_FAILED: "download:failed",
6742
+ DOWNLOAD_CANCELLED: "download:cancelled",
6743
+ // Generation events
6744
+ GENERATE_PROGRESS: "generate:progress",
6745
+ GENERATE_COMPLETED: "generate:completed",
6746
+ GENERATE_FAILED: "generate:failed"
6747
+ };
6748
+ var FILES_STREAM_CHANNEL_PREFIX = {
6749
+ UPLOAD: "upload:",
6750
+ DOWNLOAD: "download:",
6751
+ GENERATE: "generate:"
6752
+ };
6753
+ var FILES_STREAM_BROADCAST_CHANNEL = {
6754
+ UPLOADS: "uploads",
6755
+ DOWNLOADS: "downloads",
6756
+ GENERATIONS: "generations"
6757
+ };
6758
+ var FILES_STREAM_CHANNEL = {
6759
+ // Prefixes (for building per-resource channels)
6760
+ PREFIX: FILES_STREAM_CHANNEL_PREFIX,
6761
+ // Broadcast channels
6762
+ BROADCAST: FILES_STREAM_BROADCAST_CHANNEL
6763
+ };
6764
+ var MediaTypeSchema = zod.z.enum(["IMAGE", "VIDEO", "AUDIO", "DOCUMENT"]);
6765
+ var FileTypeSchema = zod.z.enum(["IMAGE", "VIDEO", "DOCUMENT", "AUDIO", "OTHER"]);
6766
+ var MediaAccessLevelSchema = zod.z.enum(["public", "private", "protected"]).nullable();
6767
+ var FilesDatabaseRowSchema = zod.z.object({
6768
+ // Auto-generated fields
6769
+ id: zod.z.string().uuid(),
6770
+ created_at: zod.z.string(),
6771
+ updated_at: zod.z.string(),
6772
+ deleted_at: zod.z.string().nullable(),
6773
+ // Required fields
6774
+ user_id: zod.z.string().uuid(),
6775
+ type: zod.z.string(),
6776
+ // String in DB, validated as MediaType on create
6777
+ filename: zod.z.string(),
6778
+ original_filename: zod.z.string(),
6779
+ mime_type: zod.z.string(),
6780
+ file_size: zod.z.union([zod.z.bigint(), zod.z.number()]),
6781
+ storage_path: zod.z.string(),
6782
+ // Optional fields
6783
+ cdn_url: zod.z.string().nullable(),
6784
+ width: zod.z.number().nullable(),
6785
+ height: zod.z.number().nullable(),
6786
+ duration: zod.z.number().nullable(),
6787
+ is_virus_scanned: zod.z.boolean(),
6788
+ virus_scan_result: zod.z.string().nullable(),
6789
+ metadata: zod.z.record(zod.z.string(), zod.z.unknown()).nullable(),
6790
+ variants: zod.z.record(zod.z.string(), zod.z.unknown()).nullable(),
6791
+ entity_type: zod.z.string().nullable(),
6792
+ entity_id: zod.z.string().nullable(),
6793
+ access_level: zod.z.string().nullable()
6794
+ });
6795
+ var CreateFilesSchema = zod.z.object({
6796
+ // Required fields with defaults for optional scenarios
6797
+ user_id: zod.z.string().uuid().default(SYSTEM_USER_ID),
6798
+ type: MediaTypeSchema.default("DOCUMENT"),
6799
+ filename: zod.z.string().min(1, "Filename is required"),
6800
+ original_filename: zod.z.string().min(1, "Original filename is required"),
6801
+ mime_type: zod.z.string().min(1, "MIME type is required"),
6802
+ file_size: zod.z.union([zod.z.bigint(), zod.z.number()]).refine((val) => Number(val) >= 0, "File size must be non-negative"),
6803
+ storage_path: zod.z.string().min(1, "Storage path is required"),
6804
+ // Optional fields with defaults
6805
+ cdn_url: zod.z.string().url().nullable().default(null),
6806
+ width: zod.z.number().positive().nullable().default(null),
6807
+ height: zod.z.number().positive().nullable().default(null),
6808
+ duration: zod.z.number().positive().nullable().default(null),
6809
+ is_virus_scanned: zod.z.boolean().default(false),
6810
+ virus_scan_result: zod.z.string().nullable().default(null),
6811
+ metadata: zod.z.record(zod.z.string(), zod.z.unknown()).nullable().default(null),
6812
+ variants: zod.z.record(zod.z.string(), zod.z.unknown()).nullable().default(null),
6813
+ entity_type: zod.z.string().nullable().default(null),
6814
+ entity_id: zod.z.string().nullable().default(null),
6815
+ access_level: MediaAccessLevelSchema.default(null)
6816
+ });
6817
+ var PatchFilesSchema = CreateFilesSchema.partial();
6818
+ var MediaVariantsDatabaseRowSchema = zod.z.object({
6819
+ id: zod.z.string().uuid(),
6820
+ media_id: zod.z.string().uuid(),
6821
+ variant_name: zod.z.string(),
6822
+ file_path: zod.z.string(),
6823
+ cdn_url: zod.z.string().nullable(),
6824
+ width: zod.z.number().nullable(),
6825
+ height: zod.z.number().nullable(),
6826
+ file_size: zod.z.number().nullable(),
6827
+ created_at: zod.z.string()
6828
+ });
6829
+ var CreateMediaVariantSchema = MediaVariantsDatabaseRowSchema.omit({
6830
+ id: true,
6831
+ created_at: true
6832
+ });
6833
+
6834
+ // src/core/events/streaming/types.ts
6835
+ var STREAM_TRANSPORT = {
6836
+ SSE: "sse",
6837
+ WEBSOCKET: "websocket"
6838
+ };
6839
+ var SYSTEM_STREAM_MESSAGE_TYPE = {
6840
+ SYSTEM: "system",
6841
+ NOTIFICATION: "notification",
6842
+ DATA: "data"
6843
+ };
6844
+ var SYSTEM_STREAM_SUBTYPE = {
6845
+ HEARTBEAT: "heartbeat",
6846
+ CONNECTED: "connected",
6847
+ DISCONNECTED: "disconnected",
6848
+ RECONNECTING: "reconnecting"
6849
+ };
6850
+ var SYSTEM_STREAM_CHANNEL = {
6851
+ SYSTEM: "system"
6852
+ };
6853
+ var STREAM_MESSAGE_TYPE = {
6854
+ ...SYSTEM_STREAM_MESSAGE_TYPE,
6855
+ ...FILES_STREAM_MESSAGE_TYPE
6856
+ };
6857
+ var STREAM_SUBTYPE = {
6858
+ ...SYSTEM_STREAM_SUBTYPE,
6859
+ ...FILES_STREAM_SUBTYPE
6860
+ };
6861
+ var STREAM_SCOPE = {
6862
+ FILES: "files",
6863
+ SYSTEM: "system"
6864
+ };
6865
+ var SYSTEM_STREAM_EVENT = {
6866
+ CONNECTED: "connected",
6867
+ DISCONNECTED: "disconnected",
6868
+ HEARTBEAT: "heartbeat",
6869
+ ERROR: "error"
6870
+ };
6871
+ var STREAM_EVENT = {
6872
+ ...SYSTEM_STREAM_EVENT,
6873
+ ...FILES_STREAM_EVENT
6874
+ };
6875
+ var STREAM_CHANNEL_PREFIX = {
6876
+ ...FILES_STREAM_CHANNEL_PREFIX
6877
+ };
6878
+ var STREAM_BROADCAST_CHANNEL = {
6879
+ ...SYSTEM_STREAM_CHANNEL,
6880
+ ...FILES_STREAM_BROADCAST_CHANNEL
6881
+ };
6882
+ var STREAM_PROGRESS_STATUS = {
6883
+ ...FILES_STREAM_PROGRESS_STATUS
6884
+ };
6885
+
6468
6886
  // src/core/services/keys.ts
6469
6887
  var SERVICE_KEYS = {
6470
6888
  /** Example domain service (backend) */
@@ -9297,6 +9715,8 @@ exports.ContactUsFormSchema = ContactUsFormSchema;
9297
9715
  exports.CoreEventScope = CoreEventScope;
9298
9716
  exports.CorrelationIdSchema = CorrelationIdSchema;
9299
9717
  exports.CreateCampaignSchema = CreateCampaignSchema;
9718
+ exports.CreateFilesSchema = CreateFilesSchema;
9719
+ exports.CreateMediaVariantSchema = CreateMediaVariantSchema;
9300
9720
  exports.DATABASE_ERROR_CODES = DATABASE_ERROR_CODES;
9301
9721
  exports.DATABASE_EVENT_TYPE = DATABASE_EVENT_TYPE;
9302
9722
  exports.DATABASE_FIELDS = DATABASE_FIELDS;
@@ -9348,12 +9768,23 @@ exports.FEATURE_FLAG_TABLE = FEATURE_FLAG_TABLE;
9348
9768
  exports.FEATURE_FLAG_TYPES = FEATURE_FLAG_TYPES;
9349
9769
  exports.FEE_CONTEXT = FEE_CONTEXT;
9350
9770
  exports.FEE_TYPE = FEE_TYPE;
9771
+ exports.FILES_STREAM_BROADCAST_CHANNEL = FILES_STREAM_BROADCAST_CHANNEL;
9772
+ exports.FILES_STREAM_CHANNEL = FILES_STREAM_CHANNEL;
9773
+ exports.FILES_STREAM_CHANNEL_PREFIX = FILES_STREAM_CHANNEL_PREFIX;
9774
+ exports.FILES_STREAM_EVENT = FILES_STREAM_EVENT;
9775
+ exports.FILES_STREAM_MESSAGE_TYPE = FILES_STREAM_MESSAGE_TYPE;
9776
+ exports.FILES_STREAM_PROGRESS_STATUS = FILES_STREAM_PROGRESS_STATUS;
9777
+ exports.FILES_STREAM_SUBTYPE = FILES_STREAM_SUBTYPE;
9351
9778
  exports.FILE_ACCESS_LEVEL = FILE_ACCESS_LEVEL;
9779
+ exports.FILE_ACCESS_LEVELS = FILE_ACCESS_LEVELS;
9352
9780
  exports.FILE_CATEGORY = FILE_CATEGORY;
9353
9781
  exports.FILE_EXTENSIONS = FILE_EXTENSIONS;
9782
+ exports.FILE_TYPES = FILE_TYPES;
9354
9783
  exports.FILE_VALIDATION_ERROR = FILE_VALIDATION_ERROR;
9355
9784
  exports.FRONTEND_RUNTIMES = FRONTEND_RUNTIMES;
9356
9785
  exports.FeatureFlagEventAction = FeatureFlagEventAction;
9786
+ exports.FileTypeSchema = FileTypeSchema;
9787
+ exports.FilesDatabaseRowSchema = FilesDatabaseRowSchema;
9357
9788
  exports.HANDLER_SCOPES = HANDLER_SCOPES;
9358
9789
  exports.HEADER_EVENTS = HEADER_EVENTS;
9359
9790
  exports.HEADER_STAGES = HEADER_STAGES;
@@ -9387,6 +9818,9 @@ exports.MFATYPE = MFATYPE;
9387
9818
  exports.MILESTONE_STATUS = MILESTONE_STATUS;
9388
9819
  exports.MILESTONE_TRIGGER_TYPE = MILESTONE_TRIGGER_TYPE;
9389
9820
  exports.MIME_TYPES = MIME_TYPES;
9821
+ exports.MediaAccessLevelSchema = MediaAccessLevelSchema;
9822
+ exports.MediaTypeSchema = MediaTypeSchema;
9823
+ exports.MediaVariantsDatabaseRowSchema = MediaVariantsDatabaseRowSchema;
9390
9824
  exports.NETWORK_CONFIDENCE_LEVELS = NETWORK_CONFIDENCE_LEVELS;
9391
9825
  exports.NETWORK_EVENTS = NETWORK_EVENTS;
9392
9826
  exports.NETWORK_QUALITY = NETWORK_QUALITY;
@@ -9427,6 +9861,7 @@ exports.PROVIDERTYPE = PROVIDERTYPE;
9427
9861
  exports.PROVIDER_PRODUCT_STATUS = PROVIDER_PRODUCT_STATUS;
9428
9862
  exports.PUB_SUB_EVENT = PUB_SUB_EVENT;
9429
9863
  exports.PatchCampaignSchema = PatchCampaignSchema;
9864
+ exports.PatchFilesSchema = PatchFilesSchema;
9430
9865
  exports.PhoneSchema = PhoneSchema;
9431
9866
  exports.QUEUE_OPERATIONS = QUEUE_OPERATIONS;
9432
9867
  exports.QueryCampaignSchema = QueryCampaignSchema;
@@ -9470,7 +9905,21 @@ exports.STORAGE_TYPES = COMMON_STORAGE_TYPES;
9470
9905
  exports.STORAGE_VARIANT_NAME = STORAGE_VARIANT_NAME;
9471
9906
  exports.STORAGE_VISIBILITY = STORAGE_VISIBILITY;
9472
9907
  exports.STORAGE_WEBHOOK_EVENT_TYPE = STORAGE_WEBHOOK_EVENT_TYPE;
9908
+ exports.STREAM_BROADCAST_CHANNEL = STREAM_BROADCAST_CHANNEL;
9909
+ exports.STREAM_CHANNEL_PREFIX = STREAM_CHANNEL_PREFIX;
9910
+ exports.STREAM_ERROR_CODES = STREAM_ERROR_CODES;
9911
+ exports.STREAM_EVENT = STREAM_EVENT;
9912
+ exports.STREAM_MESSAGE_TYPE = STREAM_MESSAGE_TYPE;
9913
+ exports.STREAM_PROGRESS_STATUS = STREAM_PROGRESS_STATUS;
9914
+ exports.STREAM_SCOPE = STREAM_SCOPE;
9915
+ exports.STREAM_SUBTYPE = STREAM_SUBTYPE;
9916
+ exports.STREAM_TRANSPORT = STREAM_TRANSPORT;
9917
+ exports.SYSTEM_STREAM_CHANNEL = SYSTEM_STREAM_CHANNEL;
9918
+ exports.SYSTEM_STREAM_EVENT = SYSTEM_STREAM_EVENT;
9919
+ exports.SYSTEM_STREAM_MESSAGE_TYPE = SYSTEM_STREAM_MESSAGE_TYPE;
9920
+ exports.SYSTEM_STREAM_SUBTYPE = SYSTEM_STREAM_SUBTYPE;
9473
9921
  exports.SYSTEM_USERS = SYSTEM_USERS;
9922
+ exports.SYSTEM_USER_ID = SYSTEM_USER_ID;
9474
9923
  exports.SanitizationEventAction = SanitizationEventAction;
9475
9924
  exports.SendGridEventSchema = SendGridEventSchema;
9476
9925
  exports.SendGridWebhookSchema = SendGridWebhookSchema;