@agent-deck/backend 1.6.1 → 1.6.4
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/dist/.tsbuildinfo +1 -1
- package/dist/export-import/sanitize-for-export.d.ts +9 -0
- package/dist/export-import/sanitize-for-export.d.ts.map +1 -1
- package/dist/export-import/sanitize-for-export.js +21 -0
- package/dist/export-import/sanitize-for-export.js.map +1 -1
- package/dist/lib/client-scope.d.ts.map +1 -1
- package/dist/lib/client-scope.js +3 -20
- package/dist/lib/client-scope.js.map +1 -1
- package/dist/mcp-server.d.ts +7 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +33 -7
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp-tools/register.d.ts.map +1 -1
- package/dist/mcp-tools/register.js +10 -4
- package/dist/mcp-tools/register.js.map +1 -1
- package/dist/models/database.d.ts +4 -0
- package/dist/models/database.d.ts.map +1 -1
- package/dist/models/database.js +36 -0
- package/dist/models/database.js.map +1 -1
- package/dist/playbooks/patch-manager.d.ts +12 -2
- package/dist/playbooks/patch-manager.d.ts.map +1 -1
- package/dist/playbooks/patch-manager.js +80 -7
- package/dist/playbooks/patch-manager.js.map +1 -1
- package/dist/playbooks/stub-sync.js +2 -2
- package/dist/playbooks/stub-sync.js.map +1 -1
- package/dist/routes/decks.d.ts.map +1 -1
- package/dist/routes/decks.js +27 -3
- package/dist/routes/decks.js.map +1 -1
- package/dist/routes/oauth.d.ts.map +1 -1
- package/dist/routes/oauth.js +16 -5
- package/dist/routes/oauth.js.map +1 -1
- package/dist/routes/playbook-patches.d.ts.map +1 -1
- package/dist/routes/playbook-patches.js +15 -4
- package/dist/routes/playbook-patches.js.map +1 -1
- package/dist/routes/playbooks.d.ts.map +1 -1
- package/dist/routes/playbooks.js +5 -1
- package/dist/routes/playbooks.js.map +1 -1
- package/dist/routes/scope.d.ts.map +1 -1
- package/dist/routes/scope.js +2 -1
- package/dist/routes/scope.js.map +1 -1
- package/dist/routes/services.d.ts.map +1 -1
- package/dist/routes/services.js +14 -7
- package/dist/routes/services.js.map +1 -1
- package/dist/scope/live-display-registry.d.ts +2 -1
- package/dist/scope/live-display-registry.d.ts.map +1 -1
- package/dist/scope/live-display-registry.js +3 -1
- package/dist/scope/live-display-registry.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +5 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/collection-warning-service.d.ts +3 -0
- package/dist/services/collection-warning-service.d.ts.map +1 -1
- package/dist/services/collection-warning-service.js +24 -1
- package/dist/services/collection-warning-service.js.map +1 -1
- package/dist/services/oauth-manager.d.ts +2 -0
- package/dist/services/oauth-manager.d.ts.map +1 -1
- package/dist/services/oauth-manager.js +12 -0
- package/dist/services/oauth-manager.js.map +1 -1
- package/dist/services/service-manager.d.ts +21 -1
- package/dist/services/service-manager.d.ts.map +1 -1
- package/dist/services/service-manager.js +95 -10
- package/dist/services/service-manager.js.map +1 -1
- package/dist/vault/index.d.ts +1 -0
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +1 -0
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/service-header-vault.d.ts +16 -0
- package/dist/vault/service-header-vault.d.ts.map +1 -0
- package/dist/vault/service-header-vault.js +54 -0
- package/dist/vault/service-header-vault.js.map +1 -0
- package/package.json +4 -4
- package/static-ui/assets/index-BG4SetCL.css +1 -0
- package/static-ui/assets/index-BV17LsZJ.js +485 -0
- package/static-ui/index.html +2 -2
- package/dist/mcp-stdio.d.ts +0 -2
- package/dist/mcp-stdio.d.ts.map +0 -1
- package/dist/mcp-stdio.js.map +0 -1
- package/dist/playbooks/playbook-parser.d.ts +0 -8
- package/dist/playbooks/playbook-parser.d.ts.map +0 -1
- package/dist/playbooks/playbook-parser.js +0 -76
- package/dist/playbooks/playbook-parser.js.map +0 -1
- package/dist/playbooks/playbook-service.d.ts +0 -9
- package/dist/playbooks/playbook-service.d.ts.map +0 -1
- package/dist/playbooks/playbook-service.js +0 -107
- package/dist/playbooks/playbook-service.js.map +0 -1
- package/dist/scope/bindings-sidecar.d.ts +0 -9
- package/dist/scope/bindings-sidecar.d.ts.map +0 -1
- package/dist/scope/bindings-sidecar.js +0 -57
- package/dist/scope/bindings-sidecar.js.map +0 -1
- package/dist/scope/repo-deck.d.ts +0 -10
- package/dist/scope/repo-deck.d.ts.map +0 -1
- package/dist/scope/repo-deck.js +0 -63
- package/dist/scope/repo-deck.js.map +0 -1
- package/dist/test-local-mcp-e2e.d.ts +0 -3
- package/dist/test-local-mcp-e2e.d.ts.map +0 -1
- package/dist/test-local-mcp-e2e.js +0 -104
- package/dist/test-local-mcp-e2e.js.map +0 -1
- package/static-ui/assets/index-BFNNOjUg.css +0 -1
- package/static-ui/assets/index-Bh8zjoSD.js +0 -485
- package/static-ui/favicon.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-display-registry.js","sourceRoot":"","sources":["../../src/scope/live-display-registry.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,+CAI4B;AAC5B,mCAAsC;
|
|
1
|
+
{"version":3,"file":"live-display-registry.js","sourceRoot":"","sources":["../../src/scope/live-display-registry.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,+CAI4B;AAC5B,mCAAsC;AAkBtC,qFAAqF;AACrF,MAAa,mBAAmB;IACtB,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE1D,MAAM,CAAC,KAAwB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,KAAK,GACT,QAAQ,EAAE,KAAK;YACf,IAAA,mBAAW,EAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,GAAqB;YAC9B,GAAG,KAAK;YACR,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ,EAAE,UAAU;YACpD,KAAK;YACL,cAAc,EAAE,KAAK,CAAC,SAAS;SAChC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,YAAoB;QACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,YAAoB,EAAE,EAAU;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;YACvC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,gBAAgB,CAAC,aAAqB;QACpC,IAAI,OAAO,GAAG,IAAA,+BAAsB,EAAC,aAAa,CAAC,CAAC;QACpD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,IAAI,GAA4B,IAAI,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,4EAA4E;gBAC5E,8EAA8E;gBAC9E,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAA,+BAAsB,EAAC,KAAK,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,CAAC;oBACpF,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC9C,IAAI,GAAG,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9DD,kDA8DC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { ServiceManager } from '../services/service-manager';
|
|
|
3
3
|
import { MCPClientManager } from '../services/mcp-client-manager';
|
|
4
4
|
import { OAuthManager } from '../services/oauth-manager';
|
|
5
5
|
import { ServiceStatusUpdate, DeckUpdate, WebSocketMessage } from '@agent-deck/shared';
|
|
6
|
-
import { CredentialManager, OAuthClientSecretVault, OAuthTokenVault } from '../vault';
|
|
6
|
+
import { CredentialManager, OAuthClientSecretVault, OAuthTokenVault, ServiceHeaderVault } from '../vault';
|
|
7
7
|
import { CollectionWarningService } from '../services/collection-warning-service';
|
|
8
8
|
import { PlaybookManager } from '../playbooks/playbook-manager';
|
|
9
9
|
import { PatchManager } from '../playbooks/patch-manager';
|
|
@@ -17,6 +17,7 @@ declare module 'fastify' {
|
|
|
17
17
|
oauthManager: OAuthManager;
|
|
18
18
|
oauthClientSecretVault: OAuthClientSecretVault;
|
|
19
19
|
oauthTokenVault: OAuthTokenVault;
|
|
20
|
+
serviceHeaderVault: ServiceHeaderVault;
|
|
20
21
|
credentialManager: CredentialManager;
|
|
21
22
|
playbookManager: PlaybookManager;
|
|
22
23
|
patchManager: PatchManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAqB,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAqB,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE7H,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,wBAAsB,YAAY,qUAmJjC;AAGD,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,eAAe;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,cAAc,EAAE,cAAc,CAAC;QAC/B,SAAS,EAAE,gBAAgB,CAAC;QAC5B,YAAY,EAAE,YAAY,CAAC;QAC3B,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,eAAe,EAAE,eAAe,CAAC;QACjC,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,eAAe,EAAE,eAAe,CAAC;QACjC,YAAY,EAAE,YAAY,CAAC;QAC3B,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,sBAAsB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAC9D,mBAAmB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;QAClD,cAAc,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;KACrD;CACF"}
|
package/dist/server/index.js
CHANGED
|
@@ -80,15 +80,17 @@ async function createServer() {
|
|
|
80
80
|
const secretStore = (0, vault_1.createSecretStore)();
|
|
81
81
|
const oauthClientSecretVault = new vault_1.OAuthClientSecretVault(secretStore, db);
|
|
82
82
|
const oauthTokenVault = new vault_1.OAuthTokenVault(secretStore, db);
|
|
83
|
+
const serviceHeaderVault = new vault_1.ServiceHeaderVault(secretStore);
|
|
83
84
|
const oauthManager = new oauth_manager_1.OAuthManager(db, oauthClientSecretVault, oauthTokenVault);
|
|
84
85
|
const storeWriter = new writer_1.FileStoreWriter();
|
|
85
86
|
const credentialManager = new vault_1.CredentialManager(db, secretStore, undefined, storeWriter);
|
|
86
87
|
const mcpClient = new mcp_client_manager_1.MCPClientManager((serviceId) => oauthManager.getValidAccessToken(serviceId));
|
|
87
|
-
const serviceManager = new service_manager_1.ServiceManager(db, mcpClient, oauthManager, oauthClientSecretVault, credentialManager, storeWriter);
|
|
88
|
+
const serviceManager = new service_manager_1.ServiceManager(db, mcpClient, oauthManager, oauthClientSecretVault, credentialManager, storeWriter, serviceHeaderVault);
|
|
88
89
|
void serviceManager.backfillMissingIcons();
|
|
90
|
+
void serviceManager.migrateSecretHeadersToVault();
|
|
89
91
|
const playbookManager = new playbook_manager_1.PlaybookManager(db, storeWriter);
|
|
90
92
|
const patchManager = new patch_manager_1.PatchManager(db, playbookManager);
|
|
91
|
-
const collectionWarningService = new collection_warning_service_1.CollectionWarningService();
|
|
93
|
+
const collectionWarningService = new collection_warning_service_1.CollectionWarningService(oauthManager);
|
|
92
94
|
const liveDisplayRegistry = new live_display_registry_1.LiveDisplayRegistry();
|
|
93
95
|
// Register routes
|
|
94
96
|
await fastify.register(websocket_2.registerWebSocketRoutes, { prefix: '/api/ws' });
|
|
@@ -141,6 +143,7 @@ async function createServer() {
|
|
|
141
143
|
fastify.decorate('oauthManager', oauthManager);
|
|
142
144
|
fastify.decorate('oauthClientSecretVault', oauthClientSecretVault);
|
|
143
145
|
fastify.decorate('oauthTokenVault', oauthTokenVault);
|
|
146
|
+
fastify.decorate('serviceHeaderVault', serviceHeaderVault);
|
|
144
147
|
fastify.decorate('credentialManager', credentialManager);
|
|
145
148
|
fastify.decorate('playbookManager', playbookManager);
|
|
146
149
|
fastify.decorate('patchManager', patchManager);
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;AAmCA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type CollectionCardWarning, type CollectionWarningKind, type Credential, type Playbook, type Service } from '@agent-deck/shared';
|
|
2
|
+
import type { OAuthManager } from './oauth-manager';
|
|
2
3
|
export type CollectionWarningsPayload = {
|
|
3
4
|
total: number;
|
|
4
5
|
byKind: Record<CollectionWarningKind, number>;
|
|
@@ -7,8 +8,10 @@ export type CollectionWarningsPayload = {
|
|
|
7
8
|
playbooks: Record<string, CollectionCardWarning[]>;
|
|
8
9
|
};
|
|
9
10
|
export declare class CollectionWarningService {
|
|
11
|
+
private oauthManager?;
|
|
10
12
|
private discoveryService;
|
|
11
13
|
private oauthRequiredCache;
|
|
14
|
+
constructor(oauthManager?: OAuthManager | undefined);
|
|
12
15
|
private emptyByKind;
|
|
13
16
|
private probeOAuthRequired;
|
|
14
17
|
private shouldProbeOAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-warning-service.d.ts","sourceRoot":"","sources":["../../src/services/collection-warning-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"collection-warning-service.d.ts","sourceRoot":"","sources":["../../src/services/collection-warning-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;CACpD,CAAC;AAIF,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,YAAY,CAAC;IAHjC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,kBAAkB,CAA+D;gBAErE,YAAY,CAAC,EAAE,YAAY,YAAA;IAE/C,OAAO,CAAC,WAAW;YAUL,kBAAkB;IAmChC,OAAO,CAAC,gBAAgB;IAoBlB,SAAS,CACb,QAAQ,EAAE,OAAO,EAAE,EACnB,WAAW,EAAE,UAAU,EAAE,EACzB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,yBAAyB,CAAC;IAsFrC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAOrC"}
|
|
@@ -5,8 +5,12 @@ const shared_1 = require("@agent-deck/shared");
|
|
|
5
5
|
const mcp_discovery_service_1 = require("./mcp-discovery-service");
|
|
6
6
|
const OAUTH_PROBE_TTL_MS = 5 * 60 * 1000;
|
|
7
7
|
class CollectionWarningService {
|
|
8
|
+
oauthManager;
|
|
8
9
|
discoveryService = new mcp_discovery_service_1.MCPDiscoveryService();
|
|
9
10
|
oauthRequiredCache = new Map();
|
|
11
|
+
constructor(oauthManager) {
|
|
12
|
+
this.oauthManager = oauthManager;
|
|
13
|
+
}
|
|
10
14
|
emptyByKind() {
|
|
11
15
|
return {
|
|
12
16
|
oauth_required: 0,
|
|
@@ -72,12 +76,31 @@ class CollectionWarningService {
|
|
|
72
76
|
serviceWarningContext[service.id] = { oauthRequired: true };
|
|
73
77
|
}
|
|
74
78
|
}));
|
|
79
|
+
const refreshTokenByServiceId = {};
|
|
80
|
+
if (this.oauthManager) {
|
|
81
|
+
await Promise.all(services.map(async (service) => {
|
|
82
|
+
if (service.type !== 'mcp') {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const oauthLikely = service.oauthClientId ||
|
|
86
|
+
service.oauthAuthorizationUrl ||
|
|
87
|
+
service.oauthTokenUrl ||
|
|
88
|
+
serviceWarningContext[service.id]?.oauthRequired;
|
|
89
|
+
if (!oauthLikely) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
refreshTokenByServiceId[service.id] = await this.oauthManager.hasRefreshToken(service.id);
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
75
95
|
const servicesMap = {};
|
|
76
96
|
const credentialsMap = {};
|
|
77
97
|
const playbooksMap = {};
|
|
78
98
|
const byKind = this.emptyByKind();
|
|
79
99
|
for (const service of services) {
|
|
80
|
-
const warnings = (0, shared_1.getServiceWarnings)(service,
|
|
100
|
+
const warnings = (0, shared_1.getServiceWarnings)(service, {
|
|
101
|
+
...serviceWarningContext[service.id],
|
|
102
|
+
hasRefreshToken: refreshTokenByServiceId[service.id],
|
|
103
|
+
});
|
|
81
104
|
if (warnings.length > 0) {
|
|
82
105
|
servicesMap[service.id] = warnings;
|
|
83
106
|
for (const warning of warnings) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-warning-service.js","sourceRoot":"","sources":["../../src/services/collection-warning-service.ts"],"names":[],"mappings":";;;AAAA,+CAW4B;AAC5B,mEAA8D;
|
|
1
|
+
{"version":3,"file":"collection-warning-service.js","sourceRoot":"","sources":["../../src/services/collection-warning-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export declare class OAuthManager {
|
|
|
7
7
|
private clientSecrets;
|
|
8
8
|
private tokens;
|
|
9
9
|
private oauthStates;
|
|
10
|
+
private refreshInFlight;
|
|
10
11
|
getOAuthState(state: string): string | undefined;
|
|
11
12
|
constructor(db: DatabaseManager, clientSecrets: OAuthClientSecretVault, tokens: OAuthTokenVault);
|
|
12
13
|
discoverOAuth(serviceUrl: string): Promise<OAuthDiscoveryResult>;
|
|
@@ -16,6 +17,7 @@ export declare class OAuthManager {
|
|
|
16
17
|
}>;
|
|
17
18
|
handleOAuthCallback(input: OAuthCallbackInput): Promise<OAuthToken>;
|
|
18
19
|
refreshOAuthToken(input: OAuthRefreshInput): Promise<OAuthToken>;
|
|
20
|
+
private performRefreshOAuthToken;
|
|
19
21
|
isTokenExpired(serviceId: string): Promise<boolean>;
|
|
20
22
|
getValidAccessToken(serviceId: string): Promise<string | null>;
|
|
21
23
|
hasOAuthTokens(serviceId: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-manager.d.ts","sourceRoot":"","sources":["../../src/services/oauth-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AA2B7D,qBAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"oauth-manager.d.ts","sourceRoot":"","sources":["../../src/services/oauth-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AA2B7D,qBAAa,YAAY;IASrB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,eAAe,CAA0C;IAEjE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;gBAKtC,EAAE,EAAE,eAAe,EACnB,aAAa,EAAE,sBAAsB,EACrC,MAAM,EAAE,eAAe;IAG3B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkEhE,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC9F,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAgFnE,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;YAaxD,wBAAwB;IAsDhC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBnD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqC9D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAapD,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;QAC3E,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CAqJH"}
|
|
@@ -11,6 +11,7 @@ class OAuthManager {
|
|
|
11
11
|
clientSecrets;
|
|
12
12
|
tokens;
|
|
13
13
|
oauthStates = new Map();
|
|
14
|
+
refreshInFlight = new Map();
|
|
14
15
|
getOAuthState(state) {
|
|
15
16
|
return this.oauthStates.get(state)?.serviceId;
|
|
16
17
|
}
|
|
@@ -166,6 +167,17 @@ class OAuthManager {
|
|
|
166
167
|
return token;
|
|
167
168
|
}
|
|
168
169
|
async refreshOAuthToken(input) {
|
|
170
|
+
const inFlight = this.refreshInFlight.get(input.serviceId);
|
|
171
|
+
if (inFlight) {
|
|
172
|
+
return inFlight;
|
|
173
|
+
}
|
|
174
|
+
const refreshPromise = this.performRefreshOAuthToken(input).finally(() => {
|
|
175
|
+
this.refreshInFlight.delete(input.serviceId);
|
|
176
|
+
});
|
|
177
|
+
this.refreshInFlight.set(input.serviceId, refreshPromise);
|
|
178
|
+
return refreshPromise;
|
|
179
|
+
}
|
|
180
|
+
async performRefreshOAuthToken(input) {
|
|
169
181
|
const service = await this.db.getService(input.serviceId);
|
|
170
182
|
if (!service) {
|
|
171
183
|
throw new Error(`Service ${input.serviceId} not found`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-manager.js","sourceRoot":"","sources":["../../src/services/oauth-manager.ts"],"names":[],"mappings":";;;AAAA,+CAQ4B;AAI5B,mCAAqC;AACrC,sCAA+C;AAC/C,6DAA+D;AAC/D,sEAGqC;AAoBrC,MAAa,YAAY;IAQb;IACA;IACA;IATF,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEzD,aAAa,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAChD,CAAC;IAED,YACU,EAAmB,EACnB,aAAqC,EACrC,MAAuB;QAFvB,OAAE,GAAF,EAAE,CAAiB;QACnB,kBAAa,GAAb,aAAa,CAAwB;QACrC,WAAM,GAAN,MAAM,CAAiB;IAC9B,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,IAAI,CAAC;YACH,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,yCAAyC,EAAE;gBACnF,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmB,CAAC;gBAExD,MAAM,MAAM,GAAgB;oBAC1B,QAAQ,EAAE,EAAE,EAAE,2BAA2B;oBACzC,YAAY,EAAE,EAAE,EAAE,2BAA2B;oBAC7C,gBAAgB,EAAE,QAAQ,CAAC,sBAAsB,IAAI,EAAE;oBACvD,QAAQ,EAAE,QAAQ,CAAC,cAAc,IAAI,EAAE;oBACvC,WAAW,EAAE,EAAE,EAAE,gCAAgC;oBACjD,KAAK,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY;iBACtD,CAAC;gBAEF,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,MAAM;iBACP,CAAC;YACJ,CAAC;YAED,oCAAoC;YACpC,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,iBAAiB,EAAE;gBACtE,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YAEH,IAAI,mBAAmB,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAmB,CAAC;gBAEnE,MAAM,MAAM,GAAgB;oBAC1B,QAAQ,EAAE,EAAE;oBACZ,YAAY,EAAE,EAAE;oBAChB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,sBAAsB,IAAI,EAAE;oBACpF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE;oBAC5D,WAAW,EAAE,EAAE;oBACf,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,YAAY;iBACtC,CAAC;gBAEF,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,MAAM;iBACP,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAqB;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,SAAS,YAAY,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAA,uBAAgB,GAAE,CAAC;QAE3D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAC/D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC;QAClE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACtD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAEtD,OAAO;YACL,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE;YAChC,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAyB;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,6EAA6E;QAC7E,yEAAyE;QACzE,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,IAAI,sCAAsC,CAAC;QAEvF,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,OAAO,CAAC,aAAa;YAC/B,WAAW;YACX,QAAQ,EAAE,OAAO,CAAC,aAAa;SAChC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;YACpC,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YACtC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9F,IAAI,YAAY,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAA,+CAAwB,GAAE;YACnC,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,aAAa,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,8CAAuB,EAAC,aAAa,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAe;YACxB,WAAW,EAAE,SAAS,CAAC,YAAY;YACnC,YAAY,EAAE,SAAS,CAAC,aAAa;YACrC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,SAAS,EAAE,SAAS,CAAC,UAAU,IAAI,QAAQ;YAC3C,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;QAEF,8DAA8D;QAC9D,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACnB,SAAS,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,sDAAsD;QACtD,iDAAiD;QACjD,2BAA2B;QAC3B,MAAM;QAEN,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAwB;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,SAAS,YAAY,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;YACtC,UAAU,EAAE,eAAe;YAC3B,SAAS,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YACtC,aAAa,EAAE,KAAK,CAAC,YAAY;SAClC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9F,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAA,+CAAwB,GAAE;YACnC,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,8CAAuB,EAAC,aAAa,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAe;YACxB,WAAW,EAAE,SAAS,CAAC,YAAY;YACnC,YAAY,EAAE,SAAS,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY;YAC3D,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,SAAS,EAAE,SAAS,CAAC,UAAU,IAAI,QAAQ;YAC3C,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;QAEF,+BAA+B;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACnB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,SAAS,EACT,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAA,kCAAyB,EAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAClC,SAAS,EACT,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAA,kCAAyB,EAAC,OAAO,CAAC,EAAE,CAAC;YACvC,2BAA2B;YAC3B,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;wBAC5C,SAAS;wBACT,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,CAAC,CAAC;oBACH,OAAO,QAAQ,CAAC,WAAW,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;oBAChF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAClC,SAAS,EACT,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,MAAmB;QAOhE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,UAAU,CAAC,CAAC;YAEnE,mEAAmE;YACnE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAE/D,IAAI,CAAC;gBACH,iDAAiD;gBACjD,MAAM,gBAAgB,GAAG,GAAG,OAAO,CAAC,MAAM,yCAAyC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,CAAC;gBAE3D,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACvD,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAS,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;oBAE/C,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC;wBACnC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;wBAE5E,MAAM,gBAAgB,GAAG,IAAA,oCAAmB,GAAE,CAAC;wBAC/C,MAAM,oBAAoB,GAAG;4BAC3B;gCACE,WAAW,EAAE,WAAW;gCACxB,aAAa,EAAE,CAAC,gBAAgB,CAAC;gCACjC,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;gCACpD,cAAc,EAAE,CAAC,MAAM,CAAC;gCACxB,0BAA0B,EAAE,MAAM;gCAClC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,YAAY;6BACpC;4BACD;gCACE,WAAW,EAAE,WAAW;gCACxB,aAAa,EAAE,CAAC,gBAAgB,CAAC;gCACjC,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;gCACpD,cAAc,EAAE,CAAC,MAAM,CAAC;gCACxB,0BAA0B,EAAE,qBAAqB;gCACjD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,YAAY;6BACpC;yBACF,CAAC;wBAEF,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;4BAC3C,MAAM,oBAAoB,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,qBAAqB,EAAE;gCACvE,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE;oCACP,cAAc,EAAE,kBAAkB;oCAClC,QAAQ,EAAE,kBAAkB;iCAC7B;gCACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;6BAC9B,CAAC,CAAC;4BAEH,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC;gCAC7B,OAAO,CAAC,GAAG,CACT,kCAAkC,EAClC,OAAO,CAAC,0BAA0B,EAClC,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAClC,CAAC;gCACF,SAAS;4BACX,CAAC;4BAED,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAG3C,CAAC;4BACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,IAAI,CAAC,CAAC;4BAE7D,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACtF,OAAO;oCACL,OAAO,EAAE,IAAI;oCACb,QAAQ,EAAE,IAAI,CAAC,SAAS;oCACxB,YAAY,EAAE,IAAI,CAAC,aAAa;iCACjC,CAAC;4BACJ,CAAC;4BAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;wBACtE,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,gBAAgB,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;YAED,gEAAgE;YAChE,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YAEtE,MAAM,iBAAiB,GAAG;gBACxB,GAAG,UAAU,iBAAiB;gBAC9B,GAAG,UAAU,oBAAoB;gBACjC,GAAG,OAAO,CAAC,MAAM,iBAAiB;gBAClC,GAAG,OAAO,CAAC,MAAM,oBAAoB;aACtC,CAAC;YAEF,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;oBAEpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;wBACrC,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,QAAQ,EAAE,kBAAkB;yBAC7B;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,WAAW,EAAE,WAAW;4BACxB,YAAY,EAAE,IAAA,oCAAmB,GAAE;4BACnC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,YAAY;yBACpC,CAAC;qBACH,CAAC,CAAC;oBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAErE,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtF,OAAO;gCACL,OAAO,EAAE,IAAI;gCACb,QAAQ,EAAE,IAAI,CAAC,SAAS;gCACxB,YAAY,EAAE,IAAI,CAAC,aAAa;6BACjC,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,wDAAwD,EAAE,QAAQ,CAAC,CAAC;wBAClF,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,0FAA0F;YAC1F,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;YAEhG,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gHAAgH;aACxH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;aAC3E,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA3dD,oCA2dC"}
|
|
1
|
+
{"version":3,"file":"oauth-manager.js","sourceRoot":"","sources":["../../src/services/oauth-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { OAuthManager } from './oauth-manager';
|
|
|
5
5
|
import { OAuthClientSecretVault } from '../vault/oauth-client-secret-vault';
|
|
6
6
|
import { CredentialManager } from '../vault/credential-manager';
|
|
7
7
|
import { FileStoreWriter } from '../store/writer';
|
|
8
|
+
import { ServiceHeaderVault } from '../vault/service-header-vault';
|
|
8
9
|
export declare class ServiceManager {
|
|
9
10
|
private db;
|
|
10
11
|
private mcpClient;
|
|
@@ -12,12 +13,31 @@ export declare class ServiceManager {
|
|
|
12
13
|
private clientSecrets;
|
|
13
14
|
private credentialManager?;
|
|
14
15
|
private storeWriter?;
|
|
16
|
+
private headerVault?;
|
|
15
17
|
private configManager;
|
|
16
|
-
constructor(db: DatabaseManager, mcpClient: MCPClientManager, oauthManager: OAuthManager, clientSecrets: OAuthClientSecretVault, credentialManager?: CredentialManager | undefined, storeWriter?: FileStoreWriter | undefined);
|
|
18
|
+
constructor(db: DatabaseManager, mcpClient: MCPClientManager, oauthManager: OAuthManager, clientSecrets: OAuthClientSecretVault, credentialManager?: CredentialManager | undefined, storeWriter?: FileStoreWriter | undefined, headerVault?: ServiceHeaderVault | undefined);
|
|
19
|
+
/**
|
|
20
|
+
* Overlay a service's secret headers (Authorization / API keys) from the vault
|
|
21
|
+
* onto its non-secret headers. Secrets live only in the vault, never in SQLite
|
|
22
|
+
* or the git store, so reads must re-merge them for the dashboard + connections.
|
|
23
|
+
*/
|
|
24
|
+
private withVaultHeaders;
|
|
25
|
+
/**
|
|
26
|
+
* Persist a header update: secret headers go to the vault (kept out of SQLite +
|
|
27
|
+
* git), non-secret headers stay on the row. Returns the headers to write to the
|
|
28
|
+
* DB row. No-op passthrough when no vault is configured (legacy path).
|
|
29
|
+
*/
|
|
30
|
+
private persistSecretHeaders;
|
|
17
31
|
private writeToStore;
|
|
18
32
|
private deleteFromStore;
|
|
19
33
|
get mcpClientManager(): MCPClientManager;
|
|
20
34
|
createService(input: CreateServiceInput): Promise<Service>;
|
|
35
|
+
/**
|
|
36
|
+
* One-shot upgrade: move secret headers still sitting in the SQLite row into the
|
|
37
|
+
* vault, so a future store reindex can't wipe survivors that predate this feature.
|
|
38
|
+
* Idempotent — after it runs, rows carry only non-secret headers.
|
|
39
|
+
*/
|
|
40
|
+
migrateSecretHeadersToVault(): Promise<void>;
|
|
21
41
|
private probeInitialHealth;
|
|
22
42
|
refreshUnknownServiceHealth(onUpdate?: (update: ServiceStatusUpdate) => void): Promise<void>;
|
|
23
43
|
private shouldBackgroundProbe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-manager.d.ts","sourceRoot":"","sources":["../../src/services/service-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EAIjB,8BAA8B,EAC9B,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAchE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"service-manager.d.ts","sourceRoot":"","sources":["../../src/services/service-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ const icon_resolver_1 = require("./icon-resolver");
|
|
|
40
40
|
const mcp_connection_error_1 = require("../lib/mcp-connection-error");
|
|
41
41
|
const normalize_service_tool_result_1 = require("../lib/normalize-service-tool-result");
|
|
42
42
|
const service_codec_1 = require("../store/service-codec");
|
|
43
|
+
const sanitize_for_export_1 = require("../export-import/sanitize-for-export");
|
|
43
44
|
class ServiceManager {
|
|
44
45
|
db;
|
|
45
46
|
mcpClient;
|
|
@@ -47,16 +48,48 @@ class ServiceManager {
|
|
|
47
48
|
clientSecrets;
|
|
48
49
|
credentialManager;
|
|
49
50
|
storeWriter;
|
|
51
|
+
headerVault;
|
|
50
52
|
configManager;
|
|
51
|
-
constructor(db, mcpClient, oauthManager, clientSecrets, credentialManager, storeWriter) {
|
|
53
|
+
constructor(db, mcpClient, oauthManager, clientSecrets, credentialManager, storeWriter, headerVault) {
|
|
52
54
|
this.db = db;
|
|
53
55
|
this.mcpClient = mcpClient;
|
|
54
56
|
this.oauthManager = oauthManager;
|
|
55
57
|
this.clientSecrets = clientSecrets;
|
|
56
58
|
this.credentialManager = credentialManager;
|
|
57
59
|
this.storeWriter = storeWriter;
|
|
60
|
+
this.headerVault = headerVault;
|
|
58
61
|
this.configManager = new config_manager_1.ConfigManager();
|
|
59
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Overlay a service's secret headers (Authorization / API keys) from the vault
|
|
65
|
+
* onto its non-secret headers. Secrets live only in the vault, never in SQLite
|
|
66
|
+
* or the git store, so reads must re-merge them for the dashboard + connections.
|
|
67
|
+
*/
|
|
68
|
+
async withVaultHeaders(service) {
|
|
69
|
+
if (!this.headerVault) {
|
|
70
|
+
return service;
|
|
71
|
+
}
|
|
72
|
+
const secret = await this.headerVault.get(service.id);
|
|
73
|
+
if (!secret) {
|
|
74
|
+
return service;
|
|
75
|
+
}
|
|
76
|
+
return { ...service, headers: { ...(service.headers ?? {}), ...secret } };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Persist a header update: secret headers go to the vault (kept out of SQLite +
|
|
80
|
+
* git), non-secret headers stay on the row. Returns the headers to write to the
|
|
81
|
+
* DB row. No-op passthrough when no vault is configured (legacy path).
|
|
82
|
+
*/
|
|
83
|
+
async persistSecretHeaders(serviceId, headers) {
|
|
84
|
+
if (!this.headerVault || headers === undefined) {
|
|
85
|
+
return headers;
|
|
86
|
+
}
|
|
87
|
+
const { secret, nonSecret } = (0, sanitize_for_export_1.splitSecretHeaders)(headers);
|
|
88
|
+
await this.headerVault.set(serviceId, secret);
|
|
89
|
+
// Normalize empty to undefined so the row stores null — matching createService,
|
|
90
|
+
// so "only-secret headers" doesn't write "{}" and dirty the git-synced store.
|
|
91
|
+
return Object.keys(nonSecret).length > 0 ? nonSecret : undefined;
|
|
92
|
+
}
|
|
60
93
|
async writeToStore(service) {
|
|
61
94
|
if (!this.storeWriter) {
|
|
62
95
|
return;
|
|
@@ -93,8 +126,19 @@ class ServiceManager {
|
|
|
93
126
|
if (nameConflict) {
|
|
94
127
|
throw new Error(`Service with name "${validatedInput.name}" already exists`);
|
|
95
128
|
}
|
|
129
|
+
// Hold secret headers back from the DB row; they belong in the vault.
|
|
130
|
+
let secretHeaders = {};
|
|
131
|
+
if (this.headerVault && validatedInput.headers !== undefined) {
|
|
132
|
+
const split = (0, sanitize_for_export_1.splitSecretHeaders)(validatedInput.headers);
|
|
133
|
+
secretHeaders = split.secret;
|
|
134
|
+
validatedInput.headers =
|
|
135
|
+
Object.keys(split.nonSecret).length > 0 ? split.nonSecret : undefined;
|
|
136
|
+
}
|
|
96
137
|
// Create service in database
|
|
97
138
|
const service = await this.db.createService(validatedInput);
|
|
139
|
+
if (this.headerVault && Object.keys(secretHeaders).length > 0) {
|
|
140
|
+
await this.headerVault.set(service.id, secretHeaders);
|
|
141
|
+
}
|
|
98
142
|
// Try to discover OAuth configuration if it's an MCP service
|
|
99
143
|
if (service.type === 'mcp' && !service.oauthClientId) {
|
|
100
144
|
try {
|
|
@@ -122,7 +166,33 @@ class ServiceManager {
|
|
|
122
166
|
});
|
|
123
167
|
void this.probeInitialHealth(service.id);
|
|
124
168
|
await this.writeToStore((await this.db.getService(service.id)) ?? service);
|
|
125
|
-
|
|
169
|
+
// Merge the just-vaulted secret headers back so the 201 body matches get/update.
|
|
170
|
+
return this.withVaultHeaders(service);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* One-shot upgrade: move secret headers still sitting in the SQLite row into the
|
|
174
|
+
* vault, so a future store reindex can't wipe survivors that predate this feature.
|
|
175
|
+
* Idempotent — after it runs, rows carry only non-secret headers.
|
|
176
|
+
*/
|
|
177
|
+
async migrateSecretHeadersToVault() {
|
|
178
|
+
if (!this.headerVault) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
for (const service of await this.db.getAllServices()) {
|
|
182
|
+
if (!service.headers) {
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
const { secret, nonSecret } = (0, sanitize_for_export_1.splitSecretHeaders)(service.headers);
|
|
186
|
+
if (Object.keys(secret).length === 0) {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
// A value already in the vault is newer than the legacy row — keep it.
|
|
190
|
+
const existing = (await this.headerVault.get(service.id)) ?? {};
|
|
191
|
+
await this.headerVault.set(service.id, { ...secret, ...existing });
|
|
192
|
+
await this.db.updateService(service.id, {
|
|
193
|
+
headers: Object.keys(nonSecret).length > 0 ? nonSecret : undefined,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
126
196
|
}
|
|
127
197
|
probeInitialHealth(serviceId) {
|
|
128
198
|
void this.discoverServiceTools(serviceId).catch((error) => {
|
|
@@ -178,15 +248,16 @@ class ServiceManager {
|
|
|
178
248
|
return null;
|
|
179
249
|
}
|
|
180
250
|
if (!this.shouldResolveIcon(service)) {
|
|
181
|
-
return service;
|
|
251
|
+
return this.withVaultHeaders(service);
|
|
182
252
|
}
|
|
183
253
|
const result = await (0, icon_resolver_1.cacheIconForService)(serviceId, service.url);
|
|
184
254
|
if (!result.iconPath) {
|
|
185
|
-
return service;
|
|
255
|
+
return this.withVaultHeaders(service);
|
|
186
256
|
}
|
|
187
|
-
|
|
257
|
+
const updated = await this.db.updateService(serviceId, {
|
|
188
258
|
iconUrl: (0, icon_resolver_1.serviceIconApiPath)(serviceId),
|
|
189
259
|
});
|
|
260
|
+
return updated ? this.withVaultHeaders(updated) : null;
|
|
190
261
|
}
|
|
191
262
|
shouldResolveIcon(service) {
|
|
192
263
|
return service.type !== 'local-mcp' && !service.url.startsWith('local://');
|
|
@@ -211,33 +282,38 @@ class ServiceManager {
|
|
|
211
282
|
})));
|
|
212
283
|
}
|
|
213
284
|
async getService(id) {
|
|
214
|
-
|
|
285
|
+
const service = await this.db.getService(id);
|
|
286
|
+
return service ? this.withVaultHeaders(service) : null;
|
|
215
287
|
}
|
|
216
288
|
async getAllServices() {
|
|
217
289
|
const services = await this.db.getAllServices();
|
|
218
290
|
return Promise.all(services.map(async (service) => {
|
|
219
291
|
if (!this.shouldResolveIcon(service)) {
|
|
220
|
-
return service;
|
|
292
|
+
return this.withVaultHeaders(service);
|
|
221
293
|
}
|
|
222
294
|
const missingIconUrl = !service.iconUrl;
|
|
223
295
|
const missingCacheFile = service.iconUrl && !(await (0, icon_resolver_1.serviceIconFileExists)(service.id));
|
|
224
296
|
if (missingIconUrl || missingCacheFile) {
|
|
225
297
|
const updated = await this.refreshServiceIcon(service.id);
|
|
226
|
-
return updated ?? service;
|
|
298
|
+
return this.withVaultHeaders(updated ?? service);
|
|
227
299
|
}
|
|
228
|
-
return service;
|
|
300
|
+
return this.withVaultHeaders(service);
|
|
229
301
|
}));
|
|
230
302
|
}
|
|
231
303
|
async updateService(id, input) {
|
|
232
304
|
// Validate input
|
|
233
305
|
const validatedInput = shared_1.UpdateServiceSchema.parse(input);
|
|
306
|
+
const headersUpdated = validatedInput.headers !== undefined;
|
|
307
|
+
// Route secret headers to the vault; only non-secret headers reach the row.
|
|
308
|
+
validatedInput.headers = await this.persistSecretHeaders(id, validatedInput.headers);
|
|
234
309
|
const service = await this.db.updateService(id, validatedInput);
|
|
235
310
|
if (service) {
|
|
236
311
|
await this.writeToStore(service);
|
|
237
312
|
// Header auth changes must drop the cached transport (old Authorization).
|
|
238
|
-
if (
|
|
313
|
+
if (headersUpdated && service.type === 'mcp') {
|
|
239
314
|
this.mcpClient.invalidateClient(id);
|
|
240
315
|
}
|
|
316
|
+
return this.withVaultHeaders(service);
|
|
241
317
|
}
|
|
242
318
|
return service;
|
|
243
319
|
}
|
|
@@ -265,6 +341,7 @@ class ServiceManager {
|
|
|
265
341
|
const deleted = await this.db.deleteService(id);
|
|
266
342
|
if (deleted) {
|
|
267
343
|
await this.deleteFromStore(id);
|
|
344
|
+
await this.headerVault?.delete(id);
|
|
268
345
|
}
|
|
269
346
|
return deleted;
|
|
270
347
|
}
|
|
@@ -272,6 +349,13 @@ class ServiceManager {
|
|
|
272
349
|
const headers = typeof service.headers === 'string'
|
|
273
350
|
? JSON.parse(service.headers)
|
|
274
351
|
: { ...(service.headers ?? {}) };
|
|
352
|
+
// Secret headers live in the vault, not on the row — merge them for the call.
|
|
353
|
+
if (this.headerVault) {
|
|
354
|
+
const secret = await this.headerVault.get(service.id);
|
|
355
|
+
if (secret) {
|
|
356
|
+
Object.assign(headers, secret);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
275
359
|
if (service.credentialId && this.credentialManager) {
|
|
276
360
|
const credentialHeaders = await this.credentialManager.resolveHttpHeaders(service.credentialId);
|
|
277
361
|
Object.assign(headers, credentialHeaders);
|
|
@@ -329,6 +413,7 @@ class ServiceManager {
|
|
|
329
413
|
}
|
|
330
414
|
if (updated) {
|
|
331
415
|
await this.writeToStore(updated);
|
|
416
|
+
return this.withVaultHeaders(updated);
|
|
332
417
|
}
|
|
333
418
|
return updated;
|
|
334
419
|
}
|