Skip to content
Draft
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
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
# Changelog

## Version: v0.10.0 (20.03.2026)
Highlights:
- **New Feature: Structured Tool Responses** - Tools can now return JSON schemas that render as interactive UI forms
- **Complete JSON-to-UI generation** supporting 13+ field types including all basic and advanced components
- Full support for nested objects and arrays with collapsible, editable structures
- Dynamic component system with 8 built-in patterns (badge, toggle, rating, card, timeline, list, keyvalue, custom)
- Field types: text, number, select, radio, checkbox, textarea, slider, multiselect, date, color picker, nested, array, dynamic
- Custom field registration system for specialized UI components
- Built-in field validation with comprehensive constraints (min, max, step, pattern, length)
- Multi-step workflow support with progress tracking
- Form layouts: vertical, horizontal, grid
- Automatic detection and rendering of structured responses in chat (case-insensitive field type matching)
- Bidirectional communication: tools → UI → user → tools
- Comprehensive validation utilities and error handling
- Redux state management for structured responses
- Tool developers guide and examples provided
- **Enhanced UI test tool** at `/test-structured-responses` with 7 example forms (http://localhost:8080/test-structured-responses)
- Pre-built test scenarios demonstrating all capabilities
- Custom JSON testing with real-time validation
- New flexible form examples: customer survey, task management, complex configuration
- Updated documentation for advanced JSON-to-UI generation

## Version: v0.9.2 (22.01.2026)
Highlights:
- Added folders and search for organizing and finding conversations
Expand Down
6 changes: 5 additions & 1 deletion back/service.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -224,12 +224,16 @@ app.post("/chat/completions", async (req, res) => {
// Handle tools and arcana
if (enable_tools && !isExternalModel) {
inference_service = "saia-openai-gateway";
params["runToolsOnServer"] = true;
// params["runToolsOnServer"] = true;
// params["runToolsOnServer"] = true;
if (mcp_servers && mcp_servers.length > 0) {
params["mcp-servers"] = mcp_servers;
}
if (tools && tools.length > 0) {
params.tools = [];
// for testing
params.tools.push({type: "create_test_form"});

for (const tool of tools) {
if (tool.type === "web_search_preview" || tool.type === "web_search") {
params.tools.push({type: "web_search_preview"});
Expand Down
26 changes: 26 additions & 0 deletions dev/opencode/Dockerfile-opencode
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FROM ubuntu:26.04
ARG UID=1000
ARG GID=1000

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
git curl nodejs

RUN groupadd -g $GID -o opencode
RUN userdel -f ubuntu
RUN useradd -ms /bin/bash -u $UID -g $GID opencode

USER opencode
RUN mkdir /home/opencode/code
RUN curl -fsSL https://opencode.ai/install | bash
WORKDIR /home/opencode

## copy local permissions over
COPY ./opencode.json /home/opencode/.config/opencode/opencode.json
COPY ./auth.json /home/opencode/.local/share/opencode/auth.json

USER root
RUN chown -R opencode:opencode /home/opencode/.config/ /home/opencode/.local/

CMD ["/bin/bash"]
11 changes: 11 additions & 0 deletions dev/opencode/create-docker-opencode.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash -e

cd $(dirname $0)

cp $HOME/.config/opencode/opencode.json .
cp $HOME/.local/share/opencode/auth.json .

docker build -t gwdg-opencode:last -f Dockerfile-opencode --build-arg UID=$(id -u) --build-arg GID=$(id -g) --progress plain .

rm opencode.json auth.json

4 changes: 4 additions & 0 deletions dev/opencode/run-docker-opencode.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash -e
cd $(dirname $0)

docker run -it --rm --user $(id -u):$(id -g) -v $PWD/../../:/home/opencode/code gwdg-opencode:last
Loading