Commit Graph

1298 Commits

Author SHA1 Message Date
LSD fa5e55a376
feat(mongodb): improve GridFS manager filtering and sorting
* docs: add GridFS manager filter and sort design

* feat: improve GridFS manager filtering and sorting
2026-07-06 17:17:33 +08:00
zipg 26647ff755
fix(ddl-viewer): fix selection style visibility
Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-06 17:10:50 +08:00
zipg bc16f784ad
fix(sql): keep set operation statements together across newlines
Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-06 17:01:25 +08:00
t8y2 745f7f60b0 feat(postgres): add cascade table drop option 2026-07-06 15:45:47 +08:00
Abeautifulsnow 8539011f25
feat(ai): split Ask/Agent action menus with task-oriented Agent actions
* feat(ai): add task-oriented Agent actions with per-action contract

Introduce three Agent-native actions — query, exploreSchema,
executeAndExplain — so Agent mode surfaces task-oriented operations
instead of reusing Ask's SQL-producing action set.

- ai.ts: extend AiAction with the new actions; add ASK_ACTIONS /
  AGENT_ACTIONS and defaultActionForMode / isValidActionForMode
  helpers; raise maxTokens for the explanatory task actions.
- aiSkills.ts: add skill definitions (zh/en) for the three actions.
- aiAgentPlan.ts: task actions no longer emit a misleading
  "unsupported_action" execute step; they execute via the
  execute_query tool events, not the legacy client-side path.
- agent_loop.rs: per-action task-contract rules in both the prompt
  augmentation and repair paths (query -> execute & answer from real
  data; exploreSchema -> list_tables/get_columns; executeAndExplain
  -> run current SQL & explain).
- i18n (en/zh-CN/zh-TW): new action labels, placeholders, a
  generateNoExec label for Agent mode, and a task-oriented agent
  modeHint.

es/it/ja/pt-BR have no `ai` section and fall back to `en`, matching
existing coverage.

* feat(ai): split Ask/Agent action menus with mode-aware defaults

Wire the new Agent task actions into the assistant UI so each mode
shows a distinct, intent-matching action set.

- actionButtons is now a computed returning Ask or Agent buttons
  based on assistantMode. Agent menu: query / exploreSchema /
  executeAndExplain / generate (labeled "生成但不执行" via
  generateNoExec). Ask menu is unchanged.
- Switching mode lands on that mode's default (Ask -> generate,
  Agent -> query); the shared `generate` is not carried across
  because its label/semantics differ per mode. Vector DBs stay on
  `generate` since their action menu is hidden and they lack SQL
  tools (no execute_query contract).
- External Ask-style triggers (Fix with AI, Explain history) switch
  to Ask mode when invoked from Agent mode so the action is valid
  and the menu reflects what runs.
- Reset the active action to the mode default after each send.

* test(ai): cover Agent task-action contract and mode/action mapping

Lock in the deterministic parts of the Ask/Agent split so only the
LLM-behavior criteria need manual verification.

Backend (agent_loop.rs):
- query contract instructs the LLM to call execute_query and is not
  treated as a SQL-producing action.
- exploreSchema contract points to list_tables/get_columns and says
  not to execute data queries.
- executeAndExplain contract tells the LLM to run the current SQL.
- task actions do not require a SQL deliverable (a conclusion without
  a fenced SQL block still satisfies the contract).
- query repair prompt also targets execute_query.

Frontend (aiActions.spec.ts):
- defaultActionForMode: Ask -> generate, Agent -> query (not generate).
- isValidActionForMode: generate valid in both; Ask-only actions
  rejected in Agent mode and vice versa.
- ASK_ACTIONS / AGENT_ACTIONS composition (Agent menu starts with
  query and still offers generate).

* fix(ai): correct action menu on mode-switched triggers and i18n gaps

Issues found during review of the Ask/Agent action split:

