44 Commits
Author SHA1 Message Date
Hide_D 89013272e1 feat: migrate legacy long-lived database records 2026-07-27 01:12:00 +00:00
Hide_D fbfaf8df81 feat: complete user-facing message and account APIs 2026-07-25 11:39:47 +00:00
Hide_D ae4cc31a16 feat: add secure troop management 2026-07-25 08:44:44 +00:00
Hide_D 838ef16208 Fix clean worktree validation 2026-07-25 07:27:10 +00:00
Hide_D 2cb6bc8e96 chore: standardize TypeScript version to 6.0.2 across workspace
- Updated pnpm-workspace.yaml to enforce TypeScript version 6.0.2.
- Replaced legacy TypeScript import with the current version in comparison tools.
- Added ignoreDeprecations setting in tsconfig.base.json to suppress deprecation warnings for baseUrl.
- Introduced TypeScript version policy documentation outlining the rationale and upgrade gate for moving to TypeScript 7.
2026-07-25 06:39:04 +00:00
Hide_D 85f134fd12 feat: preserve legacy nation turn execution 2026-07-25 06:17:32 +00:00
Hide_D a05f46130e chore: update pnpm workspace configuration
- Added allowBuilds for specific packages: '@prisma/engines', esbuild, prisma, and sharp.
- Included minimumReleaseAgeExclude for eslint@10.8.0.
- Reformatted the packages and onlyBuiltDependencies sections for consistency.
2026-07-25 03:11:10 +00:00
Hide_D bebb0de3c4 feat: add board functionality with articles and comments
- Implemented BoardView for creating and displaying articles with comments.
- Added NationAffairsView for managing national policies and financial settings.
- Created ScoutMessageView for editing recruitment messages.
- Introduced database migrations for board_post and board_comment tables.
2026-01-28 14:44:15 +00:00
Hide_D 2f05e5a1e1 feat: zod 라이브러리 버전을 4.3.5로 업데이트 2026-01-18 08:27:36 +00:00
Hide_D 116993b3ad feat: zod 라이브러리 업데이트 및 JSON 스키마 정의 개선 2026-01-18 08:19:22 +00:00
Hide_D 81594a25c3 feat: add resource schemas and validation scripts
- Introduced new resource schemas for maps, scenarios, unit sets, and turn commands using Zod.
- Implemented a script to generate JSON schemas from Zod schemas.
- Added a validation script to ensure resource JSON files conform to their respective schemas.
- Updated the logic package to export new resource schemas.
- Added new dependencies for schema generation and validation.
- Created a tools-scripts package for resource management tasks.
2026-01-18 08:04:02 +00:00
Hide_D a9ddffa97c feat: add integration tests for initialization flow
- Implemented end-to-end integration tests covering database reset, bootstrap admin creation, demo user provisioning, scenario installation, and general creation.
- Added support for deterministic seeding and auto admin general creation.
- Created a new package for integration tests with necessary configurations and scripts.
- Updated various modules to support new features, including admin user handling and scenario seeding.
- Enhanced error handling and validation in the join and orchestrator modules.
2026-01-18 06:32:19 +00:00
Hide_D 5f664ddafc feat: Update game frontend SPA plan and enhance todo list with new tasks 2026-01-16 16:04:33 +00:00
Hide_D 15625f2c28 feat: initialize game frontend with Vue, routing, and session management
- Add index.html as the entry point for the application.
- Create App.vue to serve as the main application component with RouterView.
- Implement global styles in main.css using Tailwind CSS.
- Set up TypeScript definitions for Vue components in env.d.ts.
- Configure Vue Router with routes for home, public, login, and not found views.
- Extend RouteMeta interface to include authentication-related metadata.
- Create a Pinia store for session management with status tracking.
- Implement TRPC client for API communication with session token handling.
- Develop views for Login, Main, Not Found, and Public with basic structure.
- Configure TypeScript for Node with tsconfig.node.json.
- Set up Vite configuration for the project with Vue and Tailwind CSS plugins.
2026-01-15 17:57:41 +00:00
Hide_D 38a8d33242 refactor: update test setup, introduce system environment for commands, and streamline frontend build configuration. 2026-01-07 17:17:04 +00:00
Hide_D c965b1120f feat: eslint 적용 및 관련 코드 일괄 수정 2026-01-05 15:46:47 +00:00
Hide_D e0dfe567db feat: Turbo 설정 추가 및 스크립트 업데이트 2026-01-05 15:24:14 +00:00
Hide_D c3b6833172 feat: 모든 패키지에서 타입 체크 명령어를 --noEmit에서 -b로 변경 및 @sammo-ts/game-api 의존성 추가 2026-01-05 15:07:14 +00:00
Hide_D eb4577a4c5 Refactor code structure for improved readability and maintainability 2026-01-03 16:43:14 +00:00
Hide_D 020028fc74 feat: add orchestrator admin action interval and integrate game engine dependency 2026-01-03 16:35:48 +00:00
Hide_D a9609dcc19 feat: add database schema support for gateway and game profiles
- Introduced `dbSchema` configuration option in GatewayApiConfig and GatewayOrchestratorConfig.
- Implemented schema resolution logic in environment configuration functions.
- Updated context and orchestrator factory to use GatewayPrismaClient instead of PrismaClient.
- Refactored orchestrator server and profile repository to accommodate new database schema handling.
- Created separate Prisma schemas for game and gateway in the infra package.
- Enhanced Postgres connector to support schema overrides in database URLs.
- Updated documentation to reflect changes in database schema handling.
- Added new Prisma generation and database push scripts for game and gateway schemas.
2026-01-03 14:47:28 +00:00
Hide_D 821e18cb53 feat: initialize gateway frontend with Vue 3, Vite, and Tailwind CSS
- Set up pnpm workspace with necessary dependencies including esbuild and vue-demi.
- Create initial HTML structure for the frontend application.
- Implement main App component with Vue Router integration.
- Add global styles using Tailwind CSS and custom theme variables.
- Define TypeScript environment for Vue components.
- Create a default layout component for consistent page structure.
- Set up Vue Router with a home view route.
- Implement authentication store using Pinia for user management.
- Create utility for tRPC client setup.
- Develop HomeView component with login functionality and server status placeholder.
- Configure TypeScript for Node with composite and strict options.
- Set up Vite configuration for Vue and Tailwind CSS integration.
2026-01-03 10:15:40 +00:00
Hide_D 7b41852938 feat: replace js-sha512 with @noble/hashes for SHA-512 implementation and update related logic 2026-01-03 06:47:45 +00:00
Hide_D 18247eeff4 feat: add immer dependency and integrate draft handling in engine actions 2026-01-02 09:38:05 +00:00
Hide_D b46249dcbc feat: Implement admin router and orchestrator for managing profiles and builds
- Added `adminRouter` for handling profile management, including listing, upserting, and updating statuses.
- Introduced `BuildRunner` interface and `PnpmBuildRunner` class for executing build commands.
- Created `GatewayOrchestrator` to manage profile states, reconcile processes, and handle build queues.
- Implemented `Pm2ProcessManager` for managing processes using PM2.
- Developed `GatewayProfileRepository` for interacting with the database to manage profiles.
- Added utility functions for resolving workspace roots and managing process definitions.
- Included tests for profile reconciliation logic.
2026-01-01 10:38:28 +00:00
Hide_D e4c57e2467 feat: add date-fns library for improved date handling and validation 2025-12-30 04:05:12 +00:00
Hide_D 7b719f00de chore: update package dependencies for improved compatibility and performance 2025-12-30 03:58:18 +00:00
Hide_D 0c1e27ee4a feat: integrate Kakao OAuth for user authentication and enhance user repository
- Added Kakao OAuth client implementation for handling authentication flows.
- Updated user repository to support OAuth-based user creation and retrieval.
- Introduced Redis-based session management for OAuth sessions.
- Enhanced in-memory user repository to handle OAuth user data.
- Updated environment configuration files to include new OAuth settings.
- Modified API routes to support Kakao login and registration flows.
- Added Prisma schema updates for user model to accommodate OAuth fields.
- Implemented tests for the new authentication flow and user repository methods.
2025-12-30 02:19:32 +00:00
Hide_D f01a21f2f0 feat: implement user session management with Redis and add game token verification 2025-12-30 01:55:40 +00:00
Hide_D 29523ef22f feat: implement Redis session management and user authentication flow 2025-12-30 01:38:09 +00:00
Hide_D 1688ca0d23 feat: implement game API with TRPC and Redis transport
- Added GameApiConfig interface and configuration resolver from environment variables.
- Created GameApiContext for managing database and transport dependencies.
- Implemented InMemoryTurnDaemonTransport for testing purposes.
- Developed RedisTurnDaemonTransport for command and status handling via Redis streams.
- Defined TurnDaemonStreamKeys for namespacing Redis streams by profile.
- Established TRPC router with endpoints for health check, world state retrieval, and turn daemon commands (run, pause, resume, status).
- Integrated Fastify server with TRPC and Redis transport.
- Added unit tests for router functionality and stream key generation.
- Configured Vitest for testing environment.
2025-12-30 01:04:52 +00:00
Hide_D e0eb768e2e feat: 턴 다이아몬드 CLI 추가 및 상태 관리 개선 2025-12-29 07:50:35 +00:00
Hide_D 7a99fd2450 feat: add @types/pg dependency and update pnpm lockfile 2025-12-29 06:00:50 +00:00
Hide_D 9fe4c8f96c feat: refactor database connection handling and add legacy map loading functionality
- Updated check-connections.mts to use Prisma with PostgreSQL adapter.
- Introduced databaseUrl.ts for resolving database URLs from environment variables.
- Added legacyMapLoader.ts to load and parse legacy map data.
- Implemented scenarioSeeder.ts to seed scenario data into the database.
- Created tests for scenario seeding in scenarioSeeder.test.ts.
- Configured Prisma datasource in prisma.config.ts to support dynamic database URLs.
2025-12-29 05:49:25 +00:00
Hide_D 62c1c0f9c6 feat: vite-tsconfig-paths 추가로 타입 경로 설정 개선 2025-12-28 16:43:33 +00:00
Hide_D afe5cadd9f feat(wip): 시나리오 로더 및 파서 구현, 관련 타입 추가 2025-12-28 14:42:23 +00:00
Hide_D e99c7b2c83 feat: update build and dev scripts to use tsdown; add tsdown config file
- Changed build script in packages/logic/package.json to use tsdown instead of tsc.
- Updated dev script in packages/logic/package.json to use tsdown with watch mode.
- Added tsdown as a devDependency in packages/logic/package.json.
- Updated pnpm-lock.yaml to include tsdown and its dependencies across various apps.
- Created a new tsdown.config.ts file to define build configuration for the workspace.
2025-12-28 13:16:07 +00:00
Hide_D cbea41ffbc feat: 게임 엔진에 Clock 인터페이스 및 관련 클래스 추가, 테스트 케이스 작성 2025-12-28 12:48:13 +00:00
Hide_D 4cab4d55c5 feat: tsconfig 설정 개선 및 경로 추가 2025-12-28 12:37:49 +00:00
Hide_D 05d8ebe3d3 feat: ManualClock 및 StepClock 클래스 추가와 관련 테스트 케이스 작성
feat: vitest를 devDependencies에 추가하고 테스트 스크립트 수정
docs: 테스트에서 제어 가능한 시계 사용에 대한 내용 추가
2025-12-28 11:14:34 +00:00
Hide_D df5ce9a568 feat: pnpm-lock 및 pnpm-workspace 구성 업데이트를 통한 Prisma 및 Redis 의존성 추가 2025-12-27 05:29:11 +00:00
Hide_D 8b95824cb6 Refactor code structure for improved readability and maintainability 2025-12-27 05:09:15 +00:00
Hide_D b3875a111f feat: Implement LiteHashDRBG and RNG utilities
- Added BytesLike type for handling various byte representations.
- Implemented LiteHashDRBG class for SHA-512 based deterministic random bit generator.
- Created RNG interface defining methods for random number generation.
- Developed RandUtil class providing utility functions for RNG operations.
- Added conversion functions for BytesLike to ArrayBuffer and Uint8Array.
- Implemented comprehensive tests for RNG functionality and expected behaviors.
- Configured Vitest for testing environment setup.
2025-12-27 04:45:59 +00:00
Hide_D b445a6df68 프로젝트 초기 설정: 패키지 및 구성 파일 추가 2025-12-27 04:19:37 +00:00