n8n 2.1.2 → 2.2.0

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 (170) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/constants.js +0 -1
  3. package/dist/constants.js.map +1 -1
  4. package/dist/controllers/ai.controller.d.ts +4 -1
  5. package/dist/controllers/ai.controller.js +20 -1
  6. package/dist/controllers/ai.controller.js.map +1 -1
  7. package/dist/controllers/mfa.controller.d.ts +3 -1
  8. package/dist/controllers/mfa.controller.js +24 -2
  9. package/dist/controllers/mfa.controller.js.map +1 -1
  10. package/dist/controllers/oauth/oauth2-credential.controller.js +4 -4
  11. package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
  12. package/dist/controllers/users.controller.d.ts +2 -2
  13. package/dist/credentials/dynamic-credentials-proxy.d.ts +2 -1
  14. package/dist/credentials/dynamic-credentials-proxy.js +22 -0
  15. package/dist/credentials/dynamic-credentials-proxy.js.map +1 -1
  16. package/dist/credentials-helper.d.ts +1 -1
  17. package/dist/credentials-helper.js +16 -2
  18. package/dist/credentials-helper.js.map +1 -1
  19. package/dist/environments.ee/source-control/source-control-import.service.ee.d.ts +4 -3
  20. package/dist/environments.ee/source-control/source-control-import.service.ee.js +20 -3
  21. package/dist/environments.ee/source-control/source-control-import.service.ee.js.map +1 -1
  22. package/dist/environments.ee/source-control/source-control.service.ee.js +1 -1
  23. package/dist/environments.ee/source-control/source-control.service.ee.js.map +1 -1
  24. package/dist/environments.ee/variables/variables.service.ee.js +32 -2
  25. package/dist/environments.ee/variables/variables.service.ee.js.map +1 -1
  26. package/dist/eventbus/event-message-classes/event-message-audit.d.ts +7 -0
  27. package/dist/eventbus/event-message-classes/event-message-audit.js.map +1 -1
  28. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  29. package/dist/eventbus/event-message-classes/index.js +7 -0
  30. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  31. package/dist/events/maps/relay.event-map.d.ts +24 -1
  32. package/dist/events/relays/log-streaming.event-relay.d.ts +7 -0
  33. package/dist/events/relays/log-streaming.event-relay.js +103 -1
  34. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  35. package/dist/events/relays/telemetry.event-relay.d.ts +1 -0
  36. package/dist/events/relays/telemetry.event-relay.js +13 -4
  37. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  38. package/dist/middlewares/list-query/dtos/workflow.filter.dto.d.ts +1 -1
  39. package/dist/middlewares/list-query/dtos/workflow.filter.dto.js +4 -3
  40. package/dist/middlewares/list-query/dtos/workflow.filter.dto.js.map +1 -1
  41. package/dist/middlewares/list-query/filter.js +1 -1
  42. package/dist/middlewares/list-query/filter.js.map +1 -1
  43. package/dist/middlewares/list-query/select.js +1 -1
  44. package/dist/middlewares/list-query/select.js.map +1 -1
  45. package/dist/middlewares/list-query/sort-by.js +1 -1
  46. package/dist/middlewares/list-query/sort-by.js.map +1 -1
  47. package/dist/modules/chat-hub/chat-hub-agent.entity.d.ts +14 -0
  48. package/dist/modules/chat-hub/chat-hub-agent.entity.js.map +1 -1
  49. package/dist/modules/chat-hub/chat-hub-agent.repository.d.ts +3 -3
  50. package/dist/modules/chat-hub/chat-hub-agent.repository.js +3 -3
  51. package/dist/modules/chat-hub/chat-hub-agent.repository.js.map +1 -1
  52. package/dist/modules/chat-hub/chat-hub-agent.service.js +3 -3
  53. package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
  54. package/dist/modules/chat-hub/chat-hub-message.entity.d.ts +0 -6
  55. package/dist/modules/chat-hub/chat-hub-message.entity.js +0 -36
  56. package/dist/modules/chat-hub/chat-hub-message.entity.js.map +1 -1
  57. package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +16 -1
  58. package/dist/modules/chat-hub/chat-hub-session.entity.js +2 -2
  59. package/dist/modules/chat-hub/chat-hub-session.entity.js.map +1 -1
  60. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +3 -2
  61. package/dist/modules/chat-hub/chat-hub-workflow.service.js +36 -22
  62. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  63. package/dist/modules/chat-hub/chat-hub.attachment.service.d.ts +5 -4
  64. package/dist/modules/chat-hub/chat-hub.attachment.service.js +5 -5
  65. package/dist/modules/chat-hub/chat-hub.attachment.service.js.map +1 -1
  66. package/dist/modules/chat-hub/chat-hub.controller.js +1 -1
  67. package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
  68. package/dist/modules/chat-hub/chat-hub.models.service.d.ts +2 -1
  69. package/dist/modules/chat-hub/chat-hub.models.service.js +4 -2
  70. package/dist/modules/chat-hub/chat-hub.models.service.js.map +1 -1
  71. package/dist/modules/chat-hub/chat-hub.service.d.ts +8 -8
  72. package/dist/modules/chat-hub/chat-hub.service.js +25 -32
  73. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
  74. package/dist/modules/chat-hub/chat-message.repository.d.ts +3 -3
  75. package/dist/modules/chat-hub/chat-message.repository.js +8 -8
  76. package/dist/modules/chat-hub/chat-message.repository.js.map +1 -1
  77. package/dist/modules/chat-hub/chat-session.repository.d.ts +4 -5
  78. package/dist/modules/chat-hub/chat-session.repository.js +10 -28
  79. package/dist/modules/chat-hub/chat-session.repository.js.map +1 -1
  80. package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.d.ts +1 -0
  81. package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.js +8 -0
  82. package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.js.map +1 -1
  83. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +7 -1
  84. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +37 -2
  85. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  86. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +1 -0
  87. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +30 -27
  88. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
  89. package/dist/modules/dynamic-credentials.ee/services/shared-fields.d.ts +1 -1
  90. package/dist/modules/dynamic-credentials.ee/services/shared-fields.js +16 -1
  91. package/dist/modules/dynamic-credentials.ee/services/shared-fields.js.map +1 -1
  92. package/dist/modules/dynamic-credentials.ee/utils.d.ts +2 -0
  93. package/dist/modules/dynamic-credentials.ee/utils.js +19 -0
  94. package/dist/modules/dynamic-credentials.ee/utils.js.map +1 -0
  95. package/dist/modules/dynamic-credentials.ee/workflow-status.controller.d.ts +5 -1
  96. package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js +14 -14
  97. package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js.map +1 -1
  98. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.d.ts +40 -35
  99. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js +163 -272
  100. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js.map +1 -1
  101. package/dist/modules/external-secrets.ee/external-secrets.controller.ee.d.ts +8 -3
  102. package/dist/modules/external-secrets.ee/external-secrets.controller.ee.js +13 -8
  103. package/dist/modules/external-secrets.ee/external-secrets.controller.ee.js.map +1 -1
  104. package/dist/modules/external-secrets.ee/external-secrets.service.ee.d.ts +11 -5
  105. package/dist/modules/external-secrets.ee/external-secrets.service.ee.js +18 -13
  106. package/dist/modules/external-secrets.ee/external-secrets.service.ee.js.map +1 -1
  107. package/dist/modules/external-secrets.ee/provider-lifecycle.service.d.ts +22 -0
  108. package/dist/modules/external-secrets.ee/provider-lifecycle.service.js +99 -0
  109. package/dist/modules/external-secrets.ee/provider-lifecycle.service.js.map +1 -0
  110. package/dist/modules/external-secrets.ee/provider-registry.service.d.ts +13 -0
  111. package/dist/modules/external-secrets.ee/provider-registry.service.js +49 -0
  112. package/dist/modules/external-secrets.ee/provider-registry.service.js.map +1 -0
  113. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.d.ts +4 -4
  114. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +7 -9
  115. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
  116. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.d.ts +3 -4
  117. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js +7 -16
  118. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js.map +1 -1
  119. package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.d.ts +3 -4
  120. package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js +9 -17
  121. package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js.map +1 -1
  122. package/dist/modules/external-secrets.ee/providers/infisical.d.ts +4 -4
  123. package/dist/modules/external-secrets.ee/providers/infisical.js +8 -14
  124. package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
  125. package/dist/modules/external-secrets.ee/providers/vault.d.ts +2 -3
  126. package/dist/modules/external-secrets.ee/providers/vault.js +12 -35
  127. package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
  128. package/dist/modules/external-secrets.ee/retry-manager.service.d.ts +23 -0
  129. package/dist/modules/external-secrets.ee/retry-manager.service.js +89 -0
  130. package/dist/modules/external-secrets.ee/retry-manager.service.js.map +1 -0
  131. package/dist/modules/external-secrets.ee/secrets-cache.service.d.ts +13 -0
  132. package/dist/modules/external-secrets.ee/secrets-cache.service.js +69 -0
  133. package/dist/modules/external-secrets.ee/secrets-cache.service.js.map +1 -0
  134. package/dist/modules/external-secrets.ee/settings-store.service.d.ts +21 -0
  135. package/dist/modules/external-secrets.ee/settings-store.service.js +96 -0
  136. package/dist/modules/external-secrets.ee/settings-store.service.js.map +1 -0
  137. package/dist/modules/external-secrets.ee/types.d.ts +18 -6
  138. package/dist/modules/external-secrets.ee/types.js +33 -0
  139. package/dist/modules/external-secrets.ee/types.js.map +1 -1
  140. package/dist/modules/mcp/mcp.controller.d.ts +3 -1
  141. package/dist/modules/mcp/mcp.controller.js +10 -2
  142. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  143. package/dist/modules/mcp/mcp.settings.controller.d.ts +2 -0
  144. package/dist/modules/mcp/mcp.settings.controller.js +22 -0
  145. package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
  146. package/dist/oauth/oauth.service.js +1 -1
  147. package/dist/oauth/oauth.service.js.map +1 -1
  148. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +2 -2
  149. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  150. package/dist/services/ai-workflow-builder.service.d.ts +1 -0
  151. package/dist/services/ai-workflow-builder.service.js +4 -0
  152. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  153. package/dist/services/redis-client.service.d.ts +1 -0
  154. package/dist/services/redis-client.service.js +15 -4
  155. package/dist/services/redis-client.service.js.map +1 -1
  156. package/dist/webhooks/webhook-request-handler.js +1 -5
  157. package/dist/webhooks/webhook-request-handler.js.map +1 -1
  158. package/dist/workflows/workflow-history/workflow-history.controller.d.ts +7 -1
  159. package/dist/workflows/workflow-history/workflow-history.controller.js +20 -0
  160. package/dist/workflows/workflow-history/workflow-history.controller.js.map +1 -1
  161. package/dist/workflows/workflow-history/workflow-history.service.d.ts +4 -0
  162. package/dist/workflows/workflow-history/workflow-history.service.js +20 -0
  163. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  164. package/dist/workflows/workflow.service.d.ts +2 -1
  165. package/dist/workflows/workflow.service.js +22 -4
  166. package/dist/workflows/workflow.service.js.map +1 -1
  167. package/dist/workflows/workflows.controller.d.ts +3 -0
  168. package/dist/workflows/workflows.controller.js +18 -3
  169. package/dist/workflows/workflows.controller.js.map +1 -1
  170. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-credential-resolver.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-credential-resolver.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  import { Request, Response } from 'express';
