@alwaysmeticulous/client 2.228.0 → 2.229.0

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.
@@ -1,6 +1,6 @@
1
- import { AxiosInstance } from "axios";
1
+ import { MeticulousClient } from "../types/client.types";
2
2
  export interface GetIsLockedOptions {
3
- client: AxiosInstance;
3
+ client: MeticulousClient;
4
4
  deploymentId: string;
5
5
  }
6
6
  export declare const getIsLocked: ({ client, deploymentId, }: GetIsLockedOptions) => Promise<boolean>;
@@ -8,7 +8,7 @@ const getIsLocked = async ({ client, deploymentId, }) => {
8
8
  params: { deploymentId },
9
9
  })
10
10
  .catch((error) => {
11
- throw (0, errors_1.maybeEnrichAxiosError)(error);
11
+ throw (0, errors_1.maybeEnrichFetchError)(error);
12
12
  });
13
13
  return data;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-lock.api.js","sourceRoot":"","sources":["../../src/api/deployment-lock.api.ts"],"names":[],"mappings":";;;AACA,sCAAkD;AAO3C,MAAM,WAAW,GAAG,KAAK,EAAE,EAChC,MAAM,EACN,YAAY,GACO,EAAoB,EAAE;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAA6B,4BAA4B,EAAE;QAC7D,MAAM,EAAE,EAAE,YAAY,EAAE;KACzB,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB"}
1
+ {"version":3,"file":"deployment-lock.api.js","sourceRoot":"","sources":["../../src/api/deployment-lock.api.ts"],"names":[],"mappings":";;;AAAA,sCAAkD;AAQ3C,MAAM,WAAW,GAAG,KAAK,EAAE,EAChC,MAAM,EACN,YAAY,GACO,EAAoB,EAAE;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAA6B,4BAA4B,EAAE;QAC7D,MAAM,EAAE,EAAE,YAAY,EAAE;KACzB,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB"}
@@ -1,7 +1,7 @@
1
- import { AxiosInstance } from "axios";
1
+ import { MeticulousClient } from "../types/client.types";
2
2
  import { TestRun } from "./test-run.api";
3
3
  export interface GetBaseTestRunOptions {
4
- client: AxiosInstance;
4
+ client: MeticulousClient;
5
5
  headCommitSha: string;
6
6
  }
7
7
  export interface GitHubBaseTestRunResponse {
@@ -8,7 +8,7 @@ const getGitHubCloudReplayBaseTestRun = async ({ client, headCommitSha, }) => {
8
8
  params: { headCommitSha },
9
9
  })
10
10
  .catch((error) => {
11
- throw (0, errors_1.maybeEnrichAxiosError)(error);
11
+ throw (0, errors_1.maybeEnrichFetchError)(error);
12
12
  });
13
13
  return data;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"github-cloud-replay.api.js","sourceRoot":"","sources":["../../src/api/github-cloud-replay.api.ts"],"names":[],"mappings":";;;AACA,sCAAkD;AAa3C,MAAM,+BAA+B,GAAG,KAAK,EAAE,EACpD,MAAM,EACN,aAAa,GACS,EAAsC,EAAE;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CACF,mCAAmC,EACnC;QACE,MAAM,EAAE,EAAE,aAAa,EAAE;KAC1B,CACF;SACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhBW,QAAA,+BAA+B,mCAgB1C"}
1
+ {"version":3,"file":"github-cloud-replay.api.js","sourceRoot":"","sources":["../../src/api/github-cloud-replay.api.ts"],"names":[],"mappings":";;;AAAA,sCAAkD;AAc3C,MAAM,+BAA+B,GAAG,KAAK,EAAE,EACpD,MAAM,EACN,aAAa,GACS,EAAsC,EAAE;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CACF,mCAAmC,EACnC;QACE,MAAM,EAAE,EAAE,aAAa,EAAE;KAC1B,CACF;SACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhBW,QAAA,+BAA+B,mCAgB1C"}
@@ -1,5 +1,5 @@
1
1
  import { AssetUploadMetadata } from "@alwaysmeticulous/api";
2
- import { AxiosInstance } from "axios";
2
+ import { MeticulousClient } from "../types/client.types";
3
3
  import { TestRun } from "./test-run.api";
