From 3b0b687d65ae1922e5f90110d84d9af2ff730c14 Mon Sep 17 00:00:00 2001 From: KarielHalling Date: Sat, 20 Sep 2025 13:23:59 +0800 Subject: [PATCH 1/3] feat: integrate atest-ext-ai plugin into auto-build process - Add AI extension configuration in sample/ai-extension.yaml - Update testdata/stores.yaml to include AI plugin registration - Register atest-ext-ai in UI store types (console/atest-ui/src/views/store.ts) - Enable automatic download and startup via extension registry This enables 'make run-server' to automatically build and connect AI plugin without manual download of atest-ext-ai repository. --- cmd/testdata/stores.yaml | 23 +++++++++++++++++++++++ console/atest-ui/src/views/store.ts | 4 +++- sample/ai-extension.yaml | 26 ++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 sample/ai-extension.yaml diff --git a/cmd/testdata/stores.yaml b/cmd/testdata/stores.yaml index e81815804..cfa520514 100644 --- a/cmd/testdata/stores.yaml +++ b/cmd/testdata/stores.yaml @@ -6,7 +6,30 @@ stores: url: xxx readonly: false disabled: false + - name: ai + kind: + name: atest-ext-ai + enabled: true + url: "" + readonly: false + disabled: false + properties: + - key: "provider" + description: "AI provider (local, openai, claude)" + defaultValue: "local" + - key: "model" + description: "AI model name" + defaultValue: "codellama" + - key: "endpoint" + description: "AI service endpoint" + defaultValue: "http://localhost:11434" plugins: - name: atest-store-git url: unix:///tmp/atest-store-git.sock enabled: true + - name: atest-ext-ai + url: unix:///tmp/atest-ext-ai.sock + enabled: true + description: "AI Extension Plugin for intelligent SQL generation and execution" + version: "latest" + registry: "ghcr.io/linuxsuren/atest-ext-ai" diff --git a/console/atest-ui/src/views/store.ts b/console/atest-ui/src/views/store.ts index b86ee8b42..0f8ef5bdb 100644 --- a/console/atest-ui/src/views/store.ts +++ b/console/atest-ui/src/views/store.ts @@ -38,6 +38,7 @@ const ExtensionKindRedis = "atest-store-redis" const ExtensionKindMongoDB = "atest-store-mongodb" const ExtensionKindElasticsearch = "atest-store-elasticsearch" const ExtensionKindOpengeMini = "atest-store-opengemini" +const ExtensionKindAI = "atest-ext-ai" export const ExtensionKind = { ExtensionKindGit, @@ -49,7 +50,8 @@ export const ExtensionKind = { ExtensionKindRedis, ExtensionKindMongoDB, ExtensionKindElasticsearch, - ExtensionKindOpengeMini + ExtensionKindOpengeMini, + ExtensionKindAI } const MySQL = "mysql"; diff --git a/sample/ai-extension.yaml b/sample/ai-extension.yaml new file mode 100644 index 000000000..e429114bd --- /dev/null +++ b/sample/ai-extension.yaml @@ -0,0 +1,26 @@ +stores: + - name: ai + kind: + name: atest-ext-ai + enabled: true + url: "" + readonly: false + disabled: false + properties: + - key: "provider" + description: "AI provider (local, openai, claude)" + defaultValue: "local" + - key: "model" + description: "AI model name" + defaultValue: "codellama" + - key: "endpoint" + description: "AI service endpoint" + defaultValue: "http://localhost:11434" + +plugins: + - name: atest-ext-ai + url: unix:///tmp/atest-ext-ai.sock + enabled: true + description: "AI Extension Plugin for intelligent SQL generation and execution" + version: "latest" + registry: "ghcr.io/linuxsuren/atest-ext-ai" \ No newline at end of file From 7fe62dcd7839fec2d44031f66c9a8d7702771800 Mon Sep 17 00:00:00 2001 From: KarielHalling Date: Sat, 20 Sep 2025 20:08:52 +0800 Subject: [PATCH 2/3] fix: resolve WiX INSTALLDIR symbol reference error in Electron desktop app Added proper INSTALLDIR directory definition to WiX template to fix "Unresolved reference to symbol 'Directory:INSTALLDIR'" error during Windows installer generation. Changes: - Added INSTALLDIR directory definition under ProgramFilesFolder - Named installation directory "API Testing" - Ensures INSTALLDIR symbol is available for component references This resolves the Windows MSI build failure in the desktop packaging workflow. Fixes: error LGHT0094 - Unresolved reference to symbol 'Directory:INSTALLDIR' --- console/atest-desktop/forge.config.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/console/atest-desktop/forge.config.js b/console/atest-desktop/forge.config.js index cd3c74359..563f5ec1d 100644 --- a/console/atest-desktop/forge.config.js +++ b/console/atest-desktop/forge.config.js @@ -71,6 +71,15 @@ module.exports = { ` ); + + // Ensure INSTALLDIR is properly defined in the directory structure + msiCreator.wixTemplate = msiCreator.wixTemplate.replace( + '', + ` + + + ` + ); } } } From d5dad22c172ebb5e6ebe56ad1620dad2afef08ec Mon Sep 17 00:00:00 2001 From: KarielHalling Date: Sat, 20 Sep 2025 20:26:56 +0800 Subject: [PATCH 3/3] fix: resolve WiX duplicate ProgramFilesFolder symbol error in Electron desktop app Fixes duplicate symbol 'Directory:ProgramFilesFolder' error (LGHT0091) by modifying the WiX template replacement to inject INSTALLDIR into existing ProgramFilesFolder instead of creating a duplicate directory definition. --- console/atest-desktop/forge.config.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/console/atest-desktop/forge.config.js b/console/atest-desktop/forge.config.js index 563f5ec1d..e000ef4f7 100644 --- a/console/atest-desktop/forge.config.js +++ b/console/atest-desktop/forge.config.js @@ -72,13 +72,11 @@ module.exports = { ` ); - // Ensure INSTALLDIR is properly defined in the directory structure + // Ensure INSTALLDIR is properly defined in the existing ProgramFilesFolder msiCreator.wixTemplate = msiCreator.wixTemplate.replace( - '', - ` - - - ` + '', + ` + ` ); } }