Commit Graph

1991 Commits

Author SHA1 Message Date
John Jin b640cbd0ba
fix: influxdb code removed on merge
Thanks for the fix!
2026-06-13 17:03:27 +08:00
t8y2 48ba76bc9a feat(data-grid): add row numbering to table info columns tab 2026-06-13 17:02:49 +08:00
t8y2 d974ad5533 feat(settings): add custom driver store path with migration 2026-06-13 16:54:04 +08:00
t8y2 d091b0db85 feat(sidebar): reveal local db file in OS file manager 2026-06-13 16:00:47 +08:00
t8y2 6a87f31fdc feat(ai): add resizable textarea with drag handle 2026-06-13 15:13:19 +08:00
t8y2 58a52f65cc fix: enhance contextmenu handler for editable elements 2026-06-13 14:32:34 +08:00
t8y2 30afcb8e69 fix(sidebar): page large table groups 2026-06-13 13:40:36 +08:00
t8y2 59107463dc fix: redis sidebar show total key count only 2026-06-13 13:07:37 +08:00
t8y2 2ec8ed1523 feat(sidebar): locate query table from cursor 2026-06-13 12:45:00 +08:00
dbin0123 2ef29c004a
fix(editor): keep cursor at end of inserted completion text (#1136)
Thanks @dbin0123!
2026-06-13 11:42:03 +08:00
t8y2 2d1d40f6ab feat(highgo): geometry/geography map preview via agent column_types 2026-06-13 10:25:12 +08:00
t8y2 71b61867e9 test: align aiPrompt assertions and drop low-value visual tests 2026-06-13 08:50:38 +08:00
t8y2 ef5b6eb654 fix(transfer): preserve MySQL AUTO_INCREMENT and column defaults in cross-instance copy 2026-06-13 08:24:47 +08:00
t8y2 6e57197072 fix(sqlite): recognize INTEGER PRIMARY KEY as autoincrement in data grid save 2026-06-13 02:30:30 +08:00
t8y2 0767062bdb fix(agent): retry and rename fallback when removing old JRE on Windows 2026-06-13 01:56:29 +08:00
二丫讲梵 6f804266fc
feat(sidebar): remap connection IDs in imported sidebar layouts
Thanks @eryajf for the contribution! Close #1121
2026-06-12 22:41:42 +08:00
t8y2 0d63fcd3a3 fix(oracle): avoid rowid for view data 2026-06-12 21:02:32 +08:00
t8y2 c6e50f80f2 fix(ai): accept thinking/reasoning deltas as first stream chunk in connection test 2026-06-12 20:40:40 +08:00
t8y2 81728faec3 fix(test): update AI prompt eval patterns to match current agent prompt 2026-06-12 20:37:09 +08:00
t8y2 a7ba5b42ef chore: remove duplicate imports and BOM from PR #1122 2026-06-12 19:58:32 +08:00
skyler abacac3c07
feat(ai): agent loop Phase 2 — SQL execution tools, risk classification, and streaming tool calls
feat(ai): agent loop Phase 2 — SQL execution tools, risk classification, and streaming tool calls
2026-06-12 19:56:36 +08:00
t8y2 484658c6b7 feat(ai): streaming probe for connection test with latency measurement 2026-06-12 19:29:55 +08:00
t8y2 fa4dbb9104 feat(completion): cache foreign key metadata 2026-06-12 19:27:16 +08:00
t8y2 60632ccfe3 feat(completion): expand sql semantic completion 2026-06-12 19:15:46 +08:00
runstone 094412d956 fix error 2026-06-12 19:00:27 +08:00
t8y2 d0a009751a feat(completion): improve sql completion ranking 2026-06-12 18:52:34 +08:00
runstone 40f0f98540 Merge branch 'main' of https://github.com/Abeautifulsnow/dbx into feat/ai-agent-loop-phase1 2026-06-12 18:52:05 +08:00
t8y2 3e63ad1405 fix(completion): keep labels visible in popup 2026-06-12 18:39:13 +08:00
t8y2 6570e88e4a feat(completion): rank table acronym matches 2026-06-12 18:38:56 +08:00
runstone 7df7fd9235 feat(ai): add tool result collapsible UI and fix agent mode prompt
AiAssistant.vue:
- Tool call steps now support click-to-expand/collapse for SQL args
  and results (expandedSteps set); chevron rotates on open
- Remove fixed-open result display (was always visible, no toggle)
- Max result height raised to 48 (max-h-48) with scroll

ai.ts (buildModePromptLines agent branch):
- Replace vague "prioritize SQL" hint with explicit tool-use
  instruction: must call execute_query, not just emit SQL text
- List available tools (list_tables, get_columns, execute_query,
  get_sample_data) so LLM knows what it can call
- Clarify allowed statement types for execute_query
2026-06-12 18:27:28 +08:00
runstone 100124da3e feat(ai): Phase 2 SQL 风险分类 + Agent 模式工具调用结果渲染
后端:
  - 新增 sql_risk.rs:基于 sqlparser AST 的 SQL 风险分类(ReadOnly/Write/Ddl/Transaction)
  - agent_tools.rs:新增 execute_query 和 get_sample_data 工具,写操作/DDL 被风险分类阻止
  - agent_loop.rs:支持 is_agent_mode 参数,Agent 模式下暴露全部工具,Ask 模式仅暴露只读工具
  - agent_loop/web/tauri:mode 参数全链路传递(前端→HTTP→Tauri→Rust)

  前端:
  - AiAgentStepItem 接口扩展:toolName/toolArgs/toolResult/isError 字段
  - AiAssistant.vue:工具调用结果实时+最终渲染,SQL 查询结果/错误信息展示
  - ai.ts/http.ts/tauri.ts:mode 参数透传到后端
2026-06-12 17:42:23 +08:00
t8y2 115b539758 fix(core): gate duckdb schema metadata 2026-06-12 17:35:56 +08:00
t8y2 0fdff98200 fix(elasticsearch): route rest queries before sql parsing 2026-06-12 17:15:25 +08:00
polemp ef5ed05ae7
feat(schema-diff): professional DDL diff view with deployment-aware colors and custom themes (#1112)
Co-authored-by: Sam <14344444@@qq.com>
2026-06-12 17:14:05 +08:00
t8y2 2554ed95be fix(postgres): clear statement cache after ddl 2026-06-12 17:11:37 +08:00
t8y2 3322209578 fix(saved-sql): dedupe concurrent folder creates 2026-06-12 17:04:36 +08:00
t8y2 250da6e7cb fix(mysql): generate index COMMENT clause and enable index_comment capability 2026-06-12 16:56:20 +08:00
t8y2 edf9dd88e3 feat(agent): unify oracle driver 2026-06-12 16:34:42 +08:00
t8y2 415d53e8dc fix(duckdb): interrupt timed out queries 2026-06-12 16:27:33 +08:00
t8y2 2395727b6b fix(ai): auto-add /v1 prefix for bare-origin OpenAI-compatible endpoints 2026-06-12 16:10:42 +08:00
t8y2 e6db09c638 feat(agent): support language-neutral driver launch 2026-06-12 15:08:31 +08:00
t8y2 0a913344b2 fix(ci): pin Windows release runner 2026-06-12 13:48:28 +08:00
Abeautifulsnow 082e3bb4eb
feat(ai): add agent tool calling loop 2026-06-12 13:18:36 +08:00
t8y2 aed799dd3a fix(docker): include driver manifest in frontend build 2026-06-12 13:03:29 +08:00
runstone 84a9fd6a0f Merge branch 'main' of https://github.com/Abeautifulsnow/dbx into feat/ai-agent-loop-phase1 2026-06-12 12:52:03 +08:00
runstone 28fc4bc2a9 fix(ai): consolidate consecutive tool_result messages for Claude and Gemini
Anthropic and Gemini APIs require ALL tool_result blocks for a given
assistant message to be in a SINGLE user message that immediately follows
the assistant message. Previously, each tool AiMessage was converted to
a separate user message, causing Anthropic to reject multi-turn tool
conversations with 'tool_result must follow a tool_use block' error.

Fix: collect consecutive 'tool' role messages into a buffer, then flush
as a single user message with all tool_result/functionResponse blocks
when a non-tool message is encountered or at end of message list.

- Claude: merge N tool results into 1 user message with N content blocks
- Gemini: merge N tool results into 1 user message with N functionResponse parts
- OpenAI path unchanged (each tool message already has tool_call_id field)
2026-06-12 12:49:49 +08:00
github-actions[bot] c5872468e4 chore(jdbc): bump plugin version [skip ci] 2026-06-12 04:35:03 +00:00
t8y2 b06f935050 chore(release): bump version to 0.5.32 2026-06-12 12:33:03 +08:00
t8y2 a858a6bd18 feat(mysql): edit foreign keys and triggers 2026-06-12 12:29:46 +08:00
t8y2 1d2d348dd8 fix(db): refresh stale native connection pools 2026-06-12 12:29:35 +08:00