@teleporthq/teleport-plugin-next-workflows 0.45.1 → 0.45.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.
Files changed (93) hide show
  1. package/__tests__/analytics-track-outcome.test.ts +71 -3
  2. package/__tests__/auth-password-security.test.ts +101 -0
  3. package/__tests__/automations-bus.test.ts +85 -2
  4. package/__tests__/resolve-handler-entry-name.test.ts +21 -0
  5. package/__tests__/security-lists-parity.test.ts +2 -2
  6. package/__tests__/security-runtime.test.ts +37 -20
  7. package/dist/cjs/auth-generator.d.ts.map +1 -1
  8. package/dist/cjs/auth-generator.js +48 -19
  9. package/dist/cjs/auth-generator.js.map +1 -1
  10. package/dist/cjs/automations/event-bus-source.d.ts.map +1 -1
  11. package/dist/cjs/automations/event-bus-source.js +37 -23
  12. package/dist/cjs/automations/event-bus-source.js.map +1 -1
  13. package/dist/cjs/nodes/account/account-request-password-reset.d.ts.map +1 -1
  14. package/dist/cjs/nodes/account/account-request-password-reset.js +3 -2
  15. package/dist/cjs/nodes/account/account-request-password-reset.js.map +1 -1
  16. package/dist/cjs/nodes/analytics/analytics-track-outcome.d.ts.map +1 -1
  17. package/dist/cjs/nodes/analytics/analytics-track-outcome.js +17 -4
  18. package/dist/cjs/nodes/analytics/analytics-track-outcome.js.map +1 -1
  19. package/dist/cjs/nodes/email/outbound-message-guard.d.ts +6 -3
  20. package/dist/cjs/nodes/email/outbound-message-guard.d.ts.map +1 -1
  21. package/dist/cjs/nodes/email/outbound-message-guard.js +8 -4
  22. package/dist/cjs/nodes/email/outbound-message-guard.js.map +1 -1
  23. package/dist/cjs/nodes/sms/sms-infobip.js +1 -1
  24. package/dist/cjs/nodes/sms/sms-infobip.js.map +1 -1
  25. package/dist/cjs/nodes/sms/sms-smsapi.js +1 -1
  26. package/dist/cjs/nodes/sms/sms-smsapi.js.map +1 -1
  27. package/dist/cjs/nodes/sms/sms-textmagic.js +1 -1
  28. package/dist/cjs/nodes/sms/sms-textmagic.js.map +1 -1
  29. package/dist/cjs/nodes/sms/sms-twilio.js +1 -1
  30. package/dist/cjs/nodes/sms/sms-twilio.js.map +1 -1
  31. package/dist/cjs/nodes/types.d.ts +1 -1
  32. package/dist/cjs/nodes/types.d.ts.map +1 -1
  33. package/dist/cjs/nodes/types.js +7 -2
  34. package/dist/cjs/nodes/types.js.map +1 -1
  35. package/dist/cjs/password-reset-route-generator.d.ts +2 -0
  36. package/dist/cjs/password-reset-route-generator.d.ts.map +1 -1
  37. package/dist/cjs/password-reset-route-generator.js +17 -10
  38. package/dist/cjs/password-reset-route-generator.js.map +1 -1
  39. package/dist/cjs/security-runtime/security-runtime-code.d.ts +3 -2
  40. package/dist/cjs/security-runtime/security-runtime-code.d.ts.map +1 -1
  41. package/dist/cjs/security-runtime/security-runtime-code.js +17 -13
  42. package/dist/cjs/security-runtime/security-runtime-code.js.map +1 -1
  43. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  44. package/dist/esm/auth-generator.d.ts.map +1 -1
  45. package/dist/esm/auth-generator.js +48 -19
  46. package/dist/esm/auth-generator.js.map +1 -1
  47. package/dist/esm/automations/event-bus-source.d.ts.map +1 -1
  48. package/dist/esm/automations/event-bus-source.js +37 -23
  49. package/dist/esm/automations/event-bus-source.js.map +1 -1
  50. package/dist/esm/nodes/account/account-request-password-reset.d.ts.map +1 -1
  51. package/dist/esm/nodes/account/account-request-password-reset.js +3 -2
  52. package/dist/esm/nodes/account/account-request-password-reset.js.map +1 -1
  53. package/dist/esm/nodes/analytics/analytics-track-outcome.d.ts.map +1 -1
  54. package/dist/esm/nodes/analytics/analytics-track-outcome.js +17 -4
  55. package/dist/esm/nodes/analytics/analytics-track-outcome.js.map +1 -1
  56. package/dist/esm/nodes/email/outbound-message-guard.d.ts +6 -3
  57. package/dist/esm/nodes/email/outbound-message-guard.d.ts.map +1 -1
  58. package/dist/esm/nodes/email/outbound-message-guard.js +8 -4
  59. package/dist/esm/nodes/email/outbound-message-guard.js.map +1 -1
  60. package/dist/esm/nodes/sms/sms-infobip.js +1 -1
  61. package/dist/esm/nodes/sms/sms-infobip.js.map +1 -1
  62. package/dist/esm/nodes/sms/sms-smsapi.js +1 -1
  63. package/dist/esm/nodes/sms/sms-smsapi.js.map +1 -1
  64. package/dist/esm/nodes/sms/sms-textmagic.js +1 -1
  65. package/dist/esm/nodes/sms/sms-textmagic.js.map +1 -1
  66. package/dist/esm/nodes/sms/sms-twilio.js +1 -1
  67. package/dist/esm/nodes/sms/sms-twilio.js.map +1 -1
  68. package/dist/esm/nodes/types.d.ts +1 -1
  69. package/dist/esm/nodes/types.d.ts.map +1 -1
  70. package/dist/esm/nodes/types.js +7 -2
  71. package/dist/esm/nodes/types.js.map +1 -1
  72. package/dist/esm/password-reset-route-generator.d.ts +2 -0
  73. package/dist/esm/password-reset-route-generator.d.ts.map +1 -1
  74. package/dist/esm/password-reset-route-generator.js +16 -9
  75. package/dist/esm/password-reset-route-generator.js.map +1 -1
  76. package/dist/esm/security-runtime/security-runtime-code.d.ts +3 -2
  77. package/dist/esm/security-runtime/security-runtime-code.d.ts.map +1 -1
  78. package/dist/esm/security-runtime/security-runtime-code.js +17 -13
  79. package/dist/esm/security-runtime/security-runtime-code.js.map +1 -1
  80. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +2 -2
  82. package/src/auth-generator.ts +48 -19
  83. package/src/automations/event-bus-source.ts +37 -23
  84. package/src/nodes/account/account-request-password-reset.ts +3 -2
  85. package/src/nodes/analytics/analytics-track-outcome.ts +17 -4
  86. package/src/nodes/email/outbound-message-guard.ts +13 -7
  87. package/src/nodes/sms/sms-infobip.ts +1 -1
  88. package/src/nodes/sms/sms-smsapi.ts +1 -1
  89. package/src/nodes/sms/sms-textmagic.ts +1 -1
  90. package/src/nodes/sms/sms-twilio.ts +1 -1
  91. package/src/nodes/types.ts +7 -2
  92. package/src/password-reset-route-generator.ts +18 -9
  93. package/src/security-runtime/security-runtime-code.ts +17 -13
