@agent-deck/backend 1.1.7 → 1.2.1

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.
Files changed (60) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/lib/paths.d.ts +8 -0
  3. package/dist/lib/paths.d.ts.map +1 -1
  4. package/dist/lib/paths.js +28 -4
  5. package/dist/lib/paths.js.map +1 -1
  6. package/dist/models/database.d.ts +5 -1
  7. package/dist/models/database.d.ts.map +1 -1
  8. package/dist/models/database.js +32 -19
  9. package/dist/models/database.js.map +1 -1
  10. package/dist/routes/oauth.d.ts.map +1 -1
  11. package/dist/routes/oauth.js +8 -5
  12. package/dist/routes/oauth.js.map +1 -1
  13. package/dist/routes/services.d.ts.map +1 -1
  14. package/dist/routes/services.js +33 -12
  15. package/dist/routes/services.js.map +1 -1
  16. package/dist/server/index.d.ts +3 -1
  17. package/dist/server/index.d.ts.map +1 -1
  18. package/dist/server/index.js +9 -4
  19. package/dist/server/index.js.map +1 -1
  20. package/dist/services/icon-resolver.d.ts +1 -0
  21. package/dist/services/icon-resolver.d.ts.map +1 -1
  22. package/dist/services/icon-resolver.js +10 -0
  23. package/dist/services/icon-resolver.js.map +1 -1
  24. package/dist/services/mcp-client-manager.d.ts +3 -1
  25. package/dist/services/mcp-client-manager.d.ts.map +1 -1
  26. package/dist/services/mcp-client-manager.js +18 -5
  27. package/dist/services/mcp-client-manager.js.map +1 -1
  28. package/dist/services/oauth-connect-service.d.ts +16 -2
  29. package/dist/services/oauth-connect-service.d.ts.map +1 -1
  30. package/dist/services/oauth-connect-service.js +48 -10
  31. package/dist/services/oauth-connect-service.js.map +1 -1
  32. package/dist/services/oauth-manager.d.ts +7 -1
  33. package/dist/services/oauth-manager.d.ts.map +1 -1
  34. package/dist/services/oauth-manager.js +42 -13
  35. package/dist/services/oauth-manager.js.map +1 -1
  36. package/dist/services/service-manager.d.ts +3 -1
  37. package/dist/services/service-manager.d.ts.map +1 -1
  38. package/dist/services/service-manager.js +34 -7
  39. package/dist/services/service-manager.js.map +1 -1
  40. package/dist/vault/index.d.ts +2 -0
  41. package/dist/vault/index.d.ts.map +1 -1
  42. package/dist/vault/index.js +2 -0
  43. package/dist/vault/index.js.map +1 -1
  44. package/dist/vault/oauth-client-secret-vault.d.ts +14 -0
  45. package/dist/vault/oauth-client-secret-vault.d.ts.map +1 -0
  46. package/dist/vault/oauth-client-secret-vault.js +46 -0
  47. package/dist/vault/oauth-client-secret-vault.js.map +1 -0
  48. package/dist/vault/oauth-token-vault.d.ts +20 -0
  49. package/dist/vault/oauth-token-vault.d.ts.map +1 -0
  50. package/dist/vault/oauth-token-vault.js +93 -0
  51. package/dist/vault/oauth-token-vault.js.map +1 -0
  52. package/dist/vault/yaml-sync.d.ts.map +1 -1
  53. package/dist/vault/yaml-sync.js +2 -2
  54. package/dist/vault/yaml-sync.js.map +1 -1
  55. package/package.json +4 -4
  56. package/static-ui/assets/index-BuvzLRH9.js +372 -0
  57. package/static-ui/assets/index-DR7EPqDZ.css +1 -0
  58. package/static-ui/index.html +2 -2
  59. package/static-ui/assets/index-Df5pC3f-.css +0 -1
  60. package/static-ui/assets/index-Z9Ok_u4n.js +0 -362
@@ -7,11 +7,20 @@ const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamable
7
7
  const local_mcp_server_manager_1 = require("./local-mcp-server-manager");
8
8
  const mcp_connection_error_1 = require("../lib/mcp-connection-error");
