@rovela-ai/sdk 0.9.2 → 0.10.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.
Files changed (46) hide show
  1. package/dist/admin/components/AdminNav.d.ts.map +1 -1
  2. package/dist/admin/components/AdminNav.js +3 -1
  3. package/dist/admin/components/AdminNav.js.map +1 -1
  4. package/dist/admin/components/FilesManager.d.ts +5 -0
  5. package/dist/admin/components/FilesManager.d.ts.map +1 -0
  6. package/dist/admin/components/FilesManager.js +158 -0
  7. package/dist/admin/components/FilesManager.js.map +1 -0
  8. package/dist/admin/components/MediaLibraryPicker.d.ts +14 -0
  9. package/dist/admin/components/MediaLibraryPicker.d.ts.map +1 -0
  10. package/dist/admin/components/MediaLibraryPicker.js +95 -0
  11. package/dist/admin/components/MediaLibraryPicker.js.map +1 -0
  12. package/dist/admin/components/index.d.ts +4 -0
  13. package/dist/admin/components/index.d.ts.map +1 -1
  14. package/dist/admin/components/index.js +5 -0
  15. package/dist/admin/components/index.js.map +1 -1
  16. package/dist/media/api/files.d.ts +32 -0
  17. package/dist/media/api/files.d.ts.map +1 -0
  18. package/dist/media/api/files.js +99 -0
  19. package/dist/media/api/files.js.map +1 -0
  20. package/dist/media/api/index.d.ts +1 -0
  21. package/dist/media/api/index.d.ts.map +1 -1
  22. package/dist/media/api/index.js +1 -0
  23. package/dist/media/api/index.js.map +1 -1
  24. package/dist/media/components/ImageGalleryUpload.d.ts.map +1 -1
  25. package/dist/media/components/ImageGalleryUpload.js +15 -2
  26. package/dist/media/components/ImageGalleryUpload.js.map +1 -1
  27. package/dist/media/components/ImageUpload.d.ts.map +1 -1
  28. package/dist/media/components/ImageUpload.js +16 -2
  29. package/dist/media/components/ImageUpload.js.map +1 -1
  30. package/dist/media/index.d.ts +2 -0
  31. package/dist/media/index.d.ts.map +1 -1
  32. package/dist/media/index.js +4 -0
  33. package/dist/media/index.js.map +1 -1
  34. package/dist/media/server/index.d.ts +1 -0
  35. package/dist/media/server/index.d.ts.map +1 -1
  36. package/dist/media/server/index.js +2 -0
  37. package/dist/media/server/index.js.map +1 -1
  38. package/dist/media/server/list.d.ts +23 -0
  39. package/dist/media/server/list.d.ts.map +1 -0
  40. package/dist/media/server/list.js +62 -0
  41. package/dist/media/server/list.js.map +1 -0
  42. package/dist/media/taxonomy.d.ts +106 -0
  43. package/dist/media/taxonomy.d.ts.map +1 -0
  44. package/dist/media/taxonomy.js +227 -0
  45. package/dist/media/taxonomy.js.map +1 -0
  46. package/package.json +5 -1
@@ -14,4 +14,5 @@
14
14
  */
15
15
  export { POST } from './presign';
16
16
  export { DELETE } from './delete';
17
+ export { getStoreFilesHandler, deleteStoreFileHandler } from './files';
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/media/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/media/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageGalleryUpload.d.ts","sourceRoot":"","sources":["../../../src/media/components/ImageGalleryUpload.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAGvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAc,EACd,SAAe,EACf,QAAgB,EAChB,SAAS,GACV,EAAE,uBAAuB,2CA6WzB;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"ImageGalleryUpload.d.ts","sourceRoot":"","sources":["../../../src/media/components/ImageGalleryUpload.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AASvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAc,EACd,SAAe,EACf,QAAgB,EAChB,SAAS,GACV,EAAE,uBAAuB,2CAiZzB;AAED,eAAe,kBAAkB,CAAA"}
@@ -13,12 +13,15 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
13
13
  * URL extension. Tile rendering branches on `isVideoUrl()`.
14
14
  */
15
15
  import { useState, useCallback, useMemo } from 'react';
16
+ import dynamic from 'next/dynamic';
16
17
  import Image from 'next/image';
17
- import { ImagePlus, Trash2, Star, GripVertical, Loader2, AlertCircle, Play, } from 'lucide-react';
18
+ import { ImagePlus, Trash2, Star, GripVertical, Loader2, AlertCircle, Play, FolderOpen, } from 'lucide-react';
18
19
  import { cn } from '../../core/utils';
19
20
  import { useUpload } from '../hooks/useUpload';
20
21
  import { DropZone } from './DropZone';
21
22
  import { DEFAULT_MEDIA_UPLOAD_CONFIG, isVideoUrl, isVideoMime } from '../types';
