Commit Graph
36 Commits
Author SHA1 Message Date
google-labs-jules[bot] d260dbb198 feat: Add AI provider settings and update UI layout
- Add `Setting` model to Prisma schema for storing API keys and model configs.
- Implement `SettingService` and API for managing application settings.
- Refactor `src/service/ai.ts` to `UnifiedAIService` supporting dynamic OpenAI and Google provider selection.
- Add Settings page (`src/ui/pages/Settings.tsx`) to configure providers and default models.
- Update `AppSidebar` to include Settings, use text-under-icon style, and decrease sidebar width to 4.5rem.
- Update `Layout` to move "Forgery" title to header and add GitHub link.
- Add unit tests for `SettingService` and `UnifiedAIService`, mocking database interactions to resolve test environment issues.
- Fix API URL path for settings in frontend client.
2026-02-09 14:58:16 +00:00
google-labs-jules[bot] ee4ab2d9d1 feat: Add AI provider settings and update UI layout
- Add `Setting` model to Prisma schema for storing API keys and model configs.
- Implement `SettingService` and API for managing application settings.
- Refactor `src/service/ai.ts` to `UnifiedAIService` supporting dynamic OpenAI and Google provider selection.
- Add Settings page (`src/ui/pages/Settings.tsx`) to configure providers and default models.
- Update `AppSidebar` to include Settings, use text-under-icon style, and increase icon size.
- Update `Layout` to move "Forgery" title to header and add GitHub link.
- Add unit tests for `SettingService` and `UnifiedAIService`.
2026-02-09 14:28:31 +00:00
Yiling-J 61da94c5c9 Merge pull request #9 from Yiling-J/feature-fitting-room-and-character-creation-299810460561217948
feat: add character creation and fitting room ui
2026-02-09 17:03:58 +08:00
google-labs-jules[bot] f052e1bf8f feat: add character creation and fitting room ui
- Implemented `Character Creation` flow with dialog and image upload.
- Implemented `Fitting Room` page with split view (Character Preview / Generations).
- Implemented `Create Outfit` dialog with equipment filtering and selection.
- Added `POST /api/generations` to handle outfit generation.
- Updated `AIService` to support complex prompt structure with interleaved text and images.
- Updated `CharacterService` to support fetching single character.
- Added frontend routes and components.
- Added relevant tests.
- Fixed lint issues and updated UI sizing to 150px.
2026-02-09 08:56:04 +00:00
google-labs-jules[bot] cc024a0aea feat: add character creation and fitting room ui
- Implemented `Character Creation` flow with dialog and image upload.
- Implemented `Fitting Room` page with split view (Character Preview / Generations).
- Implemented `Create Outfit` dialog with equipment filtering and selection.
- Added `POST /api/generations` to handle outfit generation.
- Updated `AIService` to support complex prompt structure with interleaved text and images.
- Updated `CharacterService` to support fetching single character.
- Added frontend routes and components.
- Added relevant tests.
2026-02-09 00:10:59 +00:00
Yiling-J fba32312ce Merge pull request #8 from Yiling-J/jules-5007510567183700961-73aeff6d
feat: add sidebar and split views for characters and equipments
2026-02-08 23:20:20 +08:00
yiling ji 6d43ce96d5 fix lint 2026-02-08 23:01:23 +08:00
yiling ji 5ebad7befe update shadcn 2026-02-08 22:51:06 +08:00
google-labs-jules[bot] 7f837ead71 feat: add sidebar, characters page, and equipments page with filter
- Add `react-router-dom` for client-side routing.
- Add `shadcn` components: `Sidebar`, `Dialog`, `Button`, `ScrollArea`, `Avatar`, `Badge`, `Card`, `Sheet`, `Tooltip`, `Separator`, `Input`, `Label`.
- Implement `AppSidebar` with navigation to Characters and Equipments.
- Implement `Characters` page displaying character avatars.
- Implement `Equipments` page with:
  - Horizontal scrollable category filter (multi-select).
  - Equipment grid layout.
  - "Extract Equipment" button opening a `Dialog` (refactored from `Extractor` component, maintaining original UI design).
  - Added support for pasting images directly into the Extractor Dialog.
