dbeaver/pro#11120 Add shared AI function service API by labanovichttps · Pull Request #17 · dbeaver/datadam-api · GitHub
Skip to content

dbeaver/pro#11120 Add shared AI function service API - #17

Open
labanovichttps wants to merge 2 commits into
develfrom
dbeaver/pro#11120-ai-service-api
Open

labanovichttps wants to merge 2 commits into
develfrom
dbeaver/pro#11120-ai-service-api

Conversation

@labanovichttps

@labanovichttps labanovichttps commented Oct 21, 2026 •

Copy link
Copy Markdown

Desktop AI functions need a shared service contract so DataDam MCP can call them without coupling desktop implementations to WebSocket messages or JSON-RPC envelopes.

Adds the com.dbeaver.datadam.ai.api OSGi/Maven module with synchronous DDAiFunctionService.getFunctions() and callFunction(call), function descriptor/call/result DTOs, and service error codes. Function metadata includes the callable ID, display name, description and full argument JSON Schema. JSON values preserve numeric precision and explicit nulls with the documented serializer configuration.

The README describes desktop eligibility checks, execution failures versus rejected calls, MCP field mappings, and transport responsibilities. Connection identity, request/response correlation and remote cancellation remain outside the shared service interface. The production External DAM proxy is separate work under dbeaver/pro#11108.

Related to https://github.com/dbeaver/pro/issues/11120.
Consumed by the standalone MCP service in https://github.com/dbeaver/datadam/pull/156; merge and publish this API before integrating the server dependency.

Validation:

  • Three DTO serialization tests pass, including nested schemas, large numeric arguments, explicit nulls and execution failures.
  • Combined MCP/Account reactor verification passes; the standalone MCP module includes 48 tests and the AI API has three contract tests.
  • Repository Checkstyle with the nullability plugin passes without warnings.
  • IntelliJ workspace generator completed; it reports missing unrelated Eclipse plugins/features in sibling projects.

CI integration: the same API commit is also published as dbeaver/pro#11120-mcp-service, because the server workflow resolves sibling dependencies by its own branch name. Keep that branch synchronized with this PR until the API is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant