feat(elasticsearch): 新增 REST 控制台并完善安全执行链

- 复用查询页提供 ES 控制台、模板、AI 辅助及原始与表格结果
- 新增统一解析分类、危险确认、连接保护和受控 REST 执行
- 扩展 driver agent、版本适配、Wails 绑定、多语言与文档
- 修复完整回归中发现的跨平台和前端基线用例问题

Refs #782
This commit is contained in:
Syngnat
2026-08-01 14:58:12 +08:00
parent 849dad6ea8
commit 88434e77a9
60 changed files with 8500 additions and 489 deletions

View File

@@ -496,3 +496,11 @@ func TestSplitSQLStatements_TransactionBeginStillSplits(t *testing.T) {
t.Errorf("splitSQLStatements(%q) = %#v, want %#v", input, got, want)
}
}
func TestSplitSQLStatementsForDialect_ElasticsearchPreservesConsoleBatch(t *testing.T) {
batch := "GET /events/_search\r\n{\"query\":{\"match_all\":{}}}\r\n\r\nPOST /events/_count\r\n{\"query\":{\"term\":{\"level\":\"error\"}}}"
want := []string{"GET /events/_search\n{\"query\":{\"match_all\":{}}}\n\nPOST /events/_count\n{\"query\":{\"term\":{\"level\":\"error\"}}}"}
if got := splitSQLStatementsForDialect("elasticsearch", batch); !reflect.DeepEqual(got, want) {
t.Fatalf("splitSQLStatementsForDialect(elasticsearch) = %#v, want %#v", got, want)
}
}