libre-webui 0.2.8 → 0.2.9
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 +25 -16
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +15 -0
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +122 -0
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/services/pluginCredentialsService.d.ts +46 -0
- package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -0
- package/backend/dist/services/pluginCredentialsService.js +175 -0
- package/backend/dist/services/pluginCredentialsService.js.map +1 -0
- package/backend/dist/services/pluginService.d.ts +7 -0
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +29 -19
- package/backend/dist/services/pluginService.js.map +1 -1
- package/frontend/dist/assets/index-C1Ba9uDt.js +25 -0
- package/frontend/dist/css/index-CdiWoduX.css +1 -0
- package/frontend/dist/index.html +4 -4
- package/frontend/dist/js/ArtifactContainer-BNTSGf96.js +23 -0
- package/frontend/dist/js/{ArtifactDemoPage-Cg6PD9Cv.js → ArtifactDemoPage-x98zuxsN.js} +1 -1
- package/frontend/dist/js/{ChatPage-Bwc5n8Z3.js → ChatPage-BxamwHd3.js} +5 -5
- package/frontend/dist/js/ModelsPage-4CDKkZ0-.js +2 -0
- package/frontend/dist/js/PersonasPage-Df_20I2C.js +13 -0
- package/frontend/dist/js/UserManagementPage-CZc7OD7f.js +1 -0
- package/frontend/dist/js/{markdown-vendor-D-79K2xZ.js → markdown-vendor-DRtqGHm3.js} +1 -1
- package/frontend/dist/js/ui-vendor-BiDMn752.js +177 -0
- package/package.json +1 -1
- package/frontend/dist/assets/index-CE4fvnod.js +0 -3
- package/frontend/dist/css/index-B1OjddR-.css +0 -1
- package/frontend/dist/js/ArtifactContainer-BoHnMmlC.js +0 -23
- package/frontend/dist/js/ModelsPage-2HtOH51G.js +0 -2
- package/frontend/dist/js/PersonasPage-BESJgtJW.js +0 -13
- package/frontend/dist/js/UserManagementPage-DQaE_2Mt.js +0 -1
- package/frontend/dist/js/ui-vendor-VxSCY_bv.js +0 -177
package/README.md
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
### Privacy-First AI Chat Interface
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<strong>Self-hosted • Open Source • Extensible</strong>
|
|
8
|
+
<strong>Self-hosted • Open Source • Extensible</strong><br>
|
|
9
|
+
<sub>Enterprise support by <a href="https://kroonen.ai">Kroonen AI</a></sub>
|
|
9
10
|
</p>
|
|
10
11
|
|
|
11
12
|
<p>
|
|
@@ -18,6 +19,12 @@
|
|
|
18
19
|
<a href="https://github.com/libre-webui/libre-webui"><img src="https://img.shields.io/github/stars/libre-webui/libre-webui?style=social" alt="Stars"></a>
|
|
19
20
|
</p>
|
|
20
21
|
|
|
22
|
+
<p align="center">
|
|
23
|
+
<img src="https://img.shields.io/badge/GDPR-Ready-green" alt="GDPR Ready">
|
|
24
|
+
<img src="https://img.shields.io/badge/HIPAA-Compatible-blue" alt="HIPAA Compatible">
|
|
25
|
+
<img src="https://img.shields.io/badge/SOC_2-Ready-purple" alt="SOC 2 Ready">
|
|
26
|
+
</p>
|
|
27
|
+
|
|
21
28
|
[Website](https://librewebui.org) • [Documentation](https://docs.librewebui.org) • [𝕏](https://x.com/librewebui) • [Sponsor](https://github.com/sponsors/libre-webui) • [Get Started](#quick-start)
|
|
22
29
|
|
|
23
30
|
</div>
|
|
@@ -145,15 +152,17 @@ docker-compose -f docker-compose.external-ollama.yml up -d
|
|
|
145
152
|
|
|
146
153
|
Access at `http://localhost:5173` (dev) or `http://localhost:8080` (Docker)
|
|
147
154
|
|
|
148
|
-
### Desktop App
|
|
155
|
+
### Desktop App (In Development)
|
|
156
|
+
|
|
157
|
+
> **Note:** The desktop app is currently in active development. The macOS build is pending Apple notarization, which may cause security warnings or installation issues on some systems. We're working to resolve this. Feedback and bug reports are welcome!
|
|
149
158
|
|
|
150
159
|
Download the native desktop app from [GitHub Releases](https://github.com/libre-webui/libre-webui/releases):
|
|
151
160
|
|
|
152
|
-
| Platform |
|
|
153
|
-
| --------------------- |
|
|
154
|
-
| macOS (Apple Silicon) | `.dmg` or `.zip` |
|
|
155
|
-
| Windows | Coming soon
|
|
156
|
-
| Linux | Coming soon
|
|
161
|
+
| Platform | Status |
|
|
162
|
+
| --------------------- | ----------------------- |
|
|
163
|
+
| macOS (Apple Silicon) | Beta (`.dmg` or `.zip`) |
|
|
164
|
+
| Windows | Coming soon |
|
|
165
|
+
| Linux | Coming soon |
|
|
157
166
|
|
|
158
167
|
---
|
|
159
168
|
|
|
@@ -161,16 +170,16 @@ Download the native desktop app from [GitHub Releases](https://github.com/libre-
|
|
|
161
170
|
>
|
|
162
171
|
> ## Enterprise Services
|
|
163
172
|
>
|
|
164
|
-
> **Need a custom deployment?** [Kroonen AI
|
|
173
|
+
> **Need a custom deployment?** [Kroonen AI](https://kroonen.ai) provides professional services for Libre WebUI deployments.
|
|
165
174
|
>
|
|
166
|
-
> |
|
|
167
|
-
> |
|
|
168
|
-
> |
|
|
169
|
-
> | SSO integration
|
|
170
|
-
> | Custom development
|
|
171
|
-
> |
|
|
175
|
+
> | Service | Use Case |
|
|
176
|
+
> | ----------------------------- | ------------------------------------- |
|
|
177
|
+
> | On-premise & cloud deployment | HIPAA, SOC 2, air-gapped environments |
|
|
178
|
+
> | SSO integration | Okta, Azure AD, SAML, LDAP |
|
|
179
|
+
> | Custom development | Integrations, white-labeling, plugins |
|
|
180
|
+
> | SLA-backed support | Priority response, dedicated channel |
|
|
172
181
|
>
|
|
173
|
-
> **
|
|
182
|
+
> **Contact:** enterprise@kroonen.ai | **[Learn more →](https://kroonen.ai/services)**
|
|
174
183
|
|
|
175
184
|
> [!TIP]
|
|
176
185
|
>
|
|
@@ -199,6 +208,6 @@ Download the native desktop app from [GitHub Releases](https://github.com/libre-
|
|
|
199
208
|
|
|
200
209
|
**Apache 2.0 License** • Copyright © 2025–present Libre WebUI™
|
|
201
210
|
|
|
202
|
-
Built by [Kroonen AI](https://kroonen.ai)
|
|
211
|
+
Built & maintained by [Kroonen AI](https://kroonen.ai) • [Enterprise Support](https://kroonen.ai/services)
|
|
203
212
|
|
|
204
213
|
</div>
|
package/backend/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAiBA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAuBtC;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CA0D/C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAO1D;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAiBA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAuBtC;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CA0D/C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAO1D;AAiTD;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAa/C;AAGD,eAAe,WAAW,CAAC"}
|
package/backend/dist/db.js
CHANGED
|
@@ -214,6 +214,19 @@ function initializeTables() {
|
|
|
214
214
|
updated_at INTEGER NOT NULL,
|
|
215
215
|
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
|
216
216
|
)
|
|
217
|
+
`);
|
|
218
|
+
// Plugin credentials table - for per-user API keys
|
|
219
|
+
db.exec(`
|
|
220
|
+
CREATE TABLE IF NOT EXISTS plugin_credentials (
|
|
221
|
+
id TEXT PRIMARY KEY,
|
|
222
|
+
user_id TEXT DEFAULT 'default',
|
|
223
|
+
plugin_id TEXT NOT NULL,
|
|
224
|
+
api_key TEXT NOT NULL, -- Encrypted API key
|
|
225
|
+
created_at INTEGER NOT NULL,
|
|
226
|
+
updated_at INTEGER NOT NULL,
|
|
227
|
+
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
|
228
|
+
UNIQUE(user_id, plugin_id)
|
|
229
|
+
)
|
|
217
230
|
`);
|
|
218
231
|
// Create indexes for better performance
|
|
219
232
|
db.exec(`
|
|
@@ -229,6 +242,8 @@ function initializeTables() {
|
|
|
229
242
|
CREATE INDEX IF NOT EXISTS idx_user_preferences_key ON user_preferences(key);
|
|
230
243
|
CREATE INDEX IF NOT EXISTS idx_personas_user_id ON personas(user_id);
|
|
231
244
|
CREATE INDEX IF NOT EXISTS idx_personas_name ON personas(name);
|
|
245
|
+
CREATE INDEX IF NOT EXISTS idx_plugin_credentials_user_id ON plugin_credentials(user_id);
|
|
246
|
+
CREATE INDEX IF NOT EXISTS idx_plugin_credentials_plugin_id ON plugin_credentials(plugin_id);
|
|
232
247
|
`);
|
|
233
248
|
console.log('Database tables initialized successfully');
|
|
234
249
|
// Create default user if no users exist
|
package/backend/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,oBAAoB;AACpB,IAAI,EAAE,GAA6B,IAAI,CAAC;AACxC,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC;;GAEG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,+EAA+E;QAC/E,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,qCAAqC;QACrC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CACX,4EAA4E,CAC7E,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,sBAAsB,GAAG,IAAI,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAEjD,8BAA8B;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,sBAAsB;YACtB,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE1B,sBAAsB;YACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAE/B,kCAAkC;YAClC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACjC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ;YAE5C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YAExE,oCAAoC;YACpC,gBAAgB,EAAE,CAAC;YAEnB,iBAAiB;YACjB,aAAa,EAAE,CAAC;YAEhB,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,sBAAsB,GAAG,IAAI,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,2CAA2C;IAC3C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWP,CAAC,CAAC;IAEH,mDAAmD;IACnD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAEzD,CAAC;QACJ,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,EAAE,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;IAED,+CAA+C;IAC/C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYP,CAAC,CAAC;IAEH,yDAAyD;IACzD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;IAEH,iDAAiD;IACjD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;GAaP,CAAC,CAAC;IAEH,6DAA6D;IAC7D,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYP,CAAC,CAAC;IAEH,0DAA0D;IAC1D,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWP,CAAC,CAAC;IAEH,8CAA8C;IAC9C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;IAEH,wCAAwC;IACxC,EAAE,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/routes/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/routes/plugins.ts"],"names":[],"mappings":"AAoCA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AA4nBhC,eAAe,MAAM,CAAC"}
|
|
@@ -20,6 +20,7 @@ import path from 'path';
|
|
|
20
20
|
import fs from 'fs';
|
|
21
21
|
import rateLimit from 'express-rate-limit';
|
|
22
22
|
import pluginService from '../services/pluginService.js';
|
|
23
|
+
import pluginCredentialsService from '../services/pluginCredentialsService.js';
|
|
23
24
|
import { getErrorMessage, } from '../types/index.js';
|
|
24
25
|
const router = express.Router();
|
|
25
26
|
// Rate limiting for plugin operations
|
|
@@ -413,5 +414,126 @@ router.get('/:id/export', async (req, res) => {
|
|
|
413
414
|
});
|
|
414
415
|
}
|
|
415
416
|
});
|
|
417
|
+
// ============================================
|
|
418
|
+
// Plugin Credentials Endpoints
|
|
419
|
+
// ============================================
|
|
420
|
+
// Get all credentials for current user (API keys are masked)
|
|
421
|
+
router.get('/credentials/all', async (req, res) => {
|
|
422
|
+
try {
|
|
423
|
+
// Get userId from auth context (defaults to 'default' for single-user mode)
|
|
424
|
+
const userId = req.userId || 'default';
|
|
425
|
+
const credentials = pluginCredentialsService.getCredentials(userId);
|
|
426
|
+
res.json({
|
|
427
|
+
success: true,
|
|
428
|
+
data: credentials,
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
catch (error) {
|
|
432
|
+
res.status(500).json({
|
|
433
|
+
success: false,
|
|
434
|
+
error: getErrorMessage(error, 'Failed to get plugin credentials'),
|
|
435
|
+
});
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
// Set API key for a plugin
|
|
439
|
+
router.post('/:id/credentials', pluginRateLimit, async (req, res) => {
|
|
440
|
+
try {
|
|
441
|
+
const { id } = req.params;
|
|
442
|
+
const { api_key } = req.body;
|
|
443
|
+
if (!api_key || typeof api_key !== 'string') {
|
|
444
|
+
res.status(400).json({
|
|
445
|
+
success: false,
|
|
446
|
+
error: 'API key is required',
|
|
447
|
+
});
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
// Verify plugin exists
|
|
451
|
+
const plugin = pluginService.getPlugin(id);
|
|
452
|
+
if (!plugin) {
|
|
453
|
+
res.status(404).json({
|
|
454
|
+
success: false,
|
|
455
|
+
error: 'Plugin not found',
|
|
456
|
+
});
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
// Get userId from auth context
|
|
460
|
+
const userId = req.userId || 'default';
|
|
461
|
+
const success = pluginCredentialsService.setApiKey(id, api_key, userId);
|
|
462
|
+
if (success) {
|
|
463
|
+
res.json({
|
|
464
|
+
success: true,
|
|
465
|
+
data: true,
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
res.status(500).json({
|
|
470
|
+
success: false,
|
|
471
|
+
error: 'Failed to save API key',
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
catch (error) {
|
|
476
|
+
res.status(500).json({
|
|
477
|
+
success: false,
|
|
478
|
+
error: getErrorMessage(error, 'Failed to set API key'),
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
// Delete API key for a plugin
|
|
483
|
+
router.delete('/:id/credentials', pluginRateLimit, async (req, res) => {
|
|
484
|
+
try {
|
|
485
|
+
const { id } = req.params;
|
|
486
|
+
// Verify plugin exists
|
|
487
|
+
const plugin = pluginService.getPlugin(id);
|
|
488
|
+
if (!plugin) {
|
|
489
|
+
res.status(404).json({
|
|
490
|
+
success: false,
|
|
491
|
+
error: 'Plugin not found',
|
|
492
|
+
});
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
// Get userId from auth context
|
|
496
|
+
const userId = req.userId || 'default';
|
|
497
|
+
const success = pluginCredentialsService.deleteApiKey(id, userId);
|
|
498
|
+
res.json({
|
|
499
|
+
success: true,
|
|
500
|
+
data: success,
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
catch (error) {
|
|
504
|
+
res.status(500).json({
|
|
505
|
+
success: false,
|
|
506
|
+
error: getErrorMessage(error, 'Failed to delete API key'),
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
// Check if API key exists for a plugin (without revealing the key)
|
|
511
|
+
router.get('/:id/credentials/check', async (req, res) => {
|
|
512
|
+
try {
|
|
513
|
+
const { id } = req.params;
|
|
514
|
+
// Verify plugin exists
|
|
515
|
+
const plugin = pluginService.getPlugin(id);
|
|
516
|
+
if (!plugin) {
|
|
517
|
+
res.status(404).json({
|
|
518
|
+
success: false,
|
|
519
|
+
error: 'Plugin not found',
|
|
520
|
+
});
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
// Get userId from auth context
|
|
524
|
+
const userId = req.userId || 'default';
|
|
525
|
+
const hasKey = pluginCredentialsService.hasApiKey(id, plugin.auth.key_env, userId);
|
|
526
|
+
res.json({
|
|
527
|
+
success: true,
|
|
528
|
+
data: hasKey,
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
catch (error) {
|
|
532
|
+
res.status(500).json({
|
|
533
|
+
success: false,
|
|
534
|
+
error: getErrorMessage(error, 'Failed to check API key'),
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
});
|
|
416
538
|
export default router;
|
|
417
539
|
//# sourceMappingURL=plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/routes/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,OAA8B,MAAM,SAAS,CAAC;AACrD,OAAO,MAA8B,MAAM,QAAQ,CAAC;AACpD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAIL,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAEhC,sCAAsC;AACtC,MAAM,eAAe,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IACvC,GAAG,EAAE,GAAG,EAAE,6CAA6C;IACvD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,gEAAgE;KACxE;CACF,CAAC,CAAC;AAEH,uDAAuD;AACvD,MAAM,eAAe,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IACvC,GAAG,EAAE,EAAE,EAAE,2CAA2C;IACpD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,gEAAgE;KACxE;CACF,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAQ,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9C,+CAA+C;QAC/C,IACE,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC;YACxC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAC3B,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,CACV,GAAY,EACZ,IAAyB,EACzB,EAAsB,EACtB,EAAE;QACF,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAE9D,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,aAAa;KAC1C;CACF,CAAC,CAAC;AAEH,kBAAkB;AAClB,MAAM,CAAC,GAAG,CACR,GAAG,EACH,KAAK,EAAE,GAAY,EAAE,GAAoC,EAAiB,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,wBAAwB,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,GAAG,CACR,SAAS,EACT,KAAK,EAAE,GAAY,EAAE,GAAoC,EAAiB,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAEvD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,8BAA8B,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,GAAG,CACR,iBAAiB,EACjB,KAAK,EACH,GAAY,EACZ,GAAyC,EAC1B,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;QAErD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,6BAA6B,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,GAAG,CACR,aAAa,EACb,KAAK,EACH,GAAY,EACZ,GAA0C,EAC3B,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;QAE/C,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,6BAA6B,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,GAAG,CACR,MAAM,EACN,KAAK,EAAE,GAAY,EAAE,GAAkC,EAAiB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,IAAI,CACT,SAAS,EACT,eAAe,EACf,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACvB,KAAK,EACH,GAAkB,EAClB,GAAkC,EACnB,EAAE;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB;aAC3B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,UAAmB,CAAC;QAExB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,2CAA2C;YAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAC9D,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,yCAAyC;YACzC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yCAAyC;aACjD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,uBAAuB;aAC/B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAExC,qBAAqB;QACrB,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEtD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,sCAAsC;QACtC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAEvE,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CACF,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,IAAI,CACT,UAAU,EACV,eAAe,EACf,KAAK,EAAE,GAAY,EAAE,GAAkC,EAAiB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEvD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;QAExE,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CACF,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,GAAG,CACR,MAAM,EACN,KAAK,EAAE,GAAY,EAAE,GAAkC,EAAiB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;QAEzB,wBAAwB;QACxB,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gDAAgD;aACxD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEpD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,CACX,MAAM,EACN,eAAe,EACf,KAAK,EAAE,GAAY,EAAE,GAAmC,EAAiB,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,eAAe,EACf,KAAK,EAAE,GAAY,EAAE,GAAmC,EAAiB,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAEjD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAEzE,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CACF,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,eAAe,EACf,KAAK,EAAE,GAAY,EAAE,GAAmC,EAAiB,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAEnD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,6BAA6B,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,kCAAkC;AAClC,MAAM,CAAC,IAAI,CACT,aAAa,EACb,eAAe,EACf,KAAK,EAAE,GAAY,EAAE,GAAmC,EAAiB,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAEjD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,6BAA6B,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,GAAG,CACR,aAAa,EACb,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,MAAM,UAAU,GAAG;YACjB,GAAG,MAAM;YACT,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC1E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/routes/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface PluginCredential {
|
|
2
|
+
id: string;
|
|
3
|
+
user_id: string;
|
|
4
|
+
plugin_id: string;
|
|
5
|
+
api_key: string;
|
|
6
|
+
created_at: number;
|
|
7
|
+
updated_at: number;
|
|
8
|
+
}
|
|
9
|
+
declare class PluginCredentialsService {
|
|
10
|
+
/**
|
|
11
|
+
* Get API key for a specific plugin and user
|
|
12
|
+
* Returns null if not found, with optional fallback to environment variable
|
|
13
|
+
*/
|
|
14
|
+
getApiKey(pluginId: string, keyEnv: string, userId?: string): string | null;
|
|
15
|
+
/**
|
|
16
|
+
* Get all credentials for a user (API keys are masked for security)
|
|
17
|
+
*/
|
|
18
|
+
getCredentials(userId?: string): Array<{
|
|
19
|
+
plugin_id: string;
|
|
20
|
+
has_api_key: boolean;
|
|
21
|
+
updated_at: number;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Set or update API key for a plugin
|
|
25
|
+
*/
|
|
26
|
+
setApiKey(pluginId: string, apiKey: string, userId?: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Delete API key for a plugin
|
|
29
|
+
*/
|
|
30
|
+
deleteApiKey(pluginId: string, userId?: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Check if a user has an API key set for a plugin
|
|
33
|
+
*/
|
|
34
|
+
hasApiKey(pluginId: string, keyEnv: string, userId?: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Delete all credentials for a user (used when user account is deleted)
|
|
37
|
+
*/
|
|
38
|
+
deleteAllUserCredentials(userId: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Delete all credentials for a plugin (used when plugin is deleted)
|
|
41
|
+
*/
|
|
42
|
+
deleteAllPluginCredentials(pluginId: string): boolean;
|
|
43
|
+
}
|
|
44
|
+
declare const pluginCredentialsService: PluginCredentialsService;
|
|
45
|
+
export default pluginCredentialsService;
|
|
46
|
+
//# sourceMappingURL=pluginCredentialsService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginCredentialsService.d.ts","sourceRoot":"","sources":["../../src/services/pluginCredentialsService.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAWD,cAAM,wBAAwB;IAC5B;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA4B3E;;OAEG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IA8BF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IA2CrE;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IA4BxD;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAIrE;;OAEG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAsBjD;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAqBtD;AAED,QAAA,MAAM,wBAAwB,0BAAiC,CAAC;AAChE,eAAe,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Libre WebUI
|
|
3
|
+
* Copyright (C) 2025 Kroonen AI, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at:
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
18
|
+
import { getDatabaseSafe } from '../db.js';
|
|
19
|
+
import { encryptionService } from './encryptionService.js';
|
|
20
|
+
class PluginCredentialsService {
|
|
21
|
+
/**
|
|
22
|
+
* Get API key for a specific plugin and user
|
|
23
|
+
* Returns null if not found, with optional fallback to environment variable
|
|
24
|
+
*/
|
|
25
|
+
getApiKey(pluginId, keyEnv, userId) {
|
|
26
|
+
const effectiveUserId = userId || 'default';
|
|
27
|
+
const db = getDatabaseSafe();
|
|
28
|
+
if (db) {
|
|
29
|
+
try {
|
|
30
|
+
const row = db
|
|
31
|
+
.prepare('SELECT api_key FROM plugin_credentials WHERE plugin_id = ? AND user_id = ?')
|
|
32
|
+
.get(pluginId, effectiveUserId);
|
|
33
|
+
if (row?.api_key) {
|
|
34
|
+
// Decrypt the API key
|
|
35
|
+
const decryptedKey = encryptionService.decrypt(row.api_key);
|
|
36
|
+
if (decryptedKey) {
|
|
37
|
+
return decryptedKey;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(`Failed to get API key for plugin ${pluginId}:`, error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Fallback to environment variable
|
|
46
|
+
return process.env[keyEnv] || null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get all credentials for a user (API keys are masked for security)
|
|
50
|
+
*/
|
|
51
|
+
getCredentials(userId) {
|
|
52
|
+
const effectiveUserId = userId || 'default';
|
|
53
|
+
const db = getDatabaseSafe();
|
|
54
|
+
if (!db) {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const rows = db
|
|
59
|
+
.prepare('SELECT plugin_id, api_key, updated_at FROM plugin_credentials WHERE user_id = ?')
|
|
60
|
+
.all(effectiveUserId);
|
|
61
|
+
return rows.map(row => ({
|
|
62
|
+
plugin_id: row.plugin_id,
|
|
63
|
+
has_api_key: Boolean(row.api_key),
|
|
64
|
+
updated_at: row.updated_at,
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.error('Failed to get plugin credentials:', error);
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Set or update API key for a plugin
|
|
74
|
+
*/
|
|
75
|
+
setApiKey(pluginId, apiKey, userId) {
|
|
76
|
+
const effectiveUserId = userId || 'default';
|
|
77
|
+
const db = getDatabaseSafe();
|
|
78
|
+
if (!db) {
|
|
79
|
+
console.error('Database not available for storing plugin credentials');
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const now = Date.now();
|
|
84
|
+
const encryptedKey = encryptionService.encrypt(apiKey);
|
|
85
|
+
// Check if credential already exists
|
|
86
|
+
const existing = db
|
|
87
|
+
.prepare('SELECT id FROM plugin_credentials WHERE plugin_id = ? AND user_id = ?')
|
|
88
|
+
.get(pluginId, effectiveUserId);
|
|
89
|
+
if (existing) {
|
|
90
|
+
// Update existing credential
|
|
91
|
+
db.prepare('UPDATE plugin_credentials SET api_key = ?, updated_at = ? WHERE id = ?').run(encryptedKey, now, existing.id);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
// Insert new credential
|
|
95
|
+
const id = uuidv4();
|
|
96
|
+
db.prepare('INSERT INTO plugin_credentials (id, user_id, plugin_id, api_key, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)').run(id, effectiveUserId, pluginId, encryptedKey, now, now);
|
|
97
|
+
}
|
|
98
|
+
console.log(`API key ${existing ? 'updated' : 'set'} for plugin ${pluginId} (user: ${effectiveUserId})`);
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error(`Failed to set API key for plugin ${pluginId}:`, error);
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Delete API key for a plugin
|
|
108
|
+
*/
|
|
109
|
+
deleteApiKey(pluginId, userId) {
|
|
110
|
+
const effectiveUserId = userId || 'default';
|
|
111
|
+
const db = getDatabaseSafe();
|
|
112
|
+
if (!db) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
const result = db
|
|
117
|
+
.prepare('DELETE FROM plugin_credentials WHERE plugin_id = ? AND user_id = ?')
|
|
118
|
+
.run(pluginId, effectiveUserId);
|
|
119
|
+
if (result.changes > 0) {
|
|
120
|
+
console.log(`API key deleted for plugin ${pluginId} (user: ${effectiveUserId})`);
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
console.error(`Failed to delete API key for plugin ${pluginId}:`, error);
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Check if a user has an API key set for a plugin
|
|
132
|
+
*/
|
|
133
|
+
hasApiKey(pluginId, keyEnv, userId) {
|
|
134
|
+
return this.getApiKey(pluginId, keyEnv, userId) !== null;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Delete all credentials for a user (used when user account is deleted)
|
|
138
|
+
*/
|
|
139
|
+
deleteAllUserCredentials(userId) {
|
|
140
|
+
const db = getDatabaseSafe();
|
|
141
|
+
if (!db) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
db.prepare('DELETE FROM plugin_credentials WHERE user_id = ?').run(userId);
|
|
146
|
+
console.log(`All plugin credentials deleted for user ${userId}`);
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
console.error(`Failed to delete all credentials for user ${userId}:`, error);
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Delete all credentials for a plugin (used when plugin is deleted)
|
|
156
|
+
*/
|
|
157
|
+
deleteAllPluginCredentials(pluginId) {
|
|
158
|
+
const db = getDatabaseSafe();
|
|
159
|
+
if (!db) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
try {
|
|
163
|
+
db.prepare('DELETE FROM plugin_credentials WHERE plugin_id = ?').run(pluginId);
|
|
164
|
+
console.log(`All credentials deleted for plugin ${pluginId}`);
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
console.error(`Failed to delete all credentials for plugin ${pluginId}:`, error);
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const pluginCredentialsService = new PluginCredentialsService();
|
|
174
|
+
export default pluginCredentialsService;
|
|
175
|
+
//# sourceMappingURL=pluginCredentialsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginCredentialsService.js","sourceRoot":"","sources":["../../src/services/pluginCredentialsService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAoB3D,MAAM,wBAAwB;IAC5B;;;OAGG;IACH,SAAS,CAAC,QAAgB,EAAE,MAAc,EAAE,MAAe;QACzD,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAC5C,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAE7B,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE;qBACX,OAAO,CACN,4EAA4E,CAC7E;qBACA,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAoC,CAAC;gBAErE,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;oBACjB,sBAAsB;oBACtB,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5D,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,YAAY,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAe;QAK5B,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAC5C,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE;iBACZ,OAAO,CACN,iFAAiF,CAClF;iBACA,GAAG,CAAC,eAAe,CAIpB,CAAC;YAEH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBACjC,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAgB,EAAE,MAAc,EAAE,MAAe;QACzD,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAC5C,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEvD,qCAAqC;YACrC,MAAM,QAAQ,GAAG,EAAE;iBAChB,OAAO,CACN,uEAAuE,CACxE;iBACA,GAAG,CAAC,QAAQ,EAAE,eAAe,CAA+B,CAAC;YAEhE,IAAI,QAAQ,EAAE,CAAC;gBACb,6BAA6B;gBAC7B,EAAE,CAAC,OAAO,CACR,wEAAwE,CACzE,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,wBAAwB;gBACxB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;gBACpB,EAAE,CAAC,OAAO,CACR,oHAAoH,CACrH,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,CAAC,GAAG,CACT,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,eAAe,QAAQ,WAAW,eAAe,GAAG,CAC5F,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAgB,EAAE,MAAe;QAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAC5C,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE;iBACd,OAAO,CACN,oEAAoE,CACrE;iBACA,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAElC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CACT,8BAA8B,QAAQ,WAAW,eAAe,GAAG,CACpE,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAgB,EAAE,MAAc,EAAE,MAAe;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,MAAc;QACrC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAChE,MAAM,CACP,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,6CAA6C,MAAM,GAAG,EACtD,KAAK,CACN,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,QAAgB;QACzC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAClE,QAAQ,CACT,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,+CAA+C,QAAQ,GAAG,EAC1D,KAAK,CACN,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAED,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAChE,eAAe,wBAAwB,CAAC"}
|
|
@@ -6,6 +6,13 @@ declare class PluginService {
|
|
|
6
6
|
private ensurePluginsDirectory;
|
|
7
7
|
private loadActivePlugins;
|
|
8
8
|
private saveActivePlugins;
|
|
9
|
+
/**
|
|
10
|
+
* Get API key for a plugin from database (per-user) or environment variable (fallback)
|
|
11
|
+
* @param plugin The plugin to get the API key for
|
|
12
|
+
* @param userId Optional user ID for per-user credentials
|
|
13
|
+
* @returns The API key or null if not found
|
|
14
|
+
*/
|
|
15
|
+
getApiKey(plugin: Plugin, userId?: string): string | null;
|
|
9
16
|
getAllPlugins(): Plugin[];
|
|
10
17
|
getPlugin(id: string): Plugin | null;
|
|
11
18
|
installPlugin(pluginData: Plugin): Plugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,UAAU,EACX,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,UAAU,EACX,MAAM,mBAAmB,CAAC;AAG3B,cAAM,aAAa;IACjB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAA0B;;IAQjD,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IASzB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASzD,aAAa,IAAI,MAAM,EAAE;IA+BzB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkCpC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAoBzC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA2CjC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAanC,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAYtC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqCrD,gBAAgB,IAAI,MAAM,EAAE;IAqB5B,eAAe,IAAI,MAAM,GAAG,IAAI;IAMhC,eAAe,IAAI,YAAY,EAAE;IAU3B,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAkT1B,OAAO,CAAC,wBAAwB;IA8EhC,OAAO,CAAC,qBAAqB;IAyF7B,OAAO,CAAC,cAAc;IA2BtB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKvC,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM;IAoBzC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkD7C,qBAAqB,IAAI;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,SAAS,CAAC;KACpB,EAAE;IAuCG,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;QAClE,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC,MAAM,CAAC;IA4NlB,OAAO,CAAC,eAAe;IA4CvB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAYhD,sBAAsB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,EAAE;CAgD7D;;AAED,wBAAmC"}
|