@kedaruma/revlm-server 1.0.43 → 1.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/server.d.ts CHANGED
@@ -14,11 +14,13 @@ export interface ServerConfig {
14
14
  jwtExpiresIn?: number;
15
15
  refreshWindowSec?: number;
16
16
  refreshSecretTtlSec?: number;
17
+ refreshSessionTtlSec?: number;
17
18
  port: number;
18
19
  refreshSecretSigningKey: string;
19
20
  logLevel?: string;
20
21
  }
21
22
  export declare const serverConfigDefaults: Partial<ServerConfig>;
23
+ export declare function pruneExpiredRefreshSessions(): Promise<void>;
22
24
  export declare function registerUserRaw(user: User, password: string): Promise<User>;
23
25
  export declare function deleteUserRaw(_id: any, authId?: string): Promise<number>;
24
26
  export declare function startServer(config: ServerConfig): Promise<http.Server>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAS9D,OAAO,IAAI,MAAM,MAAM,CAAC;AAyCxB,eAAO,IAAI,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAMtD,CAAC;AAySF,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAiBjE;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,mBAY5D;AAUD,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAgT5E;AAED,wBAAsB,UAAU,kBAU/B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAS9D,OAAO,IAAI,MAAM,MAAM,CAAC;AAyCxB,eAAO,IAAI,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAMtD,CAAC;AAiHF,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAWjE;AAsSD,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAiBjE;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,mBAY5D;AAUD,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAqV5E;AAED,wBAAsB,UAAU,kBAU/B"}
package/dist/server.js CHANGED
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.serverConfigDefaults = exports.client = void 0;
7
+ exports.pruneExpiredRefreshSessions = pruneExpiredRefreshSessions;
7
8
  exports.registerUserRaw = registerUserRaw;
8
9
  exports.deleteUserRaw = deleteUserRaw;
9
10
  exports.startServer = startServer;
@@ -130,6 +131,12 @@ const REFRESH_SECRET_TTL_ZERO_SEC = 315360000; // 10 years
130
131
  const REFRESH_COOKIE_NAME = 'revlm_refresh';
131
132
  const COOKIE_CHECK_TTL_SEC = 120;
132
133
  const COOKIE_CHECK_NAME = 'revlm_cookie_check';
134
+ const SESSION_HEADER_NAME = 'x-revlm-session-id';
135
+ const REFRESH_SESSIONS_COLLECTION = 'revlm_refresh_sessions';
136
+ const REFRESH_SESSION_TTL_DEFAULT_SEC = 60 * 60 * 24 * 30;
137
+ const REFRESH_SESSION_PRUNE_MIN_MS = 60 * 1000; // run at least every 60 seconds
138
+ const REFRESH_SESSION_PRUNE_MAX_MS = 60 * 60 * 1000; // but no more than once per hour
139
+ let refreshSessionTtlSec = REFRESH_SESSION_TTL_DEFAULT_SEC;
133
140
  const ERROR_CODES = {
134
141
  authFailed: 4349,
135
142
  tokenExpired: 40101,
@@ -151,16 +158,89 @@ function parseCookies(req) {
151
158
  return acc;
152
159
  }, {});
153
160
  }
