@tryvital/vital-node 3.1.99 → 3.1.101

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 (96) hide show
  1. package/api/resources/activity/client/Client.js +2 -2
  2. package/api/resources/aggregate/client/Client.d.ts +5 -5
  3. package/api/resources/aggregate/client/Client.js +6 -6
  4. package/api/resources/aggregate/client/requests/Query.d.ts +5 -5
  5. package/api/resources/body/client/Client.js +2 -2
  6. package/api/resources/devices/client/Client.js +1 -1
  7. package/api/resources/insurance/client/Client.js +2 -2
  8. package/api/resources/introspect/client/Client.js +2 -2
  9. package/api/resources/labTests/client/Client.d.ts +3 -3
  10. package/api/resources/labTests/client/Client.js +37 -37
  11. package/api/resources/labTests/client/requests/CreateLabTestRequest.d.ts +1 -1
  12. package/api/resources/labTests/client/requests/CreateOrderRequestCompatible.d.ts +1 -1
  13. package/api/resources/labTests/client/requests/RequestAppointmentRequest.d.ts +1 -1
  14. package/api/resources/link/client/Client.d.ts +10 -10
  15. package/api/resources/link/client/Client.js +24 -24
  16. package/api/resources/link/client/requests/BeginLinkTokenRequest.d.ts +1 -1
  17. package/api/resources/link/client/requests/DemoConnectionCreationPayload.d.ts +1 -1
  18. package/api/resources/link/client/requests/EmailAuthLink.d.ts +2 -2
  19. package/api/resources/link/client/requests/PasswordAuthLink.d.ts +2 -2
  20. package/api/resources/meal/client/Client.js +1 -1
  21. package/api/resources/menstrualCycle/client/Client.js +1 -1
  22. package/api/resources/profile/client/Client.js +2 -2
  23. package/api/resources/providers/client/Client.js +1 -1
  24. package/api/resources/sleep/client/Client.js +4 -4
  25. package/api/resources/team/client/Client.js +7 -7
  26. package/api/resources/testkit/client/Client.d.ts +1 -1
  27. package/api/resources/testkit/client/Client.js +3 -3
  28. package/api/resources/testkit/client/requests/RegisterTestkitRequest.d.ts +1 -1
  29. package/api/resources/user/client/Client.d.ts +3 -3
  30. package/api/resources/user/client/Client.js +19 -19
  31. package/api/resources/user/client/requests/CreateInsuranceRequest.d.ts +2 -2
  32. package/api/resources/vitals/client/Client.js +56 -56
  33. package/api/resources/workouts/client/Client.js +3 -3
  34. package/core/fetcher/Fetcher.d.ts +1 -1
  35. package/core/fetcher/getResponseBody.js +3 -0
  36. package/core/fetcher/requestWithRetries.js +13 -4
  37. package/core/schemas/Schema.d.ts +1 -0
  38. package/core/schemas/Schema.js +1 -0
  39. package/core/schemas/builders/bigint/bigint.d.ts +2 -0
  40. package/core/schemas/builders/bigint/bigint.js +50 -0
  41. package/core/schemas/builders/bigint/index.d.ts +1 -0
  42. package/core/schemas/builders/bigint/index.js +5 -0
  43. package/core/schemas/builders/index.d.ts +1 -0
  44. package/core/schemas/builders/index.js +1 -0
  45. package/core/schemas/utils/getErrorMessageForIncorrectType.js +4 -0
  46. package/dist/api/resources/activity/client/Client.js +2 -2
  47. package/dist/api/resources/aggregate/client/Client.d.ts +5 -5
  48. package/dist/api/resources/aggregate/client/Client.js +6 -6
  49. package/dist/api/resources/aggregate/client/requests/Query.d.ts +5 -5
  50. package/dist/api/resources/body/client/Client.js +2 -2
  51. package/dist/api/resources/devices/client/Client.js +1 -1
  52. package/dist/api/resources/insurance/client/Client.js +2 -2
  53. package/dist/api/resources/introspect/client/Client.js +2 -2
  54. package/dist/api/resources/labTests/client/Client.d.ts +3 -3
  55. package/dist/api/resources/labTests/client/Client.js +37 -37
  56. package/dist/api/resources/labTests/client/requests/CreateLabTestRequest.d.ts +1 -1
  57. package/dist/api/resources/labTests/client/requests/CreateOrderRequestCompatible.d.ts +1 -1
  58. package/dist/api/resources/labTests/client/requests/RequestAppointmentRequest.d.ts +1 -1
  59. package/dist/api/resources/link/client/Client.d.ts +10 -10
  60. package/dist/api/resources/link/client/Client.js +24 -24
  61. package/dist/api/resources/link/client/requests/BeginLinkTokenRequest.d.ts +1 -1
  62. package/dist/api/resources/link/client/requests/DemoConnectionCreationPayload.d.ts +1 -1
  63. package/dist/api/resources/link/client/requests/EmailAuthLink.d.ts +2 -2
  64. package/dist/api/resources/link/client/requests/PasswordAuthLink.d.ts +2 -2
  65. package/dist/api/resources/meal/client/Client.js +1 -1
  66. package/dist/api/resources/menstrualCycle/client/Client.js +1 -1
  67. package/dist/api/resources/profile/client/Client.js +2 -2
  68. package/dist/api/resources/providers/client/Client.js +1 -1
  69. package/dist/api/resources/sleep/client/Client.js +4 -4
  70. package/dist/api/resources/team/client/Client.js +7 -7
  71. package/dist/api/resources/testkit/client/Client.d.ts +1 -1
  72. package/dist/api/resources/testkit/client/Client.js +3 -3
  73. package/dist/api/resources/testkit/client/requests/RegisterTestkitRequest.d.ts +1 -1
  74. package/dist/api/resources/user/client/Client.d.ts +3 -3
  75. package/dist/api/resources/user/client/Client.js +19 -19
  76. package/dist/api/resources/user/client/requests/CreateInsuranceRequest.d.ts +2 -2
  77. package/dist/api/resources/vitals/client/Client.js +56 -56
  78. package/dist/api/resources/workouts/client/Client.js +3 -3
  79. package/dist/core/fetcher/Fetcher.d.ts +1 -1
  80. package/dist/core/fetcher/getResponseBody.js +3 -0
  81. package/dist/core/fetcher/requestWithRetries.js +13 -4
  82. package/dist/core/schemas/Schema.d.ts +1 -0
  83. package/dist/core/schemas/Schema.js +1 -0
  84. package/dist/core/schemas/builders/bigint/bigint.d.ts +2 -0
  85. package/dist/core/schemas/builders/bigint/bigint.js +50 -0
  86. package/dist/core/schemas/builders/bigint/index.d.ts +1 -0
  87. package/dist/core/schemas/builders/bigint/index.js +5 -0
  88. package/dist/core/schemas/builders/index.d.ts +1 -0
  89. package/dist/core/schemas/builders/index.js +1 -0
  90. package/dist/core/schemas/utils/getErrorMessageForIncorrectType.js +4 -0
  91. package/dist/version.d.ts +1 -1
  92. package/dist/version.js +1 -1
  93. package/package.json +1 -1
  94. package/reference.md +22 -22
  95. package/version.d.ts +1 -1
  96. package/version.js +1 -1
