@gxp-dev/tools 2.0.63 → 2.0.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -31
- package/bin/gx-devtools.js +74 -54
- package/bin/lib/cli.js +23 -21
- package/bin/lib/commands/add-dependency.js +366 -325
- package/bin/lib/commands/assets.js +137 -139
- package/bin/lib/commands/build.js +169 -174
- package/bin/lib/commands/datastore.js +181 -183
- package/bin/lib/commands/dev.js +127 -131
- package/bin/lib/commands/extensions.js +147 -149
- package/bin/lib/commands/extract-config.js +73 -67
- package/bin/lib/commands/index.js +12 -12
- package/bin/lib/commands/init.js +342 -240
- package/bin/lib/commands/publish.js +69 -75
- package/bin/lib/commands/socket.js +69 -69
- package/bin/lib/commands/ssl.js +14 -14
- package/bin/lib/constants.js +10 -24
- package/bin/lib/tui/App.tsx +761 -705
- package/bin/lib/tui/components/AIPanel.tsx +191 -171
- package/bin/lib/tui/components/CommandInput.tsx +394 -343
- package/bin/lib/tui/components/GeminiPanel.tsx +175 -151
- package/bin/lib/tui/components/Header.tsx +23 -21
- package/bin/lib/tui/components/LogPanel.tsx +244 -220
- package/bin/lib/tui/components/TabBar.tsx +50 -48
- package/bin/lib/tui/components/WelcomeScreen.tsx +126 -71
- package/bin/lib/tui/index.tsx +37 -39
- package/bin/lib/tui/services/AIService.ts +518 -462
- package/bin/lib/tui/services/ExtensionService.ts +140 -129
- package/bin/lib/tui/services/GeminiService.ts +367 -337
- package/bin/lib/tui/services/ServiceManager.ts +344 -322
- package/bin/lib/tui/services/SocketService.ts +168 -168
- package/bin/lib/tui/services/ViteService.ts +88 -88
- package/bin/lib/tui/services/index.ts +47 -22
- package/bin/lib/utils/ai-scaffold.js +291 -280
- package/bin/lib/utils/extract-config.js +157 -140
- package/bin/lib/utils/files.js +82 -86
- package/bin/lib/utils/index.js +7 -7
- package/bin/lib/utils/paths.js +34 -34
- package/bin/lib/utils/prompts.js +194 -169
- package/bin/lib/utils/ssl.js +79 -81
- package/browser-extensions/README.md +0 -1
- package/browser-extensions/chrome/background.js +244 -237
- package/browser-extensions/chrome/content.js +32 -29
- package/browser-extensions/chrome/devtools.html +7 -7
- package/browser-extensions/chrome/devtools.js +19 -19
- package/browser-extensions/chrome/inspector.js +802 -767
- package/browser-extensions/chrome/manifest.json +71 -63
- package/browser-extensions/chrome/panel.html +674 -636
- package/browser-extensions/chrome/panel.js +722 -712
- package/browser-extensions/chrome/popup.html +586 -543
- package/browser-extensions/chrome/popup.js +282 -244
- package/browser-extensions/chrome/rules.json +1 -1
- package/browser-extensions/chrome/test-chrome.html +216 -136
- package/browser-extensions/chrome/test-mixed-content.html +284 -189
- package/browser-extensions/chrome/test-uri-pattern.html +221 -198
- package/browser-extensions/firefox/README.md +9 -6
- package/browser-extensions/firefox/background.js +221 -218
- package/browser-extensions/firefox/content.js +55 -52
- package/browser-extensions/firefox/debug-errors.html +386 -228
- package/browser-extensions/firefox/debug-https.html +153 -105
- package/browser-extensions/firefox/devtools.html +7 -7
- package/browser-extensions/firefox/devtools.js +23 -20
- package/browser-extensions/firefox/inspector.js +802 -767
- package/browser-extensions/firefox/manifest.json +68 -68
- package/browser-extensions/firefox/panel.html +674 -636
- package/browser-extensions/firefox/panel.js +722 -712
- package/browser-extensions/firefox/popup.html +572 -535
- package/browser-extensions/firefox/popup.js +281 -236
- package/browser-extensions/firefox/test-gramercy.html +170 -125
- package/browser-extensions/firefox/test-imports.html +59 -55
- package/browser-extensions/firefox/test-masking.html +231 -140
- package/browser-extensions/firefox/test-uri-pattern.html +221 -198
- package/dist/tui/App.d.ts +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +154 -150
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/AIPanel.d.ts.map +1 -1
- package/dist/tui/components/AIPanel.js +42 -35
- package/dist/tui/components/AIPanel.js.map +1 -1
- package/dist/tui/components/CommandInput.d.ts +1 -1
- package/dist/tui/components/CommandInput.d.ts.map +1 -1
- package/dist/tui/components/CommandInput.js +92 -62
- package/dist/tui/components/CommandInput.js.map +1 -1
- package/dist/tui/components/GeminiPanel.d.ts.map +1 -1
- package/dist/tui/components/GeminiPanel.js +37 -30
- package/dist/tui/components/GeminiPanel.js.map +1 -1
- package/dist/tui/components/Header.d.ts.map +1 -1
- package/dist/tui/components/Header.js +1 -1
- package/dist/tui/components/Header.js.map +1 -1
- package/dist/tui/components/LogPanel.d.ts +1 -1
- package/dist/tui/components/LogPanel.d.ts.map +1 -1
- package/dist/tui/components/LogPanel.js +26 -24
- package/dist/tui/components/LogPanel.js.map +1 -1
- package/dist/tui/components/TabBar.d.ts +2 -2
- package/dist/tui/components/TabBar.d.ts.map +1 -1
- package/dist/tui/components/TabBar.js +11 -11
- package/dist/tui/components/TabBar.js.map +1 -1
- package/dist/tui/components/WelcomeScreen.d.ts.map +1 -1
- package/dist/tui/components/WelcomeScreen.js +6 -6
- package/dist/tui/components/WelcomeScreen.js.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +8 -8
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/services/AIService.d.ts +2 -2
- package/dist/tui/services/AIService.d.ts.map +1 -1
- package/dist/tui/services/AIService.js +165 -125
- package/dist/tui/services/AIService.js.map +1 -1
- package/dist/tui/services/ExtensionService.d.ts +1 -1
- package/dist/tui/services/ExtensionService.d.ts.map +1 -1
- package/dist/tui/services/ExtensionService.js +33 -26
- package/dist/tui/services/ExtensionService.js.map +1 -1
- package/dist/tui/services/GeminiService.d.ts +1 -1
- package/dist/tui/services/GeminiService.d.ts.map +1 -1
- package/dist/tui/services/GeminiService.js +87 -76
- package/dist/tui/services/GeminiService.js.map +1 -1
- package/dist/tui/services/ServiceManager.d.ts +3 -3
- package/dist/tui/services/ServiceManager.d.ts.map +1 -1
- package/dist/tui/services/ServiceManager.js +72 -58
- package/dist/tui/services/ServiceManager.js.map +1 -1
- package/dist/tui/services/SocketService.d.ts.map +1 -1
- package/dist/tui/services/SocketService.js +32 -32
- package/dist/tui/services/SocketService.js.map +1 -1
- package/dist/tui/services/ViteService.d.ts.map +1 -1
- package/dist/tui/services/ViteService.js +26 -28
- package/dist/tui/services/ViteService.js.map +1 -1
- package/dist/tui/services/index.d.ts +6 -6
- package/dist/tui/services/index.d.ts.map +1 -1
- package/dist/tui/services/index.js +6 -6
- package/dist/tui/services/index.js.map +1 -1
- package/mcp/gxp-api-server.js +83 -81
- package/package.json +109 -93
- package/runtime/PortalContainer.vue +258 -234
- package/runtime/dev-tools/DevToolsModal.vue +153 -155
- package/runtime/dev-tools/LayoutSwitcher.vue +144 -140
- package/runtime/dev-tools/MockDataEditor.vue +456 -433
- package/runtime/dev-tools/SocketSimulator.vue +379 -371
- package/runtime/dev-tools/StoreInspector.vue +517 -455
- package/runtime/dev-tools/index.js +5 -5
- package/runtime/fallback-layouts/PrivateLayout.vue +2 -2
- package/runtime/fallback-layouts/PublicLayout.vue +2 -2
- package/runtime/fallback-layouts/SystemLayout.vue +2 -2
- package/runtime/gxpStringsPlugin.js +159 -134
- package/runtime/index.html +17 -19
- package/runtime/main.js +24 -22
- package/runtime/mock-api/auth-middleware.js +15 -15
- package/runtime/mock-api/image-generator.js +46 -46
- package/runtime/mock-api/index.js +55 -55
- package/runtime/mock-api/response-generator.js +116 -105
- package/runtime/mock-api/route-generator.js +107 -84
- package/runtime/mock-api/socket-triggers.js +94 -93
- package/runtime/mock-api/spec-loader.js +79 -80
- package/runtime/package.json +3 -0
- package/runtime/server.js +68 -68
- package/runtime/stores/gxpPortalConfigStore.js +204 -186
- package/runtime/stores/index.js +2 -2
- package/runtime/vite-inspector-plugin.js +858 -707
- package/runtime/vite-source-tracker-plugin.js +132 -113
- package/runtime/vite.config.js +191 -139
- package/scripts/launch-chrome.js +41 -41
- package/scripts/pack-chrome.js +38 -39
- package/socket-events/AiSessionMessageCreated.json +17 -17
- package/socket-events/SocialStreamPostCreated.json +23 -23
- package/socket-events/SocialStreamPostVariantCompleted.json +22 -22
- package/template/.claude/agents/gxp-developer.md +100 -99
- package/template/.claude/settings.json +7 -7
- package/template/AGENTS.md +30 -23
- package/template/GEMINI.md +20 -20
- package/template/README.md +70 -53
- package/template/app-manifest.json +2 -4
- package/template/configuration.json +10 -10
- package/template/default-styling.css +1 -1
- package/template/index.html +18 -20
- package/template/main.js +24 -22
- package/template/src/DemoPage.vue +415 -362
- package/template/src/Plugin.vue +76 -85
- package/template/src/stores/index.js +3 -3
- package/template/src/stores/test-data.json +164 -172
- package/template/theme-layouts/AdditionalStyling.css +50 -50
- package/template/theme-layouts/PrivateLayout.vue +8 -12
- package/template/theme-layouts/PublicLayout.vue +8 -12
- package/template/theme-layouts/SystemLayout.vue +8 -12
- package/template/vite.extend.js +45 -0
- package/template/vite.config.js +0 -409
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../bin/lib/tui/services/AIService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAqBtC,iCAAiC;AACjC,SAAS,YAAY;IACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,iCAAiC;AACjC,SAAS,eAAe;IACtB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACrD,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;QACrC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,oBAAoB;QACxC,YAAY,EAAE,2HAA2H;QACzI,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI;KACvB,CAAC;AACJ,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,YAAY,CAAC,MAAgB;IAC3C,eAAe,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;IACrC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,4BAA4B;AAC5B,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,qBAAqB;IACnC,MAAM,SAAS,GAAqB,EAAE,CAAC;IAEvC,mBAAmB;IACnB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,6DAA6D;SACtE,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,+CAA+C;SACxD,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACpE,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,gDAAgD;aACzD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,gDAAgD;SACzD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,GAAG,QAAQ,CAAC,IAAI,kBAAkB,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,KAAK;gBACR,OAAO,GAAG,QAAQ,CAAC,IAAI,QAAQ,CAAC;YAClC,KAAK,SAAS;gBACZ,OAAO,GAAG,QAAQ,CAAC,IAAI,YAAY,CAAC;YACtC,KAAK,QAAQ;gBACX,OAAO,GAAG,QAAQ,CAAC,IAAI,WAAW,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,QAAQ,CAAC,IAAI,cAAc,CAAC;AACxC,CAAC;AAED,mBAAmB;AACnB,MAAM,OAAO,SAAU,SAAQ,YAAY;IAMzC;QACE,KAAK,EAAE,CAAC;QANF,wBAAmB,GAA6C,EAAE,CAAC;QACnE,mBAAc,GAAW,EAAE,CAAC;QAMlC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEvC,yDAAyD;QACzD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC9D,IAAI,cAAc,EAAE,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,WAAW;QACT,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,uBAAuB;IACvB,WAAW,CAAC,QAAoB;QAC9B,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,QAAQ,EAAE,EAAE,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,sBAAsB,YAAY,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC;QAC5G,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;QAC1C,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,YAAY,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;IACxE,CAAC;IAED,yCAAyC;IACzC,WAAW;QACT,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;QACnE,OAAO,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;IACrC,CAAC;IAED,oBAAoB;IACpB,eAAe;QACb,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,uBAAuB;IACvB,kBAAkB,CAAC,GAAW;QAC5B,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACxG,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACnD,gCAAgC;oBAChC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAE9B,gBAAgB;QAChB,IAAI,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACjD,aAAa,IAAI,wBAAwB,GAAG,IAAI,CAAC,cAAc,CAAC;QAClE,CAAC;QAED,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACrD,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACpD,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACrD;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,+BAA+B;IACvB,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,aAAqB;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAEpF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;gBAC5D,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,WAAW,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;IACtB,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,aAAqB;QAChE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAEpF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;gBAC1D,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,WAAW,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IACnB,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,aAAqB;QACjE,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAEpF,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,uBAAuB;IACf,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBAC7C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,WAAW,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACf,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,gGAAgG,MAAM,EAAE,EACxG;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACvD,gBAAgB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;aAC9D,CAAC;SACH,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,wBAAwB,CAAC;QAEjG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAE5E,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,8BAA8B;IACtB,KAAK,CAAC,oBAAoB,CAAC,MAAc;QAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,WAAmB,CAAC;YACxB,IAAI,SAAiB,CAAC;YAEtB,IAAI,CAAC;gBACH,WAAW,GAAG,QAAQ,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9F,SAAS,GAAG,QAAQ,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACvD,gBAAgB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;aAC9D,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,IAAI,EAAE,MAAM;gBAClB,6DAA6D,SAAS,kFAAkF;gBACxJ,IAAI,EAAE,yBAAyB,WAAW,EAAE;gBAC5C,IAAI,EAAE,gCAAgC;gBACtC,IAAI,EAAE,WAAW;aAClB,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAExC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC,CAAC;oBACzD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,wBAAwB,CAAC;oBACjG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBACjE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC5E,OAAO,CAAC,YAAY,CAAC,CAAC;gBACxB,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,iBAAiB;QACf,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,2BAA2B;IAC3B,sBAAsB;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../bin/lib/tui/services/AIService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionService.d.ts","sourceRoot":"","sources":["../../../bin/lib/tui/services/ExtensionService.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"ExtensionService.d.ts","sourceRoot":"","sources":["../../../bin/lib/tui/services/ExtensionService.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,WAAW,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AA8DD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAoF9D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAEhE"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { serviceManager } from
|
|
2
|
-
import path from
|
|
3
|
-
import fs from
|
|
4
|
-
import { fileURLToPath } from
|
|
1
|
+
import { serviceManager } from "./ServiceManager.js";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import { fileURLToPath } from "url";
|
|
5
5
|
// Get the toolkit root directory
|
|
6
6
|
function getToolkitRoot() {
|
|
7
7
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
8
|
// Navigate from dist/tui/services to project root (3 levels up)
|
|
9
9
|
// dist/tui/services -> dist/tui -> dist -> gx-devtools
|
|
10
|
-
return path.resolve(__dirname,
|
|
10
|
+
return path.resolve(__dirname, "..", "..", "..");
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Generate extension defaults based on environment variables
|
|
14
14
|
* This creates a defaults.json file that the popup.js reads on load
|
|
15
15
|
*/
|
|
16
16
|
function generateExtensionDefaults(extensionPath, useHttps, port) {
|
|
17
|
-
const protocol = useHttps ?
|
|
17
|
+
const protocol = useHttps ? "https" : "http";
|
|
18
18
|
const baseUrl = `${protocol}://localhost:${port}`;
|
|
19
19
|
const defaults = {
|
|
20
20
|
// Extension should be enabled by default when launched from CLI
|
|
@@ -22,7 +22,7 @@ function generateExtensionDefaults(extensionPath, useHttps, port) {
|
|
|
22
22
|
// JS redirect URL based on env
|
|
23
23
|
jsRedirectUrl: `${baseUrl}/src/Plugin.vue`,
|
|
24
24
|
// CSS redirect URL (empty by default, uses blank CSS)
|
|
25
|
-
cssRedirectUrl:
|
|
25
|
+
cssRedirectUrl: "",
|
|
26
26
|
// CSS override should be enabled by default
|
|
27
27
|
cssRuleEnabled: true,
|
|
28
28
|
// Return blank CSS by default
|
|
@@ -34,18 +34,18 @@ function generateExtensionDefaults(extensionPath, useHttps, port) {
|
|
|
34
34
|
clearCacheOnEnable: true,
|
|
35
35
|
disableCacheForRedirects: true,
|
|
36
36
|
};
|
|
37
|
-
const defaultsPath = path.join(extensionPath,
|
|
37
|
+
const defaultsPath = path.join(extensionPath, "defaults.json");
|
|
38
38
|
fs.writeFileSync(defaultsPath, JSON.stringify(defaults, null, 2));
|
|
39
39
|
}
|
|
40
40
|
// Find the extension path (project-local or toolkit built-in)
|
|
41
41
|
function findExtensionPath(browser, cwd) {
|
|
42
42
|
// Check local project first
|
|
43
|
-
const localPath = path.join(cwd,
|
|
43
|
+
const localPath = path.join(cwd, "browser-extensions", browser);
|
|
44
44
|
if (fs.existsSync(localPath)) {
|
|
45
45
|
return localPath;
|
|
46
46
|
}
|
|
47
47
|
// Fall back to toolkit's built-in extension
|
|
48
|
-
const toolkitPath = path.join(getToolkitRoot(),
|
|
48
|
+
const toolkitPath = path.join(getToolkitRoot(), "browser-extensions", browser);
|
|
49
49
|
if (fs.existsSync(toolkitPath)) {
|
|
50
50
|
return toolkitPath;
|
|
51
51
|
}
|
|
@@ -56,7 +56,7 @@ export function startExtension(options) {
|
|
|
56
56
|
const cwd = options.cwd || process.cwd();
|
|
57
57
|
const serviceId = `ext-${browser}`;
|
|
58
58
|
// Compute the start URL based on options
|
|
59
|
-
const protocol = useHttps ?
|
|
59
|
+
const protocol = useHttps ? "https" : "http";
|
|
60
60
|
const startUrl = `${protocol}://localhost:${port}`;
|
|
61
61
|
// Check if already running
|
|
62
62
|
if (serviceManager.isRunning(serviceId)) {
|
|
@@ -68,7 +68,7 @@ export function startExtension(options) {
|
|
|
68
68
|
const errorState = serviceManager.start({
|
|
69
69
|
id: serviceId,
|
|
70
70
|
name: `${browser.charAt(0).toUpperCase() + browser.slice(1)} Extension`,
|
|
71
|
-
command:
|
|
71
|
+
command: "echo",
|
|
72
72
|
args: [`Extension not found for ${browser}`],
|
|
73
73
|
cwd,
|
|
74
74
|
});
|
|
@@ -76,44 +76,51 @@ export function startExtension(options) {
|
|
|
76
76
|
}
|
|
77
77
|
// Generate defaults.json for the extension based on environment
|
|
78
78
|
generateExtensionDefaults(extensionPath, useHttps, port);
|
|
79
|
-
if (browser ===
|
|
79
|
+
if (browser === "firefox") {
|
|
80
80
|
const config = {
|
|
81
81
|
id: serviceId,
|
|
82
|
-
name:
|
|
83
|
-
command:
|
|
84
|
-
args: [
|
|
82
|
+
name: "Firefox Extension",
|
|
83
|
+
command: "npx",
|
|
84
|
+
args: [
|
|
85
|
+
"web-ext",
|
|
86
|
+
"run",
|
|
87
|
+
"--source-dir",
|
|
88
|
+
extensionPath,
|
|
89
|
+
"--start-url",
|
|
90
|
+
startUrl,
|
|
91
|
+
],
|
|
85
92
|
cwd,
|
|
86
93
|
env: {
|
|
87
|
-
FORCE_COLOR:
|
|
94
|
+
FORCE_COLOR: "1",
|
|
88
95
|
},
|
|
89
96
|
};
|
|
90
97
|
serviceManager.start(config);
|
|
91
98
|
}
|
|
92
|
-
else if (browser ===
|
|
99
|
+
else if (browser === "chrome") {
|
|
93
100
|
// For Chrome, we need to use the launch script
|
|
94
101
|
const toolkitRoot = getToolkitRoot();
|
|
95
|
-
let scriptPath = path.join(cwd,
|
|
102
|
+
let scriptPath = path.join(cwd, "scripts", "launch-chrome.js");
|
|
96
103
|
if (!fs.existsSync(scriptPath)) {
|
|
97
|
-
scriptPath = path.join(toolkitRoot,
|
|
104
|
+
scriptPath = path.join(toolkitRoot, "scripts", "launch-chrome.js");
|
|
98
105
|
}
|
|
99
106
|
if (!fs.existsSync(scriptPath)) {
|
|
100
107
|
const errorState = serviceManager.start({
|
|
101
108
|
id: serviceId,
|
|
102
|
-
name:
|
|
103
|
-
command:
|
|
104
|
-
args: [
|
|
109
|
+
name: "Chrome Extension",
|
|
110
|
+
command: "echo",
|
|
111
|
+
args: ["Chrome launcher script not found"],
|
|
105
112
|
cwd,
|
|
106
113
|
});
|
|
107
114
|
return;
|
|
108
115
|
}
|
|
109
116
|
const config = {
|
|
110
117
|
id: serviceId,
|
|
111
|
-
name:
|
|
112
|
-
command:
|
|
118
|
+
name: "Chrome Extension",
|
|
119
|
+
command: "node",
|
|
113
120
|
args: [scriptPath],
|
|
114
121
|
cwd,
|
|
115
122
|
env: {
|
|
116
|
-
FORCE_COLOR:
|
|
123
|
+
FORCE_COLOR: "1",
|
|
117
124
|
CHROME_EXTENSION_PATH: extensionPath,
|
|
118
125
|
USE_HTTPS: String(useHttps),
|
|
119
126
|
NODE_PORT: String(port),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionService.js","sourceRoot":"","sources":["../../../bin/lib/tui/services/ExtensionService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ExtensionService.js","sourceRoot":"","sources":["../../../bin/lib/tui/services/ExtensionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiService.d.ts","sourceRoot":"","sources":["../../../bin/lib/tui/services/GeminiService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"GeminiService.d.ts","sourceRoot":"","sources":["../../../bin/lib/tui/services/GeminiService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAGrC,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAGD,UAAU,UAAU;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CACjB;AAgCD,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAWlD;AAUD,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAGD,wBAAgB,gBAAgB,IAAI,YAAY,CAgB/C;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAI3D;AAGD,wBAAgB,eAAe,IAAI,OAAO,CAKzC;AAGD,qBAAa,aAAc,SAAQ,YAAY;IAC9C,OAAO,CAAC,mBAAmB,CAA+C;IAC1E,OAAO,CAAC,cAAc,CAAa;;IAO7B,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;YAwGxD,qBAAqB;YA+BrB,kBAAkB;YAkClB,cAAc;IAiB5B,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAoBrC,cAAc,IAAI,MAAM;IAsBlB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6DnD,iBAAiB,IAAI,IAAI;IAKzB,sBAAsB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAGlE;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import fs from
|
|
2
|
-
import path from
|
|
3
|
-
import http from
|
|
4
|
-
import open from
|
|
5
|
-
import { EventEmitter } from
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import http from "http";
|
|
4
|
+
import open from "open";
|
|
5
|
+
import { EventEmitter } from "events";
|
|
6
6
|
// Get the gxdev config directory
|
|
7
7
|
function getConfigDir() {
|
|
8
|
-
const home = process.env.HOME || process.env.USERPROFILE ||
|
|
9
|
-
return path.join(home,
|
|
8
|
+
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
9
|
+
return path.join(home, ".gxdev");
|
|
10
10
|
}
|
|
11
11
|
// Ensure config directory exists
|
|
12
12
|
function ensureConfigDir() {
|
|
@@ -17,22 +17,22 @@ function ensureConfigDir() {
|
|
|
17
17
|
}
|
|
18
18
|
// Get auth file path
|
|
19
19
|
function getAuthFilePath() {
|
|
20
|
-
return path.join(getConfigDir(),
|
|
20
|
+
return path.join(getConfigDir(), "gemini-auth.json");
|
|
21
21
|
}
|
|
22
22
|
// Get config file path
|
|
23
23
|
function getConfigFilePath() {
|
|
24
|
-
return path.join(getConfigDir(),
|
|
24
|
+
return path.join(getConfigDir(), "gemini-config.json");
|
|
25
25
|
}
|
|
26
26
|
// Get docs directory path
|
|
27
27
|
function getDocsDir() {
|
|
28
|
-
return path.join(getConfigDir(),
|
|
28
|
+
return path.join(getConfigDir(), "gemini-docs");
|
|
29
29
|
}
|
|
30
30
|
// Load saved auth tokens
|
|
31
31
|
export function loadAuthTokens() {
|
|
32
32
|
try {
|
|
33
33
|
const authPath = getAuthFilePath();
|
|
34
34
|
if (fs.existsSync(authPath)) {
|
|
35
|
-
const content = fs.readFileSync(authPath,
|
|
35
|
+
const content = fs.readFileSync(authPath, "utf-8");
|
|
36
36
|
return JSON.parse(content);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -59,7 +59,7 @@ export function loadGeminiConfig() {
|
|
|
59
59
|
try {
|
|
60
60
|
const configPath = getConfigFilePath();
|
|
61
61
|
if (fs.existsSync(configPath)) {
|
|
62
|
-
const content = fs.readFileSync(configPath,
|
|
62
|
+
const content = fs.readFileSync(configPath, "utf-8");
|
|
63
63
|
return JSON.parse(content);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -67,7 +67,7 @@ export function loadGeminiConfig() {
|
|
|
67
67
|
// Invalid or missing config file
|
|
68
68
|
}
|
|
69
69
|
return {
|
|
70
|
-
systemPrompt:
|
|
70
|
+
systemPrompt: "You are a helpful assistant for GxP plugin development.",
|
|
71
71
|
includeDocs: [],
|
|
72
72
|
projectContext: true,
|
|
73
73
|
maxContextTokens: 4000,
|
|
@@ -92,7 +92,7 @@ export class GeminiService extends EventEmitter {
|
|
|
92
92
|
constructor() {
|
|
93
93
|
super();
|
|
94
94
|
this.conversationHistory = [];
|
|
95
|
-
this.projectContext =
|
|
95
|
+
this.projectContext = "";
|
|
96
96
|
}
|
|
97
97
|
// Start OAuth flow
|
|
98
98
|
async startOAuthFlow() {
|
|
@@ -101,13 +101,13 @@ export class GeminiService extends EventEmitter {
|
|
|
101
101
|
const PORT = 8234;
|
|
102
102
|
let server;
|
|
103
103
|
const handleCallback = (req, res) => {
|
|
104
|
-
const url = new URL(req.url ||
|
|
105
|
-
if (url.pathname ===
|
|
106
|
-
const code = url.searchParams.get(
|
|
107
|
-
const error = url.searchParams.get(
|
|
104
|
+
const url = new URL(req.url || "", `http://localhost:${PORT}`);
|
|
105
|
+
if (url.pathname === "/callback") {
|
|
106
|
+
const code = url.searchParams.get("code");
|
|
107
|
+
const error = url.searchParams.get("error");
|
|
108
108
|
if (error) {
|
|
109
|
-
res.writeHead(200, {
|
|
110
|
-
res.end(
|
|
109
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
110
|
+
res.end("<html><body><h1>Authentication Failed</h1><p>You can close this window.</p></body></html>");
|
|
111
111
|
server.close();
|
|
112
112
|
resolve({ success: false, message: `OAuth error: ${error}` });
|
|
113
113
|
return;
|
|
@@ -117,30 +117,36 @@ export class GeminiService extends EventEmitter {
|
|
|
117
117
|
this.exchangeCodeForTokens(code)
|
|
118
118
|
.then((tokens) => {
|
|
119
119
|
saveAuthTokens(tokens);
|
|
120
|
-
res.writeHead(200, {
|
|
121
|
-
res.end(
|
|
120
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
121
|
+
res.end("<html><body><h1>Authentication Successful!</h1><p>You can close this window and return to gxdev.</p></body></html>");
|
|
122
122
|
server.close();
|
|
123
|
-
resolve({
|
|
123
|
+
resolve({
|
|
124
|
+
success: true,
|
|
125
|
+
message: "Successfully authenticated with Google.",
|
|
126
|
+
});
|
|
124
127
|
})
|
|
125
128
|
.catch((err) => {
|
|
126
|
-
res.writeHead(200, {
|
|
127
|
-
res.end(
|
|
129
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
130
|
+
res.end("<html><body><h1>Authentication Failed</h1><p>Error exchanging code for tokens.</p></body></html>");
|
|
128
131
|
server.close();
|
|
129
|
-
resolve({
|
|
132
|
+
resolve({
|
|
133
|
+
success: false,
|
|
134
|
+
message: `Token exchange error: ${err.message}`,
|
|
135
|
+
});
|
|
130
136
|
});
|
|
131
137
|
return;
|
|
132
138
|
}
|
|
133
139
|
}
|
|
134
140
|
res.writeHead(404);
|
|
135
|
-
res.end(
|
|
141
|
+
res.end("Not found");
|
|
136
142
|
};
|
|
137
143
|
server = http.createServer(handleCallback);
|
|
138
144
|
server.listen(PORT, () => {
|
|
139
145
|
// Construct OAuth URL
|
|
140
146
|
// Note: These are placeholder values - you'll need to set up actual Google Cloud credentials
|
|
141
|
-
const clientId = process.env.GOOGLE_CLIENT_ID ||
|
|
147
|
+
const clientId = process.env.GOOGLE_CLIENT_ID || "YOUR_CLIENT_ID";
|
|
142
148
|
const redirectUri = `http://localhost:${PORT}/callback`;
|
|
143
|
-
const scope =
|
|
149
|
+
const scope = "https://www.googleapis.com/auth/generative-language";
|
|
144
150
|
const authUrl = `https://accounts.google.com/o/oauth2/v2/auth?` +
|
|
145
151
|
`client_id=${encodeURIComponent(clientId)}` +
|
|
146
152
|
`&redirect_uri=${encodeURIComponent(redirectUri)}` +
|
|
@@ -148,78 +154,81 @@ export class GeminiService extends EventEmitter {
|
|
|
148
154
|
`&scope=${encodeURIComponent(scope)}` +
|
|
149
155
|
`&access_type=offline` +
|
|
150
156
|
`&prompt=consent`;
|
|
151
|
-
this.emit(
|
|
152
|
-
this.emit(
|
|
157
|
+
this.emit("log", `Opening browser for Google authentication...`);
|
|
158
|
+
this.emit("log", `If browser doesn't open, visit: ${authUrl}`);
|
|
153
159
|
open(authUrl).catch(() => {
|
|
154
|
-
this.emit(
|
|
160
|
+
this.emit("log", `Could not open browser automatically. Please visit the URL above.`);
|
|
155
161
|
});
|
|
156
162
|
});
|
|
157
163
|
// Timeout after 5 minutes
|
|
158
164
|
setTimeout(() => {
|
|
159
165
|
server.close();
|
|
160
|
-
resolve({
|
|
166
|
+
resolve({
|
|
167
|
+
success: false,
|
|
168
|
+
message: "Authentication timed out. Please try again.",
|
|
169
|
+
});
|
|
161
170
|
}, 5 * 60 * 1000);
|
|
162
171
|
});
|
|
163
172
|
}
|
|
164
173
|
// Exchange authorization code for tokens
|
|
165
174
|
async exchangeCodeForTokens(code) {
|
|
166
|
-
const clientId = process.env.GOOGLE_CLIENT_ID ||
|
|
167
|
-
const clientSecret = process.env.GOOGLE_CLIENT_SECRET ||
|
|
168
|
-
const redirectUri =
|
|
169
|
-
const response = await fetch(
|
|
170
|
-
method:
|
|
171
|
-
headers: {
|
|
175
|
+
const clientId = process.env.GOOGLE_CLIENT_ID || "YOUR_CLIENT_ID";
|
|
176
|
+
const clientSecret = process.env.GOOGLE_CLIENT_SECRET || "YOUR_CLIENT_SECRET";
|
|
177
|
+
const redirectUri = "http://localhost:8234/callback";
|
|
178
|
+
const response = await fetch("https://oauth2.googleapis.com/token", {
|
|
179
|
+
method: "POST",
|
|
180
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
172
181
|
body: new URLSearchParams({
|
|
173
182
|
code,
|
|
174
183
|
client_id: clientId,
|
|
175
184
|
client_secret: clientSecret,
|
|
176
185
|
redirect_uri: redirectUri,
|
|
177
|
-
grant_type:
|
|
186
|
+
grant_type: "authorization_code",
|
|
178
187
|
}),
|
|
179
188
|
});
|
|
180
189
|
if (!response.ok) {
|
|
181
190
|
throw new Error(`Token exchange failed: ${response.statusText}`);
|
|
182
191
|
}
|
|
183
|
-
const data = await response.json();
|
|
192
|
+
const data = (await response.json());
|
|
184
193
|
return {
|
|
185
194
|
accessToken: data.access_token,
|
|
186
195
|
refreshToken: data.refresh_token,
|
|
187
|
-
expiresAt: Date.now() +
|
|
196
|
+
expiresAt: Date.now() + data.expires_in * 1000,
|
|
188
197
|
};
|
|
189
198
|
}
|
|
190
199
|
// Refresh access token
|
|
191
200
|
async refreshAccessToken() {
|
|
192
201
|
const tokens = loadAuthTokens();
|
|
193
202
|
if (!tokens?.refreshToken) {
|
|
194
|
-
throw new Error(
|
|
203
|
+
throw new Error("No refresh token available");
|
|
195
204
|
}
|
|
196
|
-
const clientId = process.env.GOOGLE_CLIENT_ID ||
|
|
197
|
-
const clientSecret = process.env.GOOGLE_CLIENT_SECRET ||
|
|
198
|
-
const response = await fetch(
|
|
199
|
-
method:
|
|
200
|
-
headers: {
|
|
205
|
+
const clientId = process.env.GOOGLE_CLIENT_ID || "YOUR_CLIENT_ID";
|
|
206
|
+
const clientSecret = process.env.GOOGLE_CLIENT_SECRET || "YOUR_CLIENT_SECRET";
|
|
207
|
+
const response = await fetch("https://oauth2.googleapis.com/token", {
|
|
208
|
+
method: "POST",
|
|
209
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
201
210
|
body: new URLSearchParams({
|
|
202
211
|
refresh_token: tokens.refreshToken,
|
|
203
212
|
client_id: clientId,
|
|
204
213
|
client_secret: clientSecret,
|
|
205
|
-
grant_type:
|
|
214
|
+
grant_type: "refresh_token",
|
|
206
215
|
}),
|
|
207
216
|
});
|
|
208
217
|
if (!response.ok) {
|
|
209
|
-
throw new Error(
|
|
218
|
+
throw new Error("Failed to refresh token");
|
|
210
219
|
}
|
|
211
|
-
const data = await response.json();
|
|
220
|
+
const data = (await response.json());
|
|
212
221
|
saveAuthTokens({
|
|
213
222
|
accessToken: data.access_token,
|
|
214
223
|
refreshToken: tokens.refreshToken,
|
|
215
|
-
expiresAt: Date.now() +
|
|
224
|
+
expiresAt: Date.now() + data.expires_in * 1000,
|
|
216
225
|
});
|
|
217
226
|
}
|
|
218
227
|
// Get valid access token (refresh if needed)
|
|
219
228
|
async getAccessToken() {
|
|
220
229
|
const tokens = loadAuthTokens();
|
|
221
230
|
if (!tokens) {
|
|
222
|
-
throw new Error(
|
|
231
|
+
throw new Error("Not authenticated. Run /gemini enable first.");
|
|
223
232
|
}
|
|
224
233
|
// Check if token needs refresh (with 5 min buffer)
|
|
225
234
|
if (tokens.expiresAt < Date.now() + 5 * 60 * 1000) {
|
|
@@ -231,13 +240,13 @@ export class GeminiService extends EventEmitter {
|
|
|
231
240
|
}
|
|
232
241
|
// Load project context
|
|
233
242
|
loadProjectContext(cwd) {
|
|
234
|
-
const files = [
|
|
243
|
+
const files = ["CLAUDE.md", "README.md", "package.json"];
|
|
235
244
|
const contextParts = [];
|
|
236
245
|
for (const file of files) {
|
|
237
246
|
const filePath = path.join(cwd, file);
|
|
238
247
|
if (fs.existsSync(filePath)) {
|
|
239
248
|
try {
|
|
240
|
-
const content = fs.readFileSync(filePath,
|
|
249
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
241
250
|
contextParts.push(`=== ${file} ===\n${content.slice(0, 2000)}`);
|
|
242
251
|
}
|
|
243
252
|
catch {
|
|
@@ -245,61 +254,62 @@ export class GeminiService extends EventEmitter {
|
|
|
245
254
|
}
|
|
246
255
|
}
|
|
247
256
|
}
|
|
248
|
-
this.projectContext = contextParts.join(
|
|
257
|
+
this.projectContext = contextParts.join("\n\n");
|
|
249
258
|
}
|
|
250
259
|
// Load custom docs
|
|
251
260
|
loadCustomDocs() {
|
|
252
261
|
const docsDir = getDocsDir();
|
|
253
262
|
if (!fs.existsSync(docsDir)) {
|
|
254
|
-
return
|
|
263
|
+
return "";
|
|
255
264
|
}
|
|
256
265
|
const docParts = [];
|
|
257
266
|
try {
|
|
258
|
-
const files = fs.readdirSync(docsDir).filter(f => f.endsWith(
|
|
259
|
-
for (const file of files.slice(0, 5)) {
|
|
260
|
-
|
|
267
|
+
const files = fs.readdirSync(docsDir).filter((f) => f.endsWith(".md"));
|
|
268
|
+
for (const file of files.slice(0, 5)) {
|
|
269
|
+
// Limit to 5 docs
|
|
270
|
+
const content = fs.readFileSync(path.join(docsDir, file), "utf-8");
|
|
261
271
|
docParts.push(`=== ${file} ===\n${content.slice(0, 2000)}`);
|
|
262
272
|
}
|
|
263
273
|
}
|
|
264
274
|
catch {
|
|
265
275
|
// Skip on error
|
|
266
276
|
}
|
|
267
|
-
return docParts.join(
|
|
277
|
+
return docParts.join("\n\n");
|
|
268
278
|
}
|
|
269
279
|
// Send message to Gemini
|
|
270
280
|
async sendMessage(message) {
|
|
271
281
|
const config = loadGeminiConfig();
|
|
272
282
|
const accessToken = await this.getAccessToken();
|
|
273
283
|
// Build context
|
|
274
|
-
let systemContext = config.systemPrompt ||
|
|
284
|
+
let systemContext = config.systemPrompt || "";
|
|
275
285
|
if (config.projectContext && this.projectContext) {
|
|
276
|
-
systemContext +=
|
|
286
|
+
systemContext += "\n\nProject Context:\n" + this.projectContext;
|
|
277
287
|
}
|
|
278
288
|
const customDocs = this.loadCustomDocs();
|
|
279
289
|
if (customDocs) {
|
|
280
|
-
systemContext +=
|
|
290
|
+
systemContext += "\n\nDocumentation:\n" + customDocs;
|
|
281
291
|
}
|
|
282
292
|
// Add to conversation history
|
|
283
|
-
this.conversationHistory.push({ role:
|
|
293
|
+
this.conversationHistory.push({ role: "user", content: message });
|
|
284
294
|
// Prepare request body for Gemini API
|
|
285
295
|
const requestBody = {
|
|
286
296
|
contents: [
|
|
287
297
|
{
|
|
288
|
-
role:
|
|
289
|
-
parts: [{ text: systemContext +
|
|
290
|
-
}
|
|
298
|
+
role: "user",
|
|
299
|
+
parts: [{ text: systemContext + "\n\nUser: " + message }],
|
|
300
|
+
},
|
|
291
301
|
],
|
|
292
302
|
generationConfig: {
|
|
293
303
|
maxOutputTokens: 2048,
|
|
294
304
|
temperature: 0.7,
|
|
295
|
-
}
|
|
305
|
+
},
|
|
296
306
|
};
|
|
297
307
|
// Call Gemini API
|
|
298
|
-
const response = await fetch(
|
|
299
|
-
method:
|
|
308
|
+
const response = await fetch("https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent", {
|
|
309
|
+
method: "POST",
|
|
300
310
|
headers: {
|
|
301
|
-
|
|
302
|
-
|
|
311
|
+
Authorization: `Bearer ${accessToken}`,
|
|
312
|
+
"Content-Type": "application/json",
|
|
303
313
|
},
|
|
304
314
|
body: JSON.stringify(requestBody),
|
|
305
315
|
});
|
|
@@ -307,10 +317,11 @@ export class GeminiService extends EventEmitter {
|
|
|
307
317
|
const errorText = await response.text();
|
|
308
318
|
throw new Error(`Gemini API error: ${response.status} - ${errorText}`);
|
|
309
319
|
}
|
|
310
|
-
const data = await response.json();
|
|
311
|
-
const responseText = data.candidates?.[0]?.content?.parts?.[0]?.text ||
|
|
320
|
+
const data = (await response.json());
|
|
321
|
+
const responseText = data.candidates?.[0]?.content?.parts?.[0]?.text ||
|
|
322
|
+
"No response generated.";
|
|
312
323
|
// Add to conversation history
|
|
313
|
-
this.conversationHistory.push({ role:
|
|
324
|
+
this.conversationHistory.push({ role: "assistant", content: responseText });
|
|
314
325
|
return responseText;
|
|
315
326
|
}
|
|
316
327
|
// Clear conversation history
|