breadboard-ai / breadboard

A library for prototyping generative AI applications.
Apache License 2.0
204 stars 30 forks source link

[board-server] Multi-language client SDKs for board server API #2952

Open wfaithfull opened 2 months ago

wfaithfull commented 2 months ago

To encourage programmatic usages of the board server I'd like to see whether we could maintain and publish simple client SDKs in various languages.

We have a lot of Kotlin projects where I have felt the urge to integrate some breadboard that I have seen or conceptualised, but the opportunity cost is currently too high - JS/TS runtimes, state storage, secrets management etc. It seems to me that the board server wraps up all these problems neatly.

I'd like to look at whether we could use something like Conjure to generate client SDKs from a YAML API definition which we maintain within the board server. We could hopefully then generate and publish Java, Typescript, Python, Rust and Go client SDKs from that API definition, ready for folks to integrate.

wfaithfull commented 2 months ago

@TinaNikou I know you were looking at an OpenAPI spec for the board server - that's a noble goal anyway but I think it's related to this. Conjure doesn't use OpenAPI, but has it's own specification format for APIs.