v0.0.473
·
1545 commits
to main
since this release
Version 0.0.473 (July 20, 2026)
- Image generation (OpenAI
gpt-image-1) — the agent can now generate images from a prompt via a newgenerate_imagetool, backed by the OpenAI Images API. The result is stored as a file and can be embedded in dashboards. Image-generation is a new model capability (supports_image_generation) withgpt-image-1added to the preset catalog; admins can also mark any model as an image model via a new Image gen toggle in Settings → LLM (persisted across catalog re-syncs). Image models are excluded from the chat/agent model pickers and can never be set as the org's default or small-default model. - Embed images and PDFs in artifacts —
create_artifact/edit_artifactaccept file ids (generated images, or uploaded images/PDFs) and render them on the dashboard canvas via a new<BowFile>component: images show inline, PDFs render inline in an in-sandbox pdf.js viewer (falling back to an "Open PDF" card where the viewer can't load), and annotations can be overlaid on either. - Generated images appear inline in the conversation — the
generate_imagetool renders a spinner while running and the finished image inline in the chat. The image is associated with the report (so the agent can reference it on later turns via<files>, read it withread_file, and embed it withcreate_artifact/edit_artifact), but tagged to the completion so it stays out of the user's composer attachment tray. A context digest keeps itsfile_idvisible in conversation history so "now put that image in a dashboard" works across turns. - Signed, revocable file serving for embeds — embedded files are served via short-lived, file-scoped capability tokens (
/files/{id}/embed?token=…) minted fresh at render time, instead of inlining bytes or exposing the session endpoint. This also makes embedded images/PDFs render on published/shared reports (/r/{id}) for non-authenticated viewers, scoped to files actually embedded in that report's artifacts.