- Move plugin and tool-related classes to a dedicated `Plugin-API` module.
- Introduce a new plugin lifecycle (`onInit`, `onEnable`, `onDisable`) and a more robust `Tool` API.
- Refactor `Core` to use `PrintAdvanceMessageHandler` for improved handling of assistant messages, tool responses, and errors.
- Rename `PluginLoader` to `Loader` and migrate it to `me.zacharias.chat.plugin.loader`.
- Update build configurations and Java toolchains across modules.
- Clean up obsolete plugin annotations and interfaces in the `Core` module.
Added @NotNull annotation to OllamaFunctionTool.name and OllamaFunctionTool.parameters since the documentation reports as these being required
Made sure that OllamaFunctionTool.description is actually optional as the Ollama API docs define
- GradleAPI
- Launcher
- MALAPITool
Started finishing up the File handeling module in Core
- Added ReadFileTool.java which allowes to read files from this contained "file system"
modulized dependency for the API
Updated for Launcher.java to use class and method refrence to entry point to remove hard dependency
Added a @SafeVarargs to OllamaObject.java
made OllamaObject.OllamaObjectBuilder#addFileTools not throw IllegalArgumentException and instead add the tooling and return the builder
Added overloaded constructor OllamaToolErrorException#OllamaToolErrorException(String, Exception) to allow for forwarding of exceptions, although this is not recomended
PythonRunner
- Fixed bugs with it under Linux host(this MUST be refractord to support Windows and Mac hosts)
- Added a overwrite for default python print method to send prints over the external_tools socket to be put into output log for the runner
- Cleaned up some stuff
- Updated to properly refer to files
- Fixed cmd.sh generation
- Removed old "-c" addition to the command
- Removed old code related to how logs pulled from containers standerd output's
- Updated the generation of external_tools.py to respect pythons requirment of optinal arguments being after all required
Updated Tool#addTool to respect the standerd of spring boot's return model
for documentation on MAL API check out the [API docs](https://myanimelist.net/apiconfig/references/api/v2)
Display:Display.java
- Switched the AI model to `qwen3:8b`
- some temporary test changes
- switched to using static references when supposed too
MALAPITool
- Module for handling the MAL API
MALAPITool:README.md
- Some general information about the tools
Started adding some base systems for finding API endpoints, will later be added to the API module for the ability to add plugins
.gitignore
- Added so all data folder are ignored. So submodules data folder from testing aren't added to git
Core:OllamaObject.java
- switched location of messages.json from the static location of `./cache/` to the dynamic location of `${Core.DATA_DIR}/messages.json`
Core:OllamaPerameter.java
- Added ENUM and ARRAY values. Incidentally also discover that Ollama supports more than just STRING, INT, and BOOLEAN ad parameters
Core:Core.java
- Added precluding day to the name of logging files, now using the format dd_HH-mm-ss