9
9
  class MCPClientManager {
10
+ resolveAccessToken;
10
11
  clients = new Map();
11
12
  localServerManager;
12
- constructor() {
13
+ constructor(resolveAccessToken) {
14
+ this.resolveAccessToken = resolveAccessToken;
13
15
  this.localServerManager = new local_mcp_server_manager_1.LocalMCPServerManager();
14
16
  }
17
+ invalidateClient(serviceId) {
18
+ const client = this.clients.get(serviceId);
19
+ if (client) {
20
+ void client.close().catch(() => undefined);
21
+ this.clients.delete(serviceId);
22
+ }
23
+ }
15
24
  async getClient(service) {
16
25
  const clientKey = service.id;
17
26
  // Check if this is a local MCP server
@@ -40,15 +49,19 @@ class MCPClientManager {
40
49
  'Content-Type': 'application/json'
41
50
  };
42
51
  // Add OAuth token if available
43
- if (service.oauthAccessToken) {
44
- headers['Authorization'] = `Bearer ${service.oauthAccessToken}`;
52
+ const accessToken = this.resolveAccessToken
53
+ ? await this.resolveAccessToken(service.id)
54
+ : service.oauthAccessToken;
55
+ if (accessToken) {
56
+ headers['Authorization'] = `Bearer ${accessToken}`;
45
57
  }
46
- // Add custom headers from service configuration
58
+ // Add custom headers from service configuration (skip legacy duplicated Bearer)
47
59
  if (service.headers) {
48
60
  try {
49
61
  const customHeaders = typeof service.headers === 'string'
50
62
  ? JSON.parse(service.headers)
51
- : service.headers;
63
+ : { ...service.headers };
64
+ delete customHeaders.Authorization;
52
65
  Object.assign(headers, customHeaders);
53
66
  console.log(`🔧 Using custom headers for service ${service.id}:`, customHeaders);
54
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client-manager.js","sourceRoot":"","sources":["../../src/services/mcp-client-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-client-manager.js","sourceRoot":"","sources":["../../src/services/mcp-client-manager.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,21 @@ import { MCPDiscoveryService } from './mcp-discovery-service';
2
2
  import { OAuthManager } from './oauth-manager';
3
3
  import { DatabaseManager } from '../models/database';
4
4
  import { type OAuthProviderGuide } from '../data/oauth-provider-guides';
5
+ import { OAuthClientSecretVault } from '../vault/oauth-client-secret-vault';
5
6
  export type OAuthConnectInput = {
6
7
  clientId?: string;
7
8
  clientSecret?: string;
8
9
  };
10
+ export type StoredOAuthCredentials = {
11
+ oauthClientId?: string | null;
12
+ oauthClientSecret?: string | null;
13
+ };
14
+ export declare function resolveOAuthClientCredentials(input: OAuthConnectInput, stored: StoredOAuthCredentials): {
15
+ clientId?: string;
16
+ clientSecret?: string;
17
+ missingRequiredSecret: boolean;
18
+ };
19
+ export declare function hasSavedOAuthCredentials(stored: StoredOAuthCredentials): boolean;
9
20
  export type OAuthConnectResult = {
10
21
  success: true;
11
22
  authorizationUrl: string;
@@ -18,9 +29,12 @@ export type OAuthConnectResult = {
18
29
  guide: OAuthProviderGuide;
19
30
  error: string;
20
31
  };
21
- export declare function getOAuthSetupInfo(db: DatabaseManager, serviceId: string): Promise<{
32
+ export declare function getOAuthSetupInfo(db: DatabaseManager, serviceId: string, clientSecrets: OAuthClientSecretVault): Promise<{
22
33
  guide: OAuthProviderGuide;
23
34
  discovery: Awaited<ReturnType<MCPDiscoveryService['discoverService']>>;
35
+ savedOAuthClientId?: string;
36
+ hasStoredClientSecret: boolean;
37
+ hasSavedCredentials: boolean;
24
38
  }>;
25
- export declare function startOAuthConnect(db: DatabaseManager, oauthManager: OAuthManager, serviceId: string, input?: OAuthConnectInput): Promise<OAuthConnectResult>;
39
+ export declare function startOAuthConnect(db: DatabaseManager, oauthManager: OAuthManager, clientSecrets: OAuthClientSecretVault, serviceId: string, input?: OAuthConnectInput): Promise<OAuthConnectResult>;
26
40
  //# sourceMappingURL=oauth-connect-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-connect-service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-connect-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AAGvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAoBhH;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,eAAe,EACnB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,iBAAsB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAmH7B"}
1
+ {"version":3,"file":"oauth-connect-service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-connect-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,sBAAsB,GAC7B;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,OAAO,CAAA;CAAE,CAU9E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAEhF;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,sBAAsB,GACpC,OAAO,CAAC;IACT,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC,CA8BD;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,eAAe,EACnB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,sBAAsB,EACrC,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,iBAAsB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAkI7B"}
@@ -1,11 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveOAuthClientCredentials = resolveOAuthClientCredentials;
4
+ exports.hasSavedOAuthCredentials = hasSavedOAuthCredentials;
3
5
  exports.getOAuthSetupInfo = getOAuthSetupInfo;
4
6
  exports.startOAuthConnect = startOAuthConnect;
5
7
  const mcp_discovery_service_1 = require("./mcp-discovery-service");
6
8
  const oauth_provider_guides_1 = require("../data/oauth-provider-guides");
7
9
  const shared_oauth_apps_1 = require("../config/shared-oauth-apps");
8
- async function getOAuthSetupInfo(db, serviceId) {
10
+ function resolveOAuthClientCredentials(input, stored) {
11
+ const clientId = input.clientId?.trim() || stored.oauthClientId?.trim() || undefined;
12
+ const clientSecret = input.clientSecret?.trim() || stored.oauthClientSecret?.trim() || undefined;
13
+ return {
14
+ clientId,
15
+ clientSecret,
16
+ missingRequiredSecret: Boolean(clientId && !clientSecret),
17
+ };
18
+ }
19
+ function hasSavedOAuthCredentials(stored) {
20
+ return Boolean(stored.oauthClientId?.trim() && stored.oauthClientSecret?.trim());
21
+ }
22
+ async function getOAuthSetupInfo(db, serviceId, clientSecrets) {
9
23
  const service = await db.getService(serviceId);
10
24
  if (!service) {
11
25
  throw new Error('Service not found');
@@ -22,9 +36,18 @@ async function getOAuthSetupInfo(db, serviceId) {
22
36
  }),
23
37
  setupMode,
24
38
  };
25
- return { guide, discovery };
39
+ const storedSecret = await clientSecrets.get(serviceId, service.oauthClientSecret);
40
+ const hasStoredClientSecret = Boolean(storedSecret);
41
+ const hasSavedCredentials = Boolean(service.oauthClientId?.trim() && storedSecret);
42
+ return {
43
+ guide,
44
+ discovery,
45
+ savedOAuthClientId: service.oauthClientId ?? undefined,
46
+ hasStoredClientSecret,
47
+ hasSavedCredentials,
48
+ };
26
49
  }
27
- async function startOAuthConnect(db, oauthManager, serviceId, input = {}) {
50
+ async function startOAuthConnect(db, oauthManager, clientSecrets, serviceId, input = {}) {
28
51
  const service = await db.getService(serviceId);
29
52
  if (!service) {
30
53
  throw new Error('Service not found');
@@ -73,12 +96,15 @@ async function startOAuthConnect(db, oauthManager, serviceId, input = {}) {
73
96
  error: 'Could not discover OAuth authorization and token URLs for this service.',
74
97
  };
75
98
  }
76
- const manualClientId = input.clientId?.trim() || service.oauthClientId?.trim();
77
- const manualClientSecret = input.clientSecret?.trim() || service.oauthClientSecret?.trim();
78
- let clientId = manualClientId;
79
- let clientSecret = manualClientSecret;
80
- let mode = manualClientId ? 'manual' : 'dynamic';
81
- const shared = !manualClientId ? (0, shared_oauth_apps_1.getSharedOAuthCredentials)(provider) : null;
99
+ const storedSecret = await clientSecrets.get(serviceId, service.oauthClientSecret);
100
+ const resolved = resolveOAuthClientCredentials(input, {
101
+ oauthClientId: service.oauthClientId,
102
+ oauthClientSecret: storedSecret,
103
+ });
104
+ let clientId = resolved.clientId;
105
+ let clientSecret = resolved.clientSecret;
106
+ let mode = clientId ? 'manual' : 'dynamic';
107
+ const shared = !input.clientId?.trim() ? (0, shared_oauth_apps_1.getSharedOAuthCredentials)(provider) : null;
82
108
  if (shared) {
83
109
  clientId = shared.clientId;
84
110
  clientSecret = shared.clientSecret;
@@ -107,9 +133,21 @@ async function startOAuthConnect(db, oauthManager, serviceId, input = {}) {
107
133
  clientSecret = registration.clientSecret;
108
134
  mode = 'dynamic';
109
135
  }
136
+ else if (guide.setupMode === 'manual' && resolved.missingRequiredSecret) {
137
+ return {
138
+ success: false,
139
+ needsCredentials: true,
140
+ setupMode: 'manual',
141
+ guide: { ...guide, setupMode: 'manual' },
142
+ error: 'Client secret is missing. Paste it below, or leave the field blank if one is already saved for this service.',
143
+ };
144
+ }
145
+ if (clientSecret) {
146
+ await clientSecrets.set(serviceId, clientSecret);
147
+ }
110
148
  await db.updateService(serviceId, {
111
149
  oauthClientId: clientId,
112
- oauthClientSecret: clientSecret,
150
+ oauthClientSecret: '',
113
151
  oauthAuthorizationUrl: oauthConfig.authorizationUrl,
114
152
  oauthTokenUrl: oauthConfig.tokenUrl,
115
153
  oauthRedirectUri: redirectUri,
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-connect-service.js","sourceRoot":"","sources":["../../src/services/oauth-connect-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-connect-service.js","sourceRoot":"","sources":["../../src/services/oauth-connect-service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { OAuthDiscoveryResult, OAuthConfig, OAuthToken, OAuthFlowInput, OAuthCallbackInput, OAuthRefreshInput } from '@agent-deck/shared';
2
2
  import { DatabaseManager } from '../models/database';
3
+ import { OAuthClientSecretVault } from '../vault/oauth-client-secret-vault';
4
+ import { OAuthTokenVault } from '../vault/oauth-token-vault';
3
5
  export declare class OAuthManager {
4
6
  private db;
7
+ private clientSecrets;
8
+ private tokens;
5
9
  private oauthStates;
6
10
  getOAuthState(state: string): string | undefined;
7
- constructor(db: DatabaseManager);
11
+ constructor(db: DatabaseManager, clientSecrets: OAuthClientSecretVault, tokens: OAuthTokenVault);
8
12
  discoverOAuth(serviceUrl: string): Promise<OAuthDiscoveryResult>;
9
13
  initiateOAuthFlow(input: OAuthFlowInput): Promise<{
10
14
  authorizationUrl: string;
@@ -14,6 +18,8 @@ export declare class OAuthManager {
14
18
  refreshOAuthToken(input: OAuthRefreshInput): Promise<OAuthToken>;
15
19
  isTokenExpired(serviceId: string): Promise<boolean>;
16
20
  getValidAccessToken(serviceId: string): Promise<string | null>;
21
+ hasOAuthTokens(serviceId: string): Promise<boolean>;
22
+ hasRefreshToken(serviceId: string): Promise<boolean>;
17
23
  autoRegisterOAuthApp(serviceUrl: string, config: OAuthConfig): Promise<{
18
24
  success: boolean;
19
25
  clientId?: string;
@@ -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;AA2BrD,qBAAa,YAAY;IAOX,OAAO,CAAC,EAAE;IANtB,OAAO,CAAC,WAAW,CAAsC;IAEzD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;gBAI5B,EAAE,EAAE,eAAe;IAEjC,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;IA+EnE,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAqDhE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA4B9D,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"}
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;IAQrB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IAThB,OAAO,CAAC,WAAW,CAAsC;IAEzD,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;IAsDhE,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"}
@@ -8,12 +8,16 @@ const oauth_redirect_1 = require("../config/oauth-redirect");
8
8
  const oauth_token_response_1 = require("../lib/oauth-token-response");
9
9
  class OAuthManager {
10
10
  db;
11
+ clientSecrets;
12
+ tokens;
11
13
  oauthStates = new Map();
12
14
  getOAuthState(state) {
13
15
  return this.oauthStates.get(state)?.serviceId;
14
16
  }
15
- constructor(db) {
17
+ constructor(db, clientSecrets, tokens) {
16
18
  this.db = db;
19
+ this.clientSecrets = clientSecrets;
20
+ this.tokens = tokens;
17
21
  }
18
22
  async discoverOAuth(serviceUrl) {
19
23
  try {
@@ -130,8 +134,9 @@ class OAuthManager {
130
134
  redirect_uri: redirectUri,
131
135
  code_verifier: codeVerifier,
132
136
  });
133
- if (service.oauthClientSecret) {
134
- tokenBody.set('client_secret', service.oauthClientSecret);
137
+ const clientSecret = await this.clientSecrets.get(input.serviceId, service.oauthClientSecret);
138
+ if (clientSecret) {
139
+ tokenBody.set('client_secret', clientSecret);
135
140
  }
136
141
  const tokenResponse = await fetch(service.oauthTokenUrl, {
137
142
  method: 'POST',
@@ -152,8 +157,8 @@ class OAuthManager {
152
157
  tokenType: tokenData.token_type || 'Bearer',
153
158
  scope: tokenData.scope,
154
159
  };
155
- // Store tokens in database
156
- await this.db.updateOAuthTokens(serviceId, token.accessToken, token.refreshToken, token.expiresAt);
160
+ // Store tokens in Keychain; expiry + has-token flag in SQLite
161
+ await this.tokens.set(serviceId, token.accessToken, token.refreshToken, token.expiresAt);
157
162
  // Clear state - we'll need to implement this properly
158
163
  // await this.db.updateService(input.serviceId, {
159
164
  // oauthState: undefined,
@@ -173,8 +178,9 @@ class OAuthManager {
173
178
  client_id: service.oauthClientId || '',
174
179
  refresh_token: input.refreshToken,
175
180
  });
176
- if (service.oauthClientSecret) {
177
- refreshBody.set('client_secret', service.oauthClientSecret);
181
+ const clientSecret = await this.clientSecrets.get(input.serviceId, service.oauthClientSecret);
182
+ if (clientSecret) {
183
+ refreshBody.set('client_secret', clientSecret);
178
184
  }
179
185
  const tokenResponse = await fetch(service.oauthTokenUrl, {
180
186
  method: 'POST',
@@ -195,8 +201,8 @@ class OAuthManager {
195
201
  tokenType: tokenData.token_type || 'Bearer',
196
202
  scope: tokenData.scope,
197
203
  };
198
- // Store new tokens in database
199
- await this.db.updateOAuthTokens(input.serviceId, token.accessToken, token.refreshToken, token.expiresAt);
204
+ // Store new tokens in Keychain
205
+ await this.tokens.set(input.serviceId, token.accessToken, token.refreshToken, token.expiresAt);
200
206
  return token;
201
207
  }
202
208
  async isTokenExpired(serviceId) {
@@ -204,21 +210,29 @@ class OAuthManager {
204
210
  if (!service) {
205
211
  return true;
206
212
  }
213
+ const hasToken = await this.tokens.has(serviceId, service.oauthAccessToken, service.oauthRefreshToken);
214
+ if (!hasToken) {
215
+ return true;
216
+ }
207
217
  return (0, shared_1.isOAuthAccessTokenExpired)(service);
208
218
  }
209
219
  async getValidAccessToken(serviceId) {
210
220
  const service = await this.db.getService(serviceId);
211
- if (!service || !service.oauthAccessToken) {
221
+ if (!service) {
222
+ return null;
223
+ }
224
+ const bundle = await this.tokens.get(serviceId, service.oauthAccessToken, service.oauthRefreshToken);
225
+ if (!bundle?.accessToken) {
212
226
  return null;
213
227
  }
214
228
  // Check if token is expired (missing expiry means still valid)
215
229
  if ((0, shared_1.isOAuthAccessTokenExpired)(service)) {
216
230
  // Try to refresh the token
217
- if (service.oauthRefreshToken) {
231
+ if (bundle.refreshToken) {
218
232
  try {
219
233
  const newToken = await this.refreshOAuthToken({
220
234
  serviceId,
221
- refreshToken: service.oauthRefreshToken,
235
+ refreshToken: bundle.refreshToken,
222
236
  });
223
237
  return newToken.accessToken;
224
238
  }
@@ -231,7 +245,22 @@ class OAuthManager {
231
245
  return null;
232
246
  }
233
247
  }
234
- return service.oauthAccessToken;
248
+ return bundle.accessToken;
249
+ }
250
+ async hasOAuthTokens(serviceId) {
251
+ const service = await this.db.getService(serviceId);
252
+ if (!service) {
253
+ return false;
254
+ }
255
+ return this.tokens.has(serviceId, service.oauthAccessToken, service.oauthRefreshToken);
256
+ }
257
+ async hasRefreshToken(serviceId) {
258
+ const service = await this.db.getService(serviceId);
259
+ if (!service) {
260
+ return false;
261
+ }
262
+ const bundle = await this.tokens.get(serviceId, service.oauthAccessToken, service.oauthRefreshToken);
263
+ return Boolean(bundle?.refreshToken);
235
264
  }
236
265
  async autoRegisterOAuthApp(serviceUrl, config) {
237
266
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-manager.js","sourceRoot":"","sources":["../../src/services/oauth-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-manager.js","sourceRoot":"","sources":["../../src/services/oauth-manager.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,14 @@ import { Service, CreateServiceInput, UpdateServiceInput, ServiceTool, ServiceCa
2
2
  import { DatabaseManager } from '../models/database';
3
3
  import { MCPClientManager } from './mcp-client-manager';
4
4
  import { OAuthManager } from './oauth-manager';
5
+ import { OAuthClientSecretVault } from '../vault/oauth-client-secret-vault';
5
6
  export declare class ServiceManager {
6
7
  private db;
7
8
  private mcpClient;
8
9
  private oauthManager;
10
+ private clientSecrets;
9
11
  private configManager;
10
- constructor(db: DatabaseManager, mcpClient: MCPClientManager, oauthManager: OAuthManager);
12
+ constructor(db: DatabaseManager, mcpClient: MCPClientManager, oauthManager: OAuthManager, clientSecrets: OAuthClientSecretVault);
11
13
  get mcpClientManager(): MCPClientManager;
12
14
  createService(input: CreateServiceInput): Promise<Service>;
13
15
  private probeInitialHealth;
@@ -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;AAmB/C,qBAAa,cAAc;IAIvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IALtB,OAAO,CAAC,aAAa,CAAgB;gBAG3B,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EAAE,YAAY;IAKpC,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAEK,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0ChE,OAAO,CAAC,kBAAkB;IAMpB,2BAA2B,CAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC;IAwBhB,OAAO,CAAC,qBAAqB;IA0BvB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAoBpE,OAAO,CAAC,iBAAiB;IAInB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAarC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI/C,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAapC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAO7E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B3C,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,WAAW,EAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCvD,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgB1B,OAAO,CAAC,wBAAwB;IAW1B,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDpE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;YAsBtI,gBAAgB;YA2BhB,WAAW;IAsBzB;;OAEG;IACG,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAwC3E;;OAEG;IACH,eAAe,IAAI,MAAM;IAKzB;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA+B5D"}
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;AAoB5E,qBAAa,cAAc;IAIvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,aAAa,CAAgB;gBAG3B,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,sBAAsB;IAK/C,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAEK,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6ChE,OAAO,CAAC,kBAAkB;IAMpB,2BAA2B,CAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC;IA6BhB,OAAO,CAAC,qBAAqB;IA8BvB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAoBpE,OAAO,CAAC,iBAAiB;IAInB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBrC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI/C,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAmBpC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAO7E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B3C,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,WAAW,EAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCvD,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgB1B,OAAO,CAAC,wBAAwB;IAW1B,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDpE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;YAsBtI,gBAAgB;YA2BhB,WAAW;IAsBzB;;OAEG;IACG,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAwC3E;;OAEG;IACH,eAAe,IAAI,MAAM;IAKzB;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA+B5D"}
@@ -41,11 +41,13 @@ class ServiceManager {
41
41
  db;
42
42
  mcpClient;
43
43
  oauthManager;
44
+ clientSecrets;
44
45
  configManager;
45
- constructor(db, mcpClient, oauthManager) {
46
+ constructor(db, mcpClient, oauthManager, clientSecrets) {
46
47
  this.db = db;
47
48
  this.mcpClient = mcpClient;
48
49
  this.oauthManager = oauthManager;
50
+ this.clientSecrets = clientSecrets;
49
51
  this.configManager = new config_manager_1.ConfigManager();
50
52
  }
51
53
  get mcpClientManager() {
@@ -67,9 +69,12 @@ class ServiceManager {
67
69
  try {
68
70
  const oauthDiscovery = await this.oauthManager.discoverOAuth(service.url);
69
71
  if (oauthDiscovery.hasOAuth && oauthDiscovery.config) {
72
+ if (oauthDiscovery.config.clientSecret) {
73
+ await this.clientSecrets.set(service.id, oauthDiscovery.config.clientSecret);
74
+ }
70
75
  await this.db.updateService(service.id, {
71
76
  oauthClientId: oauthDiscovery.config.clientId,
72
- oauthClientSecret: oauthDiscovery.config.clientSecret,
77
+ oauthClientSecret: '',
73
78
  oauthAuthorizationUrl: oauthDiscovery.config.authorizationUrl,
74
79
  oauthTokenUrl: oauthDiscovery.config.tokenUrl,
75
80
  oauthRedirectUri: oauthDiscovery.config.redirectUri,
@@ -102,6 +107,10 @@ class ServiceManager {
102
107
  if (!onUpdate || !('health' in result) || !result.success) {
103
108
  return;
104
109
  }
110
+ const health = result.health;
111
+ if (service.health === health && service.isConnected === result.isConnected) {
112
+ return;
113
+ }
105
114
  onUpdate({
106
115
  serviceId: service.id,
107
116
  health: result.health,
@@ -123,7 +132,9 @@ class ServiceManager {
123
132
  const hasOAuthConfig = Boolean(service.oauthClientId ||
124
133
  service.oauthAuthorizationUrl ||
125
134
  service.oauthTokenUrl);
126
- const hasAuth = Boolean(service.oauthAccessToken || service.headers?.Authorization);
135
+ const hasAuth = Boolean(service.oauthHasToken ||
136
+ service.oauthAccessToken ||
137
+ service.headers?.Authorization);
127
138
  if (hasOAuthConfig && !hasAuth) {
128
139
  return false;
129
140
  }
@@ -150,9 +161,20 @@ class ServiceManager {
150
161
  }
151
162
  async backfillMissingIcons() {
152
163
  const services = await this.db.getAllServices();
153
- await Promise.all(services
154
- .filter((service) => !service.iconUrl && this.shouldResolveIcon(service))
155
- .map((service) => this.refreshServiceIcon(service.id).catch((error) => {
164
+ const needsRefresh = [];
165
+ for (const service of services) {
166
+ if (!this.shouldResolveIcon(service)) {
167
+ continue;
168
+ }
169
+ if (!service.iconUrl) {
170
+ needsRefresh.push(service);
171
+ continue;
172
+ }
173
+ if (!(await (0, icon_resolver_1.serviceIconFileExists)(service.id))) {
174
+ needsRefresh.push(service);
175
+ }
176
+ }
177
+ await Promise.all(needsRefresh.map((service) => this.refreshServiceIcon(service.id).catch((error) => {
156
178
  console.warn(`Failed to resolve icon for service ${service.name}:`, error);
157
179
  })));
158
180
  }
@@ -162,7 +184,12 @@ class ServiceManager {
162
184
  async getAllServices() {
163
185
  const services = await this.db.getAllServices();
164
186
  return Promise.all(services.map(async (service) => {
165
- if (!service.iconUrl && this.shouldResolveIcon(service)) {
187
+ if (!this.shouldResolveIcon(service)) {
188
+ return service;
189
+ }
190
+ const missingIconUrl = !service.iconUrl;
191
+ const missingCacheFile = service.iconUrl && !(await (0, icon_resolver_1.serviceIconFileExists)(service.id));
192
+ if (missingIconUrl || missingCacheFile) {
166
193
  const updated = await this.refreshServiceIcon(service.id);
167
194
  return updated ?? service;
168
195
  }