@rakun-kit/core 1.7.1 → 1.7.3

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 (81) hide show
  1. package/README.md +1369 -1354
  2. package/dist/cjs/api/utils/authRateLimit.js +35 -2
  3. package/dist/cjs/api/utils/authRateLimit.js.map +1 -1
  4. package/dist/cjs/collaboration/index.js +7 -1
  5. package/dist/cjs/collaboration/index.js.map +1 -1
  6. package/dist/cjs/collaboration/memory.js +38 -1
  7. package/dist/cjs/collaboration/memory.js.map +1 -1
  8. package/dist/cjs/collaboration/service.js +99 -15
  9. package/dist/cjs/collaboration/service.js.map +1 -1
  10. package/dist/cjs/collaboration/types.js +2 -0
  11. package/dist/cjs/collaboration/types.js.map +1 -1
  12. package/dist/cjs/eventLog/index.js +6 -1
  13. package/dist/cjs/eventLog/index.js.map +1 -1
  14. package/dist/cjs/index.js +28 -6
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/lib/Logger.js +23 -10
  17. package/dist/cjs/lib/Logger.js.map +1 -1
  18. package/dist/cjs/mail/index.js +6 -1
  19. package/dist/cjs/mail/index.js.map +1 -1
  20. package/dist/cjs/media/index.js +8 -3
  21. package/dist/cjs/media/index.js.map +1 -1
  22. package/dist/cjs/orm/database.js +22 -4
  23. package/dist/cjs/orm/database.js.map +1 -1
  24. package/dist/cjs/orm/index.js +5 -1
  25. package/dist/cjs/orm/index.js.map +1 -1
  26. package/dist/cjs/translation/index.js +6 -1
  27. package/dist/cjs/translation/index.js.map +1 -1
  28. package/dist/docs/index.md +573 -554
  29. package/dist/esm/api/utils/authRateLimit.d.ts +1 -0
  30. package/dist/esm/api/utils/authRateLimit.d.ts.map +1 -1
  31. package/dist/esm/api/utils/authRateLimit.js +33 -1
  32. package/dist/esm/api/utils/authRateLimit.js.map +1 -1
  33. package/dist/esm/collaboration/index.d.ts +1 -0
  34. package/dist/esm/collaboration/index.d.ts.map +1 -1
  35. package/dist/esm/collaboration/index.js +5 -0
  36. package/dist/esm/collaboration/index.js.map +1 -1
  37. package/dist/esm/collaboration/memory.d.ts +1 -1
  38. package/dist/esm/collaboration/memory.d.ts.map +1 -1
  39. package/dist/esm/collaboration/memory.js +38 -1
  40. package/dist/esm/collaboration/memory.js.map +1 -1
  41. package/dist/esm/collaboration/service.d.ts +2 -1
  42. package/dist/esm/collaboration/service.d.ts.map +1 -1
  43. package/dist/esm/collaboration/service.js +100 -16
  44. package/dist/esm/collaboration/service.js.map +1 -1
  45. package/dist/esm/collaboration/types.d.ts +4 -0
  46. package/dist/esm/collaboration/types.d.ts.map +1 -1
  47. package/dist/esm/collaboration/types.js +1 -1
  48. package/dist/esm/collaboration/types.js.map +1 -1
  49. package/dist/esm/eventLog/index.d.ts +1 -0
  50. package/dist/esm/eventLog/index.d.ts.map +1 -1
  51. package/dist/esm/eventLog/index.js +4 -0
  52. package/dist/esm/eventLog/index.js.map +1 -1
  53. package/dist/esm/index.d.ts +3 -1
  54. package/dist/esm/index.d.ts.map +1 -1
  55. package/dist/esm/index.js +32 -12
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/lib/Logger.d.ts +1 -0
  58. package/dist/esm/lib/Logger.d.ts.map +1 -1
  59. package/dist/esm/lib/Logger.js +22 -10
  60. package/dist/esm/lib/Logger.js.map +1 -1
  61. package/dist/esm/mail/index.d.ts +1 -0
  62. package/dist/esm/mail/index.d.ts.map +1 -1
  63. package/dist/esm/mail/index.js +4 -0
  64. package/dist/esm/mail/index.js.map +1 -1
  65. package/dist/esm/media/index.d.ts +1 -0
  66. package/dist/esm/media/index.d.ts.map +1 -1
  67. package/dist/esm/media/index.js +6 -2
  68. package/dist/esm/media/index.js.map +1 -1
  69. package/dist/esm/orm/database.d.ts +3 -1
  70. package/dist/esm/orm/database.d.ts.map +1 -1
  71. package/dist/esm/orm/database.js +22 -4
  72. package/dist/esm/orm/database.js.map +1 -1
  73. package/dist/esm/orm/index.d.ts.map +1 -1
  74. package/dist/esm/orm/index.js +5 -1
  75. package/dist/esm/orm/index.js.map +1 -1
  76. package/dist/esm/translation/index.d.ts +1 -0
  77. package/dist/esm/translation/index.d.ts.map +1 -1
  78. package/dist/esm/translation/index.js +4 -0
  79. package/dist/esm/translation/index.js.map +1 -1
  80. package/dist/tsconfig.build.tsbuildinfo +1 -1
  81. package/package.json +1 -1