154
- async function issueRefreshSecret(userId) {
161
+ function normalizeSessionId(value) {
162
+ if (!value)
163
+ return undefined;
164
+ const trimmed = String(value).trim();
165
+ return trimmed.length ? trimmed : undefined;
166
+ }
167
+ let refreshSessionPruneTimer;
168
+ function getRefreshSessionPruneIntervalMs() {
169
+ return Math.max(REFRESH_SESSION_PRUNE_MIN_MS, Math.min(refreshSessionTtlSec * 1000, REFRESH_SESSION_PRUNE_MAX_MS));
170
+ }
171
+ async function pruneExpiredRefreshSessions() {
172
+ try {
173
+ const col = getClient().db(USERS_DB_NAME).collection(REFRESH_SESSIONS_COLLECTION);
174
+ const cutoff = new Date(Date.now() - refreshSessionTtlSec * 1000);
175
+ const result = await col.deleteMany({ updatedAt: { $lt: cutoff } });
176
+ if (shouldLog('debug')) {
177
+ console.log('pruneExpiredRefreshSessions removed', result?.deletedCount, 'sessions older than', cutoff.toISOString());
178
+ }
179
+ }
180
+ catch (err) {
181
+ console.log('pruneExpiredRefreshSessions error - name:', err && err.name, 'message:', err && err.message);
182
+ }
183
+ }
184
+ function scheduleRefreshSessionPrune() {
185
+ if (refreshSessionPruneTimer)
186
+ return;
187
+ refreshSessionPruneTimer = setInterval(() => {
188
+ pruneExpiredRefreshSessions().catch((err) => {
189
+ console.log('scheduled refresh session prune error - name:', err && err.name, 'message:', err && err.message);
190
+ });
191
+ }, getRefreshSessionPruneIntervalMs());
192
+ if (typeof refreshSessionPruneTimer.unref === 'function') {
193
+ refreshSessionPruneTimer.unref();
194
+ }
195
+ }
196
+ function clearRefreshSessionPrune() {
197
+ if (!refreshSessionPruneTimer)
198
+ return;
199
+ clearInterval(refreshSessionPruneTimer);
200
+ refreshSessionPruneTimer = undefined;
201
+ }
202
+ // Require sessionId in header for strict session scoping.
203
+ // セッションを厳格に扱うためヘッダのsessionIdを必須にする。
204
+ function requireSessionId(req) {
205
+ return normalizeSessionId(req.headers?.[SESSION_HEADER_NAME]);
206
+ }
207
+ // Load refresh session from dedicated collection.
208
+ // 専用コレクションからrefresh sessionを取得する。
209
+ async function getRefreshSession(userId, sessionId) {
210
+ const oid = toObjectId(userId);
211
+ if (!oid)
212
+ return null;
213
+ const col = getClient().db(USERS_DB_NAME).collection(REFRESH_SESSIONS_COLLECTION);
214
+ return await col.findOne({ userId: oid, sessionId });
215
+ }
216
+ async function upsertRefreshSession(userId, sessionId, refreshSecretHash, issuedAt) {
217
+ const oid = toObjectId(userId);
218
+ if (!oid)
219
+ throw new Error('invalid_user_id');
220
+ const col = getClient().db(USERS_DB_NAME).collection(REFRESH_SESSIONS_COLLECTION);
221
+ const now = new Date();
222
+ await col.updateOne({ userId: oid, sessionId }, {
223
+ $set: {
224
+ refreshSecretHash,
225
+ refreshSecretIssuedAt: issuedAt,
226
+ updatedAt: now,
227
+ },
228
+ $setOnInsert: {
229
+ userId: oid,
230
+ sessionId,
231
+ createdAt: now,
232
+ },
233
+ }, { upsert: true });
234
+ }
235
+ async function issueRefreshSecret(userId, sessionId) {
155
236
  const oid = toObjectId(userId);
156
237
  if (!oid)
157
238
  throw new Error('invalid_user_id');
158
239
  const issuedAt = Math.floor(Date.now() / 1000);
159
240
  const secret = crypto_1.default.randomBytes(32).toString('base64url');
160
- const signed = jwt.sign({ sub: String(userId), rs: secret, iat: issuedAt }, REFRESH_SECRET_SIGNING_KEY, { algorithm: 'HS256' });
241
+ const signed = jwt.sign({ sub: String(userId), rs: secret, iat: issuedAt, sid: sessionId }, REFRESH_SECRET_SIGNING_KEY, { algorithm: 'HS256' });
161
242
  const refreshSecretHash = await bcrypt.hash(secret, 10);
162
- const userCol = getClient().db(USERS_DB_NAME).collection(USERS_COLLECTION);
163
- await userCol.updateOne({ _id: oid }, { $set: { refreshSecretHash, refreshSecretIssuedAt: issuedAt } });
243
+ await upsertRefreshSession(userId, sessionId, refreshSecretHash, issuedAt);
164
244
  return { signed, issuedAt };
165
245
  }
166
246
  function setRefreshCookie(res, signed) {
@@ -187,7 +267,9 @@ function setCookieCheck(res, value) {
187
267
  maxAge: COOKIE_CHECK_TTL_SEC * 1000,
188
268
  });
189
269
  }