2
2
  import { EnterpriseCredentialsService } from '../../credentials/credentials.service.ee';
3
3
  import { OauthService } from '../../oauth/oauth.service';
4
+ import { DynamicCredentialResolverRepository } from './database/repositories/credential-resolver.repository';
5
+ import { DynamicCredentialResolverRegistry } from './services';
6
+ import { Cipher } from 'n8n-core';
4
7
  export declare class DynamicCredentialsController {
5
8
  private readonly enterpriseCredentialsService;
6
9
  private readonly oauthService;
7
- constructor(enterpriseCredentialsService: EnterpriseCredentialsService, oauthService: OauthService);
10
+ private readonly resolverRepository;
11
+ private readonly resolverRegistry;
12
+ private readonly cipher;
13
+ constructor(enterpriseCredentialsService: EnterpriseCredentialsService, oauthService: OauthService, resolverRepository: DynamicCredentialResolverRepository, resolverRegistry: DynamicCredentialResolverRegistry, cipher: Cipher);
8
14
  authorizeCredential(req: Request, _res: Response): Promise<string>;
9
15
  }
@@ -15,19 +15,51 @@ const credentials_service_ee_1 = require("../../credentials/credentials.service.
15
15
  const not_found_error_1 = require("../../errors/response-errors/not-found.error");
16
16
  const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
17
17
  const oauth_service_1 = require("../../oauth/oauth.service");
18
+ const credential_resolver_repository_1 = require("./database/repositories/credential-resolver.repository");
19
+ const services_1 = require("./services");
20
+ const utils_1 = require("./utils");
21
+ const n8n_core_1 = require("n8n-core");
22
+ const n8n_workflow_1 = require("n8n-workflow");
18
23
  let DynamicCredentialsController = class DynamicCredentialsController {
19
- constructor(enterpriseCredentialsService, oauthService) {
24
+ constructor(enterpriseCredentialsService, oauthService, resolverRepository, resolverRegistry, cipher) {
20
25
  this.enterpriseCredentialsService = enterpriseCredentialsService;
21
26
  this.oauthService = oauthService;
27
+ this.resolverRepository = resolverRepository;
28
+ this.resolverRegistry = resolverRegistry;
29
+ this.cipher = cipher;
22
30
  }
23
31
  async authorizeCredential(req, _res) {
24
32
  const credential = await this.enterpriseCredentialsService.getOne(req.params.id);
33
+ const token = (0, utils_1.getBearerToken)(req);
25
34
  if (!credential) {
26
35
  throw new not_found_error_1.NotFoundError('Credential not found');
27
36
  }
28
37
  if (!credential.type.includes('OAuth2') && !credential.type.includes('OAuth1')) {
29
38
  throw new bad_request_error_1.BadRequestError('Credential type not supported');
30
39
  }
40
+ const resolverId = req.query.resolverId;
41
+ if (!resolverId) {
42
+ throw new bad_request_error_1.BadRequestError('Missing resolverId query parameter');
43
+ }
44
+ const resolverEntity = await this.resolverRepository.findOneBy({
45
+ id: resolverId,
46
+ });
47
+ if (!resolverEntity) {
48
+ throw new not_found_error_1.NotFoundError('Resolver not found');
49
+ }
50
+ const resolver = this.resolverRegistry.getResolverByTypename(resolverEntity.type);
51
+ if (!resolver) {
52
+ throw new not_found_error_1.NotFoundError('Resolver type not found');
53
+ }
54
+ if (resolver.validateIdentity) {
55
+ const decryptedConfig = this.cipher.decrypt(resolverEntity.config);
56
+ const resolverConfig = (0, n8n_workflow_1.jsonParse)(decryptedConfig);
57
+ await resolver.validateIdentity(token, {
58
+ resolverId,
59
+ resolverName: resolverEntity.type,
60
+ configuration: resolverConfig,
61
+ });
62
+ }
31
63
  const callerData = [
32
64
  credential,
33
65
  {
@@ -56,6 +88,9 @@ __decorate([
56
88
  exports.DynamicCredentialsController = DynamicCredentialsController = __decorate([
57
89
  (0, decorators_1.RestController)('/credentials'),
58
90
  __metadata("design:paramtypes", [credentials_service_ee_1.EnterpriseCredentialsService,
59
- oauth_service_1.OauthService])
91
+ oauth_service_1.OauthService,
92
+ credential_resolver_repository_1.DynamicCredentialResolverRepository,
93
+ services_1.DynamicCredentialResolverRegistry,
94
+ n8n_core_1.Cipher])
60
95
  ], DynamicCredentialsController);
61
96
  //# sourceMappingURL=dynamic-credentials.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-credentials.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAuD;AAGvD,iFAAoF;AACpF,8EAAyE;AACzE,kFAA6E;AAC7E,yDAA0E;AAInE,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACxC,YACkB,4BAA0D,EAC1D,YAA0B;QAD1B,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAGE,AAAN,KAAK,CAAC,mBAAmB,CAAC,GAAY,EAAE,IAAc;QACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,+BAAa,CAAC,sBAAsB,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,mCAAe,CAAC,+BAA+B,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,UAAU,GAA6C;YAC5D,UAAU;YACV;gBACC,GAAG,EAAE,UAAU,CAAC,EAAE;gBAClB,MAAM,EAAE,oBAAoB;gBAC5B,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE;gBACpD,oBAAoB,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;aAC1C;SACD,CAAC;QAEF,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,mCAAe,CAAC,+BAA+B,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AAtCY,oEAA4B;AAOlC;IADL,IAAA,iBAAI,EAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;;uEA+B1C;uCArCW,4BAA4B;IADxC,IAAA,2BAAc,EAAC,cAAc,CAAC;qCAGkB,qDAA4B;QAC5C,4BAAY;GAHhC,4BAA4B,CAsCxC"}
1
+ {"version":3,"file":"dynamic-credentials.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAuD;AAGvD,iFAAoF;AACpF,8EAAyE;AACzE,kFAA6E;AAC7E,yDAA0E;AAE1E,2GAA6G;AAC7G,yCAA+D;AAC/D,mCAAyC;AACzC,uCAAkC;AAClC,+CAAyC;AAGlC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACxC,YACkB,4BAA0D,EAC1D,YAA0B,EAC1B,kBAAuD,EACvD,gBAAmD,EACnD,MAAc;QAJd,iCAA4B,GAA5B,4BAA4B,CAA8B;QAC1D,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAqC;QACvD,qBAAgB,GAAhB,gBAAgB,CAAmC;QACnD,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAGE,AAAN,KAAK,CAAC,mBAAmB,CAAC,GAAY,EAAE,IAAc;QACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,+BAAa,CAAC,sBAAsB,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,mCAAe,CAAC,+BAA+B,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAgC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,mCAAe,CAAC,oCAAoC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAC9D,EAAE,EAAE,UAAU;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,+BAAa,CAAC,oBAAoB,CAAC,CAAC;QAC/C,CAAC;QAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,+BAAa,CAAC,yBAAyB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAE/B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,cAAc,GAAG,IAAA,wBAAS,EAA0B,eAAe,CAAC,CAAC;YAE3E,MAAM,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBACtC,UAAU;gBACV,YAAY,EAAE,cAAc,CAAC,IAAI;gBACjC,aAAa,EAAE,cAAc;aAC7B,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAA6C;YAC5D,UAAU;YACV;gBACC,GAAG,EAAE,UAAU,CAAC,EAAE;gBAClB,MAAM,EAAE,oBAAoB;gBAC5B,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE;gBACpD,oBAAoB,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;aAC1C;SACD,CAAC;QAEF,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,mCAAe,CAAC,+BAA+B,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AA1EY,oEAA4B;AAUlC;IADL,IAAA,iBAAI,EAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;;uEAgE1C;uCAzEW,4BAA4B;IADxC,IAAA,2BAAc,EAAC,cAAc,CAAC;qCAGkB,qDAA4B;QAC5C,4BAAY;QACN,oEAAmC;QACrC,4CAAiC;QAC3C,iBAAM;GANpB,4BAA4B,CA0ExC"}
@@ -4,6 +4,7 @@ import { DynamicCredentialResolverRepository } from '../database/repositories/cr
4
4
  import { Cipher } from 'n8n-core';
5
5
  type CredentialStatus = {
6
6
  credentialId: string;
7
+ credentialName: string;
7
8
  resolverId: string;
8
9
  credentialType: string;
9
10
  status: 'missing' | 'configured';
@@ -105,34 +105,37 @@ let CredentialResolverWorkflowService = class CredentialResolverWorkflowService
105
105
  let resolverInstance = options.workflowResolverInstance;
106
106
  let resolverConfig = options.workflowResolverConfig;
107
107
  const credentialResolverId = credential.resolverId ?? options.resolverId;
108
- if (credentialResolverId) {
109
- if (credentialResolverId !== options.resolverId) {
110
- const { resolverInstance: credentialResolverInstance, resolverConfig: credentialResolverConfig, } = await this.getResolver(credentialResolverId);
111
- resolverInstance = credentialResolverInstance;
112
- resolverConfig = credentialResolverConfig;
108
+ if (!credentialResolverId) {
109
+ return null;
110
+ }
111
+ if (credentialResolverId !== options.resolverId) {
112
+ const { resolverInstance: credentialResolverInstance, resolverConfig: credentialResolverConfig, } = await this.getResolver(credentialResolverId);
113
+ resolverInstance = credentialResolverInstance;
114
+ resolverConfig = credentialResolverConfig;
115
+ }
116
+ if (resolverConfig && resolverInstance) {
117
+ try {
118
+ await resolverInstance.getSecret(credential.id, { identity: options.identityToken, version: 1 }, {
119
+ configuration: resolverConfig,
120
+ resolverName: resolverInstance.metadata.name,
121
+ resolverId: credentialResolverId,
122
+ });
123
+ return {
124
+ credentialId: credential.id,
125
+ resolverId: credentialResolverId,
126
+ credentialName: credential.name,
127
+ status: 'configured',
128
+ credentialType: credential.type,
129
+ };
113
130
  }
114
- if (resolverConfig && resolverInstance) {
115
- try {
116
- await resolverInstance.getSecret(credential.id, { identity: options.identityToken, version: 1 }, {
117
- configuration: resolverConfig,
118
- resolverName: resolverInstance.metadata.name,
119
- resolverId: credentialResolverId,
120
- });
121
- return {
122
- credentialId: credential.id,
123
- resolverId: credentialResolverId,
124
- status: 'configured',
125
- credentialType: credential.type,
126
- };
127
- }
128
- catch (error) {
129
- return {
130
- credentialId: credential.id,
131
- resolverId: credentialResolverId,
132
- status: 'missing',
133
- credentialType: credential.type,
134
- };
135
- }
131
+ catch (error) {
132
+ return {
133
+ credentialId: credential.id,
134
+ resolverId: credentialResolverId,
135
+ credentialName: credential.name,
136
+ status: 'missing',
137
+ credentialType: credential.type,
138
+ };
136
139
  }
137
140
  }
138
141
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"credential-resolver-workflow.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-resolver-workflow.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { ICredentialType } from 'n8n-workflow';
1
+ import { type ICredentialType } from 'n8n-workflow';
2
2
  export declare function extractSharedFields(credentialType: ICredentialType): string[];
@@ -1,9 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractSharedFields = extractSharedFields;
4
+ const di_1 = require("@n8n/di");
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const credential_types_1 = require("../../../credential-types");
7
+ function getExtendedProps(type, credentialTypes) {
8
+ const props = [];
9
+ for (const parentTypeName of type.extends ?? []) {
10
+ const parentType = credentialTypes.getByName(parentTypeName);
11
+ const parentProps = getExtendedProps(parentType, credentialTypes);
12
+ n8n_workflow_1.NodeHelpers.mergeNodeProperties(props, parentProps);
13
+ }
14
+ n8n_workflow_1.NodeHelpers.mergeNodeProperties(props, type.properties);
15
+ return props;
16
+ }
4
17
  function extractSharedFields(credentialType) {
18
+ const credentialTypes = di_1.Container.get(credential_types_1.CredentialTypes);
19
+ const mergedProperties = getExtendedProps(credentialType, credentialTypes);
5
20
  const sharedFields = [];
6
- for (const property of credentialType.properties) {
21
+ for (const property of mergedProperties) {
7
22
  if (property.resolvableField !== true) {
8
23
  sharedFields.push(property.name);
9
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared-fields.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/shared-fields.ts"],"names":[],"mappings":";;AAOA,kDAWC;AAXD,SAAgB,mBAAmB,CAAC,cAA+B;IAClE,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;QAElD,IAAI,QAAQ,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"shared-fields.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/shared-fields.ts"],"names":[],"mappings":";;AA8BA,kDAeC;AAxCD,gCAAoC;AACpC,+CAAuF;AAEvF,yDAAqD;AAGrD,SAAS,gBAAgB,CACxB,IAAqB,EACrB,eAAgC;IAEhC,MAAM,KAAK,GAAsB,EAAE,CAAC;IAGpC,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAClE,0BAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAGD,0BAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAExD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,cAA+B;IAClE,MAAM,eAAe,GAAG,cAAS,CAAC,GAAG,CAAC,kCAAe,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAE3E,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QAEzC,IAAI,QAAQ,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Request } from 'express';
2
+ export declare function getBearerToken(req: Request): string;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBearerToken = getBearerToken;
4
+ const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
5
+ const unauthenticated_error_1 = require("../../errors/response-errors/unauthenticated.error");
6
+ const BEARER_TOKEN_REGEX = /^[Bb][Ee][Aa][Rr][Ee][Rr]\s+(.+)$/;
7
+ function getBearerToken(req) {
8
+ const headerValue = req.headers['authorization']?.toString();
9
+ if (!headerValue) {
10
+ throw new unauthenticated_error_1.UnauthenticatedError();
11
+ }
12
+ const result = BEARER_TOKEN_REGEX.exec(headerValue);
13
+ const token = result ? result[1] : null;
14
+ if (!token) {
15
+ throw new bad_request_error_1.BadRequestError('Authorization header is malformed');
16
+ }
17
+ return token;
18
+ }
19
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/utils.ts"],"names":[],"mappings":";;AAMA,wCAeC;AArBD,kFAA6E;AAC7E,0FAAsF;AAGtF,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;AAE/D,SAAgB,cAAc,CAAC,GAAY;IAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE7D,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,4CAAoB,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,mCAAe,CAAC,mCAAmC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import { Request, Response } from 'express';
2
2
  import { CredentialResolverWorkflowService } from './services/credential-resolver-workflow.service';
3
3
  import { WorkflowExecutionStatus } from '@n8n/api-types';
4
+ import { UrlService } from '../../services/url.service';
5
+ import { GlobalConfig } from '@n8n/config';
4
6
  export declare class WorkflowStatusController {
5
7
  private readonly credentialResolverWorkflowService;
6
- constructor(credentialResolverWorkflowService: CredentialResolverWorkflowService);
8
+ private readonly urlService;
9
+ private readonly globalConfig;
10
+ constructor(credentialResolverWorkflowService: CredentialResolverWorkflowService, urlService: UrlService, globalConfig: GlobalConfig);
7
11
  checkWorkflowForExecution(req: Request, _res: Response): Promise<WorkflowExecutionStatus>;
8
12
  }
@@ -13,36 +13,34 @@ exports.WorkflowStatusController = void 0;
13
13
  const decorators_1 = require("@n8n/decorators");
14
14
  const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
15
15
  const credential_resolver_workflow_service_1 = require("./services/credential-resolver-workflow.service");
16
- const unauthenticated_error_1 = require("../../errors/response-errors/unauthenticated.error");
17
- const BEARER_TOKEN_REGEX = /^[Bb][Ee][Aa][Rr][Ee][Rr]\s+(.+)$/;
16
+ const utils_1 = require("./utils");
17
+ const url_service_1 = require("../../services/url.service");
18
+ const config_1 = require("@n8n/config");
18
19
  let WorkflowStatusController = class WorkflowStatusController {
19
- constructor(credentialResolverWorkflowService) {
20
+ constructor(credentialResolverWorkflowService, urlService, globalConfig) {
20
21
  this.credentialResolverWorkflowService = credentialResolverWorkflowService;
22
+ this.urlService = urlService;
23
+ this.globalConfig = globalConfig;
21
24
  }
22
25
  async checkWorkflowForExecution(req, _res) {
23
26
  const workflowId = req.params['workflowId'];
24
- const headerValue = req.headers['authorization']?.toString();
25
- if (!headerValue) {
26
- throw new unauthenticated_error_1.UnauthenticatedError();
27
- }
28
- const result = BEARER_TOKEN_REGEX.exec(headerValue);
29
- const token = result ? result[1] : null;
30
- if (!token) {
31
- throw new bad_request_error_1.BadRequestError('Authorization header is malformed');
32
- }
27
+ const token = (0, utils_1.getBearerToken)(req);
33
28
  if (!workflowId) {
34
29
  throw new bad_request_error_1.BadRequestError('Workflow ID is missing');
35
30
  }
36
31
  const status = await this.credentialResolverWorkflowService.getWorkflowStatus(workflowId, token);
37
32
  const isReady = status.every((s) => s.status === 'configured');
33
+ const basePath = this.urlService.getInstanceBaseUrl();
34
+ const restPath = this.globalConfig.endpoints.rest;
38
35
  const executionStatus = {
39
36
  workflowId,
40
37
  readyToExecute: isReady,
41
38
  credentials: status.map((s) => ({
42
39
  credentialId: s.credentialId,
40
+ credentialName: s.credentialName,
43
41
  credentialStatus: s.status,
44
42
  credentialType: s.credentialType,
45
- authorizationUrl: `/credentials/${s.credentialId}/authorize?resolverId=${encodeURIComponent(s.resolverId)}`,
43
+ authorizationUrl: `${basePath}/${restPath}/credentials/${s.credentialId}/authorize?resolverId=${encodeURIComponent(s.resolverId)}`,
46
44
  })),
47
45
  };
48
46
  return executionStatus;
@@ -57,6 +55,8 @@ __decorate([
57
55
  ], WorkflowStatusController.prototype, "checkWorkflowForExecution", null);
58
56
  exports.WorkflowStatusController = WorkflowStatusController = __decorate([
59
57
  (0, decorators_1.RestController)('/workflows'),
60
- __metadata("design:paramtypes", [credential_resolver_workflow_service_1.CredentialResolverWorkflowService])
58
+ __metadata("design:paramtypes", [credential_resolver_workflow_service_1.CredentialResolverWorkflowService,
59
+ url_service_1.UrlService,
60
+ config_1.GlobalConfig])
61
61
  ], WorkflowStatusController);
62
62
  //# sourceMappingURL=workflow-status.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-status.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/workflow-status.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsD;AAGtD,kFAA6E;AAC7E,0GAAoG;AAEpG,0FAAsF;AAEtF,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;AAGxD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACpC,YACkB,iCAAoE;QAApE,sCAAiC,GAAjC,iCAAiC,CAAmC;IACnF,CAAC;IAYE,AAAN,KAAK,CAAC,yBAAyB,CAAC,GAAY,EAAE,IAAc;QAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC;QAE7D,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,4CAAoB,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mCAAe,CAAC,mCAAmC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,mCAAe,CAAC,wBAAwB,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,iBAAiB,CAC5E,UAAU,EACV,KAAK,CACL,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAE/D,MAAM,eAAe,GAA4B;YAChD,UAAU;YACV,cAAc,EAAE,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM;gBAC1B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,YAAY,yBAAyB,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;aAC3G,CAAC,CAAC;SACH,CAAC;QACF,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAA;AArDY,4DAAwB;AAe9B;IADL,IAAA,gBAAG,EAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;;yEAsCxD;mCApDW,wBAAwB;IADpC,IAAA,2BAAc,EAAC,YAAY,CAAC;qCAGyB,wEAAiC;GAF1E,wBAAwB,CAqDpC"}
1
+ {"version":3,"file":"workflow-status.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/workflow-status.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsD;AAGtD,kFAA6E;AAC7E,0GAAoG;AAEpG,mCAAyC;AACzC,wDAAoD;AACpD,wCAA2C;AAGpC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACpC,YACkB,iCAAoE,EACpE,UAAsB,EACtB,YAA0B;QAF1B,sCAAiC,GAAjC,iCAAiC,CAAmC;QACpE,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAYE,AAAN,KAAK,CAAC,yBAAyB,CAAC,GAAY,EAAE,IAAc;QAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,mCAAe,CAAC,wBAAwB,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,iBAAiB,CAC5E,UAAU,EACV,KAAK,CACL,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC;QAElD,MAAM,eAAe,GAA4B;YAChD,UAAU;YACV,cAAc,EAAE,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,gBAAgB,EAAE,CAAC,CAAC,MAAM;gBAC1B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,gBAAgB,EAAE,GAAG,QAAQ,IAAI,QAAQ,gBAAgB,CAAC,CAAC,YAAY,yBAAyB,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;aAClI,CAAC,CAAC;SACH,CAAC;QACF,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAA;AAhDY,4DAAwB;AAiB9B;IADL,IAAA,gBAAG,EAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;;yEA+BxD;mCA/CW,wBAAwB;IADpC,IAAA,2BAAc,EAAC,YAAY,CAAC;qCAGyB,wEAAiC;QACxD,wBAAU;QACR,qBAAY;GAJhC,wBAAwB,CAgDpC"}
@@ -1,45 +1,36 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
- import { SettingsRepository } from '@n8n/db';
3
- import { Cipher, type IExternalSecretsManager } from 'n8n-core';
2
+ import { type IExternalSecretsManager } from 'n8n-core';
4
3
  import { type IDataObject } from 'n8n-workflow';
5
- import { ExternalSecretsProviders } from './external-secrets-providers.ee';
6
- import { ExternalSecretsConfig } from './external-secrets.config';
7
- import type { ExternalSecretsSettings, SecretsProvider, SecretsProviderSettings } from './types';
8
4
  import { EventService } from '../../events/event.service';
9
- import { License } from '../../license';
10
5
  import { Publisher } from '../../scaling/pubsub/publisher.service';
6
+ import { ExternalSecretsProviders } from './external-secrets-providers.ee';
7
+ import { ExternalSecretsConfig } from './external-secrets.config';
8
+ import { ExternalSecretsProviderLifecycle } from './provider-lifecycle.service';
9
+ import { ExternalSecretsProviderRegistry } from './provider-registry.service';
10
+ import { ExternalSecretsRetryManager } from './retry-manager.service';
11
+ import { ExternalSecretsSecretsCache } from './secrets-cache.service';
12
+ import { ExternalSecretsSettingsStore } from './settings-store.service';
13
+ import type { SecretsProvider, SecretsProviderSettings } from './types';
11
14
  export declare class ExternalSecretsManager implements IExternalSecretsManager {
12
15
  private readonly logger;
13
16
  private readonly config;
14
- private readonly settingsRepo;
15
- private readonly license;
16
- private readonly secretsProviders;
17
- private readonly cipher;
17
+ private readonly providersFactory;
18
18
  private readonly eventService;
19
19
  private readonly publisher;
20
- private providers;
21
- private initializingPromise?;
22
- private cachedSettings;
20
+ private readonly settingsStore;
21
+ private readonly providerRegistry;
22
+ private readonly providerLifecycle;
23
+ private readonly retryManager;
24
+ private readonly secretsCache;
23
25
  initialized: boolean;
24
- updateInterval?: NodeJS.Timeout;
25
- initRetryTimeouts: Record<string, NodeJS.Timeout>;
26
- constructor(logger: Logger, config: ExternalSecretsConfig, settingsRepo: SettingsRepository, license: License, secretsProviders: ExternalSecretsProviders, cipher: Cipher, eventService: EventService, publisher: Publisher);
26
+ private refreshInterval?;
27
+ private initializingPromise?;
28
+ constructor(logger: Logger, config: ExternalSecretsConfig, providersFactory: ExternalSecretsProviders, eventService: EventService, publisher: Publisher, settingsStore: ExternalSecretsSettingsStore, providerRegistry: ExternalSecretsProviderRegistry, providerLifecycle: ExternalSecretsProviderLifecycle, retryManager: ExternalSecretsRetryManager, secretsCache: ExternalSecretsSecretsCache);
27
29
  init(): Promise<void>;
28
30
  shutdown(): void;
29
- reloadAllProviders(backoff?: number): Promise<void>;
30
- private broadcastReloadExternalSecretsProviders;
31
- getDecryptedSettings(): Promise<ExternalSecretsSettings | null>;
32
- private internalInit;
33
- private initProvider;
34
- private retryInitWithBackoff;
35
- updateSecrets(): Promise<void>;
36
31
  getProvider(provider: string): SecretsProvider | undefined;
37
32
  hasProvider(provider: string): boolean;
38
33
  getProviderNames(): string[];
39
- getSecret(provider: string, name: string): unknown;
40
- hasSecret(provider: string, name: string): boolean;
41
- getSecretNames(provider: string): string[];
42
- getAllSecretNames(): Record<string, string[]>;
43
34
  getProvidersWithSettings(): Array<{
44
35
  provider: SecretsProvider;
45
36
  settings: SecretsProviderSettings;
@@ -48,16 +39,30 @@ export declare class ExternalSecretsManager implements IExternalSecretsManager {
48
39
  provider: SecretsProvider;
49
40
  settings: SecretsProviderSettings;
50
41
  };
51
- reloadProvider(provider: string, backoff?: number): Promise<void>;
52
- setProviderSettings(provider: string, data: IDataObject, userId?: string): Promise<void>;
42
+ updateProvider(provider: string): Promise<void>;
43
+ getSecret(provider: string, name: string): unknown;
44
+ hasSecret(provider: string, name: string): boolean;
45
+ getSecretNames(provider: string): string[];
46
+ getAllSecretNames(): Record<string, string[]>;
47
+ setProviderSettings(provider: string, settings: IDataObject, userId?: string): Promise<void>;
53
48
  setProviderConnected(provider: string, connected: boolean): Promise<void>;
54
- private trackProviderSave;
55
- private encryptSecretsSettings;
56
- saveAndSetSettings(settings: ExternalSecretsSettings): Promise<void>;
57
49
  testProviderSettings(provider: string, data: IDataObject): Promise<{
58
50
  success: boolean;
59
- testState: 'connected' | 'tested' | 'error';
60
- error?: string;
51
+ testState: string;
52
+ } | {
53
+ success: boolean;
54
+ testState: "error" | "connected" | "tested";
55
+ error: string | undefined;
61
56
  }>;
62
- updateProvider(provider: string): Promise<boolean>;
57
+ reloadAllProviders(): Promise<void>;
58
+ private addProvider;
59
+ private connectProvider;
60
+ private reloadProvider;
61
+ updateSecrets(): Promise<void>;
62
+ private startSecretsRefresh;
63
+ private stopSecretsRefresh;
64
+ private broadcastReload;
65
+ private trackProviderSave;
66
+ private determineTestState;
67
+ private getCachedSettings;
63
68
  }