23
+ // Lazy — the picker modal (and its file listing) loads only when opened.
24
+ const MediaLibraryPicker = dynamic(() => import('../../admin/components/MediaLibraryPicker').then((m) => m.MediaLibraryPicker), { ssr: false });
22
25
  /**
23
26
  * Multi-media upload component for products. Accepts both images and videos.
24
27
  *
@@ -44,6 +47,7 @@ export function ImageGalleryUpload({ value = [], onChange, videos, onVideosChang
44
47
  // this list; on drop we re-split by URL extension and call both setters.
45
48
  const combined = useMemo(() => [...value, ...videosArr], [value, videosArr]);
46
49
  const [deletingIndex, setDeletingIndex] = useState(null);
50
+ const [pickerOpen, setPickerOpen] = useState(false);
47
51
  const [dragIndex, setDragIndex] = useState(null);
48
52
  const [dragOverIndex, setDragOverIndex] = useState(null);
49
53
  const splitByKind = useCallback((urls) => {
@@ -174,6 +178,15 @@ export function ImageGalleryUpload({ value = [], onChange, videos, onVideosChang
174
178
  }, [combined, value, videosArr, persistBoth, disabled]);
175
179
  const canAddMore = combined.length < maxImages;
176
180
  const dropZoneAccept = DEFAULT_MEDIA_UPLOAD_CONFIG.allowedTypes;
181
+ // Reuse existing library files — appended through the same split/persist
182
+ // path an upload takes, deduped against what's already in the gallery.
183
+ const handleLibraryPick = useCallback((urls) => {
184
+ const fresh = urls.filter((u) => !combined.includes(u));
185
+ if (fresh.length === 0)
186
+ return;
187
+ const { images: pickedImages, videos: pickedVideos } = splitByKind(fresh);
188
+ persistBoth([...value, ...pickedImages], [...videosArr, ...pickedVideos]);
189
+ }, [combined, splitByKind, persistBoth, value, videosArr]);
177
190
  return (_jsxs("div", { className: cn('space-y-4', className), children: [combined.length > 0 && (_jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-4", children: combined.map((url, index) => {
178
191
  const tileIsVideo = isVideoUrl(url);
179
192
  return (_jsxs("div", { draggable: !disabled, onDragStart: (e) => handleDragStart(e, index), onDragOver: (e) => handleDragOver(e, index), onDragEnd: handleDragEnd, onDragLeave: handleDragLeave, className: cn('relative aspect-square rounded-lg border overflow-hidden group bg-muted/30', 'transition-all duration-200', dragIndex === index && 'opacity-50 scale-95', dragOverIndex === index &&
@@ -187,7 +200,7 @@ export function ImageGalleryUpload({ value = [], onChange, videos, onVideosChang
187
200
  _jsx(Image, { src: url, alt: `Image ${index + 1}`, fill: true, className: "object-contain", sizes: "(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 25vw" })), index === 0 && !tileIsVideo && (_jsx("div", { className: "absolute top-2 left-2 px-2 py-0.5 rounded-full bg-primary text-primary-foreground text-xs font-medium", children: "Primary" })), tileIsVideo && (_jsx("div", { className: "absolute top-2 left-2 px-2 py-0.5 rounded-full bg-black/70 text-white text-xs font-medium", children: "Video" })), _jsx("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/40 transition-colors", children: _jsxs("div", { className: "absolute inset-0 flex items-center justify-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity", children: [index !== 0 && !tileIsVideo && (_jsx("button", { type: "button", onClick: () => handleMakePrimary(index), disabled: disabled, className: cn('rounded-full bg-white/90 p-2 text-gray-700', 'hover:bg-white transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), title: "Make primary", children: _jsx(Star, { className: "h-4 w-4" }) })), _jsx("button", { type: "button", onClick: () => handleDelete(index), disabled: disabled || deletingIndex !== null, className: cn('rounded-full bg-destructive p-2 text-destructive-foreground', 'hover:bg-destructive/90 transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), title: tileIsVideo ? 'Remove video' : 'Remove image', children: deletingIndex === index ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(Trash2, { className: "h-4 w-4" })) })] }) }), _jsx("div", { className: "absolute top-2 right-2 p-1 rounded bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity", children: _jsx(GripVertical, { className: "h-4 w-4 text-white" }) })] }, url));
188
201
  }) })), canAddMore && (_jsx(DropZone, { onFiles: handleFiles, multiple: maxImages - combined.length > 1, accept: dropZoneAccept, maxSize: maxSizeMB * 1024 * 1024, disabled: disabled || isUploading, className: "min-h-[120px]", children: _jsx("div", { className: "text-muted-foreground", children: isUploading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Loader2, { className: "mx-auto h-8 w-8 animate-spin" }), _jsx("p", { className: "text-sm", children: "Uploading..." }), progress && (_jsxs("div", { className: "w-full max-w-[200px] mx-auto", children: [_jsx("div", { className: "h-1.5 bg-muted rounded-full overflow-hidden", children: _jsx("div", { className: "h-full bg-primary transition-all duration-300", style: { width: `${progress.percentage}%` } }) }), _jsxs("p", { className: "text-xs mt-1", children: [progress.percentage, "%"] })] }))] })) : (_jsxs(_Fragment, { children: [_jsx(ImagePlus, { className: "mx-auto h-10 w-10 mb-2" }), _jsx("p", { className: "text-sm font-medium", children: combined.length === 0
189
202
  ? 'Add product media'
190
- : 'Add more media' }), _jsx("p", { className: "text-xs mt-1", children: "Drop images or videos, or click to browse" }), _jsxs("p", { className: "text-xs text-muted-foreground/70", children: [combined.length, " / ", maxImages, " items"] })] })) }) })), !canAddMore && (_jsxs("p", { className: "text-sm text-muted-foreground text-center", children: ["Maximum ", maxImages, " items reached. Remove one to add more."] })), error && (_jsxs("div", { className: "flex items-center gap-2 text-sm text-destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }), _jsx("span", { children: error }), _jsx("button", { type: "button", onClick: reset, className: "text-primary hover:underline ml-auto", children: "Retry" })] })), combined.length > 1 && (_jsx("p", { className: "text-xs text-muted-foreground", children: "Drag to reorder. The first image is the primary product image. Videos can be reordered but cannot be set as primary." }))] }));
203
+ : 'Add more media' }), _jsx("p", { className: "text-xs mt-1", children: "Drop images or videos, or click to browse" }), _jsxs("p", { className: "text-xs text-muted-foreground/70", children: [combined.length, " / ", maxImages, " items"] })] })) }) })), canAddMore && !isUploading && (_jsxs("button", { type: "button", onClick: () => setPickerOpen(true), disabled: disabled, className: "inline-flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground disabled:opacity-50", children: [_jsx(FolderOpen, { className: "h-3.5 w-3.5" }), "Choose from library"] })), pickerOpen && (_jsx(MediaLibraryPicker, { isOpen: pickerOpen, onClose: () => setPickerOpen(false), onPick: handleLibraryPick, maxPick: Math.max(1, maxImages - combined.length), kinds: ['image', 'video'] })), !canAddMore && (_jsxs("p", { className: "text-sm text-muted-foreground text-center", children: ["Maximum ", maxImages, " items reached. Remove one to add more."] })), error && (_jsxs("div", { className: "flex items-center gap-2 text-sm text-destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }), _jsx("span", { children: error }), _jsx("button", { type: "button", onClick: reset, className: "text-primary hover:underline ml-auto", children: "Retry" })] })), combined.length > 1 && (_jsx("p", { className: "text-xs text-muted-foreground", children: "Drag to reorder. The first image is the primary product image. Videos can be reordered but cannot be set as primary." }))] }));
191
204
  }
192
205
  export default ImageGalleryUpload;
193
206
  //# sourceMappingURL=ImageGalleryUpload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageGalleryUpload.js","sourceRoot":"","sources":["../../../src/media/components/ImageGalleryUpload.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageGalleryUpload.js","sourceRoot":"","sources":["../../../src/media/components/ImageGalleryUpload.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUpload.d.ts","sourceRoot":"","sources":["../../../src/media/components/ImageUpload.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAGhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAc,EACd,QAAgB,EAChB,SAAS,EACT,WAA+B,EAC/B,WAAoB,GACrB,EAAE,gBAAgB,2CAyKlB;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"ImageUpload.d.ts","sourceRoot":"","sources":["../../../src/media/components/ImageUpload.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAShD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAc,EACd,QAAgB,EAChB,SAAS,EACT,WAA+B,EAC/B,WAAoB,GACrB,EAAE,gBAAgB,2CA4MlB;AAED,eAAe,WAAW,CAAA"}
@@ -6,12 +6,15 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
6
6
  * Single image upload component with preview, progress, and delete functionality.
7
7
  */