@@ -1,8 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resetAuthRateLimit = exports.assertAuthRateLimit = exports.getRequestRateLimitIdentifier = void 0;
3
+ exports.clearAuthRateLimits = exports.resetAuthRateLimit = exports.assertAuthRateLimit = exports.getRequestRateLimitIdentifier = void 0;
4
4
  const errors_1 = require("../../lib/errors");
5
5
  const attempts = new Map();
6
+ const MAX_ATTEMPT_BUCKETS = 10000;
7
+ let cleanupTimer;
8
+ const cancelCleanup = () => {
9
+ if (!cleanupTimer)
10
+ return;
11
+ clearTimeout(cleanupTimer);
12
+ cleanupTimer = undefined;
13
+ };
14
+ const scheduleCleanup = () => {
15
+ cancelCleanup();
16
+ if (attempts.size === 0)
17
+ return;
18
+ const nextExpiry = Math.min(...Array.from(attempts.values(), ({ resetAt }) => resetAt));
19
+ cleanupTimer = setTimeout(() => cleanupExpiredAttempts(), Math.max(1, nextExpiry - Date.now()));
20
+ cleanupTimer.unref?.();
21
+ };
6
22
  const cleanupExpiredAttempts = () => {
7
23
  const now = Date.now();
8
24
  for (const [key, bucket] of attempts.entries()) {
@@ -10,6 +26,7 @@ const cleanupExpiredAttempts = () => {
10
26
  attempts.delete(key);
11
27
  }
12
28
  }
29
+ scheduleCleanup();
13
30
  };
14
31
  const getRequestRateLimitIdentifier = (ctx) => {
15
32
  const headers = ctx?.req?.headers ?? {};
@@ -19,7 +36,9 @@ const getRequestRateLimitIdentifier = (ctx) => {
19
36
  (Array.isArray(forwardedFor)
20
37
  ? forwardedFor[0]
21
38
  : forwardedFor || (Array.isArray(realIp) ? realIp[0] : realIp));
22
- return String(value || "unknown").split(",")[0]?.trim() || "unknown";
39
+ return (String(value || "unknown")
40
+ .split(",")[0]
41
+ ?.trim() || "unknown");
23
42
  };
24
43
  exports.getRequestRateLimitIdentifier = getRequestRateLimitIdentifier;
25
44
  const assertAuthRateLimit = ({ key, limit, windowMs, }) => {
@@ -31,14 +50,28 @@ const assertAuthRateLimit = ({ key, limit, windowMs, }) => {
31
50
  reason: "RATE_LIMITED",
32
51
  });
33
52
  }
53
+ attempts.delete(key);
34
54
  attempts.set(key, {
35
55
  count: bucket && bucket.resetAt > now ? bucket.count + 1 : 1,
36
56
  resetAt: bucket && bucket.resetAt > now ? bucket.resetAt : now + windowMs,
37
57
  });
58
+ while (attempts.size > MAX_ATTEMPT_BUCKETS) {
59
+ const oldest = attempts.keys().next();
60
+ if (oldest.done)
61
+ break;
62
+ attempts.delete(oldest.value);
63
+ }
64
+ scheduleCleanup();
38
65
  };
39
66
  exports.assertAuthRateLimit = assertAuthRateLimit;
40
67
  const resetAuthRateLimit = (key) => {
41
68
  attempts.delete(key);
69
+ scheduleCleanup();
42
70
  };
43
71
  exports.resetAuthRateLimit = resetAuthRateLimit;
72
+ const clearAuthRateLimits = () => {
73
+ attempts.clear();
74
+ cancelCleanup();
75
+ };
76
+ exports.clearAuthRateLimits = clearAuthRateLimits;
44
77
  //# sourceMappingURL=authRateLimit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authRateLimit.js","sourceRoot":"","sources":["../../../../src/api/utils/authRateLimit.ts"],"names":[],"mappings":";;;AACA,6CAAiD;AAOjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;AAElD,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,6BAA6B,GAAG,CAAC,GAAyB,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,KAAK,GACT,GAAG,EAAE,GAAG,EAAE,EAAE;QACZ,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YAC1B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpE,OAAO,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACvE,CAAC,CAAC;AAXW,QAAA,6BAA6B,iCAWxC;AAEK,MAAM,mBAAmB,GAAG,CAAC,EAClC,GAAG,EACH,KAAK,EACL,QAAQ,GAKT,EAAE,EAAE;IACH,sBAAsB,EAAE,CAAC;IAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QAC5D,IAAA,sBAAa,EAAC,WAAW,EAAE;YACzB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;QAChB,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ;KAC1E,CAAC,CAAC;AACL,CAAC,CAAC;AAxBW,QAAA,mBAAmB,uBAwB9B;AAEK,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;IAChD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B"}