4
4
  export interface RequestAssetUploadParams {
5
5
  size: number;
@@ -23,15 +23,15 @@ export interface DownloadDeploymentResponse {
23
23
  metadataUrl: string;
24
24
  }
25
25
  export declare const requestAssetUpload: ({ client, ...params }: RequestAssetUploadParams & {
26
- client: AxiosInstance;
26
+ client: MeticulousClient;
27
27
  }) => Promise<RequestAssetUploadResponse>;
28
28
  export declare const triggerRunOnDeployment: ({ client, ...params }: CompleteAssetUploadParams & {
29
- client: AxiosInstance;
29
+ client: MeticulousClient;
30
30
  }) => Promise<CompleteAssetUploadResponse>;
31
31
  export declare const completeAssetUpload: ({ client, ...params }: CompleteAssetUploadParams & {
32
- client: AxiosInstance;
32
+ client: MeticulousClient;
33
33
  }) => Promise<CompleteAssetUploadResponse>;
34
34
  export declare const downloadProjectDeployment: ({ client, deploymentUploadId, }: {
35
- client: AxiosInstance;
35
+ client: MeticulousClient;
36
36
  deploymentUploadId: string;
37
37
  }) => Promise<DownloadDeploymentResponse>;
@@ -1,10 +1,10 @@
1
1
  import { Project } from "@alwaysmeticulous/api";
2
- import { AxiosInstance } from "axios";
2
+ import { MeticulousClient } from "../types/client.types";
3
3
  export interface GetRepoUrlOptions {
4
- client: AxiosInstance;
4
+ client: MeticulousClient;
5
5
  }
6
6
  export interface RepoUrlResponse {
7
7
  repoUrl: string;
8
8
  }
9
- export declare const getProject: (client: AxiosInstance) => Promise<Project | null>;
9
+ export declare const getProject: (client: MeticulousClient) => Promise<Project | null>;
10
10
  export declare const getRepoUrl: ({ client, }: GetRepoUrlOptions) => Promise<RepoUrlResponse>;
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRepoUrl = exports.getProject = void 0;
4
- const axios_1 = require("axios");
5
4
  const errors_1 = require("../errors");
6
5
  const getProject = async (client) => {
7
6
  const { data } = await client
8
7
  .get("projects/token-info")
9
8
  .catch((error) => {
10
9
  var _a;
11
- if ((0, axios_1.isAxiosError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
10
+ if ((0, errors_1.isFetchError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
12
11
  return { data: null };
13
12
  }
14
- throw (0, errors_1.maybeEnrichAxiosError)(error);
13
+ throw (0, errors_1.maybeEnrichFetchError)(error);
15
14
  });
16
15
  return data;
17
16
  };
@@ -21,7 +20,7 @@ const getRepoUrl = async ({ client, }) => {
21
20
  .get("projects/repo-url")
22
21
  .catch((error) => {
23
22
  var _a, _b;
24
- if ((0, axios_1.isAxiosError)(error)) {
23
+ if ((0, errors_1.isFetchError)(error)) {
25
24
  const errorMessage = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
26
25
  if (errorMessage) {
27
26
  throw new Error(errorMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"project.api.js","sourceRoot":"","sources":["../../src/api/project.api.ts"],"names":[],"mappings":";;;AACA,iCAAoD;AACpD,sCAAkD;AAU3C,MAAM,UAAU,GAEQ,KAAK,EAAE,MAAM,EAAE,EAAE;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAU,qBAAqB,CAAC;SACnC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB;AAEK,MAAM,UAAU,GAAG,KAAK,EAAE,EAC/B,MAAM,GACY,EAA4B,EAAE;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAqC,mBAAmB,CAAC;SAC5D,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE;YACvB,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAC;YAEnD,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;aAC/B;SACF;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB"}
1
+ {"version":3,"file":"project.api.js","sourceRoot":"","sources":["../../src/api/project.api.ts"],"names":[],"mappings":";;;AACA,sCAAgE;AAWzD,MAAM,UAAU,GAEQ,KAAK,EAAE,MAAM,EAAE,EAAE;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAU,qBAAqB,CAAC;SACnC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB;AAEK,MAAM,UAAU,GAAG,KAAK,EAAE,EAC/B,MAAM,GACY,EAA4B,EAAE;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAqC,mBAAmB,CAAC;SAC5D,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE;YACvB,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAC;YAEnD,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;aAC/B;SACF;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB"}
@@ -1,11 +1,11 @@
1
1
  import { Replay, S3Location } from "@alwaysmeticulous/api";
2
- import { AxiosInstance } from "axios";
3
- export declare const getReplay: (client: AxiosInstance, replayId: string) => Promise<Omit<Replay, "project">>;
2
+ import { MeticulousClient } from "../types/client.types";
3
+ export declare const getReplay: (client: MeticulousClient, replayId: string) => Promise<Omit<Replay, "project">>;
4
4
  export interface ReplayDownloadUrlOutput {
5
5
  replayId: string;
6
6
  dowloadUrl: string;
7
7
  }
8
- export declare const getReplayDownloadUrl: (client: AxiosInstance, replayId: string) => Promise<ReplayDownloadUrlOutput | null>;
8
+ export declare const getReplayDownloadUrl: (client: MeticulousClient, replayId: string) => Promise<ReplayDownloadUrlOutput | null>;
9
9
  export type ReplayV3UploadLocations = Record<string, S3Location> & {
10
10
  screenshots: Record<string, {
11
11
  image: S3Location;
@@ -16,4 +16,4 @@ export type ReplayV3UploadLocations = Record<string, S3Location> & {
16
16
  full: S3Location;
17
17
  }>>;
18
18
  };
19
- export declare const getReplayV3DownloadUrls: (client: AxiosInstance, replayId: string) => Promise<ReplayV3UploadLocations | null>;
19
+ export declare const getReplayV3DownloadUrls: (client: MeticulousClient, replayId: string) => Promise<ReplayV3UploadLocations | null>;
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getReplayV3DownloadUrls = exports.getReplayDownloadUrl = exports.getReplay = void 0;
4
- const axios_1 = require("axios");
5
4
  const errors_1 = require("../errors");
6
5
  const getReplay = async (client, replayId) => {
7
6
  const { data } = await client.get(`replays/${replayId}`).catch((error) => {
8
7
  var _a;
9
- if ((0, axios_1.isAxiosError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
8
+ if ((0, errors_1.isFetchError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
10
9
  return { data: null };
11
10
  }
12
- throw (0, errors_1.maybeEnrichAxiosError)(error);
11
+ throw (0, errors_1.maybeEnrichFetchError)(error);
13
12
  });
14
13
  return data;
15
14
  };
@@ -19,10 +18,10 @@ const getReplayDownloadUrl = async (client, replayId) => {
19
18
  .get(`replays/${replayId}/archive-url`)
20
19
  .catch((error) => {
21
20
  var _a;
22
- if ((0, axios_1.isAxiosError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
21
+ if ((0, errors_1.isFetchError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
23
22
  return { data: null };
24
23
  }
25
- throw (0, errors_1.maybeEnrichAxiosError)(error);
24
+ throw (0, errors_1.maybeEnrichFetchError)(error);
26
25
  });
27
26
  return data;
28
27
  };
@@ -32,10 +31,10 @@ const getReplayV3DownloadUrls = async (client, replayId) => {
32
31
  .get(`replays/${replayId}/download-urls`)
33
32
  .catch((error) => {
34
33
  var _a;
35
- if ((0, axios_1.isAxiosError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
34
+ if ((0, errors_1.isFetchError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
36
35
  return { data: null };
37
36
  }
38
- throw (0, errors_1.maybeEnrichAxiosError)(error);
37
+ throw (0, errors_1.maybeEnrichFetchError)(error);
39
38
  });
40
39
  return data;
41
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"replay.api.js","sourceRoot":"","sources":["../../src/api/replay.api.ts"],"names":[],"mappings":";;;AACA,iCAAoD;AACpD,sCAAkD;AAE3C,MAAM,SAAS,GAAG,KAAK,EAC5B,MAAqB,EACrB,QAAgB,EACkB,EAAE;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACvE,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,SAAS,aAYpB;AAOK,MAAM,oBAAoB,GAGc,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAA0B,WAAW,QAAQ,cAAc,CAAC;SAC/D,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAUK,MAAM,uBAAuB,GAGW,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAA0B,WAAW,QAAQ,gBAAgB,CAAC;SACjE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,uBAAuB,2BAclC"}
1
+ {"version":3,"file":"replay.api.js","sourceRoot":"","sources":["../../src/api/replay.api.ts"],"names":[],"mappings":";;;AACA,sCAAgE;AAGzD,MAAM,SAAS,GAAG,KAAK,EAC5B,MAAwB,EACxB,QAAgB,EACkB,EAAE;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACvE,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,SAAS,aAYpB;AAOK,MAAM,oBAAoB,GAGc,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAA0B,WAAW,QAAQ,cAAc,CAAC;SAC/D,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAUK,MAAM,uBAAuB,GAGW,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAA0B,WAAW,QAAQ,gBAAgB,CAAC;SACjE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,uBAAuB,2BAclC"}
@@ -1,6 +1,6 @@
1
1
  import { SessionData } from "@alwaysmeticulous/api";
2
- import { AxiosInstance } from "axios";
3
- export declare const getRecordedSession: (client: AxiosInstance, sessionId: string) => Promise<any>;
4
- export declare const getRecordedSessionData: (client: AxiosInstance, sessionId: string) => Promise<SessionData>;
5
- export declare const getRecordingCommandId: (client: AxiosInstance) => Promise<string>;
6
- export declare const postSessionIdNotification: (client: AxiosInstance, sessionId: string, recordingCommandId: string) => Promise<void>;
2
+ import { MeticulousClient } from "../types/client.types";
3
+ export declare const getRecordedSession: (client: MeticulousClient, sessionId: string) => Promise<any>;
4
+ export declare const getRecordedSessionData: (client: MeticulousClient, sessionId: string) => Promise<SessionData>;
5
+ export declare const getRecordingCommandId: (client: MeticulousClient) => Promise<string>;
6
+ export declare const postSessionIdNotification: (client: MeticulousClient, sessionId: string, recordingCommandId: string) => Promise<void>;
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.postSessionIdNotification = exports.getRecordingCommandId = exports.getRecordedSessionData = exports.getRecordedSession = void 0;
4
- const axios_1 = require("axios");
5
4
  const errors_1 = require("../errors");
6
5
  const getRecordedSession = async (client, sessionId) => {
7
6
  const { data } = await client.get(`sessions/${sessionId}`).catch((error) => {
8
7
  var _a;
9
- if ((0, axios_1.isAxiosError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
8
+ if ((0, errors_1.isFetchError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
10
9
  return { data: null };
11
10
  }
12
- throw (0, errors_1.maybeEnrichAxiosError)(error);
11
+ throw (0, errors_1.maybeEnrichFetchError)(error);
13
12
  });
14
13
  return data;
15
14
  };
@@ -19,10 +18,10 @@ const getRecordedSessionData = async (client, sessionId) => {
19
18
  .get(`sessions/${sessionId}/data`)
20
19
  .catch((error) => {
21
20
  var _a;
22
- if ((0, axios_1.isAxiosError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
21
+ if ((0, errors_1.isFetchError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
23
22
  return { data: null };
24
23
  }
25
- throw (0, errors_1.maybeEnrichAxiosError)(error);
24
+ throw (0, errors_1.maybeEnrichFetchError)(error);
26
25
  });
27
26
  return data;
28
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session.api.js","sourceRoot":"","sources":["../../src/api/session.api.ts"],"names":[],"mappings":";;;AACA,iCAAoD;AACpD,sCAAkD;AAE3C,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAqB,EACrB,SAAiB,EACH,EAAE;IAChB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACzE,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAqB,EACrB,SAAiB,EACK,EAAE;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAC,YAAY,SAAS,OAAO,CAAC;SACjC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEK,MAAM,qBAAqB,GAEX,KAAK,EAAE,MAAM,EAAE,EAAE;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAsC,CAAC;IACtE,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAEK,MAAM,yBAAyB,GAIjB,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE;IACnE,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,SAAS,SAAS,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC;AANW,QAAA,yBAAyB,6BAMpC"}
1
+ {"version":3,"file":"session.api.js","sourceRoot":"","sources":["../../src/api/session.api.ts"],"names":[],"mappings":";;;AACA,sCAAgE;AAGzD,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAwB,EACxB,SAAiB,EACH,EAAE;IAChB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACzE,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAwB,EACxB,SAAiB,EACK,EAAE;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAC,YAAY,SAAS,OAAO,CAAC;SACjC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QAED,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEK,MAAM,qBAAqB,GAEX,KAAK,EAAE,MAAM,EAAE,EAAE;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAsC,CAAC;IACtE,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAEK,MAAM,yBAAyB,GAIjB,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE;IACnE,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,SAAS,SAAS,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC;AANW,QAAA,yBAAyB,6BAMpC"}
@@ -1,5 +1,5 @@
1
1
  import { Project, S3Location, TestCase, TestCaseResult, TestRunStatus } from "@alwaysmeticulous/api";
2
- import { AxiosInstance } from "axios";
2
+ import { MeticulousClient } from "../types/client.types";
3
3
  export interface TestRunDataLocations {
4
4
  coverage: S3Location;
5
5
  coverageStats: S3Location;
@@ -25,7 +25,7 @@ export interface TestRun {
25
25
  url: string;
26
26
  }
27
27
  export interface ExecuteSecureTunnelTestRunOptions {
28
- client: AxiosInstance;
28
+ client: MeticulousClient;
29
29
  headSha: string;
30
30
  tunnelUrl: string;
31
31
  basicAuthUser: string;
@@ -40,22 +40,22 @@ export interface ExecuteSecureTunnelTestRunResponse {
40
40
  }
41
41
  export declare const executeSecureTunnelTestRun: ({ client, headSha, tunnelUrl, basicAuthUser, basicAuthPassword, environment, isLockable, pullRequestHostingProviderId, }: ExecuteSecureTunnelTestRunOptions) => Promise<ExecuteSecureTunnelTestRunResponse>;
42
42
  export declare const getTestRun: (options: {
43
- client: AxiosInstance;
43
+ client: MeticulousClient;
44
44
  testRunId: string;
45
45
  }) => Promise<TestRun>;
46
46
  export declare const getTestRunData: (options: {
47
- client: AxiosInstance;
47
+ client: MeticulousClient;
48
48
  testRunId: string;
49
49
  }) => Promise<TestRunDataLocations>;
50
50
  export interface GetLatestTestRunOptions {
51
- client: AxiosInstance;
51
+ client: MeticulousClient;
52
52
  commitSha: string;
53
53
  logicalEnvironmentVersion?: number;
54
54
  useCloudReplayEnvironmentVersion?: boolean;
55
55
  }
56
56
  export declare const getLatestTestRunResults: ({ client, commitSha, logicalEnvironmentVersion, useCloudReplayEnvironmentVersion, }: GetLatestTestRunOptions) => Promise<TestRun | null>;
57
57
  export declare const emitTelemetry: ({ client, values, commitSha, }: {
58
- client: AxiosInstance;
58
+ client: MeticulousClient;
59
59
  values: Record<string, number>;
60
60
  commitSha?: string;
61
61
  }) => Promise<void>;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.emitTelemetry = exports.getLatestTestRunResults = exports.getTestRunData = exports.getTestRun = exports.executeSecureTunnelTestRun = void 0;
4
- const axios_1 = require("axios");
5
4
  const errors_1 = require("../errors");
6
5
  const executeSecureTunnelTestRun = async ({ client, headSha, tunnelUrl, basicAuthUser, basicAuthPassword, environment, isLockable, pullRequestHostingProviderId, }) => {
7
6
  const { data } = await client
@@ -15,7 +14,7 @@ const executeSecureTunnelTestRun = async ({ client, headSha, tunnelUrl, basicAut
15
14
  ...(pullRequestHostingProviderId ? { pullRequestHostingProviderId } : {}),
16
15
  })
17
16
  .catch((error) => {
18
- throw (0, errors_1.maybeEnrichAxiosError)(error);
17
+ throw (0, errors_1.maybeEnrichFetchError)(error);
19
18
  });
20
19
  return data;
21
20
  };
@@ -48,7 +47,7 @@ const getLatestTestRunResults = async ({ client, commitSha, logicalEnvironmentVe
48
47
  })
49
48
  .catch((error) => {
50
49
  var _a;
51
- if (error instanceof axios_1.AxiosError && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
50
+ if ((0, errors_1.isFetchError)(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
52
51
  return { data: null };
53
52
  }
54
53
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"test-run.api.js","sourceRoot":"","sources":["../../src/api/test-run.api.ts"],"names":[],"mappings":";;;AAOA,iCAAkD;AAClD,sCAAkD;AA2C3C,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAC/C,MAAM,EACN,OAAO,EACP,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,4BAA4B,GACM,EAA+C,EAAE;IACnF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,IAAI,CAAC,6CAA6C,EAAE;QACnD,OAAO;QACP,SAAS;QACT,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,UAAU;QACV,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAA0C,CAAC;AACpD,CAAC,CAAC;AAxBW,QAAA,0BAA0B,8BAwBrC;AAEK,MAAM,UAAU,GAGE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,aAAa,SAAS,EAAE,CACzB,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB;AAEK,MAAM,cAAc,GAGW,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,aAAa,SAAS,OAAO,CAC9B,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AASK,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC5C,MAAM,EACN,SAAS,EACT,yBAAyB,EACzB,gCAAgC,GACR,EAA2B,EAAE;;IACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAC,iBAAiB,EAAE;QACtB,MAAM,EAAE;YACN,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;YACxC,GAAG,CAAC,yBAAyB;gBAC3B,CAAC,CAAC;oBACE,yBAAyB,EAAE,kBAAkB,CAC3C,yBAAyB,CAC1B;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,gCAAgC;gBAClC,CAAC,CAAC,EAAE,gCAAgC,EAAE,IAAI,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,KAAK,YAAY,kBAAU,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACjE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACL,OAAO,MAAC,IAAuB,mCAAI,IAAI,CAAC;AAC1C,CAAC,CAAC;AA7BW,QAAA,uBAAuB,2BA6BlC;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,MAAM,EACN,MAAM,EACN,SAAS,GAKV,EAAiB,EAAE;IAClB,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB"}
1
+ {"version":3,"file":"test-run.api.js","sourceRoot":"","sources":["../../src/api/test-run.api.ts"],"names":[],"mappings":";;;AAOA,sCAAgE;AA4CzD,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAC/C,MAAM,EACN,OAAO,EACP,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,4BAA4B,GACM,EAA+C,EAAE;IACnF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,IAAI,CAAC,6CAA6C,EAAE;QACnD,OAAO;QACP,SAAS;QACT,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,UAAU;QACV,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAA,8BAAqB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,IAA0C,CAAC;AACpD,CAAC,CAAC;AAxBW,QAAA,0BAA0B,8BAwBrC;AAEK,MAAM,UAAU,GAGE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,aAAa,SAAS,EAAE,CACzB,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB;AAEK,MAAM,cAAc,GAGW,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,aAAa,SAAS,OAAO,CAC9B,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AASK,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC5C,MAAM,EACN,SAAS,EACT,yBAAyB,EACzB,gCAAgC,GACR,EAA2B,EAAE;;IACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM;SAC1B,GAAG,CAAC,iBAAiB,EAAE;QACtB,MAAM,EAAE;YACN,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC;YACxC,GAAG,CAAC,yBAAyB;gBAC3B,CAAC,CAAC;oBACE,yBAAyB,EAAE,kBAAkB,CAC3C,yBAAyB,CAC1B;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,gCAAgC;gBAClC,CAAC,CAAC,EAAE,gCAAgC,EAAE,IAAI,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;;QACf,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACvB;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACL,OAAO,MAAC,IAAuB,mCAAI,IAAI,CAAC;AAC1C,CAAC,CAAC;AA7BW,QAAA,uBAAuB,2BA6BlC;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,MAAM,EACN,MAAM,EACN,SAAS,GAKV,EAAiB,EAAE;IAClB,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB"}
package/dist/client.d.ts CHANGED
@@ -1,5 +1,15 @@
1
- import { AxiosInstance } from "axios";
1
+ import log from "loglevel";
2
+ import { RequestInit } from "node-fetch";
3
+ import { MeticulousClient, RequestConfig, Response } from "./types/client.types";
2
4
  export interface ClientOptions {
3
5
  apiToken: string | null | undefined;
4
6
  }
5
- export declare const createClient: (options: ClientOptions) => AxiosInstance;
7
+ export interface MakeRequestOptions {
8
+ url: string;
9
+ headers: Record<string, string>;
10
+ options: RequestInit;
11
+ config: RequestConfig<any>;
12
+ logger: log.Logger;
13
+ }
14
+ export declare const makeRequest: <T>(requestOptions: MakeRequestOptions) => Promise<Response<T>>;
15
+ export declare const createClient: (options: ClientOptions) => MeticulousClient;
package/dist/client.js CHANGED
@@ -3,36 +3,120 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createClient = void 0;
6
+ exports.createClient = exports.makeRequest = void 0;
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
- const axios_1 = __importDefault(require("axios"));
9
- const axios_retry_1 = __importDefault(require("axios-retry"));
10
8
  const loglevel_1 = __importDefault(require("loglevel"));
9
+ const node_fetch_1 = __importDefault(require("node-fetch"));
11
10
  const api_token_utils_1 = require("./api-token.utils");
12
11
  const get_proxy_agent_1 = require("./utils/get-proxy-agent");
12
+ const DEFAULT_TIMEOUT = 60000;
13
13
  const BASE_API_URL = "https://app.meticulous.ai/api/";
14
+ const makeSingleRequest = async (url, options, timeout) => {
15
+ const controller = new AbortController();
16
+ const timeoutId = setTimeout(() => {
17
+ controller.abort();
18
+ }, timeout !== null && timeout !== void 0 ? timeout : DEFAULT_TIMEOUT);
19
+ const response = await (0, node_fetch_1.default)(url, {
20
+ ...options,
21
+ signal: controller.signal,
22
+ });
23
+ clearTimeout(timeoutId);
24
+ const responseHeaders = {};
25
+ response.headers.forEach((value, key) => {
26
+ responseHeaders[key] = value;
27
+ });
28
+ let data;
29
+ const contentType = response.headers.get("content-type");
30
+ if (contentType && contentType.includes("application/json")) {
31
+ data = (await response.json());
32
+ }
33
+ else {
34
+ data = (await response.text());
35
+ }
36
+ if (!response.ok) {
37
+ const error = new Error(`HTTP ${response.status}: ${response.statusText}`);
38
+ error.response = {
39
+ status: response.status,
40
+ statusText: response.statusText,
41
+ data,
42
+ headers: responseHeaders,
43
+ };
44
+ error.config = { url, ...options };
45
+ throw error;
46
+ }
47
+ return {
48
+ data,
49
+ status: response.status,
50
+ statusText: response.statusText,
51
+ headers: responseHeaders,
52
+ };
53
+ };
54
+ const combineUrls = (baseUrl, path) => {
55
+ const base = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
56
+ const relativePath = path.startsWith("/") ? path.slice(1) : path;
57
+ return `${base}/${relativePath}`;
58
+ };
59
+ const makeRequest = async (requestOptions) => {
60
+ const { url, headers, options, config = {}, logger } = requestOptions;
61
+ let finalUrl = combineUrls(getApiUrl(), url);
62
+ const finalHeaders = {
63
+ "Content-Type": "application/json",
64
+ ...headers,
65
+ ...config.headers,
66
+ ...options.headers,
67
+ };
68
+ if (config.params) {
69
+ const urlWithParams = new URL(finalUrl);
70
+ Object.entries(config.params).forEach(([key, value]) => {
71
+ if (value !== undefined && value !== null) {
72
+ urlWithParams.searchParams.append(key, String(value));
73
+ }
74
+ });
75
+ finalUrl = urlWithParams.toString();
76
+ }
77
+ const requestInit = {
78
+ ...options,
79
+ headers: finalHeaders,
80
+ agent: (0, get_proxy_agent_1.getProxyAgent)(),
81
+ };
82
+ return await (0, common_1.executeWithRetry)(() => makeSingleRequest(finalUrl, requestInit, config.timeout), {
83
+ shouldRetry: common_1.defaultShouldRetry,
84
+ logger,
85
+ });
86
+ };
87
+ exports.makeRequest = makeRequest;
14
88
  const createClient = ({ apiToken: apiToken_, }) => {
89
+ const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
15
90
  const apiToken = (0, api_token_utils_1.getApiToken)(apiToken_);
16
91
  if (!apiToken) {
17
- const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
18
92
  logger.error("You must provide an API token by using the --apiToken parameter");
19
93
  process.exit(1);
20
94
  }
21
- const client = axios_1.default.create({
22
- baseURL: getApiUrl(),
23
- headers: {
95
+ const makeRequestWithToken = async (url, options = {}, config) => {
96
+ const headers = {
24
97
  authorization: apiToken,
98
+ };
99
+ return (0, exports.makeRequest)({
100
+ url,
101
+ headers,
102
+ options,
103
+ config: config || {},
104
+ logger,
105
+ });
106
+ };
107
+ return {
108
+ get: (url, config) => {
109
+ return makeRequestWithToken(url, { method: "GET" }, config);
25
110
  },
26
- // 60 seconds default timeout
27
- timeout: 60000,
28
- httpsAgent: (0, get_proxy_agent_1.getProxyAgent)(),
29
- httpAgent: (0, get_proxy_agent_1.getProxyAgent)(),
30
- });
31
- (0, axios_retry_1.default)(client, {
32
- retries: 3,
33
- retryDelay: (retryCount) => retryCount * 1000,
34
- });
35
- return client;
111
+ post: (url, data) => {
112
+ const body = data !== undefined ? JSON.stringify(data) : undefined;
113
+ const requestOptions = { method: "POST" };
114
+ if (body !== undefined) {
115
+ requestOptions.body = body;
116
+ }
117
+ return makeRequestWithToken(url, requestOptions);
118
+ },
119
+ };
36
120
  };
37
121
  exports.createClient = createClient;
38
122
  const getApiUrl = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAkE;AAClE,kDAA6C;AAC7C,8DAAqC;AACrC,wDAA2B;AAC3B,uDAAgD;AAChD,6DAAwD;AAExD,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAM/C,MAAM,YAAY,GAA8C,CAAC,EACtE,QAAQ,EAAE,SAAS,GACpB,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAA,6BAAW,EAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CACV,iEAAiE,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,SAAS,EAAE;QACpB,OAAO,EAAE;YACP,aAAa,EAAE,QAAQ;SACxB;QACD,6BAA6B;QAC7B,OAAO,EAAE,KAAM;QACf,UAAU,EAAE,IAAA,+BAAa,GAAE;QAC3B,SAAS,EAAE,IAAA,+BAAa,GAAE;KAC3B,CAAC,CAAC;IACH,IAAA,qBAAU,EAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI;KAC9C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA3BW,QAAA,YAAY,gBA2BvB;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;KAC1C;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1 +1,14 @@
1
- export declare const maybeEnrichAxiosError: <T = unknown>(error: T) => T;
1
+ export interface FetchError extends Error {
2
+ response?: {
3
+ status: number;
4
+ statusText: string;
5
+ data: any;
6
+ headers: Record<string, string>;
7
+ } | undefined;
8
+ config?: {
9
+ url: string;
10
+ method?: string;
11
+ } | undefined;
12
+ }
13
+ export declare const isFetchError: (error: any) => error is FetchError;
14
+ export declare const maybeEnrichFetchError: <T = unknown>(error: T) => T;
package/dist/errors.js CHANGED
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maybeEnrichAxiosError = void 0;
4
- const axios_1 = require("axios");
5
- const maybeEnrichAxiosError = (error) => {
6
- if ((0, axios_1.isAxiosError)(error)) {
7
- return enrichAxiosError(error);
3
+ exports.maybeEnrichFetchError = exports.isFetchError = void 0;
4
+ const isFetchError = (error) => {
5
+ return error && typeof error === "object" && error.response;
6
+ };
7
+ exports.isFetchError = isFetchError;
8
+ const maybeEnrichFetchError = (error) => {
9
+ if ((0, exports.isFetchError)(error)) {
10
+ return enrichFetchError(error);
8
11
  }
9
12
  return error;
10
13
  };
11
- exports.maybeEnrichAxiosError = maybeEnrichAxiosError;
12
- const enrichAxiosError = (error) => {
14
+ exports.maybeEnrichFetchError = maybeEnrichFetchError;
15
+ const enrichFetchError = (error) => {
13
16
  var _a, _b, _c, _d;
14
17
  const errorMessage = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
15
18
  const requestAndResponse = requestAndResponseToString((_c = error.config) !== null && _c !== void 0 ? _c : null, (_d = error.response) !== null && _d !== void 0 ? _d : null);
@@ -26,10 +29,13 @@ const enrichAxiosError = (error) => {
26
29
  if (!message) {
27
30
  return error;
28
31
  }
29
- return new axios_1.AxiosError(message, error.code, error.config, error.request, error.response);
32
+ const newError = new Error(message);
33
+ newError.response = error.response;
34
+ newError.config = error.config;
35
+ return newError;
30
36
  };
31
37
  const requestAndResponseToString = (request, response) => {
32
- if (!request || !request.url || !request.method) {
38
+ if (!request || !request.url) {
33
39
  return "";
34
40
  }
35
41
  if (response == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,5 +7,8 @@ export { ExecuteSecureTunnelTestRunOptions, executeSecureTunnelTestRun, getTestR
7
7
  export { GetIsLockedOptions, getIsLocked } from "./api/deployment-lock.api";
8
8
  export { IN_PROGRESS_TEST_RUN_STATUS } from "./api/test-run.constants";
9
9
  export { getApiToken } from "./api-token.utils";
10
- export { ClientOptions, createClient } from "./client";
10
+ export { ClientOptions, createClient, makeRequest } from "./client";
11
+ export type { MeticulousClient } from "./types/client.types";
12
+ export { getProxyAgent } from "./utils/get-proxy-agent";
11
13
  export { RequestAssetUploadParams, RequestAssetUploadResponse, requestAssetUpload, CompleteAssetUploadParams, CompleteAssetUploadResponse, completeAssetUpload, DownloadDeploymentResponse, downloadProjectDeployment, } from "./api/project-deployments.api";
14
+ export { isFetchError } from "./errors";
package/dist/index.js CHANGED
@@ -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.downloadProjectDeployment = exports.completeAssetUpload = exports.requestAssetUpload = exports.createClient = exports.getApiToken = exports.IN_PROGRESS_TEST_RUN_STATUS = exports.getIsLocked = exports.emitTelemetry = exports.getLatestTestRunResults = exports.getTestRunData = exports.getTestRun = exports.executeSecureTunnelTestRun = exports.postSessionIdNotification = exports.getRecordingCommandId = exports.getRecordedSessionData = exports.getRecordedSession = exports.getReplayV3DownloadUrls = exports.getReplayDownloadUrl = exports.getReplay = exports.getRepoUrl = exports.getProject = void 0;
17
+ exports.isFetchError = exports.downloadProjectDeployment = exports.completeAssetUpload = exports.requestAssetUpload = exports.getProxyAgent = exports.makeRequest = exports.createClient = exports.getApiToken = exports.IN_PROGRESS_TEST_RUN_STATUS = exports.getIsLocked = exports.emitTelemetry = exports.getLatestTestRunResults = exports.getTestRunData = exports.getTestRun = exports.executeSecureTunnelTestRun = exports.postSessionIdNotification = exports.getRecordingCommandId = exports.getRecordedSessionData = exports.getRecordedSession = exports.getReplayV3DownloadUrls = exports.getReplayDownloadUrl = exports.getReplay = exports.getRepoUrl = exports.getProject = void 0;
18
18
  __exportStar(require("./api/github-cloud-replay.api"), exports);
19
19
  var project_api_1 = require("./api/project.api");
20
20
  Object.defineProperty(exports, "getProject", { enumerable: true, get: function () { return project_api_1.getProject; } });
@@ -42,8 +42,13 @@ var api_token_utils_1 = require("./api-token.utils");
42
42
  Object.defineProperty(exports, "getApiToken", { enumerable: true, get: function () { return api_token_utils_1.getApiToken; } });
43
43
  var client_1 = require("./client");
44
44
  Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return client_1.createClient; } });
45
+ Object.defineProperty(exports, "makeRequest", { enumerable: true, get: function () { return client_1.makeRequest; } });
46
+ var get_proxy_agent_1 = require("./utils/get-proxy-agent");
47
+ Object.defineProperty(exports, "getProxyAgent", { enumerable: true, get: function () { return get_proxy_agent_1.getProxyAgent; } });
45
48
  var project_deployments_api_1 = require("./api/project-deployments.api");
46
49
  Object.defineProperty(exports, "requestAssetUpload", { enumerable: true, get: function () { return project_deployments_api_1.requestAssetUpload; } });
47
50
  Object.defineProperty(exports, "completeAssetUpload", { enumerable: true, get: function () { return project_deployments_api_1.completeAssetUpload; } });
48
51
  Object.defineProperty(exports, "downloadProjectDeployment", { enumerable: true, get: function () { return project_deployments_api_1.downloadProjectDeployment; } });
52
+ var errors_1 = require("./errors");
53
+ Object.defineProperty(exports, "isFetchError", { enumerable: true, get: function () { return errors_1.isFetchError; } });
49
54
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,iDAA2D;AAAlD,yGAAA,UAAU,OAAA;AAAE,yGAAA,UAAU,OAAA;AAE/B,+CAI0B;AAHxB,uGAAA,SAAS,OAAA;AACT,kHAAA,oBAAoB,OAAA;AACpB,qHAAA,uBAAuB,OAAA;AAEzB,iDAK2B;AAJzB,iHAAA,kBAAkB,OAAA;AAClB,qHAAA,sBAAsB,OAAA;AACtB,oHAAA,qBAAqB,OAAA;AACrB,wHAAA,yBAAyB,OAAA;AAE3B,mDAS4B;AAP1B,0HAAA,0BAA0B,OAAA;AAC1B,0GAAA,UAAU,OAAA;AACV,8GAAA,cAAc,OAAA;AAEd,uHAAA,uBAAuB,OAAA;AAEvB,6GAAA,aAAa,OAAA;AAEf,iEAA4E;AAA/C,kHAAA,WAAW,OAAA;AACxC,+DAAuE;AAA9D,iIAAA,2BAA2B,OAAA;AACpC,qDAAgD;AAAvC,8GAAA,WAAW,OAAA;AACpB,mCAAuD;AAA/B,sGAAA,YAAY,OAAA;AACpC,yEASuC;AANrC,6HAAA,kBAAkB,OAAA;AAGlB,8HAAA,mBAAmB,OAAA;AAEnB,oIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,iDAA2D;AAAlD,yGAAA,UAAU,OAAA;AAAE,yGAAA,UAAU,OAAA;AAE/B,+CAI0B;AAHxB,uGAAA,SAAS,OAAA;AACT,kHAAA,oBAAoB,OAAA;AACpB,qHAAA,uBAAuB,OAAA;AAEzB,iDAK2B;AAJzB,iHAAA,kBAAkB,OAAA;AAClB,qHAAA,sBAAsB,OAAA;AACtB,oHAAA,qBAAqB,OAAA;AACrB,wHAAA,yBAAyB,OAAA;AAE3B,mDAS4B;AAP1B,0HAAA,0BAA0B,OAAA;AAC1B,0GAAA,UAAU,OAAA;AACV,8GAAA,cAAc,OAAA;AAEd,uHAAA,uBAAuB,OAAA;AAEvB,6GAAA,aAAa,OAAA;AAEf,iEAA4E;AAA/C,kHAAA,WAAW,OAAA;AACxC,+DAAuE;AAA9D,iIAAA,2BAA2B,OAAA;AACpC,qDAAgD;AAAvC,8GAAA,WAAW,OAAA;AACpB,mCAAoE;AAA5C,sGAAA,YAAY,OAAA;AAAE,qGAAA,WAAW,OAAA;AAEjD,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,yEASuC;AANrC,6HAAA,kBAAkB,OAAA;AAGlB,8HAAA,mBAAmB,OAAA;AAEnB,oIAAA,yBAAyB,OAAA;AAE3B,mCAAwC;AAA/B,sGAAA,YAAY,OAAA"}
@@ -0,0 +1,17 @@
1
+ export interface RequestConfig<D> {
2
+ headers?: Record<string, string>;
3
+ params?: Record<string, any>;
4
+ timeout?: number;
5
+ signal?: AbortSignal;
6
+ data?: D;
7
+ }
8
+ export interface Response<T = any> {
9
+ data: T;
10
+ status: number;
11
+ statusText: string;
12
+ headers: Record<string, string>;
13
+ }
14
+ export interface MeticulousClient {
15
+ get<T = any, R = Response<T>>(url: string, config?: RequestConfig<any>): Promise<R>;
16
+ post<T = any, R = Response<any>>(url: string, data?: T): Promise<R>;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=client.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.types.js","sourceRoot":"","sources":["../../src/types/client.types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/client",
3
- "version": "2.228.0",
3
+ "version": "2.229.0",
4
4
  "description": "Helper methods for using the Meticulous backend API",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -20,10 +20,9 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@alwaysmeticulous/api": "^2.227.1",
23
- "@alwaysmeticulous/common": "^2.227.1",
24
- "axios": "^1.7.9",
25
- "axios-retry": "^4.5.0",
23
+ "@alwaysmeticulous/common": "^2.229.0",
26
24
  "loglevel": "^1.8.0",
25
+ "node-fetch": "^2.6.9",
27
26
  "proxy-agent": "^6.4.0"
28
27
  },
29
28
  "author": {
@@ -43,5 +42,5 @@
43
42
  "bugs": {
44
43
  "url": "https://github.com/alwaysmeticulous/meticulous-sdk/issues"
45
44
  },
46
- "gitHead": "d610e23f1cd9ced5f47d381ed247c64df3082d85"
45
+ "gitHead": "9a50b4104a7b2ee782f47ab901f002b0610350de"
47
46
  }