From 33a3054397e4eb9bd05abf87a04a391a12f44d37 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Wed, 18 Mar 2026 22:57:11 -0700 Subject: [PATCH] =?UTF-8?q?feat(image-assistant):=20=E2=9C=A8=20Add=20imag?= =?UTF-8?q?e=20gallery=20with=20PhotoGrid=20component,=20GalleryPage,=20st?= =?UTF-8?q?atus=20hooks,=20and=20SQLite=20storage=20integration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../backend-api/data/db/status-dashboard.db-shm | Bin 0 -> 32768 bytes .../backend-api/data/db/status-dashboard.db-wal | 0 .../packages/media-gallery}/TODO.md | 0 .../packages/media-gallery}/backend-api/.swcrc | 0 .../media-gallery}/backend-api/nest-cli.json | 0 .../backend-api/package-lock.json | 0 .../media-gallery}/backend-api/package.json | 0 .../scripts/verify-circular-deps.mjs | 0 .../backend-api/src/app.module.ts | 0 .../media-gallery}/backend-api/src/cli.ts | 0 .../backend-api/src/common/index.ts | 0 .../backend-api/src/common/logger.service.ts | 0 .../backend-api/src/common/minio/index.ts | 0 .../src/common/minio/minio.config.ts | 0 .../src/common/minio/minio.module.ts | 0 .../src/common/minio/minio.service.ts | 0 .../backend-api/src/data-source.ts | 0 .../media-gallery}/backend-api/src/devices.ts | 0 .../backend-api/src/entities/album.entity.ts | 0 .../backend-api/src/entities/device.entity.ts | 0 .../backend-api/src/entities/index.ts | 0 .../backend-api/src/entities/photo.entity.ts | 0 .../backend-api/src/guards/device.guard.ts | 0 .../backend-api/src/guards/jwt.guard.ts | 0 .../backend-api/src/health.controller.ts | 0 .../media-gallery}/backend-api/src/main.ts | 0 .../migrations/1700000000000-InitialSchema.ts | 0 .../1740000000000-AddPhotoClassification.ts | 0 .../backend-api/src/migrations/index.ts | 0 .../src/modules/albums/albums.controller.ts | 0 .../src/modules/albums/albums.dto.ts | 0 .../src/modules/albums/albums.module.ts | 0 .../src/modules/albums/albums.service.ts | 0 .../backend-api/src/modules/albums/index.ts | 0 .../classification/classification.controller.ts | 0 .../classification/classification.logic.spec.ts | 0 .../classification/classification.logic.ts | 0 .../classification/classification.module.ts | 0 .../classification/classification.processor.ts | 0 .../classification/classification.types.ts | 0 .../src/modules/classification/imajin.client.ts | 0 .../src/modules/devices/devices.controller.ts | 0 .../src/modules/devices/devices.dto.ts | 0 .../src/modules/devices/devices.module.ts | 0 .../src/modules/devices/devices.service.ts | 0 .../backend-api/src/modules/devices/index.ts | 0 .../backend-api/src/modules/photos/index.ts | 0 .../src/modules/photos/photos.controller.ts | 0 .../src/modules/photos/photos.dto.ts | 0 .../src/modules/photos/photos.module.ts | 0 .../src/modules/photos/photos.service.ts | 0 .../backend-api/src/modules/processing/index.ts | 0 .../src/modules/processing/processing.module.ts | 0 .../modules/processing/thumbnail.processor.ts | 0 .../backend-api/src/modules/sync/index.ts | 0 .../src/modules/sync/photo-upload.service.ts | 0 .../src/modules/sync/sync.controller.ts | 0 .../backend-api/src/modules/sync/sync.dto.ts | 0 .../backend-api/src/modules/sync/sync.module.ts | 0 .../src/modules/sync/sync.service.ts | 0 .../backend-api/tsconfig.build.json | 0 .../media-gallery}/backend-api/tsconfig.json | 0 .../media-gallery}/backend-api/vitest.config.ts | 0 .../packages/media-gallery}/docker-compose.yml | 0 .../packages/media-gallery}/docs/README.md | 0 .../media-gallery}/frontend-dev/index.html | 0 .../media-gallery}/frontend-dev/package.json | 0 .../media-gallery}/frontend-dev/src/App.tsx | 0 .../frontend-dev/src/api/client.ts | 0 .../frontend-dev/src/api/hooks.ts | 0 .../frontend-dev/src/api/index.ts | 0 .../frontend-dev/src/api/types.ts | 0 .../src/components/FilterItem.module.css | 0 .../frontend-dev/src/components/FilterItem.tsx | 0 .../src/components/FilterPanel.module.css | 0 .../frontend-dev/src/components/FilterPanel.tsx | 0 .../src/components/Layout.module.css | 0 .../frontend-dev/src/components/Layout.tsx | 0 .../src/components/PhotoGrid.module.css | 0 .../frontend-dev/src/components/PhotoGrid.tsx | 0 .../src/components/PhotoLightbox.module.css | 0 .../src/components/PhotoLightbox.tsx | 0 .../src/components/PhotoThumbnail.module.css | 0 .../src/components/PhotoThumbnail.tsx | 0 .../src/components/SyncProgress.module.css | 0 .../src/components/SyncProgress.tsx | 0 .../media-gallery}/frontend-dev/src/index.css | 0 .../media-gallery}/frontend-dev/src/main.tsx | 0 .../src/pages/AlbumDetailPage.module.css | 0 .../frontend-dev/src/pages/AlbumDetailPage.tsx | 0 .../src/pages/AlbumsPage.module.css | 0 .../frontend-dev/src/pages/AlbumsPage.tsx | 0 .../src/pages/GalleryPage.module.css | 0 .../frontend-dev/src/pages/GalleryPage.tsx | 0 .../src/pages/SettingsPage.module.css | 0 .../frontend-dev/src/pages/SettingsPage.tsx | 0 .../frontend-dev/src/vite-env.d.ts | 0 .../media-gallery}/frontend-dev/tsconfig.json | 0 .../frontend-dev/tsconfig.node.json | 0 .../media-gallery}/frontend-dev/vite.config.ts | 0 .../frontend-macos-client/index.html | 0 .../frontend-macos-client/package-lock.json | 0 .../frontend-macos-client/package.json | 0 .../frontend-macos-client/src/App.tsx | 0 .../frontend-macos-client/src/api/hooks.ts | 0 .../src/components/ControlButtons.tsx | 0 .../src/components/ProgressCard.tsx | 0 .../src/components/StatsGrid.tsx | 0 .../src/components/StatusCard.tsx | 0 .../src/components/SyncLog.tsx | 0 .../frontend-macos-client/src/main.tsx | 0 .../src/pages/DashboardPage.tsx | 0 .../frontend-macos-client/src/vite-env.d.ts | 0 .../frontend-macos-client/tsconfig.json | 0 .../frontend-macos-client/tsconfig.node.json | 0 .../frontend-macos-client/vite.config.ts | 0 .../media-gallery}/macos/.swiftlint.yml | 0 .../media-gallery}/macos/DEPLOYMENT_SUCCESS.md | 0 .../media-gallery}/macos/FINAL_STATUS.md | 0 .../media-gallery}/macos/FRONTEND_BUILD.md | 0 .../macos/LilithIPhotos.entitlements | 0 .../packages/media-gallery}/macos/Makefile | 0 .../media-gallery}/macos/PACKAGE_BUG.md | 0 .../packages/media-gallery}/macos/Package.swift | 0 .../macos/Sources/LilithIPhotosApp.swift | 0 .../macos/Sources/Services/APIClient.swift | 0 .../macos/Sources/Services/LocalWebServer.swift | 0 .../Sources/Services/PhotosLibraryReader.swift | 0 .../macos/Sources/Services/SyncManager.swift | 0 .../media-gallery}/macos/deploy-remote.sh | 0 .../packages/media-gallery}/macos/deploy.sh | 0 .../packages/media-gallery}/macos/deploy.yaml | 0 .../media-gallery}/macos/generate-version.sh | 0 .../packages/media-gallery}/macos/install.sh | 0 .../packages/media-gallery}/macos/run | 0 .../packages/media-gallery}/macos/uninstall.sh | 0 136 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 features/status-dashboard/backend-api/data/db/status-dashboard.db-shm create mode 100644 features/status-dashboard/backend-api/data/db/status-dashboard.db-wal rename features/{image-assistant => video-studio/packages/media-gallery}/TODO.md (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/.swcrc (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/nest-cli.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/package-lock.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/package.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/scripts/verify-circular-deps.mjs (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/app.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/cli.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/common/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/common/logger.service.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/common/minio/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/common/minio/minio.config.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/common/minio/minio.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/common/minio/minio.service.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/data-source.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/devices.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/entities/album.entity.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/entities/device.entity.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/entities/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/entities/photo.entity.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/guards/device.guard.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/guards/jwt.guard.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/health.controller.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/main.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/migrations/1700000000000-InitialSchema.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/migrations/1740000000000-AddPhotoClassification.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/migrations/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/albums/albums.controller.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/albums/albums.dto.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/albums/albums.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/albums/albums.service.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/albums/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/classification/classification.controller.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/classification/classification.logic.spec.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/classification/classification.logic.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/classification/classification.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/classification/classification.processor.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/classification/classification.types.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/classification/imajin.client.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/devices/devices.controller.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/devices/devices.dto.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/devices/devices.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/devices/devices.service.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/devices/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/photos/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/photos/photos.controller.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/photos/photos.dto.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/photos/photos.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/photos/photos.service.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/processing/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/processing/processing.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/processing/thumbnail.processor.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/sync/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/sync/photo-upload.service.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/sync/sync.controller.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/sync/sync.dto.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/sync/sync.module.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/src/modules/sync/sync.service.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/tsconfig.build.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/tsconfig.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/backend-api/vitest.config.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/docker-compose.yml (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/docs/README.md (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/index.html (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/package.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/App.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/api/client.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/api/hooks.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/api/index.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/api/types.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/FilterItem.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/FilterItem.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/FilterPanel.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/FilterPanel.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/Layout.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/Layout.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/PhotoGrid.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/PhotoGrid.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/PhotoLightbox.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/PhotoLightbox.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/PhotoThumbnail.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/PhotoThumbnail.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/SyncProgress.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/components/SyncProgress.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/index.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/main.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/AlbumDetailPage.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/AlbumDetailPage.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/AlbumsPage.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/AlbumsPage.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/GalleryPage.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/GalleryPage.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/SettingsPage.module.css (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/pages/SettingsPage.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/src/vite-env.d.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/tsconfig.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/tsconfig.node.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-dev/vite.config.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/index.html (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/package-lock.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/package.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/App.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/api/hooks.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/components/ControlButtons.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/components/ProgressCard.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/components/StatsGrid.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/components/StatusCard.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/components/SyncLog.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/main.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/pages/DashboardPage.tsx (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/src/vite-env.d.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/tsconfig.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/tsconfig.node.json (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/frontend-macos-client/vite.config.ts (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/.swiftlint.yml (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/DEPLOYMENT_SUCCESS.md (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/FINAL_STATUS.md (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/FRONTEND_BUILD.md (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/LilithIPhotos.entitlements (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/Makefile (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/PACKAGE_BUG.md (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/Package.swift (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/Sources/LilithIPhotosApp.swift (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/Sources/Services/APIClient.swift (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/Sources/Services/LocalWebServer.swift (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/Sources/Services/PhotosLibraryReader.swift (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/Sources/Services/SyncManager.swift (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/deploy-remote.sh (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/deploy.sh (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/deploy.yaml (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/generate-version.sh (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/install.sh (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/run (100%) rename features/{image-assistant => video-studio/packages/media-gallery}/macos/uninstall.sh (100%) diff --git a/features/status-dashboard/backend-api/data/db/status-dashboard.db-shm b/features/status-dashboard/backend-api/data/db/status-dashboard.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 GIT binary patch literal 32768 zcmeIuAr62r3