@@ -13,7 +13,7 @@ export declare namespace Fetcher {
13
13
  withCredentials?: boolean;
14
14
  abortSignal?: AbortSignal;
15
15
  requestType?: "json" | "file" | "bytes";
16
- responseType?: "json" | "blob" | "sse" | "streaming" | "text";
16
+ responseType?: "json" | "blob" | "sse" | "streaming" | "text" | "arrayBuffer";
17
17
  duplex?: "half";
18
18
  }
19
19
  type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError;
@@ -16,6 +16,9 @@ function getResponseBody(response, responseType) {
16
16
  if (response.body != null && responseType === "blob") {
17
17
  return yield response.blob();
18
18
  }
19
+ else if (response.body != null && responseType === "arrayBuffer") {
20
+ return yield response.arrayBuffer();
21
+ }
19
22
  else if (response.body != null && responseType === "sse") {
20
23
  return response.body;
21
24
  }
@@ -10,16 +10,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.requestWithRetries = void 0;
13
- const INITIAL_RETRY_DELAY = 1;
14
- const MAX_RETRY_DELAY = 60;
13
+ const INITIAL_RETRY_DELAY = 1000; // in milliseconds
14
+ const MAX_RETRY_DELAY = 60000; // in milliseconds
15
15
  const DEFAULT_MAX_RETRIES = 2;
16
+ const JITTER_FACTOR = 0.2; // 20% random jitter
17
+ function addJitter(delay) {
18
+ // Generate a random value between -JITTER_FACTOR and +JITTER_FACTOR
19
+ const jitterMultiplier = 1 + (Math.random() * 2 - 1) * JITTER_FACTOR;
20
+ return delay * jitterMultiplier;
21
+ }
16
22
  function requestWithRetries(requestFn, maxRetries = DEFAULT_MAX_RETRIES) {
17
23
  return __awaiter(this, void 0, void 0, function* () {
18
24
  let response = yield requestFn();
19
25
  for (let i = 0; i < maxRetries; ++i) {
20
26
  if ([408, 409, 429].includes(response.status) || response.status >= 500) {
21
- const delay = Math.min(INITIAL_RETRY_DELAY * Math.pow(2, i), MAX_RETRY_DELAY);
22
- yield new Promise((resolve) => setTimeout(resolve, delay));
27
+ // Calculate base delay using exponential backoff (in milliseconds)
28
+ const baseDelay = Math.min(INITIAL_RETRY_DELAY * Math.pow(2, i), MAX_RETRY_DELAY);
29
+ // Add jitter to the delay
30
+ const delayWithJitter = addJitter(baseDelay);
31
+ yield new Promise((resolve) => setTimeout(resolve, delayWithJitter));
23
32
  response = yield requestFn();
24
33
  }
25
34
  else {
@@ -8,6 +8,7 @@ export interface BaseSchema<Raw, Parsed> {
8
8
  getType: () => SchemaType | SchemaType;
9
9
  }
10
10
  export declare const SchemaType: {
11
+ readonly BIGINT: "bigint";
11
12
  readonly DATE: "date";
12
13
  readonly ENUM: "enum";
13
14
  readonly LIST: "list";
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SchemaType = void 0;
4
4
  exports.SchemaType = {
5
+ BIGINT: "bigint",
5
6
  DATE: "date",
6
7
  ENUM: "enum",
7
8
  LIST: "list",
@@ -0,0 +1,2 @@
1
+ import { Schema } from "../../Schema";
2
+ export declare function bigint(): Schema<string, bigint>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bigint = void 0;
4
+ const Schema_1 = require("../../Schema");
5
+ const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
6
+ const maybeSkipValidation_1 = require("../../utils/maybeSkipValidation");
7
+ const schema_utils_1 = require("../schema-utils");
8
+ function bigint() {
9
+ const baseSchema = {
10
+ parse: (raw, { breadcrumbsPrefix = [] } = {}) => {
11
+ if (typeof raw !== "string") {
12
+ return {
13
+ ok: false,
14
+ errors: [
15
+ {
16
+ path: breadcrumbsPrefix,
17
+ message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(raw, "string"),
18
+ },
19
+ ],
20
+ };
21
+ }
22
+ return {
23
+ ok: true,
24
+ value: BigInt(raw),
25
+ };
26
+ },
27
+ json: (bigint, { breadcrumbsPrefix = [] } = {}) => {
28
+ if (typeof bigint === "bigint") {
29
+ return {
30
+ ok: true,
31
+ value: bigint.toString(),
32
+ };
33
+ }
34
+ else {
35
+ return {
36
+ ok: false,
37
+ errors: [
38
+ {
39
+ path: breadcrumbsPrefix,
40
+ message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(bigint, "bigint"),
41
+ },
42
+ ],
43
+ };
44
+ }
45
+ },
46
+ getType: () => Schema_1.SchemaType.BIGINT,
47
+ };
48
+ return Object.assign(Object.assign({}, (0, maybeSkipValidation_1.maybeSkipValidation)(baseSchema)), (0, schema_utils_1.getSchemaUtils)(baseSchema));
49
+ }
50
+ exports.bigint = bigint;
@@ -0,0 +1 @@
1
+ export { bigint } from "./bigint";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bigint = void 0;
4
+ var bigint_1 = require("./bigint");
5
+ Object.defineProperty(exports, "bigint", { enumerable: true, get: function () { return bigint_1.bigint; } });
@@ -1,3 +1,4 @@
1
+ export * from "./bigint";
1
2
  export * from "./date";
2
3
  export * from "./enum";
3
4
  export * from "./lazy";
@@ -14,6 +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
+ __exportStar(require("./bigint"), exports);
17
18
  __exportStar(require("./date"), exports);
18
19
  __exportStar(require("./enum"), exports);
19
20
  __exportStar(require("./lazy"), exports);
@@ -12,9 +12,13 @@ function getTypeAsString(value) {
12
12
  if (value === null) {
13
13
  return "null";
14
14
  }
15
+ if (value instanceof BigInt) {
16
+ return "BigInt";
17
+ }
15
18
  switch (typeof value) {
16
19
  case "string":
17
20
  return `"${value}"`;
21
+ case "bigint":
18
22
  case "number":
19
23
  case "boolean":
20
24
  case "undefined":
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "3.1.99";
1
+ export declare const SDK_VERSION = "3.1.101";
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "3.1.99";
4
+ exports.SDK_VERSION = "3.1.101";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryvital/vital-node",
3
- "version": "3.1.99",
3
+ "version": "3.1.101",
4
4
  "private": false,
5
5
  "repository": "https://github.com/tryVital/vital-node",
6
6
  "main": "./index.js",
package/reference.md CHANGED
@@ -218,7 +218,7 @@ Start link token process
218
218
  ```typescript
219
219
  await client.link.startConnect({
220
220
  linkToken: "link_token",
221
- provider: Vital.Providers.Oura,
221
+ provider: "oura",
222
222
  });
223
223
  ```
224
224
 
@@ -348,8 +348,8 @@ Deprecated. Use `POST /v2/link/provider/email/{provider}` instead.
348
348
  ```typescript
349
349
  await client.link.emailAuth({
350
350
  email: "email",
351
- provider: Vital.Providers.Oura,
352
- authType: Vital.AuthType.Password,
351
+ provider: "oura",
352
+ authType: "password",
353
353
  });
354
354
  ```
355
355
 
@@ -416,8 +416,8 @@ Deprecated. Use `POST /v2/link/provider/password/{provider}` instead.
416
416
  await client.link.passwordAuth({
417
417
  username: "username",
418
418
  password: "password",
419
- provider: Vital.Providers.Oura,
420
- authType: Vital.AuthType.Password,
419
+ provider: "oura",
420
+ authType: "password",
421
421
  });
422
422
  ```
423
423
 
@@ -481,7 +481,7 @@ This endpoint generates an OAuth link for oauth provider
481
481
  <dd>
482
482
 
483
483
  ```typescript
484
- await client.link.generateOauthLink(Vital.OAuthProviders.Oura);
484
+ await client.link.generateOauthLink("oura");
485
485
  ```
486
486
 
487
487
  </dd>
@@ -552,7 +552,7 @@ This connects auth providers that are password based.
552
552
  <dd>
553
553
 
554
554
  ```typescript
555
- await client.link.connectPasswordProvider(Vital.PasswordProviders.Whoop, {
555
+ await client.link.connectPasswordProvider("whoop", {
556
556
  username: "username",
557
557
  password: "password",
558
558
  });
@@ -626,7 +626,7 @@ This connects auth providers that are password based.
626
626
  <dd>
627
627
 
628
628
  ```typescript
629
- await client.link.completePasswordProviderMfa(Vital.PasswordProviders.Whoop, {
629
+ await client.link.completePasswordProviderMfa("whoop", {
630
630
  mfaCode: "mfa_code",
631
631
  });
632
632
  ```
@@ -820,7 +820,7 @@ await client.link.getAllProviders();
820
820
  <dd>
821
821
 
822
822
  ```typescript
823
- await client.link.connectManualProvider(Vital.ManualProviders.BeurerBle, {
823
+ await client.link.connectManualProvider("beurer_ble", {
824
824
  userId: "user_id",
825
825
  });
826
826
  ```
@@ -895,7 +895,7 @@ POST Connect the given Vital user to a demo provider.
895
895
  ```typescript
896
896
  await client.link.connectDemoProvider({
897
897
  userId: "user_id",
898
- provider: Vital.DemoProviders.AppleHealthKit,
898
+ provider: "apple_health_kit",
899
899
  });
900
900
  ```
901
901
 
@@ -5836,11 +5836,11 @@ await client.user.getLatestUserInfo("user_id");
5836
5836
  await client.user.createInsurance("user_id", {
5837
5837
  payorCode: "payor_code",
5838
5838
  memberId: "member_id",
5839
- relationship: Vital.ResponsibleRelationship.Self,
5839
+ relationship: "Self",
5840
5840
  insured: {
5841
5841
  firstName: "first_name",
5842
5842
  lastName: "last_name",
5843
- gender: Vital.Gender.Female,
5843
+ gender: "female",
5844
5844
  address: {
5845
5845
  firstLine: "first_line",
5846
5846
  country: "country",
@@ -6089,7 +6089,7 @@ await client.user.getByClientUserId("client_user_id");
6089
6089
  <dd>
6090
6090
 
6091
6091
  ```typescript
6092
- await client.user.deregisterProvider("user_id", Vital.Providers.Oura);
6092
+ await client.user.deregisterProvider("user_id", "oura");
6093
6093
  ```
6094
6094
 
6095
6095
  </dd>
@@ -6883,7 +6883,7 @@ await client.labTests.get();
6883
6883
  ```typescript
6884
6884
  await client.labTests.create({
6885
6885
  name: "name",
6886
- method: Vital.LabTestCollectionMethod.Testkit,
6886
+ method: "testkit",
6887
6887
  description: "description",
6888
6888
  });
6889
6889
  ```
@@ -7457,7 +7457,7 @@ await client.labTests.requestPhlebotomyAppointment("order_id", {
7457
7457
  state: "state",
7458
7458
  zipCode: "zip_code",
7459
7459
  },
7460
- provider: Vital.AppointmentProvider.Getlabs,
7460
+ provider: "getlabs",
7461
7461
  });
7462
7462
  ```
7463
7463
 
@@ -8692,7 +8692,7 @@ await client.labTests.createOrder({
8692
8692
  firstName: "first_name",
8693
8693
  lastName: "last_name",
8694
8694
  dob: "2024-01-15T09:30:00Z",
8695
- gender: Vital.Gender.Female,
8695
+ gender: "female",
8696
8696
  phoneNumber: "phone_number",
8697
8697
  email: "email",
8698
8698
  },
@@ -8957,7 +8957,7 @@ await client.testkit.register({
8957
8957
  firstName: "first_name",
8958
8958
  lastName: "last_name",
8959
8959
  dob: "2024-01-15T09:30:00Z",
8960
- gender: Vital.Gender.Female,
8960
+ gender: "female",
8961
8961
  phoneNumber: "phone_number",
8962
8962
  email: "email",
8963
8963
  },
@@ -9200,7 +9200,7 @@ await client.aggregate.queryOne("user_id", {
9200
9200
  type: "relative",
9201
9201
  anchor: "anchor",
9202
9202
  past: {
9203
- unit: Vital.PeriodUnit.Minute,
9203
+ unit: "minute",
9204
9204
  },
9205
9205
  },
9206
9206
  instructions: [
@@ -9208,18 +9208,18 @@ await client.aggregate.queryOne("user_id", {
9208
9208
  select: [
9209
9209
  {
9210
9210
  arg: {
9211
- sleep: Vital.SleepColumnExprSleep.SessionStart,
9211
+ sleep: "session_start",
9212
9212
  },
9213
- func: Vital.AggregateExprFunc.Mean,
9213
+ func: "mean",
9214
9214
  },
9215
9215
  ],
9216
9216
  groupBy: [
9217
9217
  {
9218
9218
  dateTrunc: {
9219
- unit: Vital.PeriodUnit.Minute,
9219
+ unit: "minute",
9220
9220
  },
9221
9221
  arg: {
9222
- index: Vital.IndexColumnExprIndex.Sleep,
9222
+ index: "sleep",
9223
9223
  },
9224
9224
  },
9225
9225
  ],
package/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "3.1.99";
1
+ export declare const SDK_VERSION = "3.1.101";
package/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "3.1.99";
4
+ exports.SDK_VERSION = "3.1.101";