Commit Graph

67 Commits

Author SHA1 Message Date
wuxiemian 1be66fb115
feat(safety): add production environment safeguards 2026-07-12 10:02:27 +08:00
github-actions[bot] 86defca7a2 chore(packages): release 0.4.26 [skip node-packages-release] 2026-07-11 02:52:41 +00:00
t8y2 47ba8a2f3b fix(mcp): resolve Dameng metadata schema 2026-07-11 00:49:43 +08:00
Abeautifulsnow 0674433eea
fix(mcp): disambiguate same-name connections 2026-07-10 14:44:40 +08:00
github-actions[bot] 4b515c4c65 chore(packages): release 0.4.25 [skip node-packages-release] 2026-07-10 00:39:05 +00:00
t8y2 39d956f2e8 fix(redis): skip confirmation for regular writes 2026-07-09 18:59:12 +08:00
github-actions[bot] 649e9c2f9e chore(packages): release 0.4.24 [skip node-packages-release] 2026-07-08 23:40:36 +00:00
二丫讲梵 fb919efe0a
fix(mcp): require auth for web backend access 2026-07-08 19:23:34 +08:00
github-actions[bot] 6e44e697e4 chore(packages): release 0.4.23 [skip node-packages-release] 2026-07-07 17:18:26 +00:00
jischeng c3893bf314
feat(spark): add Apache Spark database driver with catalog support
* feat(spark): add Apache Spark database driver

Spark Thrift Server speaks the HiveServer2 protocol, so the Spark driver
reuses the hive-jdbc agent runtime. Registers spark (agentKey=spark,
defaultPort=10015) across the manifest, DatabaseType enum, agent catalog,
SQL dialects, connection dialog, and a SparkAgent built on AbstractJdbcAgent.

* feat(spark): add catalog support and official logo

SparkAgent now supports Spark 3.4+ multi-catalog (Paimon, Lance, Iceberg)
via catalog=<name> in url_params, mirroring the StarRocks catalog flow:
- afterConnect switches to the configured catalog via USE <catalog>
- listDatabases returns the catalog name when SHOW DATABASES is empty
  (catalogs like Lance expose tables at the catalog root with no databases)
- listTables uses SHOW TABLES IN <catalog>[.<schema>] uniformly, working
  for both catalog-root tables (Lance) and catalog.schema tables (Paimon)
- setSchemaSQL qualifies USE with the catalog to prevent resetting to
  spark_catalog on schema switches
- buildJdbcUrl omits database from the URL path

Also replaces the placeholder lightning icon with the official Apache Spark
logo (spark-logo.png from spark.apache.org).

* fix(spark): use catalog-qualified DESCRIBE for column retrieval

getColumnsFromDescribe used USE <schema> + DESCRIBE <table>, which
generated USE `catalog`.`catalog` when the sidebar passed the catalog
name as the schema (Lance case where the catalog is the only node).
This failed and fell back to JDBC metadata which also returned nothing,
resulting in an empty DDL (CREATE TABLE ... ()).

Now uses DESCRIBE `catalog`.`table` directly when a catalog is
configured, bypassing USE entirely. Also fixes setSchemaSQL to treat
schema == catalog as catalog-only (no .schema suffix).

* fix(ci): add spark to metadata coverage matrix and BRIDGE_REQUIRED_TYPES

- agents/metadata-constraint-coverage.tsv: register spark as
  intentional-fallback (SHOW TABLES/SHOW DATABASES, like Hive/TDengine)
- packages/node-core/src/diagnostics.ts: add spark to
  BRIDGE_REQUIRED_TYPES (mcpMode=bridge, matches manifest)

* fix(ci): add spark to DBX_CONNECTION_TYPE_DESCRIPTION in mcp-server

