Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions server/bundles/io.cloudbeaver.product.ce/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
</product>
</extension>

<extension point="io.cloudbeaver.feature">
<feature id="ai" label="AI Integration" description="Enables AI Chat in the application."/>
</extension>

<extension point="org.jkiss.dbeaver.application">
<application
id="cloudbeaver-ce"
Expand Down
15 changes: 15 additions & 0 deletions server/bundles/io.cloudbeaver.service.ai/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Cloudbeaver AI Integration
Bundle-SymbolicName: io.cloudbeaver.service.ai;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Release-Date: 20260803
Bundle-Vendor: DBeaver Corp
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: io.cloudbeaver.service.ai
Require-Bundle: org.jkiss.dbeaver.model.ai,
io.cloudbeaver.model,
io.cloudbeaver.server.ce
Export-Package: io.cloudbeaver.service.ai,
io.cloudbeaver.service.ai.model,
io.cloudbeaver.service.ai.model.inputs
6 changes: 6 additions & 0 deletions server/bundles/io.cloudbeaver.service.ai/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
source..=src/
output..=target/classes/
bin.includes=.,\
META-INF/,\
schema/,\
plugin.xml
20 changes: 20 additions & 0 deletions server/bundles/io.cloudbeaver.service.ai/plugin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<extension point="io.cloudbeaver.service">
<service id="ai" label="AI Service" description="AI service"
class="io.cloudbeaver.service.ai.gql.WebServiceBindingAI"/>
<service id="ai.configurator" label="AI Configurator" description="AI configurator"
class="io.cloudbeaver.service.ai.gql.WebServiceAIConfigurator">
</service>
</extension>

<extension point="io.cloudbeaver.object.feature.provider">
<featureProvider id="AIFeatureProvider" class="io.cloudbeaver.service.ai.WebAIFeatureProvider"/>
</extension>

<extension point="org.jkiss.dbeaver.ws.event">
<clientEvent id="cb_client_ai_function_call_confirmation"
class="io.cloudbeaver.service.ai.model.events.WSAiFunctionCallConfirmationClientEvent"
handler="io.cloudbeaver.service.ai.model.events.WSAiFunctionCallConfirmationHandler"/>
</extension>
</plugin>
15 changes: 15 additions & 0 deletions server/bundles/io.cloudbeaver.service.ai/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.cloudbeaver</groupId>
<artifactId>bundles</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.service.ai</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
extend enum CBServerEventId {
cb_ai_chat_message_chunk @since(version: "25.1.1")
cb_ai_chat_message_error @since(version: "25.1.1")
cb_ai_chat_message @since(version: "25.3.5")
}

extend enum CBClientEventId {
cb_client_ai_function_call_confirmation @since(version: "26.0.3")
}

extend enum CBEventTopic {
cb_ai @since(version: "25.1.1")
}

type WSAIChatMessageChunkEvent implements CBServerEvent @since(version: "25.1.1") {
id: CBServerEventId!
topicId: CBEventTopic
conversationId: ID!
messageId: ID!
chunk: String
completed: Boolean!
}

type WSAIChatMessageErrorEvent implements CBServerEvent @since(version: "25.1.1") {
id: CBServerEventId!
topicId: CBEventTopic
conversationId: ID!
messageId: ID!
errorMessage: String
}

type WSAIChatMessageEvent implements CBServerEvent @since(version: "25.3.5") {
id: CBServerEventId!
topicId: CBEventTopic
conversationId: ID!
messageId: ID!
role: String!
content: String!
displayMessage: String!
time: String!
"Present only with CONFIRMATION role"
functionConfirmation: AIFunctionConfirmation
"Present only with FUNCTION role"
functionCall: AIFunctionCall
"Present only with FUNCTION role"
functionResult: AIFunctionResult
}

type WSAIFunctionCallConfirmationEvent implements CBClientEvent @since(version: "26.0.3") {
id: CBClientEventId!
topicId: CBEventTopic
conversationId: ID!
messageId: ID!
"Returns a list of confirmed functions"
confirmedFunctionCalls: [ID!]
"Returns a list of declined functions"
declinedFunctionCalls: [ID!]
}
Loading
Loading