8
8
  import { useState, useCallback } from 'react';
9
+ import dynamic from 'next/dynamic';
9
10
  import Image from 'next/image';
10
- import { ImageIcon, Trash2, Loader2, AlertCircle } from 'lucide-react';
11
+ import { ImageIcon, Trash2, Loader2, AlertCircle, FolderOpen } from 'lucide-react';
11
12
  import { cn } from '../../core/utils';
12
13
  import { useUpload } from '../hooks/useUpload';
13
14
  import { DropZone } from './DropZone';
14
15
  import { DEFAULT_UPLOAD_CONFIG } from '../types';
16
+ // Lazy — the picker modal (and its file listing) loads only when opened.
17
+ const MediaLibraryPicker = dynamic(() => import('../../admin/components/MediaLibraryPicker').then((m) => m.MediaLibraryPicker), { ssr: false });
15
18
  /**
16
19
  * Single image upload component.
17
20
  *
@@ -27,6 +30,7 @@ import { DEFAULT_UPLOAD_CONFIG } from '../types';
27
30
  */
28
31
  export function ImageUpload({ value, onChange, onSave, folder, entityId, maxSizeMB = 10, disabled = false, className, placeholder = 'Upload an image', aspectRatio = '16/9', }) {
29
32
  const [isDeleting, setIsDeleting] = useState(false);
33
+ const [pickerOpen, setPickerOpen] = useState(false);
30
34
  // Upload hook
31
35
  const { upload, isUploading, progress, error, reset } = useUpload({
32
36
  folder,
@@ -83,7 +87,17 @@ export function ImageUpload({ value, onChange, onSave, folder, entityId, maxSize
83
87
  const handleRetry = useCallback(() => {
84
88
  reset();
85
89
  }, [reset]);
86
- return (_jsxs("div", { className: cn('space-y-2', className), children: [value ? (_jsxs("div", { className: "relative rounded-lg border border-border overflow-hidden", children: [_jsx("div", { className: "relative bg-muted", style: { aspectRatio }, children: _jsx(Image, { src: value, alt: "Uploaded image", fill: true, className: "object-cover", sizes: "(max-width: 768px) 100vw, 50vw" }) }), _jsx("div", { className: "absolute inset-0 bg-black/0 hover:bg-black/40 transition-colors group", children: _jsx("div", { className: "absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity", children: _jsx("button", { type: "button", onClick: handleDelete, disabled: disabled || isDeleting, className: cn('rounded-full bg-destructive p-2 text-destructive-foreground', 'hover:bg-destructive/90 transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), title: "Remove image", children: isDeleting ? (_jsx(Loader2, { className: "h-5 w-5 animate-spin" })) : (_jsx(Trash2, { className: "h-5 w-5" })) }) }) })] })) : (_jsx(DropZone, { onFiles: handleFiles, multiple: false, accept: DEFAULT_UPLOAD_CONFIG.allowedTypes, maxSize: maxSizeMB * 1024 * 1024, disabled: disabled || isUploading, className: cn('min-h-[120px]', aspectRatio && `aspect-[${aspectRatio}]`), children: _jsx("div", { className: "text-muted-foreground", children: isUploading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Loader2, { className: "mx-auto h-8 w-8 animate-spin" }), _jsx("p", { className: "text-sm", children: "Uploading..." }), progress && (_jsxs("div", { className: "w-full max-w-[200px] mx-auto", children: [_jsx("div", { className: "h-1.5 bg-muted rounded-full overflow-hidden", children: _jsx("div", { className: "h-full bg-primary transition-all duration-300", style: { width: `${progress.percentage}%` } }) }), _jsxs("p", { className: "text-xs mt-1", children: [progress.percentage, "%"] })] }))] })) : (_jsxs(_Fragment, { children: [_jsx(ImageIcon, { className: "mx-auto h-10 w-10 mb-2" }), _jsx("p", { className: "text-sm font-medium", children: placeholder }), _jsx("p", { className: "text-xs mt-1", children: "Drop an image or click to browse" }), _jsxs("p", { className: "text-xs text-muted-foreground/70", children: ["Max ", maxSizeMB, "MB"] })] })) }) })), error && (_jsxs("div", { className: "flex items-center gap-2 text-sm text-destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }), _jsx("span", { children: error }), _jsx("button", { type: "button", onClick: handleRetry, className: "text-primary hover:underline ml-auto", children: "Retry" })] }))] }));
90
+ // Reuse an existing library file instead of re-uploading.
91
+ const handlePick = useCallback((urls) => {
92
+ const url = urls[0];
93
+ if (!url)
94
+ return;
95
+ onChange(url);
96
+ onSave?.(url).catch((err) => {
97
+ console.error('[ImageUpload] Failed to save after library pick:', err);
98
+ });
99
+ }, [onChange, onSave]);
100
+ return (_jsxs("div", { className: cn('space-y-2', className), children: [value ? (_jsxs("div", { className: "relative rounded-lg border border-border overflow-hidden", children: [_jsx("div", { className: "relative bg-muted", style: { aspectRatio }, children: _jsx(Image, { src: value, alt: "Uploaded image", fill: true, className: "object-cover", sizes: "(max-width: 768px) 100vw, 50vw" }) }), _jsx("div", { className: "absolute inset-0 bg-black/0 hover:bg-black/40 transition-colors group", children: _jsx("div", { className: "absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity", children: _jsx("button", { type: "button", onClick: handleDelete, disabled: disabled || isDeleting, className: cn('rounded-full bg-destructive p-2 text-destructive-foreground', 'hover:bg-destructive/90 transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed'), title: "Remove image", children: isDeleting ? (_jsx(Loader2, { className: "h-5 w-5 animate-spin" })) : (_jsx(Trash2, { className: "h-5 w-5" })) }) }) })] })) : (_jsx(DropZone, { onFiles: handleFiles, multiple: false, accept: DEFAULT_UPLOAD_CONFIG.allowedTypes, maxSize: maxSizeMB * 1024 * 1024, disabled: disabled || isUploading, className: cn('min-h-[120px]', aspectRatio && `aspect-[${aspectRatio}]`), children: _jsx("div", { className: "text-muted-foreground", children: isUploading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Loader2, { className: "mx-auto h-8 w-8 animate-spin" }), _jsx("p", { className: "text-sm", children: "Uploading..." }), progress && (_jsxs("div", { className: "w-full max-w-[200px] mx-auto", children: [_jsx("div", { className: "h-1.5 bg-muted rounded-full overflow-hidden", children: _jsx("div", { className: "h-full bg-primary transition-all duration-300", style: { width: `${progress.percentage}%` } }) }), _jsxs("p", { className: "text-xs mt-1", children: [progress.percentage, "%"] })] }))] })) : (_jsxs(_Fragment, { children: [_jsx(ImageIcon, { className: "mx-auto h-10 w-10 mb-2" }), _jsx("p", { className: "text-sm font-medium", children: placeholder }), _jsx("p", { className: "text-xs mt-1", children: "Drop an image or click to browse" }), _jsxs("p", { className: "text-xs text-muted-foreground/70", children: ["Max ", maxSizeMB, "MB"] })] })) }) })), !value && !isUploading && (_jsxs("button", { type: "button", onClick: () => setPickerOpen(true), disabled: disabled, className: "inline-flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground disabled:opacity-50", children: [_jsx(FolderOpen, { className: "h-3.5 w-3.5" }), "Choose from library"] })), pickerOpen && (_jsx(MediaLibraryPicker, { isOpen: pickerOpen, onClose: () => setPickerOpen(false), onPick: handlePick })), error && (_jsxs("div", { className: "flex items-center gap-2 text-sm text-destructive", children: [_jsx(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }), _jsx("span", { children: error }), _jsx("button", { type: "button", onClick: handleRetry, className: "text-primary hover:underline ml-auto", children: "Retry" })] }))] }));
87
101
  }
88
102
  export default ImageUpload;
89
103
  //# sourceMappingURL=ImageUpload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUpload.js","sourceRoot":"","sources":["../../../src/media/components/ImageUpload.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageUpload.js","sourceRoot":"","sources":["../../../src/media/components/ImageUpload.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAC3F,EAAE,GAAG,EAAE,KAAK,EAAE,CACf,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,WAAW,GAAG,iBAAiB,EAC/B,WAAW,GAAG,MAAM,GACH;IACjB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,cAAc;IACd,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAChE,MAAM;QACN,QAAQ;QACR,MAAM,EAAE;YACN,YAAY,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;SACtC;QACD,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YACpB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACpB,6DAA6D;gBAC7D,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACjC,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;gBAClE,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,wBAAwB;IACxB,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,KAAa,EAAE,EAAE;QACtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,WAAW;YAAE,OAAM;QACzD,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC,EACD,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAChC,CAAA;IAED,gBAAgB;IAChB,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,UAAU;YAAE,OAAM;QAE5C,aAAa,CAAC,IAAI,CAAC,CAAA;QAEnB,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,YAAY,EAAE;gBACxB,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;aACrC,CAAC,CAAA;YAEF,qBAAqB;YACrB,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEd,6DAA6D;YAC7D,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;YACnC,8DAA8D;YAC9D,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,yCAAyC;YACzC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAChC,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnD,wBAAwB;IACxB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,KAAK,EAAE,CAAA;IACT,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,0DAA0D;IAC1D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,IAAc,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,QAAQ,CAAC,GAAG,CAAC,CAAA;QACb,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,QAAQ,EAAE,MAAM,CAAC,CACnB,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,aAEvC,KAAK,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAC,0DAA0D,aAEvE,cACE,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE,EAAE,WAAW,EAAE,YAEtB,KAAC,KAAK,IACJ,GAAG,EAAE,KAAK,EACV,GAAG,EAAC,gBAAgB,EACpB,IAAI,QACJ,SAAS,EAAC,cAAc,EACxB,KAAK,EAAC,gCAAgC,GACtC,GACE,EAGN,cAAK,SAAS,EAAC,uEAAuE,YACpF,cAAK,SAAS,EAAC,wGAAwG,YACrH,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,IAAI,UAAU,EAChC,SAAS,EAAE,EAAE,CACX,6DAA6D,EAC7D,2CAA2C,EAC3C,iDAAiD,CAClD,EACD,KAAK,EAAC,cAAc,YAEnB,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAC7C,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,CAC/B,GACM,GACL,GACF,IACF,CACP,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IACP,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,qBAAqB,CAAC,YAAY,EAC1C,OAAO,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,EAChC,QAAQ,EAAE,QAAQ,IAAI,WAAW,EACjC,SAAS,EAAE,EAAE,CACX,eAAe,EACf,WAAW,IAAI,WAAW,WAAW,GAAG,CACzC,YAED,cAAK,SAAS,EAAC,uBAAuB,YACnC,WAAW,CAAC,CAAC,CAAC,CACb,eAAK,SAAS,EAAC,WAAW,aACxB,KAAC,OAAO,IAAC,SAAS,EAAC,8BAA8B,GAAG,EACpD,YAAG,SAAS,EAAC,SAAS,6BAAiB,EACtC,QAAQ,IAAI,CACX,eAAK,SAAS,EAAC,8BAA8B,aAC3C,cAAK,SAAS,EAAC,6CAA6C,YAC1D,cACE,SAAS,EAAC,+CAA+C,EACzD,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,UAAU,GAAG,EAAE,GAC3C,GACE,EACN,aAAG,SAAS,EAAC,cAAc,aAAE,QAAQ,CAAC,UAAU,SAAM,IAClD,CACP,IACG,CACP,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,SAAS,IAAC,SAAS,EAAC,wBAAwB,GAAG,EAChD,YAAG,SAAS,EAAC,qBAAqB,YAAE,WAAW,GAAK,EACpD,YAAG,SAAS,EAAC,cAAc,iDAEvB,EACJ,aAAG,SAAS,EAAC,kCAAkC,qBACxC,SAAS,UACZ,IACH,CACJ,GACG,GACG,CACZ,EAGA,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CACzB,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,0GAA0G,aAEpH,KAAC,UAAU,IAAC,SAAS,EAAC,aAAa,GAAG,2BAE/B,CACV,EAEA,UAAU,IAAI,CACb,KAAC,kBAAkB,IACjB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,MAAM,EAAE,UAAU,GAClB,CACH,EAGA,KAAK,IAAI,CACR,eAAK,SAAS,EAAC,kDAAkD,aAC/D,KAAC,WAAW,IAAC,SAAS,EAAC,uBAAuB,GAAG,EACjD,yBAAO,KAAK,GAAQ,EACpB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,SAAS,EAAC,sCAAsC,sBAGzC,IACL,CACP,IACG,CACP,CAAA;AACH,CAAC;AAED,eAAe,WAAW,CAAA"}
@@ -53,5 +53,7 @@ export type { MediaStorageConfig, UploadConfig, MediaFolder, PresignedUrlRequest
53
53
  export { DEFAULT_UPLOAD_CONFIG, DEFAULT_MEDIA_UPLOAD_CONFIG, VIDEO_MIME_TYPES, validateFile, generateUniqueFilename, getFileExtension, isVideoUrl, isVideoMime, } from './types';
54
54
  export { getMediaConfig, isMediaConfigured, requireMediaConfig, defaultUploadConfig, defaultMediaUploadConfig, getUploadConfig, getMediaUploadConfig, buildStorageKey, buildPublicUrl, extractKeyFromUrl, getMimeType, isAllowedImageType, isAllowedMediaType, } from './config';
55
55
  export { useUpload } from './hooks';
56
+ export { CATEGORY_META, ADMIN_PROTECTED_CATEGORIES, MEDIA_CHIP_FILTERS, parseAssetKey, brandingKindFromKey, keyBelongsToProject, } from './taxonomy';
57
+ export type { AssetCategory, AssetKind, AssetOrigin, CategoryMeta, StoreAsset, AssetChipFilter, ParseAssetInput, } from './taxonomy';
56
58
  export { DropZone, ImageUpload, ImageGalleryUpload } from './components';
57
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAMH,YAAY,EAEV,kBAAkB,EAClB,YAAY,EACZ,WAAW,EAEX,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAEb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,gBAAgB,EAChB,eAAe,EAEf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EAEvB,cAAc,GACf,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,UAAU,CAAA;AAMjB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAMnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAMH,YAAY,EAEV,kBAAkB,EAClB,YAAY,EACZ,WAAW,EAEX,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAEb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,gBAAgB,EAChB,eAAe,EAEf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EAEvB,cAAc,GACf,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAA;AAMhB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,UAAU,CAAA;AAMjB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAMnC,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAA;AAMnB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
@@ -62,6 +62,10 @@ export { getMediaConfig, isMediaConfigured, requireMediaConfig, defaultUploadCon
62
62
  // =============================================================================
63
63
  export { useUpload } from './hooks';
64
64
  // =============================================================================
65
+ // Taxonomy (shared with the platform Assets Library — single source)
66
+ // =============================================================================
67
+ export { CATEGORY_META, ADMIN_PROTECTED_CATEGORIES, MEDIA_CHIP_FILTERS, parseAssetKey, brandingKindFromKey, keyBelongsToProject, } from './taxonomy';
68
+ // =============================================================================
65
69
  // Components
66
70
  // =============================================================================
67
71
  export { DropZone, ImageUpload, ImageGalleryUpload } from './components';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAmCH,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAA;AAEhB,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,UAAU,CAAA;AAEjB,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAmCH,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAA;AAEhB,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,UAAU,CAAA;AAEjB,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,gFAAgF;AAChF,qEAAqE;AACrE,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAA;AAWnB,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
@@ -7,4 +7,5 @@
7
7
  export { getR2Client, clearR2ClientCache, getBucketName, getPublicUrlBase, getStoreId } from './r2-client';
8
8
  export { generatePresignedUrl, generatePresignedUrls, isR2Url, validateStoreUrl, type GeneratePresignedUrlOptions, } from './presign';
9
9
  export { deleteFile, deleteFileByKey, deleteFiles, safeDeleteFile } from './delete';
10
+ export { listStoreFiles, type ListStoreFilesResult } from './list';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/media/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG1G,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,gBAAgB,EAChB,KAAK,2BAA2B,GACjC,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/media/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG1G,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,gBAAgB,EAChB,KAAK,2BAA2B,GACjC,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAGnF,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAA"}
@@ -10,4 +10,6 @@ export { getR2Client, clearR2ClientCache, getBucketName, getPublicUrlBase, getSt
10
10
  export { generatePresignedUrl, generatePresignedUrls, isR2Url, validateStoreUrl, } from './presign';
11
11
  // File Deletion
12
12
  export { deleteFile, deleteFileByKey, deleteFiles, safeDeleteFile } from './delete';
13
+ // File Listing (admin Files page)
14
+ export { listStoreFiles } from './list';
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/media/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE1G,iBAAiB;AACjB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,gBAAgB,GAEjB,MAAM,WAAW,CAAA;AAElB,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/media/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE1G,iBAAiB;AACjB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,gBAAgB,GAEjB,MAAM,WAAW,CAAA;AAElB,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEnF,kCAAkC;AAClC,OAAO,EAAE,cAAc,EAA6B,MAAM,QAAQ,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @rovela-ai/sdk/media/server/list
3
+ *
4
+ * R2 listing for the admin Files page. Server-side only.
5
+ *
6
+ * Lists every object under the store's own prefix (`stores/{storeId}/`) —
7
+ * the same live storage the platform Assets Library reads, so both surfaces
8
+ * converge by construction (no sync layer, R2 is the source of truth).
9
+ */
10
+ import type { MediaStorageConfig } from '../types';
11
+ import { type StoreAsset } from '../taxonomy';
12
+ export interface ListStoreFilesResult {
13
+ assets: StoreAsset[];
14
+ /** True when the listing stopped at MAX_ASSETS (older objects omitted). */
15
+ truncated: boolean;
16
+ }
17
+ /**
18
+ * List and parse every recognised asset under this store's R2 prefix,
19
+ * newest first. Unrecognised keys (foreign prefixes, partial uploads) are
20
+ * skipped silently per the taxonomy contract.
21
+ */
22
+ export declare function listStoreFiles(config?: MediaStorageConfig): Promise<ListStoreFilesResult>;
23
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/media/server/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAGlD,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAS5D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAyC/B"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @rovela-ai/sdk/media/server/list
3
+ *
4
+ * R2 listing for the admin Files page. Server-side only.
5
+ *
6
+ * Lists every object under the store's own prefix (`stores/{storeId}/`) —
7
+ * the same live storage the platform Assets Library reads, so both surfaces
8
+ * converge by construction (no sync layer, R2 is the source of truth).
9
+ */
10
+ import { ListObjectsV2Command } from '@aws-sdk/client-s3';
11
+ import { requireMediaConfig } from '../config';
12
+ import { getR2Client, getBucketName, getPublicUrlBase, getStoreId } from './r2-client';
13
+ import { parseAssetKey } from '../taxonomy';
14
+ /**
15
+ * Hard ceiling on parsed assets returned in one listing. Stores live well
16
+ * under this; the cap is a runaway guard, not a pagination scheme — the
17
+ * Files page filters client-side.
18
+ */
19
+ const MAX_ASSETS = 2000;
20
+ /**
21
+ * List and parse every recognised asset under this store's R2 prefix,
22
+ * newest first. Unrecognised keys (foreign prefixes, partial uploads) are
23
+ * skipped silently per the taxonomy contract.
24
+ */
25
+ export async function listStoreFiles(config) {
26
+ const resolvedConfig = config || requireMediaConfig();
27
+ const client = getR2Client(resolvedConfig);
28
+ const bucket = getBucketName(resolvedConfig);
29
+ const publicUrlBase = getPublicUrlBase(resolvedConfig);
30
+ const storeId = getStoreId(resolvedConfig);
31
+ const assets = [];
32
+ let continuationToken;
33
+ let truncated = false;
34
+ do {
35
+ const page = await client.send(new ListObjectsV2Command({
36
+ Bucket: bucket,
37
+ Prefix: `stores/${storeId}/`,
38
+ MaxKeys: 1000,
39
+ ContinuationToken: continuationToken,
40
+ }));
41
+ for (const obj of page.Contents ?? []) {
42
+ if (!obj.Key)
43
+ continue;
44
+ const asset = parseAssetKey({
45
+ key: obj.Key,
46
+ size: obj.Size ?? 0,
47
+ lastModified: obj.LastModified ?? new Date(0),
48
+ publicUrlBase,
49
+ });
50
+ if (asset)
51
+ assets.push(asset);
52
+ if (assets.length >= MAX_ASSETS) {
53
+ truncated = true;
54
+ break;
55
+ }
56
+ }
57
+ continuationToken = truncated ? undefined : page.NextContinuationToken;
58
+ } while (continuationToken);
59
+ assets.sort((a, b) => b.lastModified.localeCompare(a.lastModified));
60
+ return { assets, truncated };
61
+ }
62
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/media/server/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAA;AAE5D;;;;GAIG;AACH,MAAM,UAAU,GAAG,IAAI,CAAA;AAQvB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA2B;IAE3B,MAAM,cAAc,GAAG,MAAM,IAAI,kBAAkB,EAAE,CAAA;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAC5C,MAAM,aAAa,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAE1C,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,IAAI,iBAAqC,CAAA;IACzC,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,GAAG,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAC5B,IAAI,oBAAoB,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,UAAU,OAAO,GAAG;YAC5B,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,iBAAiB;SACrC,CAAC,CACH,CAAA;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,GAAG;gBAAE,SAAQ;YACtB,MAAM,KAAK,GAAG,aAAa,CAAC;gBAC1B,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;gBACnB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC7C,aAAa;aACd,CAAC,CAAA;YACF,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,SAAS,GAAG,IAAI,CAAA;gBAChB,MAAK;YACP,CAAC;QACH,CAAC;QAED,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAA;IACxE,CAAC,QAAQ,iBAAiB,EAAC;IAE3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;IACnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @rovela-ai/sdk/media/taxonomy
3
+ *
4
+ * Asset taxonomy — the single source of truth for classifying every R2
5
+ * object under `stores/{storeId}/...` into a typed `StoreAsset`. Shared by
6
+ * TWO surfaces that list the same storage live (no sync layer by design):
7
+ *
8
+ * - the store admin's Files page (SDK, /admin/files)
9
+ * - the Rovela platform's Assets Library (`lib/assets/categories.ts`
10
+ * re-exports this module — never fork the parse logic there)
11
+ *
12
+ * Well-known prefixes:
13
+ * branding/{logo|favicon} — merchant-uploaded logos (canonical keys, no extension)
14
+ * products/{...} — product photos
15
+ * products/videos/{...} — product videos
16
+ * variants/{...} — variant images (admin upload folder)
17
+ * categories/{...} — category cover images (admin upload folder)
18
+ * locations/{...} — store-location images (admin upload folder)
19
+ * general/{...} — untyped admin uploads
20
+ * chat-attachments/{...} — platform chat / library uploads (any kind)
21
+ * generated/products/{...} — AI-generated product images
22
+ * generated/library/{...} — AI-generated library images
23
+ * generated/{...} — AI-generated section images
24
+ * references/{...} — reference screenshots (system)
25
+ * thumbnail.jpg — post-deploy store thumbnail (system)
26
+ *
27
+ * Adding a category: append the union value, define META, extend
28
+ * `categoryFromInnerPath` (more specific prefixes FIRST). Removing one is a
29
+ * fleet decision — unrecognised keys parse to `null` and are silently
30
+ * skipped by every list surface.
31
+ */
32
+ /** Discriminator that names every well-known prefix. */
33
+ export type AssetCategory = 'logo' | 'favicon' | 'product-image' | 'product-video' | 'category-image' | 'location-image' | 'general-upload' | 'chat-upload' | 'ai-generated' | 'ai-generated-product' | 'ai-generated-library' | 'reference' | 'thumbnail';
34
+ export type AssetKind = 'image' | 'video' | 'other';
35
+ export type AssetOrigin = 'upload' | 'ai-generated' | 'system';
36
+ export interface CategoryMeta {
37
+ id: AssetCategory;
38
+ /** Human label used in row "Type" column + tooltips. */
39
+ label: string;
40
+ origin: AssetOrigin;
41
+ }
42
+ export declare const CATEGORY_META: Record<AssetCategory, CategoryMeta>;
43
+ /**
44
+ * Categories the store ADMIN must never delete: branding assets are wired
45
+ * into env vars + the platform branding helpers (deleting the raw object
46
+ * would leave a dangling logo URL on the deployed store), and system
47
+ * artifacts (references, thumbnail) belong to the platform pipeline.
48
+ */
49
+ export declare const ADMIN_PROTECTED_CATEGORIES: ReadonlySet<AssetCategory>;
50
+ /**
51
+ * The unified asset row consumed by every Files/Library UI. `key` is the
52
+ * canonical R2 object key (use it for delete); `url` is the public R2 URL.
53
+ */
54
+ export interface StoreAsset {
55
+ /** Canonical R2 object key. Stable; used for delete. */
56
+ key: string;
57
+ /** Parsed from the key (`stores/{projectId}/...`). */
58
+ projectId: string;
59
+ category: AssetCategory;
60
+ /** Public R2 URL (publicUrlBase + '/' + key). */
61
+ url: string;
62
+ /** Display name — `{timestamp}_` prefix stripped for uploaded files. */
63
+ name: string;
64
+ /** Bytes (R2 ContentLength / Size). */
65
+ size: number;
66
+ /** ISO 8601 from R2 LastModified. */
67
+ lastModified: string;
68
+ kind: AssetKind;
69
+ origin: AssetOrigin;
70
+ }
71
+ export interface AssetChipFilter {
72
+ /** Slug used in URL query / state. */
73
+ id: string;
74
+ label: string;
75
+ test: (asset: StoreAsset) => boolean;
76
+ }
77
+ /**
78
+ * Media chips shared by the admin Files page and the platform Assets
79
+ * Library. "All" first; order is the render order.
80
+ */
81
+ export declare const MEDIA_CHIP_FILTERS: AssetChipFilter[];
82
+ export interface ParseAssetInput {
83
+ /** Canonical R2 key. */
84
+ key: string;
85
+ /** Bytes — `Size` from ListObjectsV2 `Contents`. */
86
+ size: number;
87
+ /** `LastModified` from ListObjectsV2 — Date or ISO string. */
88
+ lastModified: Date | string;
89
+ /** R2 public URL base (no trailing slash). */
90
+ publicUrlBase: string;
91
+ }
92
+ /**
93
+ * Parse one R2 object into a StoreAsset. Returns `null` for keys outside
94
+ * the `stores/{id}/` namespace or with unknown prefixes — callers SKIP
95
+ * nulls so stray objects never surface.
96
+ */
97
+ export declare function parseAssetKey({ key, size, lastModified, publicUrlBase, }: ParseAssetInput): StoreAsset | null;
98
+ /**
99
+ * Branding-key sniffer — 'logo' / 'favicon' / null. Used by the platform's
100
+ * generic DELETE route to forward to the branding handlers (which also clear
101
+ * `blueprint.store.{logo|favicon}Url` + PATCH Vercel envs).
102
+ */
103
+ export declare function brandingKindFromKey(key: string): 'logo' | 'favicon' | null;
104
+ /** Authz guard: confirms a key belongs to the given store/project. */
105
+ export declare function keyBelongsToProject(key: string, projectId: string): boolean;
106
+ //# sourceMappingURL=taxonomy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomy.d.ts","sourceRoot":"","sources":["../../src/media/taxonomy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,wDAAwD;AACxD,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,SAAS,GACT,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,sBAAsB,GACtB,sBAAsB,GACtB,WAAW,GACX,WAAW,CAAA;AAEf,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AACnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAA;AAE9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,aAAa,CAAA;IACjB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,CAsB7D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,aAAa,CAKhE,CAAA;AAEF;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAA;IACX,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,CAAA;IACvB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAA;IACX,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;CACpB;AAMD,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAoC/C,CAAA;AAkED,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAA;IACZ,8DAA8D;IAC9D,YAAY,EAAE,IAAI,GAAG,MAAM,CAAA;IAC3B,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,aAAa,GACd,EAAE,eAAe,GAAG,UAAU,GAAG,IAAI,CAyBrC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAG1E;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3E"}