The driver-manifest test asserts every manifest dbType appears in the
MCP server's connection type description string.
2026-07-07 14:36:22 +08:00
github-actions[bot] 001f7ece7b chore(packages): release 0.4.22 [skip node-packages-release] 2026-07-06 18:27:31 +00:00
github-actions[bot] fefb95b500 chore(packages): release 0.4.21 [skip node-packages-release] 2026-07-04 01:11:17 +00:00
github-actions[bot] 9d2d1e3297 chore(packages): release 0.4.20 [skip node-packages-release] 2026-07-02 18:00:23 +00:00
github-actions[bot] dea6fe66ba chore(packages): release 0.4.19 [skip node-packages-release] 2026-07-01 18:59:34 +00:00
t8y2 c2b687b271 fix(mcp): document portable data directory 2026-07-01 12:11:03 +08:00
github-actions[bot] 5705790fac chore(packages): release 0.4.18 [skip node-packages-release] 2026-06-30 18:27:15 +00:00
t8y2 25dcbeb7e4 feat(oscar): add OSCAR database support 2026-06-30 20:07:55 +08:00
github-actions[bot] 14ca87278e chore(packages): release 0.4.17 [skip node-packages-release] 2026-06-29 06:48:16 +00:00
github-actions[bot] 9d7246b016 chore(packages): release 0.4.16 [skip node-packages-release] 2026-06-27 19:26:02 +00:00
t8y2 23b44cc2b9 fix(mcp): add direct Redis command execution 2026-06-26 22:27:31 +08:00
github-actions[bot] 64a46deba1 chore(packages): release 0.4.15 [skip node-packages-release] 2026-06-26 01:52:05 +00:00
lexmin0412 c2376494d3
feat(vector): add ChromaDB support 2026-06-26 01:41:36 +08:00
github-actions[bot] 28d585ef03 chore(packages): release 0.4.14 [skip node-packages-release] 2026-06-25 04:08:31 +00:00
t8y2 e57ef5220b fix(mcp): include zookeeper connection type 2026-06-25 01:20:08 +08:00
t8y2 bf9ef4365b feat(vector): add weaviate support 2026-06-25 00:31:27 +08:00
t8y2 d91f1fbb38 fix(mcp): use linux local data dir 2026-06-24 15:51:10 +08:00
github-actions[bot] 93fa554ce9 chore(packages): release 0.4.13 [skip node-packages-release] 2026-06-23 05:24:51 +00:00
luoianun 8cc7a35c1a feat: add PrestoSQL connector 2026-06-23 01:27:08 +08:00
github-actions[bot] 567dd49907 chore(packages): release 0.4.12 [skip node-packages-release] 2026-06-20 17:04:00 +00:00
dbin0123 92d3f64eae
feat: fix connection cascade failure, add auto-recovery for all drivers 2026-06-19 23:06:21 +08:00
Oleksandr Liakhevych 4f5d09aaa8
feat(ai): add Codex CLI as a no-API-key AI provider for Desktop
* codex cli provider

* fixes

* mcp check

* reasoning

* simplify

* minor fixes
2026-06-19 08:51:10 +08:00
github-actions[bot] 89a48b9726 chore(packages): release 0.4.11 [skip node-packages-release] 2026-06-18 16:18:52 +00:00
t8y2 4aa907d8b5 fix: handle legacy gbase driver_profile and add MCP driver_profile param 2026-06-18 01:45:33 +08:00
miracle 2a59d3143e
feat(mq): implement Apache Pulsar message queue admin
* feat(mq): implement Apache Pulsar message queue admin

- Add complete MQ admin adapter layer with version detection
  * Pulsar adapter with multi-version API support
  * OAuth2 token caching and authentication
  * JWT token signing for Pulsar clients
  * Transport layer (SSH/Proxy) integration

- Implement comprehensive admin operations
  * Tenant, namespace, topic management
  * Subscription and consumer/producer monitoring
  * Rate limits, backlog quotas, retention policies
  * Permissions and role-based access control
  * Raw admin API for advanced operations

- Add desktop UI components
  * MQ admin console with tabbed interface
  * Tenant, namespace, topic panels
  * Subscription management and cursor operations
  * Monitoring panel with stats visualization
  * Policy configuration UI