1
+ {"version":3,"file":"authRateLimit.js","sourceRoot":"","sources":["../../../../src/api/utils/authRateLimit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTemplateCollaborationRoomId = exports.getContentCollaborationRoomId = exports.getCollaborationRoomReferenceFromTopic = exports.setContentField = exports.initializeContentDocument = exports.getContentSnapshot = exports.createCollaborationServiceFromAdapter = exports.createMemoryCollaborationAdapter = exports.getCollaborationService = exports.createCollaborationService = void 0;
3
+ exports.getTemplateCollaborationRoomId = exports.getContentCollaborationRoomId = exports.getCollaborationRoomReferenceFromTopic = exports.setContentField = exports.initializeContentDocument = exports.getContentSnapshot = exports.createCollaborationServiceFromAdapter = exports.createMemoryCollaborationAdapter = exports.getCollaborationService = exports.closeCollaborationService = exports.createCollaborationService = void 0;
4
4
  const memory_1 = require("./memory");
5
5
  Object.defineProperty(exports, "createMemoryCollaborationAdapter", { enumerable: true, get: function () { return memory_1.createMemoryCollaborationAdapter; } });
6
6
  const service_1 = require("./service");
@@ -9,10 +9,16 @@ let collaborationService = null;
9
9
  const createCollaborationService = (config = {
10
10
  adapter: (0, memory_1.createMemoryCollaborationAdapter)(),
11
11
  }) => {
12
+ collaborationService?.dispose();
12
13
  collaborationService = (0, service_1.createCollaborationServiceFromAdapter)(config);
13
14
  return collaborationService;
14
15
  };
15
16
  exports.createCollaborationService = createCollaborationService;
17
+ const closeCollaborationService = () => {
18
+ collaborationService?.dispose();
19
+ collaborationService = null;
20
+ };
21
+ exports.closeCollaborationService = closeCollaborationService;
16
22
  const getCollaborationService = () => {
17
23
  if (!collaborationService) {
18
24
  collaborationService = (0, exports.createCollaborationService)();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/collaboration/index.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAuBlD,iHAvBA,yCAAgC,OAuBA;AAtBzC,uCAAiE;AAsBtB,sHAtBlC,+CAAqC,OAsBkC;AAlBhF,IAAI,oBAAoB,GAAgC,IAAI,CAAA;AAErD,MAAM,0BAA0B,GAAG,CACxC,SAAqC;IACnC,OAAO,EAAE,IAAA,yCAAgC,GAAE;CAC5C,EACD,EAAE;IACF,oBAAoB,GAAG,IAAA,+CAAqC,EAAC,MAAM,CAAC,CAAA;IACpE,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AAPY,QAAA,0BAA0B,8BAOtC;AAEM,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,IAAA,kCAA0B,GAAE,CAAA;IACrD,CAAC;IACD,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AALY,QAAA,uBAAuB,2BAKnC;AAGD,uCAImB;AAHjB,8GAAA,kBAAkB,OAAA;AAClB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AAEjB,iCAKgB;AAJd,+HAAA,sCAAsC,OAAA;AACtC,sHAAA,6BAA6B,OAAA;AAC7B,uHAAA,8BAA8B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/collaboration/index.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AA6BlD,iHA7BA,yCAAgC,OA6BA;AA5BzC,uCAAiE;AA4BtB,sHA5BlC,+CAAqC,OA4BkC;AAxBhF,IAAI,oBAAoB,GAAgC,IAAI,CAAA;AAErD,MAAM,0BAA0B,GAAG,CACxC,SAAqC;IACnC,OAAO,EAAE,IAAA,yCAAgC,GAAE;CAC5C,EACD,EAAE;IACF,oBAAoB,EAAE,OAAO,EAAE,CAAA;IAC/B,oBAAoB,GAAG,IAAA,+CAAqC,EAAC,MAAM,CAAC,CAAA;IACpE,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AARY,QAAA,0BAA0B,8BAQtC;AAEM,MAAM,yBAAyB,GAAG,GAAS,EAAE;IAClD,oBAAoB,EAAE,OAAO,EAAE,CAAA;IAC/B,oBAAoB,GAAG,IAAI,CAAA;AAC7B,CAAC,CAAA;AAHY,QAAA,yBAAyB,6BAGrC;AAEM,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,IAAA,kCAA0B,GAAE,CAAA;IACrD,CAAC;IACD,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AALY,QAAA,uBAAuB,2BAKnC;AAGD,uCAImB;AAHjB,8GAAA,kBAAkB,OAAA;AAClB,qHAAA,yBAAyB,OAAA;AACzB,2GAAA,eAAe,OAAA;AAEjB,iCAKgB;AAJd,+HAAA,sCAAsC,OAAA;AACtC,sHAAA,6BAA6B,OAAA;AAC7B,uHAAA,8BAA8B,OAAA"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createMemoryCollaborationAdapter = void 0;
4
+ const types_1 = require("./types");
4
5
  const cloneState = (state) => ({
5
6
  update: state.update.slice(),
6
7
  savedStateVector: state.savedStateVector.slice(),
@@ -13,6 +14,32 @@ const clonePresence = (presence) => presence.map((participant) => ({
13
14
  const createMemoryCollaborationAdapter = () => {
14
15
  const rooms = new Map();
15
16
  const roomPresence = new Map();
17
+ let presenceCleanupTimer;
18
+ const cancelPresenceCleanup = () => {
19
+ if (!presenceCleanupTimer)
20
+ return;
21
+ clearTimeout(presenceCleanupTimer);
22
+ presenceCleanupTimer = undefined;
23
+ };
24
+ const schedulePresenceCleanup = () => {
25
+ cancelPresenceCleanup();
26
+ const participants = Array.from(roomPresence.values()).flat();
27
+ if (participants.length === 0)
28
+ return;
29
+ const nextExpiry = Math.min(...participants.map(({ lastSeenAt }) => lastSeenAt + types_1.COLLABORATION_PRESENCE_TTL_MS));
30
+ presenceCleanupTimer = setTimeout(() => {
31
+ const now = Date.now();
32
+ for (const [roomId, presence] of roomPresence) {
33
+ const active = presence.filter(({ lastSeenAt }) => now - lastSeenAt <= types_1.COLLABORATION_PRESENCE_TTL_MS);
34
+ if (active.length === 0)
35
+ roomPresence.delete(roomId);
36
+ else
37
+ roomPresence.set(roomId, active);
38
+ }
39
+ schedulePresenceCleanup();
40
+ }, Math.max(1, nextExpiry - Date.now()));
41
+ presenceCleanupTimer.unref?.();
42
+ };
16
43
  return {
17
44
  load: async (roomId) => {
18
45
  const state = rooms.get(roomId);
@@ -26,11 +53,21 @@ const createMemoryCollaborationAdapter = () => {
26
53
  return presence ? clonePresence(presence) : undefined;
27
54
  },
28
55
  savePresence: async (roomId, presence) => {
29
- roomPresence.set(roomId, clonePresence(presence));
56
+ if (presence.length === 0)
57
+ roomPresence.delete(roomId);
58
+ else
59
+ roomPresence.set(roomId, clonePresence(presence));
60
+ schedulePresenceCleanup();
30
61
  },
31
62
  delete: async (roomId) => {
32
63
  rooms.delete(roomId);
33
64
  roomPresence.delete(roomId);
65
+ schedulePresenceCleanup();
66
+ },
67
+ dispose: () => {
68
+ cancelPresenceCleanup();
69
+ rooms.clear();
70
+ roomPresence.clear();
34
71
  },
35
72
  };
36
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/collaboration/memory.ts"],"names":[],"mappings":";;;AAMA,MAAM,UAAU,GAAG,CAAC,KAA6B,EAA0B,EAAE,CAAC,CAAC;IAC7E,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE;CACjD,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,QAAsC,EAAE,EAAE,CAC/D,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7B,GAAG,WAAW;IACd,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;IAC3E,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE;CAClD,CAAC,CAAC,CAAA;AAEE,MAAM,gCAAgC,GAAG,GAAyB,EAAE;IACzE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAA;IACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAwC,CAAA;IAEpE,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC9C,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACtC,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvD,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACvC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACpB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAxBY,QAAA,gCAAgC,oCAwB5C"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/collaboration/memory.ts"],"names":[],"mappings":"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"}
@@ -37,20 +37,77 @@ exports.createCollaborationServiceFromAdapter = void 0;
37
37
  const array_1 = require("lib0/array");
38
38
  const Y = __importStar(require("yjs"));
39
39
  const document_1 = require("./document");
40
- const PRESENCE_TTL_MS = 45000;
40
+ const types_1 = require("./types");
41
+ const DEFAULT_ROOM_IDLE_TIMEOUT_MS = 5 * 60000;
41
42
  const storedState = (room) => ({
42
43
  update: Y.encodeStateAsUpdate(room.doc),
43
44
  savedStateVector: room.savedStateVector,
44
45
  });
45
46
  const createCollaborationServiceFromAdapter = (config) => {
47
+ const roomIdleTimeoutMs = config.roomIdleTimeoutMs ?? DEFAULT_ROOM_IDLE_TIMEOUT_MS;
48
+ if (!Number.isSafeInteger(roomIdleTimeoutMs) || roomIdleTimeoutMs < 0) {
49
+ throw new Error('collaboration.roomIdleTimeoutMs must be a non-negative safe integer.');
50
+ }
46
51
  const rooms = new Map();
47
52
  const localPresence = new Map();
48
53
  const locks = new Map();
54
+ let cleanupTimer;
49
55
  const hasSharedPresence = Boolean(config.adapter.loadPresence && config.adapter.savePresence);
56
+ const destroyRoom = (entry) => {
57
+ void entry.promise.then((room) => room.doc.destroy()).catch(() => undefined);
58
+ };
59
+ const cancelCleanup = () => {
60
+ if (!cleanupTimer)
61
+ return;
62
+ clearTimeout(cleanupTimer);
63
+ cleanupTimer = undefined;
64
+ };
65
+ const scheduleCleanup = () => {
66
+ cancelCleanup();
67
+ if ((roomIdleTimeoutMs === 0 || rooms.size === 0) && localPresence.size === 0)
68
+ return;
69
+ const now = Date.now();
70
+ let nextExpiry = Number.POSITIVE_INFINITY;
71
+ if (roomIdleTimeoutMs > 0) {
72
+ for (const [roomId, entry] of rooms) {
73
+ nextExpiry = Math.min(nextExpiry, locks.has(roomId) ? now + roomIdleTimeoutMs : entry.lastAccessAt + roomIdleTimeoutMs);
74
+ }
75
+ }
76
+ for (const presence of localPresence.values()) {
77
+ for (const participant of presence) {
78
+ nextExpiry = Math.min(nextExpiry, participant.lastSeenAt + types_1.COLLABORATION_PRESENCE_TTL_MS);
79
+ }
80
+ }
81
+ cleanupTimer = setTimeout(() => {
82
+ cleanupTimer = undefined;
83
+ const now = Date.now();
84
+ for (const [roomId, entry] of rooms) {
85
+ if (roomIdleTimeoutMs === 0 ||
86
+ locks.has(roomId) ||
87
+ now - entry.lastAccessAt < roomIdleTimeoutMs) {
88
+ continue;
89
+ }
90
+ rooms.delete(roomId);
91
+ destroyRoom(entry);
92
+ }
93
+ for (const [roomId, presence] of localPresence) {
94
+ const active = presence.filter((participant) => now - participant.lastSeenAt <= types_1.COLLABORATION_PRESENCE_TTL_MS);
95
+ if (active.length === 0)
96
+ localPresence.delete(roomId);
97
+ else
98
+ localPresence.set(roomId, active);
99
+ }
100
+ scheduleCleanup();
101
+ }, Math.max(1, nextExpiry - now));
102
+ cleanupTimer.unref?.();
103
+ };
50
104
  const loadRoom = (roomId, initialSnapshot) => {
51
105
  const existing = rooms.get(roomId);
52
- if (existing)
53
- return existing;
106
+ if (existing) {
107
+ existing.lastAccessAt = Date.now();
108
+ scheduleCleanup();
109
+ return existing.promise;
110
+ }
54
111
  const loading = (async () => {
55
112
  const persisted = await config.adapter.load(roomId);
56
113
  const doc = new Y.Doc();
@@ -63,8 +120,14 @@ const createCollaborationServiceFromAdapter = (config) => {
63
120
  await config.adapter.save(roomId, storedState(room));
64
121
  return room;
65
122
  })();
66
- rooms.set(roomId, loading);
67
- loading.catch(() => rooms.delete(roomId));
123
+ const entry = { lastAccessAt: Date.now(), promise: loading };
124
+ rooms.set(roomId, entry);
125
+ scheduleCleanup();
126
+ loading.catch(() => {
127
+ if (rooms.get(roomId) === entry)
128
+ rooms.delete(roomId);
129
+ scheduleCleanup();
130
+ });
68
131
  return loading;
69
132
  };
70
133
  const withLock = async (roomId, run) => {
@@ -88,9 +151,9 @@ const createCollaborationServiceFromAdapter = (config) => {
88
151
  const syncPresence = async (roomId, update) => {
89
152
  const now = Date.now();
90
153
  const stored = hasSharedPresence
91
- ? (await config.adapter.loadPresence?.(roomId)) ?? []
92
- : localPresence.get(roomId) ?? [];
93
- const active = stored.filter((participant) => now - participant.lastSeenAt <= PRESENCE_TTL_MS);
154
+ ? ((await config.adapter.loadPresence?.(roomId)) ?? [])
155
+ : (localPresence.get(roomId) ?? []);
156
+ const active = stored.filter((participant) => now - participant.lastSeenAt <= types_1.COLLABORATION_PRESENCE_TTL_MS);
94
157
  const previous = active.find((participant) => participant.clientId === update?.clientId);
95
158
  let changed = active.length !== stored.length;
96
159
  if (update) {
@@ -132,8 +195,12 @@ const createCollaborationServiceFromAdapter = (config) => {
132
195
  await config.adapter.savePresence?.(roomId, active);
133
196
  }
134
197
  else {
135
- localPresence.set(roomId, active);
198
+ if (active.length === 0)
199
+ localPresence.delete(roomId);
200
+ else
201
+ localPresence.set(roomId, active);
136
202
  }
203
+ scheduleCleanup();
137
204
  return {
138
205
  changed,
139
206
  presence: active.map(({ lastSeenAt: _lastSeenAt, connectionIds: _connectionIds, ...participant }) => participant),
@@ -142,9 +209,9 @@ const createCollaborationServiceFromAdapter = (config) => {
142
209
  const setPresenceConnection = async ({ roomId, connectionId, participant, active: connectionActive, }) => {
143
210
  const now = Date.now();
144
211
  const stored = hasSharedPresence
145
- ? (await config.adapter.loadPresence?.(roomId)) ?? []
146
- : localPresence.get(roomId) ?? [];
147
- const active = stored.filter((current) => now - current.lastSeenAt <= PRESENCE_TTL_MS);
212
+ ? ((await config.adapter.loadPresence?.(roomId)) ?? [])
213
+ : (localPresence.get(roomId) ?? []);
214
+ const active = stored.filter((current) => now - current.lastSeenAt <= types_1.COLLABORATION_PRESENCE_TTL_MS);
148
215
  const participantIndex = active.findIndex((current) => current.clientId === participant.clientId);
149
216
  const current = active[participantIndex];
150
217
  let changed = active.length !== stored.length;
@@ -180,8 +247,12 @@ const createCollaborationServiceFromAdapter = (config) => {
180
247
  await config.adapter.savePresence?.(roomId, active);
181
248
  }
182
249
  else {
183
- localPresence.set(roomId, active);
250
+ if (active.length === 0)
251
+ localPresence.delete(roomId);
252
+ else
253
+ localPresence.set(roomId, active);
184
254
  }
255
+ scheduleCleanup();
185
256
  return changed;
186
257
  };
187
258
  return {
@@ -222,15 +293,28 @@ const createCollaborationServiceFromAdapter = (config) => {
222
293
  savedStateVector: room.savedStateVector,
223
294
  };
224
295
  }),
225
- hasUnsavedChanges: async ({ roomId, initialSnapshot }) => {
296
+ hasUnsavedChanges: async ({ roomId, initialSnapshot }) => await withLock(roomId, async () => {
226
297
  const room = await loadRoom(roomId, initialSnapshot);
227
298
  return !(0, array_1.equalFlat)(Y.encodeStateVector(room.doc), room.savedStateVector);
228
- },
299
+ }),
229
300
  delete: async (roomId) => await withLock(roomId, async () => {
301
+ const entry = rooms.get(roomId);
230
302
  rooms.delete(roomId);
303
+ if (entry)
304
+ destroyRoom(entry);
231
305
  localPresence.delete(roomId);
232
306
  await config.adapter.delete?.(roomId);
307
+ scheduleCleanup();
233
308
  }),
309
+ dispose: () => {
310
+ cancelCleanup();
311
+ for (const entry of rooms.values())
312
+ destroyRoom(entry);
313
+ rooms.clear();
314
+ localPresence.clear();
315
+ locks.clear();
316
+ config.adapter.dispose?.();
317
+ },
234
318
  };
235
319
  };
236
320
  exports.createCollaborationServiceFromAdapter = createCollaborationServiceFromAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/collaboration/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/collaboration/service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COLLABORATION_PRESENCE_TTL_MS = void 0;
4
+ exports.COLLABORATION_PRESENCE_TTL_MS = 45000;
3
5
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/collaboration/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/collaboration/types.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,KAAM,CAAA"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.deleteEventsBefore = exports.queryEvents = exports.recordEvent = exports.hasEventLogService = exports.getEventLogService = exports.createEventLogService = exports.createEventLogConnection = void 0;
17
+ exports.deleteEventsBefore = exports.queryEvents = exports.recordEvent = exports.resetEventLogService = exports.hasEventLogService = exports.getEventLogService = exports.createEventLogService = exports.createEventLogConnection = void 0;
18
18
  const service_1 = require("./service");
19
19
  let eventLogService = null;
20
20
  let config = null;
@@ -40,6 +40,11 @@ const getEventLogService = () => {
40
40
  exports.getEventLogService = getEventLogService;
41
41
  const hasEventLogService = () => Boolean(eventLogService || config);
42
42
  exports.hasEventLogService = hasEventLogService;
43
+ const resetEventLogService = () => {
44
+ eventLogService = null;
45
+ config = null;
46
+ };
47
+ exports.resetEventLogService = resetEventLogService;
43
48
  const recordEvent = (input) => (0, exports.getEventLogService)().record(input);
44
49
  exports.recordEvent = recordEvent;
45
50
  const queryEvents = (input) => (0, exports.getEventLogService)().query(input);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/eventLog/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,uCAA4D;AAE5D,IAAI,eAAe,GAA2B,IAAI,CAAA;AAClD,IAAI,MAAM,GAAiC,IAAI,CAAA;AAExC,MAAM,wBAAwB,GAAG,CAAC,KAA4B,EAAQ,EAAE;IAC7E,MAAM,GAAG,KAAK,CAAA;AAChB,CAAC,CAAA;AAFY,QAAA,wBAAwB,4BAEpC;AAEM,MAAM,qBAAqB,GAAG,CAAC,KAA4B,EAAmB,EAAE;IACrF,MAAM,GAAG,KAAK,CAAA;IACd,eAAe,GAAG,IAAA,0CAAgC,EAAC,KAAK,CAAC,CAAA;IACzD,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAJY,QAAA,qBAAqB,yBAIjC;AAEM,MAAM,kBAAkB,GAAG,GAAoB,EAAE;IACtD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;QAC5F,CAAC;QAED,OAAO,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAVY,QAAA,kBAAkB,sBAU9B;AAEM,MAAM,kBAAkB,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,CAAA;AAAtE,QAAA,kBAAkB,sBAAoD;AAE5E,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAA,0BAAkB,GAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAA1E,QAAA,WAAW,eAA+D;AAEhF,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,IAAA,0BAAkB,GAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAA1E,QAAA,WAAW,eAA+D;AAEhF,MAAM,kBAAkB,GAAG,CAAC,MAAY,EAAE,EAAE,CAAC,IAAA,0BAAkB,GAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAAhF,QAAA,kBAAkB,sBAA8D;AAE7F,0CAAuB;AACvB,4CAAyB;AACzB,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/eventLog/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,uCAA4D;AAE5D,IAAI,eAAe,GAA2B,IAAI,CAAA;AAClD,IAAI,MAAM,GAAiC,IAAI,CAAA;AAExC,MAAM,wBAAwB,GAAG,CAAC,KAA4B,EAAQ,EAAE;IAC7E,MAAM,GAAG,KAAK,CAAA;AAChB,CAAC,CAAA;AAFY,QAAA,wBAAwB,4BAEpC;AAEM,MAAM,qBAAqB,GAAG,CAAC,KAA4B,EAAmB,EAAE;IACrF,MAAM,GAAG,KAAK,CAAA;IACd,eAAe,GAAG,IAAA,0CAAgC,EAAC,KAAK,CAAC,CAAA;IACzD,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAJY,QAAA,qBAAqB,yBAIjC;AAEM,MAAM,kBAAkB,GAAG,GAAoB,EAAE;IACtD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;QAC5F,CAAC;QAED,OAAO,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAVY,QAAA,kBAAkB,sBAU9B;AAEM,MAAM,kBAAkB,GAAG,GAAY,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,CAAA;AAAtE,QAAA,kBAAkB,sBAAoD;AAE5E,MAAM,oBAAoB,GAAG,GAAS,EAAE;IAC7C,eAAe,GAAG,IAAI,CAAA;IACtB,MAAM,GAAG,IAAI,CAAA;AACf,CAAC,CAAA;AAHY,QAAA,oBAAoB,wBAGhC;AAEM,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAA,0BAAkB,GAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAA1E,QAAA,WAAW,eAA+D;AAEhF,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,IAAA,0BAAkB,GAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAA1E,QAAA,WAAW,eAA+D;AAEhF,MAAM,kBAAkB,GAAG,CAAC,MAAY,EAAE,EAAE,CAAC,IAAA,0BAAkB,GAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AAAhF,QAAA,kBAAkB,sBAA8D;AAE7F,0CAAuB;AACvB,4CAAyB;AACzB,0CAAuB"}
package/dist/cjs/index.js CHANGED
@@ -39,8 +39,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.getRakunWebPreviewPage = exports.getRakunWebPage = exports.recordApiOperationSuccess = exports.recordApiError = exports.mergeOperationContracts = exports.defineOperationContract = exports.defineOperation = exports.createWebOperationDefinitions = exports.createWebOperationContracts = exports.createOperationPath = exports.createOperationManifest = exports.createManagerOperationDefinitions = exports.createManagerOperationContracts = exports.createRakunOperationDefinitions = exports.ModulePicker = exports.DocumentVisibility = exports.ContentType = exports.getMongoService = exports.createMongoService = exports.createMongoConnection = exports.closeMongoService = exports.closeDatabase = exports.getRakunBootstrapOptions = exports.isDynamicDataSourceContentTypeAllowed = exports.DynamicQueryDocumentValueSchema = exports.DynamicQueryCurrentValueSchema = exports.DynamicDocumentBindingsSchema = exports.DynamicDataOptionsSchema = exports.DYNAMIC_QUERY_DOCUMENT_VALUE_KEY = exports.DYNAMIC_QUERY_CURRENT_VALUE_KEY = exports.DYNAMIC_BINDINGS_FIELD_NAME = exports.runContentHookContext = exports.getContentHookContext = exports.runRakunPluginInitializers = exports.resolveRakunPluginContributions = exports.assertRakunPluginFieldsDeclared = exports.defineRakunPlugin = exports.defineLoginAdapter = exports.createMicrosoftLoginAdapter = exports.createGoogleLoginAdapter = exports.createGitHubLoginAdapter = exports.passwordResetMailTemplate = exports.getCollaborationService = exports.createMemoryCollaborationAdapter = exports.createCollaborationServiceFromAdapter = exports.createCollaborationService = exports.ensureRakunBootstrap = exports.rakunBootstrap = exports.runWithRakunRequestTrace = exports.ensureRakunInitialized = void 0;
43
- exports.SeoSettings = exports.Seo = exports.ManagerUser = exports.LlmsSettings = exports.Language = exports.slugify = exports.isTranslatableObject = exports.isId = exports.Id = exports.isLocaleVariantDocument = exports.getLocaleVariantRole = exports.getLocaleVariantName = exports.getLocaleVariantGroupId = exports.LocaleVariantRole = exports.LOCALE_VARIANT_ROLE_FIELD = exports.LOCALE_VARIANT_NAME_FIELD = exports.LOCALE_VARIANT_GROUP_FIELD = exports.TEMPLATE_FIELD_NAME = exports.SEO_FIELD_NAME = exports.ITERATOR_FIELD_NAME = exports.encodeContentTypeForManager = exports.getTranslation = exports.getListField = exports.mapPermissions = exports.hasPermissions = exports.getPermissionList = exports.AUTH_IP_BLOCK_MANAGE_PERMISSION = exports.parseCookieHeader = exports.handleMediaBinaryUpload = exports.setSessionCookie = exports.getSessionCookie = exports.authorizeRealtimeSubscription = exports.createRequestContext = exports.getRakunWebLlmsTxt = exports.getRakunWebStaticPaths = void 0;
42
+ exports.recordApiOperationSuccess = exports.recordApiError = exports.mergeOperationContracts = exports.defineOperationContract = exports.defineOperation = exports.createWebOperationDefinitions = exports.createWebOperationContracts = exports.createOperationPath = exports.createOperationManifest = exports.createManagerOperationDefinitions = exports.createManagerOperationContracts = exports.createRakunOperationDefinitions = exports.ModulePicker = exports.DocumentVisibility = exports.ContentType = exports.getMongoService = exports.createMongoService = exports.createMongoConnection = exports.closeMongoService = exports.closeDatabase = exports.getRakunBootstrapOptions = exports.isDynamicDataSourceContentTypeAllowed = exports.DynamicQueryDocumentValueSchema = exports.DynamicQueryCurrentValueSchema = exports.DynamicDocumentBindingsSchema = exports.DynamicDataOptionsSchema = exports.DYNAMIC_QUERY_DOCUMENT_VALUE_KEY = exports.DYNAMIC_QUERY_CURRENT_VALUE_KEY = exports.DYNAMIC_BINDINGS_FIELD_NAME = exports.runContentHookContext = exports.getContentHookContext = exports.runRakunPluginInitializers = exports.resolveRakunPluginContributions = exports.assertRakunPluginFieldsDeclared = exports.defineRakunPlugin = exports.defineLoginAdapter = exports.createMicrosoftLoginAdapter = exports.createGoogleLoginAdapter = exports.createGitHubLoginAdapter = exports.passwordResetMailTemplate = exports.getCollaborationService = exports.closeCollaborationService = exports.createMemoryCollaborationAdapter = exports.createCollaborationServiceFromAdapter = exports.createCollaborationService = exports.ensureRakunBootstrap = exports.rakunBootstrap = exports.runWithRakunRequestTrace = exports.shutdownRakun = exports.ensureRakunInitialized = void 0;
43
+ exports.SeoSettings = exports.Seo = exports.ManagerUser = exports.LlmsSettings = exports.Language = exports.slugify = exports.isTranslatableObject = exports.isId = exports.Id = exports.isLocaleVariantDocument = exports.getLocaleVariantRole = exports.getLocaleVariantName = exports.getLocaleVariantGroupId = exports.LocaleVariantRole = exports.LOCALE_VARIANT_ROLE_FIELD = exports.LOCALE_VARIANT_NAME_FIELD = exports.LOCALE_VARIANT_GROUP_FIELD = exports.TEMPLATE_FIELD_NAME = exports.SEO_FIELD_NAME = exports.ITERATOR_FIELD_NAME = exports.encodeContentTypeForManager = exports.getTranslation = exports.getListField = exports.mapPermissions = exports.hasPermissions = exports.getPermissionList = exports.AUTH_IP_BLOCK_MANAGE_PERMISSION = exports.parseCookieHeader = exports.handleMediaBinaryUpload = exports.setSessionCookie = exports.getSessionCookie = exports.authorizeRealtimeSubscription = exports.createRequestContext = exports.getRakunWebLlmsTxt = exports.getRakunWebStaticPaths = exports.getRakunWebPreviewPage = exports.getRakunWebPage = void 0;
44
44
  const Registry_1 = require("./lib/Registry");
45
45
  const Logger_1 = require("./lib/Logger");
46
46
  const internalContentTypes = __importStar(require("./internal-content-types"));
@@ -56,23 +56,29 @@ const eventLog_1 = require("./eventLog");
56
56
  const translation_1 = require("./translation");
57
57
  const platform_1 = require("./platform");
58
58
  const collaboration_1 = require("./collaboration");
59
+ const authRateLimit_1 = require("./api/utils/authRateLimit");
59
60
  const fields_1 = require("./lib/fields");
60
61
  const bootstrapState_1 = require("./bootstrapState");
61
62
  const definitions_1 = require("./literals/definitions");
62
63
  const plugins_1 = require("./plugins");
63
64
  let initPromise = null;
64
65
  let initializedPluginIds = new Set();
66
+ const releaseRuntimeServices = () => {
67
+ (0, collaboration_1.closeCollaborationService)();
68
+ (0, authRateLimit_1.clearAuthRateLimits)();
69
+ (0, mail_1.resetMailService)();
70
+ (0, eventLog_1.resetEventLogService)();
71
+ (0, media_1.resetMediaService)();
72
+ (0, translation_1.resetTranslationService)();
73
+ };
65
74
  const ensureLogger = () => {
66
75
  const bootstrapOptions = (0, bootstrapState_1.getRakunBootstrapOptions)();
67
76
  if (!Logger_1.Logger) {
68
- (0, Logger_1.createLogger)({
77
+ (0, Logger_1.createLogger)(bootstrapOptions?.logger ?? {
69
78
  level: "info",
70
79
  prettify: true,
71
80
  });
72
81
  }
73
- if (bootstrapOptions?.logger) {
74
- (0, Logger_1.createLogger)(bootstrapOptions.logger);
75
- }
76
82
  };
77
83
  const ensureMongo = () => {
78
84
  const bootstrapOptions = (0, bootstrapState_1.getRakunBootstrapOptions)();
@@ -159,10 +165,25 @@ const ensureRakunInitialized = async () => {
159
165
  }
160
166
  catch (error) {
161
167
  initPromise = null;
168
+ releaseRuntimeServices();
169
+ await (0, orm_1.closeDatabase)();
170
+ await (0, Logger_1.closeLogger)();
162
171
  throw error;
163
172
  }
164
173
  };
165
174
  exports.ensureRakunInitialized = ensureRakunInitialized;
175
+ /** Release process resources created by Rakun so the runtime can stop or restart cleanly. */
176
+ const shutdownRakun = async () => {
177
+ const initialization = initPromise;
178
+ initPromise = null;
179
+ if (initialization)
180
+ await initialization.catch(() => undefined);
181
+ releaseRuntimeServices();
182
+ initializedPluginIds = new Set();
183
+ await (0, orm_1.closeDatabase)();
184
+ await (0, Logger_1.closeLogger)();
185
+ };
186
+ exports.shutdownRakun = shutdownRakun;
166
187
  const runWithRakunRequestTrace = (method, url, run) => {
167
188
  if (!Logger_1.Logger) {
168
189
  return run();
@@ -283,6 +304,7 @@ var collaboration_2 = require("./collaboration");
283
304
  Object.defineProperty(exports, "createCollaborationService", { enumerable: true, get: function () { return collaboration_2.createCollaborationService; } });
284
305
  Object.defineProperty(exports, "createCollaborationServiceFromAdapter", { enumerable: true, get: function () { return collaboration_2.createCollaborationServiceFromAdapter; } });
285
306
  Object.defineProperty(exports, "createMemoryCollaborationAdapter", { enumerable: true, get: function () { return collaboration_2.createMemoryCollaborationAdapter; } });
307
+ Object.defineProperty(exports, "closeCollaborationService", { enumerable: true, get: function () { return collaboration_2.closeCollaborationService; } });
286
308
  Object.defineProperty(exports, "getCollaborationService", { enumerable: true, get: function () { return collaboration_2.getCollaborationService; } });
287
309
  var passwordResetMailTemplate_1 = require("./auth/passwordResetMailTemplate");
288
310
  Object.defineProperty(exports, "passwordResetMailTemplate", { enumerable: true, get: function () { return passwordResetMailTemplate_1.passwordResetMailTemplate; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}