@etaio/core-types 1.1.0 → 1.2.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.
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Unified Asset Type System
3
+ *
4
+ * A single, comprehensive asset type that covers all use cases:
5
+ * - Basic assets (files, media)
6
+ * - AI-generated assets
7
+ * - Storage assets with Firebase/cloud storage
8
+ * - Editor assets for timeline/canvas
9
+ */
10
+ /**
11
+ * Core asset types - unified type replacing the enum
12
+ */
13
+ export type UnifiedAssetType = 'image' | 'video' | 'audio' | 'text' | 'document' | 'graphics';
14
+ /**
15
+ * Where the asset came from
16
+ */
17
+ export type AssetSource = 'upload' | 'generated' | 'library' | 'external' | 'recording';
18
+ /**
19
+ * Current processing status - unified type
20
+ */
21
+ export type UnifiedAssetStatus = 'processing' | 'ready' | 'failed' | 'archived';
22
+ /**
23
+ * Access control levels
24
+ */
25
+ export type AssetAccess = 'public' | 'private' | 'restricted';
26
+ /**
27
+ * Usage tracking types
28
+ */
29
+ export type AssetUsageType = 'project' | 'chat' | 'export' | 'view' | 'download';
30
+ /**
31
+ * Actions taken on assets
32
+ */
33
+ export type AssetAction = 'added' | 'removed' | 'viewed' | 'downloaded' | 'exported' | 'edited';
34
+ /**
35
+ * The unified Asset type for the entire system
36
+ * Combines base, storage, generative, and Firebase requirements
37
+ */
38
+ export interface Asset {
39
+ /** Unique identifier */
40
+ id: string;
41
+ /** User who owns this asset */
42
+ userId: string;
43
+ /** Optional project association */
44
+ projectId?: string;
45
+ /** Type of asset */
46
+ type: UnifiedAssetType;
47
+ /** Where the asset came from */
48
+ source: AssetSource;
49
+ /** Current processing status */
50
+ status: UnifiedAssetStatus;
51
+ /** File details */
52
+ file: {
53
+ /** URL where the asset can be accessed */
54
+ url: string;
55
+ /** Storage path (Firebase Storage, S3, etc.) */
56
+ path: string;
57
+ /** Original filename */
58
+ name: string;
59
+ /** File size in bytes */
60
+ size: number;
61
+ /** MIME type */
62
+ mimeType: string;
63
+ /** File hash for deduplication */
64
+ hash?: string;
65
+ /** Signed URL if applicable */
66
+ signedUrl?: string;
67
+ /** When signed URL expires */
68
+ signedUrlExpiry?: Date;
69
+ };
70
+ /** Technical and descriptive metadata */
71
+ metadata?: {
72
+ title?: string;
73
+ description?: string;
74
+ tags?: string[];
75
+ width?: number;
76
+ height?: number;
77
+ aspectRatio?: string;
78
+ duration?: number;
79
+ frameRate?: number;
80
+ bitrate?: number;
81
+ sampleRate?: number;
82
+ channels?: number;
83
+ videoCodec?: string;
84
+ audioCodec?: string;
85
+ format?: string;
86
+ thumbnail?: string;
87
+ preview?: string;
88
+ thumbnails?: {
89
+ small?: string;
90
+ medium?: string;
91
+ large?: string;
92
+ };
93
+ colors?: string[];
94
+ [key: string]: any;
95
+ };
96
+ /** AI-generated or analyzed data */
97
+ ai?: {
98
+ description?: string;
99
+ tags?: string[];
100
+ sentiment?: string;
101
+ transcription?: string;
102
+ extractedText?: string;
103
+ objects?: string[];
104
+ faces?: number;
105
+ nsfw?: boolean;
106
+ processingStatus?: 'pending' | 'processing' | 'completed' | 'failed';
107
+ processingError?: string;
108
+ };
109
+ /** For AI-generated assets */
110
+ generation?: {
111
+ /** Provider used (openai, stability, etc.) */
112
+ provider: string;
113
+ /** Model used */
114
+ model: string;
115
+ /** Generation prompt */
116
+ prompt: string;
117
+ /** Enhanced/revised prompt */
118
+ revisedPrompt?: string;
119
+ /** Negative prompt (for images) */
120
+ negativePrompt?: string;
121
+ /** Generation parameters */
122
+ parameters?: Record<string, any>;
123
+ /** Cost tracking */
124
+ cost?: number;
125
+ currency?: string;
126
+ tokens?: number;
127
+ credits?: number;
128
+ /** Generation metrics */
129
+ generationTime?: number;
130
+ requestId?: string;
131
+ batchId?: string;
132
+ /** Parent asset if derived */
133
+ parentAssetId?: string;
134
+ };
135
+ /** Usage and engagement stats */
136
+ stats: {
137
+ /** Total views */
138
+ viewCount: number;
139
+ /** Total uses across projects/chats */
140
+ useCount: number;
141
+ /** Last time used */
142
+ lastUsed?: Date;
143
+ /** User favorited */
144
+ isFavorite: boolean;
145
+ /** Download count */
146
+ downloadCount?: number;
147
+ };
148
+ /** Permissions and sharing */
149
+ permissions: {
150
+ /** Access level */
151
+ access: AssetAccess;
152
+ /** Users with access */
153
+ sharedWith: string[];
154
+ /** License type */
155
+ license?: string;
156
+ /** Required attribution */
157
+ attribution?: string;
158
+ /** Can be downloaded */
159
+ allowDownload?: boolean;
160
+ /** Can be used in exports */
161
+ allowExport?: boolean;
162
+ };
163
+ /** Folder/collection organization */
164
+ organization?: {
165
+ /** Folder path */
166
+ folder?: string;
167
+ /** Collection IDs */
168
+ collections?: string[];
169
+ /** Sort order in collections */
170
+ order?: number;
171
+ };
172
+ /** Creation timestamp */
173
+ createdAt: Date;
174
+ /** Last update timestamp */
175
+ updatedAt: Date;
176
+ /** When asset expires (optional) */
177
+ expiresAt?: Date;
178
+ /** When asset was archived */
179
+ archivedAt?: Date;
180
+ }
181
+ /**
182
+ * Usage record for tracking asset usage (stored in subcollection)
183
+ */
184
+ export interface AssetUsage {
185
+ /** Unique ID */
186
+ id: string;
187
+ /** Type of usage */
188
+ type: AssetUsageType;
189
+ /** Entity that used the asset (projectId, chatId, etc.) */
190
+ entityId: string;
191
+ /** Human-readable entity name */
192
+ entityName?: string;
193
+ /** User who performed the action */
194
+ userId: string;
195
+ /** Action taken */
196
+ action: AssetAction;
197
+ /** When it happened */
198
+ timestamp: Date;
199
+ /** Additional context */
200
+ metadata?: {
201
+ /** Usage context */
202
+ context?: string;
203
+ /** Version info */
204
+ version?: string;
205
+ /** Any other metadata */
206
+ [key: string]: any;
207
+ };
208
+ }
209
+ /**
210
+ * Data required to create a new asset
211
+ */
212
+ export interface CreateAssetData {
213
+ userId: string;
214
+ type: UnifiedAssetType;
215
+ source: AssetSource;
216
+ file: {
217
+ url: string;
218
+ path: string;
219
+ name: string;
220
+ size: number;
221
+ mimeType: string;
222
+ hash?: string;
223
+ };
224
+ projectId?: string;
225
+ metadata?: Partial<Asset['metadata']>;
226
+ ai?: Partial<Asset['ai']>;
227
+ generation?: Asset['generation'];
228
+ permissions?: Partial<Asset['permissions']>;
229
+ organization?: Asset['organization'];
230
+ }
231
+ /**
232
+ * Data that can be updated on an existing asset
233
+ */
234
+ export interface UpdateAssetPayload {
235
+ metadata?: Partial<Asset['metadata']>;
236
+ ai?: Partial<Asset['ai']>;
237
+ stats?: Partial<Asset['stats']>;
238
+ permissions?: Partial<Asset['permissions']>;
239
+ organization?: Asset['organization'];
240
+ status?: UnifiedAssetStatus;
241
+ expiresAt?: Date | null;
242
+ }
243
+ /**
244
+ * Options for querying assets
245
+ */
246
+ export interface AssetQueryOptions {
247
+ /** Filter by user */
248
+ userId?: string;
249
+ /** Filter by project */
250
+ projectId?: string;
251
+ /** Filter by type */
252
+ type?: UnifiedAssetType | UnifiedAssetType[];
253
+ /** Filter by source */
254
+ source?: AssetSource | AssetSource[];
255
+ /** Filter by status */
256
+ status?: UnifiedAssetStatus | UnifiedAssetStatus[];
257
+ /** Filter by access level */
258
+ access?: AssetAccess | AssetAccess[];
259
+ /** Filter by favorites */
260
+ favoritesOnly?: boolean;
261
+ /** Filter by folder */
262
+ folder?: string;
263
+ /** Filter by collection */
264
+ collectionId?: string;
265
+ /** Search query */
266
+ search?: string;
267
+ /** Tags to filter by */
268
+ tags?: string[];
269
+ /** Date range filters */
270
+ createdAfter?: Date;
271
+ createdBefore?: Date;
272
+ updatedAfter?: Date;
273
+ updatedBefore?: Date;
274
+ /** Size filters */
275
+ minSize?: number;
276
+ maxSize?: number;
277
+ /** Pagination */
278
+ limit?: number;
279
+ offset?: number;
280
+ cursor?: string;
281
+ /** Sorting */
282
+ orderBy?: 'createdAt' | 'updatedAt' | 'name' | 'size' | 'viewCount' | 'useCount';
283
+ orderDirection?: 'asc' | 'desc';
284
+ /** Include options */
285
+ includeArchived?: boolean;
286
+ includeExpired?: boolean;
287
+ }
288
+ /**
289
+ * Result of asset query
290
+ */
291
+ export interface AssetQueryResult {
292
+ assets: Asset[];
293
+ total: number;
294
+ hasMore: boolean;
295
+ nextCursor?: string;
296
+ }
297
+ /**
298
+ * Check if an object is an Asset
299
+ */
300
+ export declare function isAsset(obj: any): obj is Asset;
301
+ /**
302
+ * Check if an asset is AI-generated
303
+ */
304
+ export declare function isGeneratedAsset(asset: Asset): boolean;
305
+ /**
306
+ * Check if an asset is ready for use
307
+ */
308
+ export declare function isAssetReady(asset: Asset): boolean;
309
+ /**
310
+ * Check if an asset has AI features
311
+ */
312
+ export declare function hasAIFeatures(asset: Asset): boolean;
313
+ /**
314
+ * Convert Asset to MediaAttachment format (for chat messages)
315
+ */
316
+ export declare function assetToMediaAttachment(asset: Asset): {
317
+ id: string;
318
+ type: any;
319
+ url: string;
320
+ name: string;
321
+ size: number;
322
+ mimeType: string;
323
+ duration: number | undefined;
324
+ dimensions: {
325
+ width: number;
326
+ height: number;
327
+ } | undefined;
328
+ thumbnail: string | undefined;
329
+ description: string | undefined;
330
+ transcription: string | undefined;
331
+ extractedText: string | undefined;
332
+ processingStatus: "processing" | "failed" | "pending" | "completed" | undefined;
333
+ };
334
+ /**
335
+ * Get display name for an asset
336
+ */
337
+ export declare function getAssetDisplayName(asset: Asset): string;
338
+ /**
339
+ * Get asset file extension
340
+ */
341
+ export declare function getAssetExtension(asset: Asset): string;
342
+ /**
343
+ * Check if asset is a media file
344
+ */
345
+ export declare function isMediaAsset(asset: Asset): boolean;
346
+ /**
347
+ * Format file size for display
348
+ */
349
+ export declare function formatFileSize(bytes: number): string;
350
+ //# sourceMappingURL=asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/assets/asset.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Assets Module Export
3
3
  *