- Update `Equipment` API and Service to support filtering by multiple categories.
- Add database index to `Equipment` table on `[category, subCategory]`.
- Refactor `App.tsx` and `Layout.tsx` to use the new routing and sidebar structure.
- Remove legacy `Stash` and `Extractor` components.
2026-02-08 14:39:35 +00:00
google-labs-jules[bot] 6991642f69 feat: add sidebar, characters page, and equipments page with filter
- Add `react-router-dom` for client-side routing.
- Add `shadcn` components: `Sidebar`, `Dialog`, `Button`, `ScrollArea`, `Avatar`, `Badge`, `Card`, `Sheet`, `Tooltip`, `Separator`, `Input`, `Label`.
- Implement `AppSidebar` with navigation to Characters and Equipments.
- Implement `Characters` page displaying character avatars.
- Implement `Equipments` page with:
  - Horizontal scrollable category filter (multi-select).
  - Equipment grid layout.
  - "Extract Equipment" button opening a `Dialog` (refactored from `Extractor` component but maintaining original UI design).
- Update `Equipment` API and Service to support filtering by multiple categories.
- Add database index to `Equipment` table on `[category, subCategory]`.
- Refactor `App.tsx` and `Layout.tsx` to use the new routing and sidebar structure.
- Remove legacy `Stash` and `Extractor` components.
2026-02-08 14:00:47 +00:00
google-labs-jules[bot] bc3102a660 feat: add sidebar, characters page, and equipments page with filter
- Add `react-router-dom` for client-side routing.
- Add `shadcn` components: `Sidebar`, `Dialog`, `Button`, `ScrollArea`, `Avatar`, `Badge`, `Card`, `Sheet`, `Tooltip`, `Separator`, `Input`, `Label`.
- Implement `AppSidebar` with navigation to Characters and Equipments.
- Implement `Characters` page displaying character avatars.
- Implement `Equipments` page with:
  - Horizontal scrollable category filter (multi-select).
  - Equipment grid layout.
  - "Extract Equipment" button opening a `Dialog` (refactored from `Extractor` component).