190
- function ensureRefreshSecretValid(user, payload) {
270
+ // Validate refresh secret against stored session record.
271
+ // 保存済みセッションとrefresh secretの整合性を検証する。
272
+ function ensureRefreshSecretValid(session, payload) {
191
273
  const now = Math.floor(Date.now() / 1000);
192
274
  const rawTtlSec = REFRESH_SECRET_TTL_SEC ?? REFRESH_SECRET_TTL_DEFAULT_SEC;
193
275
  const ttlSec = rawTtlSec === 0 ? REFRESH_SECRET_TTL_ZERO_SEC : rawTtlSec;
@@ -197,7 +279,7 @@ function ensureRefreshSecretValid(user, payload) {
197
279
  if (now - payload.iat > ttlSec) {
198
280
  throw new Error('refresh_secret_expired');
199
281
  }
200
- if (!user || !user.refreshSecretHash || user.refreshSecretIssuedAt !== payload.iat) {
282
+ if (!session || !session.refreshSecretHash || session.refreshSecretIssuedAt !== payload.iat) {
201
283
  throw new Error('refresh_secret_mismatch');
202
284
  }
203
285
  }
@@ -301,6 +383,12 @@ app.post('/refresh-token', async (req, res) => {
301
383
  return sendResponse(req, res, { ok: false, reason: 'invalid_token', code: ERROR_CODES.invalidToken }, 403);
302
384
  if (decoded.userType === 'provisional')
303
385
  return sendResponse(req, res, { ok: false, reason: 'provisional_forbidden', code: ERROR_CODES.provisionalForbidden }, 403);
386
+ // Require sessionId header for strict session scoping.
387
+ // 厳格なセッション管理のためsessionIdヘッダを必須にする。
388
+ const headerSessionId = requireSessionId(req);
389
+ if (!headerSessionId) {
390
+ return sendResponse(req, res, { ok: false, reason: 'missing_session_id', code: ERROR_CODES.invalidToken }, 400);
391
+ }
304
392
  const cookies = parseCookies(req);
305
393
  const refreshCookie = cookies[REFRESH_COOKIE_NAME];
306
394
  if (!refreshCookie)
@@ -313,6 +401,14 @@ app.post('/refresh-token', async (req, res) => {
313
401
  console.log('refresh-token refresh secret verify error - name:', _e && _e.name, 'message:', _e && _e.message);
314
402
  return sendResponse(req, res, { ok: false, reason: 'refresh_secret_invalid', code: ERROR_CODES.invalidToken }, 403);
315
403
  }
404
+ const payloadSessionId = normalizeSessionId(refreshPayload?.sid);
405
+ if (!payloadSessionId) {
406
+ return sendResponse(req, res, { ok: false, reason: 'refresh_secret_invalid', code: ERROR_CODES.invalidToken }, 403);
407
+ }
408
+ if (headerSessionId !== payloadSessionId) {
409
+ return sendResponse(req, res, { ok: false, reason: 'refresh_secret_mismatch', code: ERROR_CODES.invalidToken }, 403);
410
+ }
411
+ const sessionId = headerSessionId;
316
412
  const userCol = getClient().db(USERS_DB_NAME).collection(USERS_COLLECTION);
317
413
  const subId = toObjectId(refreshPayload.sub);
318
414
  if (!subId)
@@ -322,8 +418,10 @@ app.post('/refresh-token', async (req, res) => {
322
418
  return sendResponse(req, res, { ok: false, reason: 'invalid_token', code: ERROR_CODES.invalidToken }, 403);
323
419
  if (String(decoded._id) !== String(user._id))
324
420
  return sendResponse(req, res, { ok: false, reason: 'invalid_token', code: ERROR_CODES.invalidToken }, 403);
421
+ let session = null;
325
422
  try {
326
- ensureRefreshSecretValid(user, refreshPayload);
423
+ session = await getRefreshSession(user._id, sessionId);
424
+ ensureRefreshSecretValid(session, refreshPayload);
327
425
  }
328
426
  catch (err) {
329
427
  const reason = err?.message || 'refresh_secret_invalid';
@@ -331,7 +429,7 @@ app.post('/refresh-token', async (req, res) => {
331
429
  const code = reason === 'refresh_secret_expired' ? ERROR_CODES.tokenExpired : ERROR_CODES.invalidToken;
332
430
  return sendResponse(req, res, { ok: false, reason, code }, status);
333
431
  }
334
- const match = await bcrypt.compare(refreshPayload.rs, user.refreshSecretHash || '');
432
+ const match = await bcrypt.compare(refreshPayload.rs, session?.refreshSecretHash || '');
335
433
  if (!match)
336
434
  return sendResponse(req, res, { ok: false, reason: 'refresh_secret_invalid', code: ERROR_CODES.invalidToken }, 403);
337
435
  const exp = decoded && decoded.exp ? Number(decoded.exp) : undefined;
@@ -343,7 +441,7 @@ app.post('/refresh-token', async (req, res) => {
343
441
  const { iat, exp: _exp, nbf, ...rest } = decoded;
344
442
  const expiresIn = JWT_EXPIRES_IN;
345
443
  const newToken = jwt.sign(rest, JWT_SECRET, { expiresIn });
346
- const refreshed = await issueRefreshSecret(user._id);
444
+ const refreshed = await issueRefreshSecret(user._id, sessionId);
347
445
  setRefreshCookie(res, refreshed.signed);
348
446
  return sendResponse(req, res, { ok: true, token: newToken, expiresIn }, 200);
349
447
  }
@@ -447,6 +545,7 @@ async function startServer(config) {
447
545
  REFRESH_WINDOW_SEC = merged.refreshWindowSec;
448
546
  REFRESH_SECRET_TTL_SEC = merged.refreshSecretTtlSec ?? REFRESH_SECRET_TTL_DEFAULT_SEC;
449
547
  REFRESH_SECRET_SIGNING_KEY = merged.refreshSecretSigningKey;
548
+ refreshSessionTtlSec = merged.refreshSessionTtlSec ?? REFRESH_SESSION_TTL_DEFAULT_SEC;
450
549
  LOG_LEVEL = normalizeLogLevel(merged.logLevel);
451
550
  if (PROVISIONAL_LOGIN_ENABLED) {
452
551
  plpaServer = new auth_token_1.AuthServer({ secretMaster: PROVISIONAL_AUTH_SECRET_MASTER, authDomain: PROVISIONAL_AUTH_DOMAIN });
@@ -461,6 +560,17 @@ async function startServer(config) {
461
560
  await c.db().admin().ping();
462
561
  // connection ok
463
562
  console.log('MongoDB connected');
563
+ // Ensure TTL index for refresh session cleanup.
564
+ // refresh sessionのTTLインデックスを作成する。
565
+ try {
566
+ const refreshCol = c.db(USERS_DB_NAME).collection(REFRESH_SESSIONS_COLLECTION);
567
+ await refreshCol.createIndex({ updatedAt: 1 }, { expireAfterSeconds: refreshSessionTtlSec });
568
+ }
569
+ catch (indexErr) {
570
+ console.log('refresh session index error - Error name:', indexErr && indexErr.name, 'Error message:', indexErr && indexErr.message);
571
+ }
572
+ await pruneExpiredRefreshSessions();
573
+ scheduleRefreshSessionPrune();
464
574
  }
465
575
  catch (err) {
466
576
  console.log('MongoDB connection error - Error name:', err && err.name, 'Error message:', err && err.message);
@@ -554,6 +664,12 @@ async function startServer(config) {
554
664
  if (!authId || !password)
555
665
  return sendResponse(req, res, { ok: false, error: 'authId and password are required' }, 400);
556
666
  try {
667
+ // Require sessionId to create a session-scoped refresh secret.
668
+ // セッション単位のrefresh secret作成のためsessionIdを必須にする。
669
+ const sessionId = requireSessionId(req);
670
+ if (!sessionId) {
671
+ return sendResponse(req, res, { ok: false, reason: 'missing_session_id', code: ERROR_CODES.invalidToken }, 400);
672
+ }
557
673
  const userCol = getClient().db(USERS_DB_NAME).collection(USERS_COLLECTION);
558
674
  const user = await userCol.findOne({ authId });
559
675
  if (!user || !user.passwordHash)
@@ -563,7 +679,7 @@ async function startServer(config) {
563
679
  return sendResponse(req, res, { ok: false, error: 'Authentication failed', code: ERROR_CODES.authFailed }, 401);
564
680
  const { _id, userType, roles } = user;
565
681
  const token = jwt.sign({ _id, userType, roles }, JWT_SECRET, { expiresIn: JWT_EXPIRES_IN });
566
- const refreshSecret = await issueRefreshSecret(_id);
682
+ const refreshSecret = await issueRefreshSecret(_id, sessionId);
567
683
  setRefreshCookie(res, refreshSecret.signed);
568
684
  try {
569
685
  const decoded = jwt.decode(token);
@@ -608,6 +724,25 @@ async function startServer(config) {
608
724
  const _db = getClient().db(db);
609
725
  if (!_db)
610
726
  return sendResponse(req, res, { ok: false, error: 'Invalid db parameter' }, 400);
727
+ // Block writes to refresh session storage from gate.
728
+ // refresh session用コレクションへの書き込みを禁止する。
729
+ if (collection === REFRESH_SESSIONS_COLLECTION) {
730
+ const writeMethods = new Set([
731
+ 'insertOne',
732
+ 'insertMany',
733
+ 'updateOne',
734
+ 'updateMany',
735
+ 'replaceOne',
736
+ 'findOneAndUpdate',
737
+ 'findOneAndReplace',
738
+ 'deleteOne',
739
+ 'deleteMany',
740
+ 'drop',
741
+ ]);
742
+ if (writeMethods.has(method)) {
743
+ return sendResponse(req, res, { ok: false, error: 'forbidden_collection' }, 403);
744
+ }
745
+ }
611
746
  const col = _db.collection(collection);
612
747
  if (!col)
613
748
  return sendResponse(req, res, { ok: false, error: 'Invalid collection parameter' }, 400);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/start.js CHANGED
@@ -110,6 +110,8 @@ async function main() {
110
110
  'JWT_EXPIRES_IN(jwtExpiresIn)': withDefault('jwtExpiresIn', raw.jwtExpiresIn, mergedForLog.jwtExpiresIn),
111
111
  'REFRESH_WINDOW_SEC(refreshWindowSec)': withDefault('refreshWindowSec', raw.refreshWindowSec, mergedForLog.refreshWindowSec),
112
112
  'REFRESH_SECRET_TTL_SEC(refreshSecretTtlSec)': withDefault('refreshSecretTtlSec', raw.refreshSecretTtlSec, mergedForLog.refreshSecretTtlSec),
113
+ 'BODY_LIMIT(bodyLimit)': process.env.BODY_LIMIT ?? '1mb [default]',
114
+ 'BODY_WARN_THRESHOLD(bodyWarnThreshold)': process.env.BODY_WARN_THRESHOLD ?? '100kb [default]',
113
115
  'PORT(port)': raw.port === undefined ? `${resolvedPort} [default]` : resolvedPort,
114
116
  'REFRESH_SECRET_SIGNING_KEY(refreshSecretSigningKey)': maskSecret(mergedForLog.refreshSecretSigningKey),
115
117
  'LOG_LEVEL(logLevel)': withDefault('logLevel', raw.logLevel, initLogLevel),
package/dist/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kedaruma/revlm-server",
3
- "version": "1.0.43",
3
+ "version": "1.0.45",
4
4
  "private": false,
5
5
  "description": "Self-hosted replacement for MongoDB Realm App Services that brokers auth and MongoDB calls.",
6
6
  "keywords": [