@@ -1 +1 @@
1
- {"version":3,"file":"password-reset-route-generator.d.ts","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAEL,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,4BAA4B,CAAA;AAenC,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,eAAO,MAAM,yBAAyB,mBAAmB,CAAA;AAEzD,4CAA4C;AAC5C,eAAO,MAAM,gCAAgC,OAAO,CAAA;AACpD,8FAA8F;AAC9F,eAAO,MAAM,+BAA+B,IAAI,CAAA;AAChD,eAAO,MAAM,6BAA6B,KAAK,CAAA;AAC/C,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,kFAC8C,CAAA;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,SAAU,WAAW,KAAG,OAUvD,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,SAAU,WAAW,KAAG,MAAM,EAOnE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAChB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAOnD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SACvB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAWxE,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,MAWrD,CAAA;AAED,eAAO,MAAM,mBAAmB,QAsB9B,CAAA;AAcF,eAAO,MAAM,2BAA2B,aAAa,0BAA0B,KAAQ,MA6JtF,CAAA;AAED,eAAO,MAAM,0BAA0B,QAAO,MAsD7C,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAE1D,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,mCAAmC,CAAA;AAEhF,mFAAmF;AACnF,eAAO,MAAM,0BAA0B;gBACZ,OAAO;kBAAgB,OAAO;aAC7C,MAAM,KACf,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAgB/B,CAAA;AAcD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,cACrB,sBAAsB,QAC3B,kBAAkB,KACvB,IAwDF,CAAA"}
1
+ {"version":3,"file":"password-reset-route-generator.d.ts","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAEL,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,4BAA4B,CAAA;AAenC,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,eAAO,MAAM,yBAAyB,mBAAmB,CAAA;AAEzD,4CAA4C;AAC5C,eAAO,MAAM,gCAAgC,OAAO,CAAA;AACpD,8FAA8F;AAC9F,eAAO,MAAM,+BAA+B,IAAI,CAAA;AAChD,eAAO,MAAM,6BAA6B,KAAK,CAAA;AAC/C,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,kFAC8C,CAAA;AAEjF,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,oEAC8B,CAAA;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,SAAU,WAAW,KAAG,OAUvD,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,SAAU,WAAW,KAAG,MAAM,EAOnE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAChB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAOnD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SACvB,WAAW,KAChB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAWxE,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,MAWrD,CAAA;AAED,eAAO,MAAM,mBAAmB,QAsB9B,CAAA;AAcF,eAAO,MAAM,2BAA2B,aAAa,0BAA0B,KAAQ,MAkKtF,CAAA;AAED,eAAO,MAAM,0BAA0B,QAAO,MAsD7C,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAE1D,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,mCAAmC,CAAA;AAEhF,mFAAmF;AACnF,eAAO,MAAM,0BAA0B;gBACZ,OAAO;kBAAgB,OAAO;aAC7C,MAAM,KACf,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAgB/B,CAAA;AAcD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,cACrB,sBAAsB,QAC3B,kBAAkB,KACvB,IAwDF,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emitPasswordAuthFiles = exports.collectWorkflowNodeConfigs = exports.REQUEST_PASSWORD_RESET_NODE_TYPE = exports.AUTH_PEPPER_SECRET_ENV = exports.generateResetPasswordRoute = exports.generateForgotPasswordRoute = exports.TRUSTED_ORIGIN_CODE = exports.resolveResetPagePath = exports.resetEmailSenderOf = exports.resetLinkOf = exports.resetTokenKeeperPagePaths = exports.readsKeptResetToken = exports.RESET_TOKEN_STORAGE_KEY = exports.FORGOT_PASSWORD_ANSWER = exports.DEFAULT_RESET_PAGE_PATH = exports.RESET_PASSWORD_VISITOR_LIMIT = exports.FORGOT_PASSWORD_VISITOR_LIMIT = exports.FORGOT_PASSWORD_RECIPIENT_LIMIT = exports.PASSWORD_RESET_TOKEN_TTL_SECONDS = exports.RESET_PASSWORD_ROUTE_NAME = exports.FORGOT_PASSWORD_ROUTE_NAME = void 0;
3
+ exports.emitPasswordAuthFiles = exports.collectWorkflowNodeConfigs = exports.REQUEST_PASSWORD_RESET_NODE_TYPE = exports.AUTH_PEPPER_SECRET_ENV = exports.generateResetPasswordRoute = exports.generateForgotPasswordRoute = exports.TRUSTED_ORIGIN_CODE = exports.resolveResetPagePath = exports.resetEmailSenderOf = exports.resetLinkOf = exports.resetTokenKeeperPagePaths = exports.readsKeptResetToken = exports.RESET_TOKEN_STORAGE_KEY = exports.FORGOT_PASSWORD_NOT_SENT = exports.FORGOT_PASSWORD_ANSWER = exports.DEFAULT_RESET_PAGE_PATH = exports.RESET_PASSWORD_VISITOR_LIMIT = exports.FORGOT_PASSWORD_VISITOR_LIMIT = exports.FORGOT_PASSWORD_RECIPIENT_LIMIT = exports.PASSWORD_RESET_TOKEN_TTL_SECONDS = exports.RESET_PASSWORD_ROUTE_NAME = exports.FORGOT_PASSWORD_ROUTE_NAME = void 0;
4
4
  /**
5
5
  * The password-reset routes every project with password sign-in gets:
6
6
  * `pages/api/auth/forgot-password.js` and `pages/api/auth/reset-password.js`.
@@ -38,6 +38,8 @@ exports.RESET_PASSWORD_VISITOR_LIMIT = 20;
38
38
  exports.DEFAULT_RESET_PAGE_PATH = '/reset-password';
39
39
  /** The same answer for every well-formed request, whatever the address. */
40
40
  exports.FORGOT_PASSWORD_ANSWER = 'If an account exists for that email, we sent it a link to reset the password.';
41
+ /** What the route answers, to every address, when a link could not be kept. */
42
+ exports.FORGOT_PASSWORD_NOT_SENT = 'We could not send the reset link. Please try again in a moment.';
41
43
  /**
42
44
  * The sessionStorage key the reset page reads the link's token from (mirrored
43
45
  * in teleport-gui `RESET_TOKEN_STORAGE_KEY`). The published site's first head
@@ -281,7 +283,9 @@ module.exports = async function handler(req, res) {
281
283
  return __security.sendClientError(res, 503, 'We could not reach the account service. Please try again in a moment.', err);
282
284
  }
283
285
 
286
+ var link = null;
284
287
  try {
288
+ await authUtils.ensurePasswordResetsUsable();
285
289
  // Counted for every address, with an account or without, so neither the
286
290
  // answer nor its timing differs.
287
291
  var recipient = await __security.rateLimit({
@@ -293,17 +297,20 @@ module.exports = async function handler(req, res) {
293
297
  if (user && userId != null && user.email && !recipient.allowed) {
294
298
  console.warn('[forgot-password] reset link not sent: this address was sent ${exports.FORGOT_PASSWORD_RECIPIENT_LIMIT} in the last hour');
295
299
  } else if (user && userId != null && user.email) {
296
- if (!authUtils.PASSWORD_RESET_SUPPORTED) {
297
- console.warn('[forgot-password] reset link not sent: password reset needs a Postgres user store');
298
- } else {
299
- var token = crypto.randomBytes(32).toString('hex');
300
- await authUtils.storePasswordReset(userId, sha256(token), TOKEN_TTL_SECONDS);
301
- var resetUrl = trustedOrigin(req) + RESET_PAGE_PATH + TOKEN_LINK_PREFIX + token;
302
- await sendResetEmail(user, resetUrl, token, __emailLocale.resolveRequestLocale(req));
303
- }
300
+ var token = crypto.randomBytes(32).toString('hex');
301
+ await authUtils.storePasswordReset(userId, sha256(token), TOKEN_TTL_SECONDS);
302
+ link = { token: token, url: trustedOrigin(req) + RESET_PAGE_PATH + TOKEN_LINK_PREFIX + token };
304
303
  }
305
304
  } catch (err) {
306
- console.error('[forgot-password] could not send a reset link:', err && err.message ? err.message : err);
305
+ await waitUntilElapsed(startedAt, MIN_RESPONSE_MS);
306
+ return __security.sendClientError(res, 503, ${JSON.stringify(exports.FORGOT_PASSWORD_NOT_SENT)}, err);
307
+ }
308
+ if (link) {
309
+ try {
310
+ await sendResetEmail(user, link.url, link.token, __emailLocale.resolveRequestLocale(req));
311
+ } catch (err) {
312
+ console.error('[forgot-password] could not send a reset link:', err && err.message ? err.message : err);
313
+ }
307
314
  }
308
315
 
309
316
  await waitUntilElapsed(startedAt, MIN_RESPONSE_MS);
@@ -1 +1 @@
1
- {"version":3,"file":"password-reset-route-generator.js","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"password-reset-route-generator.js","sourceRoot":"","sources":["../../src/password-reset-route-generator.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,9 @@ export declare const securityRuntimeSpecifier: (relativePrefix: string) => strin
32
32
  * itself, an IPv6 one its /64 (an IPv4 tail counted as the two groups it
33
33
  * fills). Every rate limit keyed by visitor uses it.
34
34
  * - `rateLimit` counts fixed windows in the app's Postgres database (table
35
- * `teleport_rate_limits`, created on first use under an advisory lock), so
36
- * every instance of a serverless app counts together. Only an app with no
35
+ * `teleport_rate_limits`, which the editor makes, created here under an
36
+ * advisory lock only when it is really missing), so every instance of a
37
+ * serverless app counts together. Only an app with no
37
38
  * database (or no `pg` driver) counts in a bounded per-instance map; a
38
39
  * database error counts in that map for a short while and is logged once.
39
40
  * A request waits on the database at most 1.5 s; after a failure one
@@ -1 +1 @@
1
- {"version":3,"file":"security-runtime-code.d.ts","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAC3D,eAAO,MAAM,qBAAqB,UAAY,CAAA;AAC9C,eAAO,MAAM,0BAA0B,qBAAqB,CAAA;AAC5D,eAAO,MAAM,iBAAiB,yBAAyB,CAAA;AAEvD,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,wCAAwC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,mBAAoB,MAAM,KAAG,MACoB,CAAA;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,2BAA2B,QAAO,MAygB9C,CAAA"}
1
+ {"version":3,"file":"security-runtime-code.d.ts","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAC3D,eAAO,MAAM,qBAAqB,UAAY,CAAA;AAC9C,eAAO,MAAM,0BAA0B,qBAAqB,CAAA;AAC5D,eAAO,MAAM,iBAAiB,yBAAyB,CAAA;AAEvD,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,wCAAwC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,mBAAoB,MAAM,KAAG,MACoB,CAAA;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,2BAA2B,QAAO,MA4gB9C,CAAA"}
@@ -37,8 +37,9 @@ exports.securityRuntimeSpecifier = securityRuntimeSpecifier;
37
37
  * itself, an IPv6 one its /64 (an IPv4 tail counted as the two groups it
38
38
  * fills). Every rate limit keyed by visitor uses it.
39
39
  * - `rateLimit` counts fixed windows in the app's Postgres database (table
40
- * `teleport_rate_limits`, created on first use under an advisory lock), so
41
- * every instance of a serverless app counts together. Only an app with no
40
+ * `teleport_rate_limits`, which the editor makes, created here under an
41
+ * advisory lock only when it is really missing), so every instance of a
42
+ * serverless app counts together. Only an app with no
42
43
  * database (or no `pg` driver) counts in a bounded per-instance map; a
43
44
  * database error counts in that map for a short while and is logged once.
44
45
  * A request waits on the database at most 1.5 s; after a failure one
@@ -101,6 +102,9 @@ var CLEANUP_MAX_BATCHES = 3;
101
102
  var CLEANUP_QUERY_TIMEOUT_MS = 5000;
102
103
  var MEMORY_MAX_WINDOWS = 10000;
103
104
 
105
+ // A site's database role may read and write its tables without being allowed
106
+ // to create one, and CREATE ... IF NOT EXISTS asks for that permission even when
107
+ // the table is there: these run only for a table that really is missing.
104
108
  var CREATE_SQL = 'CREATE TABLE IF NOT EXISTS "' + RATE_LIMITS_TABLE + '" (' +
105
109
  '"key" TEXT NOT NULL, "window_start" BIGINT NOT NULL, "count" INTEGER NOT NULL DEFAULT 0, ' +
106
110
  '"expires_at" BIGINT NOT NULL, PRIMARY KEY ("key", "window_start"))';
@@ -297,7 +301,6 @@ function __memoryHit(storageKey, windowStart, windowSeconds, nowSec) {
297
301
  return entry.count;
298
302
  }
299
303
 
300
- var __tableReady = false;
301
304
  // Healthy, every request asks the database. After a failure, requests count in
302
305
  // memory until __databaseRetryAt; then ONE request probes (it pushes the retry
303
306
  // time back before it asks), so the requests beside it never wait on a
@@ -376,12 +379,15 @@ async function __databaseHit(storageKey, windowStart, expiresAt, nowSec) {
376
379
  return within(client.query(sql, values || []), QUERY_TIMEOUT_MS);
377
380
  };
378
381
  var createTable = async function () {
379
- await run('BEGIN');
380
- await run(LOCK_SQL, [RATE_LIMITS_TABLE]);
381
- await run(CREATE_SQL);
382
- await run(INDEX_SQL);
383
- await run('COMMIT');
384
- __tableReady = true;
382
+ try {
383
+ await run('BEGIN');
384
+ await run(LOCK_SQL, [RATE_LIMITS_TABLE]);
385
+ await run(CREATE_SQL);
386
+ await run(INDEX_SQL);
387
+ await run('COMMIT');
388
+ } catch (err) {
389
+ throw new Error('the table ' + RATE_LIMITS_TABLE + ' is missing and could not be created: ' + __errorText(err));
390
+ }
385
391
  };
386
392
  var hit = function () {
387
393
  return run(HIT_SQL, [storageKey, windowStart, expiresAt]);
@@ -389,15 +395,13 @@ async function __databaseHit(storageKey, windowStart, expiresAt, nowSec) {
389
395
  var handedToCleanup = false;
390
396
  try {
391
397
  await within(client.connect(), CONNECT_TIMEOUT_MS);
392
- if (!__tableReady) await createTable();
393
398
  var result;
394
399
  try {
395
400
  result = await hit();
396
401
  } catch (err) {
397
- // The table went away (dropped, or the database restored from an
398
- // older backup): create it again and count this request in it.
402
+ // The table is not there (dropped, or the database restored from an
403
+ // older backup): create it and count this request in it.
399
404
  if (!err || err.code !== '42P01') throw err;
400
- __tableReady = false;
401
405
  await createTable();
402
406
  result = await hit();
403
407
  }
@@ -1 +1 @@
1
- {"version":3,"file":"security-runtime-code.js","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":";;;AAAA,sDAA4D;AAE5D;;;GAGG;AACU,QAAA,yBAAyB,GAAG,kBAAkB,CAAA;AAC9C,QAAA,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAA;AACjC,QAAA,0BAA0B,GAAG,kBAAkB,CAAA;AAC/C,QAAA,iBAAiB,GAAG,sBAAsB,CAAA;AAEvD,qEAAqE;AACxD,QAAA,yBAAyB,GAAG,qCAAqC,CAAA;AAE9E;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,cAAsB,EAAU,EAAE,CACzE,GAAG,cAAc,IAAI,6BAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,kCAA0B,EAAE,CAAA;AADzE,QAAA,wBAAwB,4BACiD;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACI,MAAM,2BAA2B,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BvD,IAAA,yCAAwB,GAAE;;2BAED,yBAAiB;2BACjB,iCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4enD,CAAA;AAzgBY,QAAA,2BAA2B,+BAygBvC"}
1
+ {"version":3,"file":"security-runtime-code.js","sourceRoot":"","sources":["../../../src/security-runtime/security-runtime-code.ts"],"names":[],"mappings":";;;AAAA,sDAA4D;AAE5D;;;GAGG;AACU,QAAA,yBAAyB,GAAG,kBAAkB,CAAA;AAC9C,QAAA,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAA;AACjC,QAAA,0BAA0B,GAAG,kBAAkB,CAAA;AAC/C,QAAA,iBAAiB,GAAG,sBAAsB,CAAA;AAEvD,qEAAqE;AACxD,QAAA,yBAAyB,GAAG,qCAAqC,CAAA;AAE9E;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,cAAsB,EAAU,EAAE,CACzE,GAAG,cAAc,IAAI,6BAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,kCAA0B,EAAE,CAAA;AADzE,QAAA,wBAAwB,4BACiD;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACI,MAAM,2BAA2B,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BvD,IAAA,yCAAwB,GAAE;;2BAED,yBAAiB;2BACjB,iCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+enD,CAAA;AA5gBY,QAAA,2BAA2B,+BA4gBvC"}