- Add change password feature in UserService, allowing users to update their password after verifying the current one.
- Introduce UpdateUserRequest model for updating user details, including username, password, and role.
- Implement RESTful endpoints for changing passwords and updating user information in AuthResource and UsersResource.
- Enhance OpenAPI specification to document new endpoints for password change and user updates.
- Create frontend components for user management, including a dedicated UsersPage for admin users to manage user accounts.
- Add unit tests for UserService to ensure correct behavior of password changes and user updates.
- Introduce user authentication with form-based login, including a default admin user.
- Implement UserEntity, UserRepository, and UserService for user management.
- Create RESTful endpoints for user listing and creation, restricted to admin role.
- Enhance OpenAPI specification to document new authentication and user management endpoints.
- Add frontend components for login and user management, including protected routes.
- Implement context and hooks for managing authentication state in the React application.
- Include unit tests for user service and authentication logic.
- Add create, update, and delete functionality for characters and scenarios in CharacterService and ScenarioService.
- Introduce CreateCharacterRequest and CreateScenarioRequest models for handling character and scenario creation requests.
- Update CharactersResource and ScenariosResource to expose new endpoints for character and scenario management.
- Enhance OpenAPI specification to document new API endpoints and request/response schemas.
- Implement frontend components for managing characters and scenarios, including listing, creating, editing, and deleting.
- Add unit tests for CharacterService to ensure correct behavior of character creation and updates.
- Upgrade Quarkus and OpenAPI generator versions in pom.xml.
- Introduce CharacterService and ScenarioService for managing character and scenario templates.
- Implement CharacterEntity and ScenarioEntity JPA entities with corresponding repositories.
- Add RESTful APIs for listing and retrieving characters and scenarios.
- Create JSON converter for persisting lists of strings in the database.
- Update OpenAPI specification to include new endpoints for character and scenario management.
- Add Liquibase migration scripts for character and scenario tables.
- Configure application settings for Hibernate ORM and database generation.
- Enhance InMemorySessionService to utilize the two-call Ollama pattern for session creation and turn submissions, generating narratives and state updates based on provided scenarios.
- Introduce OllamaContextBuilder to construct turn contexts for both session initialization and turn continuation.
- Add OllamaPrompts class to define system prompts for narrative generation and state extraction.
- Implement StateUpdateMapper to handle merging state updates into session responses.
- Create unit tests for InMemorySessionService to validate Ollama interactions and ensure correct session state management.
- Introduce UpdateSessionRequest model for partial updates to session state, allowing modification of situation and characters.
- Implement updateSession method in SessionService to handle updates, ensuring omitted fields remain unchanged.
- Enhance InMemorySessionService to support scenario-based session creation, populating initial situation and characters.
- Update SessionResource to delegate update requests to the SessionService.
- Add corresponding API documentation for the update session endpoint in OpenAPI specification.
- Enhance frontend components to allow editing of session scene and characters, integrating with the new update functionality.
- Include unit tests to verify the behavior of session updates and scenario handling.
- Create .gitignore to exclude target and IDE files
- Add application.yml for Quarkus configuration
- Implement package-info.java for business logic, facade, data, and common packages
- Define core classes for handling user actions, character states, and narrative suggestions
- Set up Ollama API client for narrative generation and state updates
- Include unit tests for greeting service and serialization of context