Add pluggable local UIs for credential entry and query results - #1
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SQLX 0.1.1 lets agents prepare connection details while users enter passwords directly in a local browser. Queries submitted with
sql execute --viewexecute once; pages load retained results with exact values, result-set tabs and pagination. Refreshing or switching interfaces does not rerun SQL.The interface is a plugin: the default UI ships separately from the loopback service, and contributors can build static interfaces with the public browser API v1 and typed SDK.
ui plugin install/list/use/removesupports local builds, checksummed release ZIPs, compatibility checks and immutable versions. An independent terminal-style example and English contributor guide demonstrate the contract. README and the SQLX Skill cover installation and agent-to-browser workflows.Validation: frontend typecheck/build; Rust workspace tests and Clippy; native MySQL/PostgreSQL integration; distribution, UI lifecycle, UI API and plugin contract tests; Playwright CLI for default and terminal interfaces, password correction/editing, result-set switching, pagination, full values, copy, reload and text rendering. A PostgreSQL sequence confirmed no re-execution across UI switches and reloads. CI checks five OS/architecture targets and both JDBC databases.
Review entry points:
crates/cli/src/plugins.rs,crates/ui/src/server.rs,ui/sdk/,docs/ui-plugins.md. The loopback service owns credentials and execution; plugins are trusted page code with access to entered credentials and displayed data. This does not isolate secrets from a process with the same OS user's access. Results remain locally for 24 hours; expired/interrupted executions are never replayed. This change prepares the authorized v0.1.1 release; publication runs from its annotated tag after CI succeeds.AI assistance: implementation, documentation and validation were completed with Codex.