feat(plugin): scaffold RPCP plugin loading core
build / build (push) Has been cancelled

- Add JarFile-based plugin.json manifest reading and validation
- Implement reflection-based plugin class instantiation (Data or no-arg constructor)
- Wrap Tool objects into OllamaFunctionTool with basic parameter/response handling
- Implement ToolArguments storage and ToolResponse record
- Extract RPCP_SOURCE constant; add plugin name validation
- Update Data interface: getLoadedPlugins() returns LoadedPlugin[]
- Fix launcher package references (me.zacharias.chat → me.neurodock)

TODO: Extract FileSystem from JAR, populate PluginMetadata, complete
OllamaFunctionArgument↔ToolArguments wrapping, invoke plugin lifecycle hooks

Signed-off-by: zacharias <alienfromdia@proton.me>
This commit is contained in:
2026-06-15 22:09:55 +02:00
parent d016ad9a48
commit b74c5e9e97
12 changed files with 244 additions and 51 deletions
+6 -1
View File
@@ -1,5 +1,6 @@
plugins {
id 'java'
id 'application'
}
version = '1.0-SNAPSHOT'
@@ -11,10 +12,14 @@ dependencies {
jar{
manifest {
attributes 'Main-Class': 'me.zacharias.chat.launcher.Launcher'
attributes 'Main-Class': 'me.neurodock.launcher.Launcher'
}
}
application {
mainClass = 'me.neurodock.launcher.Launcher'
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(javaVersion)) // Set Java version