| Add the SQLX CLI integration to the settings page The page installs, updates and locates the OtterMind SQLX command line, imports the datasources Chat2DB already holds, and shows the Skill commands an agent needs. SQLX is a separate product from the chat2db CLI, so it gets its own module and its own page section instead of extending the existing CLI entry. * chat2db-community-sqlx: platform and asset mapping for the official release, version parsing, a process runner, the release installer with SHA-256 verification and an atomic move, settings storage, and the status service. Credentials are read through queryDisplayDataSourceById(id, true) -- the decrypted view the connection path uses -- and travel to the SQLX child process on stdin, never through argv, files, the renderer or the logs. * chat2db-community-tools: the SqlxBridge contract, SqlxStatus and SqlxDatasourceState so the JCEF shell can reach the bridge without depending on a domain or storage module. * chat2db-community-jcef: eight handlers (status, install, update, check, cancel, choose binary, import, datasource states) plus a boundary test that fails if any handler imports an implementation package. * chat2db-community-start: registers the bridge before Spring starts and attaches the datasource reader after app.run, so the page never sees a missing bridge. * chat2db-community-client: the CLI 集成 settings section with the version line, one adaptive action button, a redetect that stays visible long enough to be seen, a datasource table with a status column (已导入 / 未导入 / 暂不支持 / 信息不完整) that only lets importable rows be selected, an import result reported as an alert, and the Skill commands with hover copy buttons. SqlxConnectionMapping now reaches the eight engines added for the next SQLX release (Presto, Hive, Kylin, XuguDB, Db2, Informix -- which Chat2DB spells INFOMIX -- SUNDB and GBase 8s), so they import once that release ships instead of being skipped as unsupported. Snowflake, Oscar, Elasticsearch, BigQuery and Redshift stay unsupported and keep reporting their reason. Verified: chat2db-community-sqlx tests (41, including the new engine mapping and the datasource reader that must use the decrypted view), test:sqlx-setting, test:settings-layout, test:i18n, eslint on the changed files, and build:web:community. The desktop app was exercised by hand against a real installation, an update and an import of a MySQL datasource. | 1 个月前 |