@kedaruma/revlm-client 1.0.14 → 1.0.22

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/index.d.mts CHANGED
@@ -5,6 +5,9 @@ import { Timestamp, Long } from 'bson';
5
5
  type RevlmErrorResponse = {
6
6
  ok: false;
7
7
  error: string;
8
+ code?: number;
9
+ status?: number;
10
+ reason?: string;
8
11
  };
9
12
  type LoginSuccess = {
10
13
  ok: true;
@@ -174,11 +177,6 @@ type RevlmOptions = {
174
177
  provisionalAuthDomain?: string;
175
178
  autoSetToken?: boolean;
176
179
  autoRefreshOn401?: boolean;
177
- sigv4SecretKey?: string;
178
- sigv4AccessKey?: string;
179
- sigv4Region?: string;
180
- sigv4Service?: string;
181
- sigv4Enabled?: boolean;
182
180
  };
183
181
  type RevlmResponse<T = any> = {
184
182
  ok: boolean;
@@ -198,7 +196,6 @@ declare class Revlm {
198
196
  private provisionalAuthDomain;
199
197
  private autoSetToken;
200
198
  private autoRefreshOn401;
201
- private sigv4Signer;
202
199
  constructor(baseUrl: string, opts?: RevlmOptions);
203
200
  setToken(token: string): void;
204
201
  getToken(): string | undefined;
package/dist/index.d.ts CHANGED
@@ -5,6 +5,9 @@ import { Timestamp, Long } from 'bson';
5
5
  type RevlmErrorResponse = {
6
6
  ok: false;
7
7
  error: string;
8
+ code?: number;
9
+ status?: number;
10
+ reason?: string;
8
11
  };
9
12
  type LoginSuccess = {
10
13
  ok: true;
@@ -174,11 +177,6 @@ type RevlmOptions = {
174
177
  provisionalAuthDomain?: string;
175
178
  autoSetToken?: boolean;
176
179
  autoRefreshOn401?: boolean;
177
- sigv4SecretKey?: string;
178
- sigv4AccessKey?: string;
179
- sigv4Region?: string;
180
- sigv4Service?: string;
181
- sigv4Enabled?: boolean;
182
180
  };
183
181
  type RevlmResponse<T = any> = {
184
182
  ok: boolean;
@@ -198,7 +196,6 @@ declare class Revlm {
198
196
  private provisionalAuthDomain;
199
197
  private autoSetToken;
200
198
  private autoRefreshOn401;
201
- private sigv4Signer;
202
199
  constructor(baseUrl: string, opts?: RevlmOptions);
203
200
  setToken(token: string): void;
204
201
  getToken(): string | undefined;
package/dist/index.js CHANGED
@@ -46,8 +46,6 @@ module.exports = __toCommonJS(index_exports);
46
46
  // src/Revlm.ts
47
47
  var import_bson = require("bson");
48
48
  var import_revlm_shared = require("@kedaruma/revlm-shared");
49
- var import_signature_v4 = require("@aws-sdk/signature-v4");
50
- var import_sha256_js = require("@aws-crypto/sha256-js");
51
49
 
52
50
  // src/MdbCollection.ts
53
51
  var MdbCollection = class {
@@ -158,7 +156,6 @@ var Revlm = class {
158
156
  provisionalAuthDomain;
159
157
  autoSetToken;
160
158
  autoRefreshOn401;
161
- sigv4Signer;
162
159
  constructor(baseUrl, opts = {}) {
163
160
  if (!baseUrl) throw new Error("baseUrl is required");
164
161
  this.baseUrl = baseUrl.replace(/\/$/, "");
@@ -169,24 +166,6 @@ var Revlm = class {
169
166
  this.provisionalAuthDomain = opts.provisionalAuthDomain || "";
170
167
  this.autoSetToken = opts.autoSetToken ?? true;
171
168
  this.autoRefreshOn401 = opts.autoRefreshOn401 || false;
172
- const sigv4SecretKey = opts.sigv4SecretKey || process.env.REVLM_SIGV4_SECRET_KEY;
173
- const sigv4AccessKey = opts.sigv4AccessKey || process.env.REVLM_SIGV4_ACCESS_KEY || "revlm-access";
174
- const sigv4Region = opts.sigv4Region || process.env.REVLM_SIGV4_REGION || "revlm";
175
- const sigv4Service = opts.sigv4Service || process.env.REVLM_SIGV4_SERVICE || "revlm";
176
- const sigv4Enabled = opts.sigv4Enabled ?? true;
177
- if (sigv4Enabled) {
178
- if (!sigv4SecretKey) {
179
- throw new Error("SigV4 is enabled but REVLM_SIGV4_SECRET_KEY or opts.sigv4SecretKey is not provided");
180
- }
181
- this.sigv4Signer = new import_signature_v4.SignatureV4({
182
- credentials: { accessKeyId: sigv4AccessKey, secretAccessKey: sigv4SecretKey },
183
- region: sigv4Region,
184
- service: sigv4Service,
185
- sha256: import_sha256_js.Sha256
186
- });
187
- } else {
188
- this.sigv4Signer = null;
189
- }
190
169
  if (!this.fetchImpl) {
191
170
  throw new Error("No fetch implementation available. Provide fetchImpl in options or run in Node 18+ with global fetch.");
192
171
  }
@@ -259,32 +238,8 @@ var Revlm = class {
259
238
  const pathname = path.startsWith("http") ? new URL(path).pathname : path;
260
239
  return pathname.includes("/login") || pathname.includes("/provisional-login") || pathname.includes("/refresh-token") || pathname.includes("/verify-token");
261
240
  }
262
- async signIfNeeded(url, method, headers, body) {
263
- if (!this.sigv4Signer) {
264
- return { signedUrl: url, signedHeaders: headers };
265
- }
266
- const u = new URL(url);
267
- const signingHeaders = {
268
- host: u.host,
269
- ...headers
270
- };
271
- const reqToSign = {
272
- method,
273
- protocol: u.protocol,
274
- path: u.pathname + (u.search || ""),
275
- hostname: u.hostname,
276
- headers: signingHeaders,
277
- body: body ?? ""
278
- };
279
- if (u.port) {
280
- reqToSign.port = Number(u.port);
281
- }
282
- const signed = await this.sigv4Signer.sign(reqToSign);
283
- const signedHeaders = {};
284
- Object.entries(signed.headers || {}).forEach(([k, v]) => {
285
- signedHeaders[k] = Array.isArray(v) ? v.join(",") : String(v);
286
- });
287
- return { signedUrl: url, signedHeaders };
241
+ async signIfNeeded(_url, _method, headers, _body) {
242
+ return { signedUrl: _url, signedHeaders: headers };
288
243
  }
289
244
  async requestWithRetry(path, method = "POST", body, opts = { allowAuthRetry: false, retrying: false }) {
290
245
  const { allowAuthRetry, retrying } = opts;
@@ -431,9 +386,18 @@ var App = class {
431
386
  throw new Error("Unsupported credentials type");
432
387
  }
433
388
  const res = await this.__revlm.login(cred.email, cred.password);
389
+ console.log("### App:login res:", res);
434
390
  if (!res || !res.ok || !res.token) {
435
391
  const errMsg = res && !res.ok ? res.error : "login failed";
436
- throw new Error(errMsg);
392
+ const err = new Error(errMsg);
393
+ const anyRes = res;
394
+ if (anyRes && typeof anyRes === "object") {
395
+ if (anyRes.code !== void 0) err.code = anyRes.code;
396
+ if (anyRes.status !== void 0) err.status = anyRes.status;
397
+ if (anyRes.reason !== void 0) err.reason = anyRes.reason;
398
+ err.response = anyRes;
399
+ }
400
+ throw err;
437
401
  }
438
402
  this.__revlm.setToken(res.token);
439
403
  const user = new User(this, res.token, res.user);
package/dist/index.mjs CHANGED
@@ -1,8 +1,6 @@
1
1
  // src/Revlm.ts
2
2
  import { EJSON } from "bson";
3
3
  import { AuthClient } from "@kedaruma/revlm-shared";
4
- import { SignatureV4 } from "@aws-sdk/signature-v4";
5
- import { Sha256 } from "@aws-crypto/sha256-js";
6
4
 
7
5
  // src/MdbCollection.ts
8
6
  var MdbCollection = class {
@@ -113,7 +111,6 @@ var Revlm = class {
113
111
  provisionalAuthDomain;
114
112
  autoSetToken;
115
113
  autoRefreshOn401;
116
- sigv4Signer;
117
114
  constructor(baseUrl, opts = {}) {
118
115
  if (!baseUrl) throw new Error("baseUrl is required");
119
116
  this.baseUrl = baseUrl.replace(/\/$/, "");
@@ -124,24 +121,6 @@ var Revlm = class {
124
121
  this.provisionalAuthDomain = opts.provisionalAuthDomain || "";
125
122
  this.autoSetToken = opts.autoSetToken ?? true;
126
123
  this.autoRefreshOn401 = opts.autoRefreshOn401 || false;
127
- const sigv4SecretKey = opts.sigv4SecretKey || process.env.REVLM_SIGV4_SECRET_KEY;
128
- const sigv4AccessKey = opts.sigv4AccessKey || process.env.REVLM_SIGV4_ACCESS_KEY || "revlm-access";
129
- const sigv4Region = opts.sigv4Region || process.env.REVLM_SIGV4_REGION || "revlm";
130
- const sigv4Service = opts.sigv4Service || process.env.REVLM_SIGV4_SERVICE || "revlm";
131
- const sigv4Enabled = opts.sigv4Enabled ?? true;
132
- if (sigv4Enabled) {
133
- if (!sigv4SecretKey) {
134
- throw new Error("SigV4 is enabled but REVLM_SIGV4_SECRET_KEY or opts.sigv4SecretKey is not provided");
135
- }
136
- this.sigv4Signer = new SignatureV4({
137
- credentials: { accessKeyId: sigv4AccessKey, secretAccessKey: sigv4SecretKey },
138
- region: sigv4Region,
139
- service: sigv4Service,
140
- sha256: Sha256
141
- });
142
- } else {
143
- this.sigv4Signer = null;
144
- }
145
124
  if (!this.fetchImpl) {
146
125
  throw new Error("No fetch implementation available. Provide fetchImpl in options or run in Node 18+ with global fetch.");
147
126
  }
@@ -214,32 +193,8 @@ var Revlm = class {
214
193
  const pathname = path.startsWith("http") ? new URL(path).pathname : path;
215
194
  return pathname.includes("/login") || pathname.includes("/provisional-login") || pathname.includes("/refresh-token") || pathname.includes("/verify-token");
216
195
  }
217
- async signIfNeeded(url, method, headers, body) {
218
- if (!this.sigv4Signer) {
219
- return { signedUrl: url, signedHeaders: headers };
220
- }
221
- const u = new URL(url);
222
- const signingHeaders = {
223
- host: u.host,
224
- ...headers
225
- };
226
- const reqToSign = {
227
- method,
228
- protocol: u.protocol,
229
- path: u.pathname + (u.search || ""),
230
- hostname: u.hostname,
231
- headers: signingHeaders,
232
- body: body ?? ""
233
- };
234
- if (u.port) {
235
- reqToSign.port = Number(u.port);
236
- }
237
- const signed = await this.sigv4Signer.sign(reqToSign);
238
- const signedHeaders = {};
239
- Object.entries(signed.headers || {}).forEach(([k, v]) => {
240
- signedHeaders[k] = Array.isArray(v) ? v.join(",") : String(v);
241
- });
242
- return { signedUrl: url, signedHeaders };
196
+ async signIfNeeded(_url, _method, headers, _body) {
197
+ return { signedUrl: _url, signedHeaders: headers };
243
198
  }
244
199
  async requestWithRetry(path, method = "POST", body, opts = { allowAuthRetry: false, retrying: false }) {
245
200
  const { allowAuthRetry, retrying } = opts;
@@ -386,9 +341,18 @@ var App = class {
386
341
  throw new Error("Unsupported credentials type");
387
342
  }
388
343
  const res = await this.__revlm.login(cred.email, cred.password);
344
+ console.log("### App:login res:", res);
389
345
  if (!res || !res.ok || !res.token) {
390
346
  const errMsg = res && !res.ok ? res.error : "login failed";
391
- throw new Error(errMsg);
347
+ const err = new Error(errMsg);
348
+ const anyRes = res;
349
+ if (anyRes && typeof anyRes === "object") {
350
+ if (anyRes.code !== void 0) err.code = anyRes.code;
351
+ if (anyRes.status !== void 0) err.status = anyRes.status;
352
+ if (anyRes.reason !== void 0) err.reason = anyRes.reason;
353
+ err.response = anyRes;
354
+ }
355
+ throw err;
392
356
  }
393
357
  this.__revlm.setToken(res.token);
394
358
  const user = new User(this, res.token, res.user);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kedaruma/revlm-client",
3
- "version": "1.0.14",
3
+ "version": "1.0.22",
4
4
  "private": false,
5
5
  "description": "TypeScript client SDK for talking to the Revlm server replacement for MongoDB Realm.",
6
6
  "keywords": [
@@ -36,8 +36,6 @@
36
36
  "access": "public"
37
37
  },
38
38
  "dependencies": {
39
- "@aws-sdk/signature-v4": "^3.374.0",
40
- "@aws-crypto/sha256-js": "^5.2.0",
41
39
  "bson": "^6.10.4",
42
40
  "dotenv": "^17.2.3",
43
41
  "@kedaruma/revlm-shared": "1.0.5"