- Update `Equipment` API and Service to support filtering by multiple categories.
- Add database index to `Equipment` table on `[category, subCategory]`.
- Refactor `App.tsx` and `Layout.tsx` to use the new routing and sidebar structure.
- Remove legacy `Stash` and `Extractor` components.
2026-02-08 12:26:17 +00:00
Yiling-J 0084194266 Merge pull request #7 from Yiling-J/update-categories-to-string-6889465491109430858
Replace Category table with hardcoded string categories
2026-02-08 18:18:05 +08:00
google-labs-jules[bot] 44291666e7 feat: replace Category table with string fields in Equipment
- Removed Category table from schema.prisma
- Updated Equipment table to use string `category` and `subCategory`
- Created `src/lib/categories.ts` with hardcoded categories
- Updated `ExtractionService` to use hardcoded categories and "Others" fallback
- Updated `Extract` API to stream `asset_refined` events
- Updated Frontend to handle new data structure and SSE events
- Updated tests to reflect changes
2026-02-08 09:10:22 +00:00
Yiling-J 4a814e117c Merge pull request #2 from Yiling-J/jules-forgery-feature-14118265087119997838
feat: Integrate Extraction UI Demo with Hono Backend
2026-02-08 16:15:12 +08:00
yiling ji 5ad86d3143 add test env 2026-02-08 16:11:07 +08:00
Yiling-J b60c7448f5 Merge pull request #6 from Yiling-J/fix-extraction-test-mocks-3801222500713040204
Fix test pollution by removing unused global mocks in extraction service
2026-02-08 13:23:38 +08:00
yiling ji 772971ab95 fix gemini schema 2026-02-08 13:22:39 +08:00
google-labs-jules[bot] f903873f16 Remove unused global mocks from extraction service tests
- Removed unused `mock.module` calls for `file`, `category`, `asset`, and `equipment` services in `src/service/extraction.test.ts`.
- These mocks were causing global pollution and interfering with `src/service/file.test.ts`, causing it to fail.
- Verified that `extraction.test.ts` and `file.test.ts` now pass independently and together.
2026-02-08 05:19:33 +00:00
yiling ji 35c91ec17a change idle timeout 2026-02-08 12:57:39 +08:00
yiling ji dd7afeeb71 update 2026-02-08 12:56:04 +08:00
Yiling-J 8e63341afc Merge pull request #5 from Yiling-J/refactor-service-instance-methods-6682712602208773896
Refactor services to use instance methods
2026-02-08 12:13:34 +08:00
google-labs-jules[bot] ed54192f4a refactor: Convert service methods from static to instance methods
- Refactored `AssetService`, `CategoryService`, `CharacterService`, `EquipmentService`, `FileService`, `ExtractionService`, `GenerationService` to use instance methods.
- Exported singleton instances for each service.
- Updated all API routes to use the exported service instances.
- Updated all tests to use and mock service instances.
- Updated `AGENTS.md` to reflect the new service layer pattern.
- Verified changes with lint, format, typecheck, and test.
2026-02-08 04:13:21 +00:00
Yiling-J 2475bcd550 Merge pull request #4 from Yiling-J/refactor-hono-api-routes-1758627388033681198
Refactor Hono API routes for typed RPC client & lint fixes
2026-02-08 11:05:53 +08:00
google-labs-jules[bot] 36d917eadd Refactor Hono API routes for typed RPC client & lint fixes 2026-02-08 03:05:02 +00:00
yiling ji 51252249eb fix format 2026-02-08 10:32:56 +08:00
Yiling-J 79c8840659 Merge pull request #3 from Yiling-J/jules-fix-lint-tests-types-10072341192937692961
Fix lint/typecheck/test issues and refactor UI types
2026-02-08 09:58:56 +08:00
google-labs-jules[bot] c944cff76b Fix lint/typecheck/test issues and refactor UI types
- Add `.env` to `.gitignore` and create `.env.example`.
- Install `@modelcontextprotocol/sdk` to fix type errors.
- Fix linting issues (unused vars, error handling) in `src/api/extract.ts` and `src/service/ai.ts`.
- Fix typecheck errors in `src/service/file.ts` (Buffer types) and `src/service/ai.ts` (GenAI types).
- Update `tsconfig.json` to use React JSX and skip lib checks.
- Fix tests in `src/service/asset.test.ts` (mocking `Bun.write`) and `src/api/equipment.test.ts`.
- Refactor `src/ui/components/Stash.tsx` and `src/ui/components/Extractor.tsx` to infer types from Hono client.
- Simplify `src/ui/types.ts` by removing redundant types.
2026-02-08 01:58:12 +00:00
yiling ji 0f538117fc fix prisma init 2026-02-07 23:43:33 +08:00
google-labs-jules[bot] 7194663eb5 feat: Integrate Extraction UI Demo with Hono Backend
- Migrated frontend demo to `src/ui` as a Bun-native React app.
- Implemented `ExtractionService` with 5-step AI extraction flow (Analyze, Generate, Detect, Crop, Refine).
- Implemented `FileService` for image processing and storage using `sharp`.
- Implemented `EquipmentService` and `CategoryService` for managing game assets.
- Set up Hono RPC (`hc`) for type-safe frontend-backend communication.
- Configured `Bun.serve` to handle both API routes and frontend static files/SPA routing.
- Added `zod` validation for API endpoints.
- Updated `AGENTS.md` with new architecture details.
2026-02-07 14:45:29 +00:00
yiling ji 4615a075b1 add demo ui 2026-02-07 21:05:33 +08:00
Yiling-J 2c6bf14d69 Merge pull request #1 from Yiling-J/feature-backend-infra-6262829423610331401
Backend Infrastructure Setup
2026-02-07 21:03:37 +08:00
google-labs-jules[bot] 5f8de096a6 feat: backend infra setup with prisma, services, and apis
- Added Prisma schema with Asset, Character, Equipment, Generation, Category models
- Configured SQLite with LibSQL adapter
- Implemented Service layer (src/service) with unit tests
- Implemented API layer (src/api) with Hono and integration tests
- Added static file serving for assets
- Configured CI/CD with GitHub Actions
- Added Developer Guide (AGENTS.md)
- Removed Format Check from CI
2026-02-07 13:02:46 +00:00
google-labs-jules[bot] 299be74d66 feat: backend infra setup with prisma, services, and apis
- Added Prisma schema with Asset, Character, Equipment, Generation, Category models
- Configured SQLite with LibSQL adapter
- Implemented Service layer (src/service) with unit tests
- Implemented API layer (src/api) with Hono and integration tests
- Added static file serving for assets
- Configured CI/CD with GitHub Actions
- Added Developer Guide (AGENTS.md)
2026-02-07 12:32:56 +00:00
google-labs-jules[bot] 1d87fd6db8 feat: backend infra setup with prisma, services, and apis
- Added Prisma schema with Asset, Character, Equipment, Generation, Category models
- Configured SQLite with LibSQL adapter
- Implemented Service layer with unit tests
- Implemented API layer with Hono and integration tests
- Added static file serving for assets
- Configured CI/CD with GitHub Actions
- Added Developer Guide (AGENTS.md)
2026-02-07 11:58:53 +00:00
yiling ji ad26eeaf5e update gitignore 2026-02-07 18:19:04 +08:00
yiling ji 5f9c755f71 init project 2026-02-07 12:05:18 +08:00