- [#I01] triggerAction (Fix with AI / Explain history) invoked from
  Agent mode switched to Ask and set the action, but the mode-switch
  watch then reset activeAction to the Ask default ("generate"),
  overwriting the action just set — so the menu showed "Generate SQL"
  during a fix. Add a suppressModeActionReset flag so programmatic
  mode switches don't clobber the explicitly-set action.
- [#C01] Remove dead `unsupported_action` reason: buildAiAgentPlan no
  longer produces it, so drop the type variant and the unreachable
  skippedTitleKey case.
- [#I02] es/it/ja/pt-BR were missing the new Agent action keys
  (query/exploreSchema/executeAndExplain/generateNoExec) and their
  placeholders, causing English fallback in the Agent menu. Add the
  translations to match each locale's existing style.

* test(ai): align app-tests with task-action split

- aiSkills: add query/exploreSchema/executeAndExplain to the expected
  action set; broaden the id check (new ids are not _sql-suffixed) and
  relax the userInstruction assertion (schema inspection need not mention SQL).
- aiAgentPlan: drop the unsupported_action skipped step for non-generate
  actions (#C01 removed it from the plan and the reason union); add coverage
  for task-oriented Agent actions not driving client-side execution.

* test(ai): pin locale in dialect prompt spec

buildSystemPrompt selects zh/en copy via currentLocale(), which reflects the
host navigator.language. The spec asserts English strings, so it failed on
zh-CN machines (e.g. Windows with a Chinese system locale) while passing on
CI's en-US runners. Pin the locale to en in beforeAll so the assertions are
deterministic regardless of the host OS locale.
2026-07-06 14:41:39 +08:00
t8y2 e84fb12fcc feat(sqlite): support SQLCipher encrypted databases 2026-07-06 14:24:28 +08:00
t8y2 92ef1ac3cf feat(structure): open editor from field and index nodes 2026-07-06 14:16:43 +08:00
t8y2 5db35307d3 fix(influxdb): support InfluxDB 2 connections 2026-07-06 13:30:12 +08:00
miracle b118ca31ed
[Feat]:实现SQL变量替换 (#2597) 2026-07-06 13:21:45 +08:00
wuxiemian 987b0fd263
fix: improve SQL table and JOIN completion (#2629) 2026-07-06 13:19:37 +08:00
t8y2 764b479679 fix(sidebar): ignore repeated row clicks during double-click 2026-07-06 12:54:33 +08:00
zipg dc50356000
fix: 修复 Windows 快捷键显示异常 (#2599)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-06 12:48:55 +08:00
onenewcode d70c883e81
fix(redis): stop duplicating pubsub messages 2026-07-06 12:07:55 +08:00
t8y2 426aa8266a fix(ui): keep destructive backgrounds translucent 2026-07-06 11:29:02 +08:00
t8y2 880b6ac6e1 fix(mysql): show server-provided collations 2026-07-06 11:03:28 +08:00
zipg 95397f7152
fix(mysql): add TLS failure hint 2026-07-06 10:47:57 +08:00
t8y2 5c37c0ad0d fix(mysql): disable TLS by default 2026-07-06 10:10:30 +08:00
t8y2 2bfd03cca4 feat(database): add database creation and property editing 2026-07-06 02:00:01 +08:00
wuxiemian 3fdcc2d454
feat(sqlCompletion): support insert all-column completion 2026-07-06 01:29:23 +08:00
miracle 4afc3297e1
feat(duckdb): add worker concurrency setting 2026-07-06 00:13:11 +08:00
t8y2 4666f8a5f2 feat(import): add table import wizard 2026-07-06 00:01:41 +08:00
t8y2 069dcc479d feat(redis): search hash fields and values 2026-07-05 22:02:24 +08:00
zergmk2 f800d80f90
feat: add SSH config aliases and PostgreSQL extensions 2026-07-05 20:29:49 +08:00
faithererer 8b035d0989
feat(editor): add SQL editor context menu shortcuts
* feat(editor): add SQL editor context menu shortcuts

* chore(i18n): autofill new translations

---------

Co-authored-by: faithererer <faithererer@users.noreply.github.com>
Co-authored-by: dbx-i18n-bot <github-actions[bot]@users.noreply.github.com>
2026-07-05 19:38:51 +08:00
lexmin0412 d502b4ce6c
feat(redis): add hash field search 2026-07-05 19:37:49 +08:00
t8y2 e74782f651 feat(metadata): optimize agent metadata loading 2026-07-05 12:09:24 +08:00
t8y2 8883a6b3b7 fix(desktop): format loading elapsed time 2026-07-05 02:45:46 +08:00
t8y2 6b13564180 fix(desktop): persist UI state asynchronously 2026-07-05 02:22:13 +08:00
t8y2 91855de832 feat(data-generate): prefer column default values 2026-07-05 00:49:13 +08:00
zipg 67a1843faf
feat(sql-library): show dirty saved SQL state 2026-07-05 00:38:07 +08:00
zipg 5c35755219
Feature:新增多套应用配色主题 (#2559)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-05 00:34:47 +08:00
zipg 896580f1c5
feat(saved-sql): restore editor position 2026-07-05 00:34:00 +08:00
二丫讲梵 fdaa949fb1
feat(sidebar): add local table search 2026-07-05 00:09:04 +08:00
Moe. 8a1a791927
feat(connection): add connection attempt cancellation 2026-07-04 23:47:53 +08:00
miracle 454457f191
fix(duckdb): add worker process isolation 2026-07-04 23:43:22 +08:00
t8y2 cec17844a9 feat(structure): disable Oracle-like integer length 2026-07-04 23:17:51 +08:00
onenewcode f48e751d90
fix(redis): 修复 Redis set 类型的值中有乱码 (#2554) 2026-07-04 23:03:29 +08:00
二丫讲梵 842dcc6cab
feat(api): 添加WebDAV同步秘密状态和偏好设置功能 (#2560)
- 新增获取WebDAV同步秘密状态的接口
- 新增保存WebDAV同步秘密偏好的接口
- 新增忘记WebDAV同步秘密密码的接口
- 更新相关的存储和加密逻辑以支持新的功能

Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-04 22:58:09 +08:00
t8y2 223ecbec20 fix(oracle): skip rowid for view data queries 2026-07-04 17:07:43 +08:00
t8y2 7e7c4944e9 refactor(desktop): organize lib modules by domain 2026-07-04 13:53:52 +08:00
t8y2 90f0594e93 feat(sql): add semantic SQL completion engine 2026-07-04 13:20:13 +08:00
t8y2 32a9496d2a fix(tabs): close dropped table tabs 2026-07-04 12:21:44 +08:00
二丫讲梵 90d2ede740
feat(sidebar): add connection copy paste shortcuts 2026-07-04 12:19:56 +08:00
t8y2 d8047a77b4 feat(grid): add configurable table search mode 2026-07-04 12:02:55 +08:00
t8y2 a36d3c8f71 fix(objects): expand object browser search field 2026-07-04 10:54:25 +08:00
Moe. 42826f8f8b
feat(sidebar): add connection multi-select toolbar 2026-07-04 03:50:08 +08:00
miracle 30b9460442
fix(dbx-core): improve duckdb query cancellation 2026-07-04 02:31:32 +08:00
Guoyu Su 3a2abf4a49
fix(desktop): scale multi-statement query timeout (#2544) 2026-07-04 02:19:10 +08:00
zipg 570230e525
fix(ui): table data condition bar font display
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-04 00:39:30 +08:00
zipg 67e23ad3e0
feat(ui): mark unsaved SQL tabs
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-04 00:38:03 +08:00