4
- * Asset types and utilities for API layer
4
+ * Unified Asset type and utilities
5
5
  */
6
- export * from './api-asset';
7
- export * from './asset-adapter';
6
+ export * from './asset';
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,23 +5,23 @@
5
5
  * This package provides the foundation types that all other packages build upon.
6
6
  *
7
7
  * Architecture:
8
+ * - Asset: Unified asset type for all media/files (NEW - use this!)
8
9
  * - Editor Types: UI components, tracks, transitions (from editor-types)
9
10
  * - Storage Types: Upload and storage management (from storage-types)
10
11
  * - GenAI Types: Generative AI types (from genai-types)
11
- * - BaseAsset: The fundamental asset type (ID, type, URL, project)
12
- * - ApiAsset: Extends BaseAsset with API-specific metadata
12
+ * - BaseAsset: Legacy fundamental asset type (deprecated - use Asset instead)
13
+ * - ApiAsset: Extends BaseAsset with API-specific metadata (legacy)
13
14
  * - AssetAdapter: Converts between different asset representations
14
15
  * - Request/Response: Standardized API contracts
15
16
  * - Validation: Runtime type checking with Zod
16
17
  * - Providers: Interface definitions for generation services
17
18
  */
18
19
  export * from './editor';
19
- export * from './base';
20
20
  export * from './assets';
21
21
  export * from './providers';
22
22
  export * from './storage';
23
23
  export * from './genai';
24
24
  export * from './validators';
25
- export declare const VERSION = "1.0.7";
25
+ export declare const VERSION = "1.2.1";
26
26
  export declare const PACKAGE_NAME = "@etaio/core-types";
27
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,cAAc,UAAU,CAAC;AAKzB,cAAc,QAAQ,CAAC;AAKvB,cAAc,UAAU,CAAC;AAKzB,cAAc,aAAa,CAAC;AAM5B,cAAc,WAAW,CAAC;AAM1B,cAAc,SAAS,CAAC;AAKxB,cAAc,cAAc,CAAC;AAK7B,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,YAAY,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,cAAc,UAAU,CAAC;AAUzB,cAAc,UAAU,CAAC;AAKzB,cAAc,aAAa,CAAC;AAM5B,cAAc,WAAW,CAAC;AAM1B,cAAc,SAAS,CAAC;AAKxB,cAAc,cAAc,CAAC;AAK7B,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,YAAY,sBAAsB,CAAC"}