forked from Chat_things/NeuroDock
This commit introduces a large-scale refactor that replaces the existing TCP-based API with a Spring Boot-powered HTTP REST architecture. Due to the size and scope of this change, only essential structural notes are included below. High-level changes: - Replaced TCP-based communication with RESTful endpoints - Introduced Spring Boot for API handling and configuration - Refactored internal core logic to support REST architecture New/Updated API components: - `APIApplication.java`: Main Spring Boot entry point - `MessageController.java`: Handles LLM-related queries - `ToolController.java`: Handles adding/removing tools - `NewToolRequest.java` / `NewToolResponse.java`: Data models for tool addition - `NewQueryResponseHook.java`: Webhook handler for LLM query results - `WebhookError.java`: Model for reporting webhook errors - `EnableIfNotDisplay.java`: Conditional configuration for TTY context - Other supporting classes (e.g., `ToolArgument`, `ToolRequest`) Core changes: - `Core.java`: Removed deprecated `addFunctionTool`, added `removeTool` - `LaunchOptions.java`: Added `notDisplay` flag for headless operation - `OllamaObject.java`: Implements tool removal logic Launcher/display changes: - `Launcher.java`: Starts `APIApplication` if not in TTY mode - `Display.java`: Integrates REST API contextually with TTY display NOTE: Several classes are included but not yet fully utilized; these are placeholders for upcoming features (e.g., `MessageResponse`, `ToolRequest`). BREAKING CHANGE: This refactors removes all TCP-based API code and replaces it with HTTP REST using Spring Boot. Any clients or modules depending on the old TCP interface will need to be updated.
33 lines
817 B
Groovy
33 lines
817 B
Groovy
plugins {
|
|
id 'java'
|
|
|
|
id 'org.springframework.boot' version '3.2.2'
|
|
id 'io.spring.dependency-management' version '1.1.4'
|
|
}
|
|
|
|
group = 'me.zacharias'
|
|
version = '1.0-SNAPSHOT'
|
|
|
|
dependencies {
|
|
implementation project(":Core")
|
|
|
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
implementation 'org.springframework.boot:spring-boot-starter-webflux'
|
|
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
|
|
//implementation 'org.springframework.boot:spring-boot-starter-actuator'
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
|
|
//runtimeOnly('org.springframework.boot:spring-boot-starter-web')
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
jar{
|
|
manifest {
|
|
attributes 'Main-Class': 'me.zacharias.chat.api.APIApplication'
|
|
}
|
|
}
|