Started implementing jar-based(plugin) tool loading

Core#plugin:
- Plugin.java: Main framework for plugins
- OllamaTool.java: Used for annotation based loading of tools
- InjectPlugin.java: Annoataion for injecting the Plugin instance, used when annotation based loading is used
- PluginMetadata.java: metadata of the plugin, a class-reflection of plugin.json file within each plugin
- PluginLoadingException.java: Exception thrown when an error happens durring plugin loading
This commit is contained in:
2025-05-28 01:11:07 +02:00
parent 8e44c11385
commit 603b72f2d3
13 changed files with 198 additions and 2 deletions

View File

@@ -0,0 +1,6 @@
package plugin;
import me.zacharias.chat.plugin.Plugin;
public class Test extends Plugin {
}

View File

@@ -0,0 +1,34 @@
package plugin;
import me.zacharias.chat.ollama.OllamaFunctionArgument;
import me.zacharias.chat.ollama.OllamaFunctionTool;
import me.zacharias.chat.ollama.OllamaPerameter;
import me.zacharias.chat.ollama.OllamaToolRespnce;
import me.zacharias.chat.plugin.annotation.OllamaTool;
import me.zacharias.chat.plugin.annotation.injectons.InjectPlugin;
@OllamaTool
public class Tool extends OllamaFunctionTool {
@InjectPlugin(classType = Test.class)
Test core;
@Override
public String name() {
return "";
}
@Override
public String description() {
return "";
}
@Override
public OllamaPerameter parameters() {
return null;
}
@Override
public OllamaToolRespnce function(OllamaFunctionArgument... args) {
return null;
}
}