- Add web routes for MQ admin operations
- Add secret store support for MQ auth credentials
- Add comprehensive test coverage

* fix: del local test files

* fix(mq): mark message queue as unsupported mcpMode in driver manifest

MQ admin connections do not use the MCP query bridge - they use a
separate REST admin API. Mark mcpMode as 'unsupported' to align with
the test expectations and reflect the actual architecture.

Fixes CI test: driver-manifest.test.ts

* fix(mq): fix TypeScript errors in MQ components

- Fix typo in SubscriptionsPanel.vue: messagformatError(e)Id -> message.messageId
- Use formatError() helper in RawApiPanel.vue instead of accessing e?.message
- Fix undefined 'tab' reference in ConnectionTree.vue: use config.db_type instead

Fixes frontend CI TypeScript check errors.

* fix(mcp): add 'mq' to MCP server connection type description

The MCP server's connection type description must include all database
types from the driver manifest. Add 'mq' to the list to fix the test:
'add connection database type description includes every manifest database type'

Fixes: packages/mcp-server/tests/driver-manifest.test.ts

* fix(mq): add missing ConnectionConfig fields for Rust compilation

- Add gbase_server and keepalive_interval_secs fields to all ConnectionConfig
  test constructors in mq/config.rs, mq/service.rs, and storage.rs
- Import uses_bare_mysql_pool in connection.rs tests module

Fixes compilation errors from upstream ConnectionConfig changes.

* chore(ui): simplify Pulsar icon to logo-only version

Remove text from Pulsar icon (127x30 -> 35x30), keeping only
the wave logo symbol for a cleaner, more consistent appearance
with other database icons.

* fix(mq): return removed pools from drain_connection_pools

---------

Co-authored-by: t8y2 <1156263951@qq.com>
2026-06-16 21:57:17 +08:00
github-actions[bot] a8632fbab2 chore(packages): release 0.4.10 [skip node-packages-release] 2026-06-16 04:13:51 +00:00
John Jin 1afc271c18
feat: add QuestDB support
Thanks @ptma!
2026-06-14 22:58:05 +08:00
Vergil Lai 799d20a2cf
添加 Manticore Search 支持 (#1145)
* 添加 Manticore Search 支持

* 更新 Manticore Search 文档
2026-06-13 20:23:36 +08:00
github-actions[bot] 34dd18d46d chore(packages): release 0.4.9 [skip node-packages-release] 2026-06-13 10:28:27 +00:00
t8y2 9793dc94b7 feat(driver): centralize database capabilities 2026-06-10 22:12:44 +08:00
t8y2 16e404854a fix: add influxdb to connection type description 2026-06-10 17:01:07 +08:00
github-actions[bot] 6152b01ea8 chore(packages): release 0.4.8 [skip node-packages-release] 2026-06-10 05:57:23 +00:00
t8y2 edba8214b5 feat: show username/password fields for Access database connections 2026-06-10 08:37:18 +08:00
t8y2 2e021d37d1 fix(ci): add etcd to MCP type description, skip turso tests when unreachable 2026-06-10 04:52:35 +08:00
t8y2 9dfc2ba294 feat: support H2 file connections 2026-06-08 20:09:27 +08:00
github-actions[bot] b200d5b041 chore(packages): release 0.4.7 [skip node-packages-release] 2026-06-08 01:54:21 +00:00
t8y2 fabf2172e4 chore: migrate test runner from node:test/tsx to vitest
155 files, 1091 tests, 4.3s (2x faster than previous 9.1s).
2026-06-08 01:17:27 +08:00
t8y2 a473f4ff8f chore: switch license to Apache-2.0 2026-06-07 17:34:59 +08:00
t8y2 74e19ec6a3 feat(databend): support agent driver 2026-06-07 16:39:22 +08:00
t8y2 a3e45cd721 feat(iotdb): add Apache IoTDB support 2026-06-07 10:29:05 +08:00
Xudong Guo 9b15843e1a feat: add KWDB support 2026-06-05 16:55:38 +08:00