@roarkanalytics/sdk 2.21.0 → 2.21.1
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/CHANGELOG.md +8 -0
- package/README.md +83 -45
- package/api-promise.d.mts +47 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +47 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +84 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +80 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +201 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +201 -0
- package/client.d.ts.map +1 -0
- package/client.js +454 -0
- package/client.js.map +1 -0
- package/client.mjs +427 -0
- package/client.mjs.map +1 -0
- package/error.d.mts +47 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +1 -1
- package/error.d.ts.map +1 -1
- package/error.js +2 -2
- package/error.js.map +1 -1
- package/error.mjs +1 -1
- package/error.mjs.map +1 -1
- package/index.d.mts +4 -130
- package/index.d.mts.map +1 -0
- package/index.d.ts +4 -130
- package/index.d.ts.map +1 -1
- package/index.js +10 -128
- package/index.js.map +1 -1
- package/index.mjs +4 -102
- package/index.mjs.map +1 -1
- package/internal/builtin-types.d.mts +65 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +65 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +26 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +21 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +21 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +21 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +77 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +72 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +10 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +10 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +28 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +24 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/polyfill/crypto.node.d.ts +10 -0
- package/internal/polyfill/crypto.node.js +11 -0
- package/internal/polyfill/crypto.node.mjs +2 -0
- package/internal/polyfill/file.node.d.ts +9 -0
- package/internal/polyfill/file.node.js +17 -0
- package/internal/polyfill/file.node.mjs +9 -0
- package/internal/qs/formats.d.mts +6 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/utils.d.mts +14 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/request-options.d.mts +34 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +34 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +39 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +34 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +28 -0
- package/internal/shim-types.d.ts +28 -0
- package/internal/shims.d.mts +61 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +61 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +101 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +92 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/types.d.mts +68 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +68 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +73 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +73 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +208 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +200 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +33 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +28 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +4 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +4 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +47 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +43 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +15 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +11 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +15 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +15 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +100 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +84 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +7 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +7 -0
- package/internal/utils.d.ts.map +1 -0
- package/{_shims/auto/runtime-bun.js → internal/utils.js} +8 -5
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +83 -66
- package/resource.d.mts +6 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -2
- package/resource.d.ts.map +1 -1
- package/resource.js.map +1 -1
- package/resource.mjs.map +1 -1
- package/resources/call.d.mts +1197 -0
- package/resources/call.d.mts.map +1 -0
- package/resources/call.d.ts +13 -24
- package/resources/call.d.ts.map +1 -1
- package/resources/call.js +15 -15
- package/resources/call.js.map +1 -1
- package/resources/call.mjs +15 -15
- package/resources/call.mjs.map +1 -1
- package/resources/evaluation.d.mts +1295 -0
- package/resources/evaluation.d.mts.map +1 -0
- package/resources/evaluation.d.ts +13 -26
- package/resources/evaluation.d.ts.map +1 -1
- package/resources/evaluation.js +13 -13
- package/resources/evaluation.js.map +1 -1
- package/resources/evaluation.mjs +13 -13
- package/resources/evaluation.mjs.map +1 -1
- package/resources/health.d.mts +29 -0
- package/resources/health.d.mts.map +1 -0
- package/resources/health.d.ts +3 -2
- package/resources/health.d.ts.map +1 -1
- package/resources/health.js.map +1 -1
- package/resources/health.mjs.map +1 -1
- package/resources/index.d.mts +8 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/integrations.d.mts +81 -0
- package/resources/integrations.d.mts.map +1 -0
- package/resources/integrations.d.ts +8 -40
- package/resources/integrations.d.ts.map +1 -1
- package/resources/integrations.js +0 -25
- package/resources/integrations.js.map +1 -1
- package/resources/integrations.mjs +0 -25
- package/resources/integrations.mjs.map +1 -1
- package/resources/metric.d.mts +75 -0
- package/resources/metric.d.mts.map +1 -0
- package/resources/metric.d.ts +3 -2
- package/resources/metric.d.ts.map +1 -1
- package/resources/metric.js.map +1 -1
- package/resources/metric.mjs.map +1 -1
- package/resources/persona.d.mts +491 -0
- package/resources/persona.d.mts.map +1 -0
- package/resources/persona.d.ts +13 -51
- package/resources/persona.d.ts.map +1 -1
- package/resources/persona.js +10 -26
- package/resources/persona.js.map +1 -1
- package/resources/persona.mjs +10 -26
- package/resources/persona.mjs.map +1 -1
- package/resources/simulation.d.mts +756 -0
- package/resources/simulation.d.mts.map +1 -0
- package/resources/simulation.d.ts +11 -58
- package/resources/simulation.d.ts.map +1 -1
- package/resources/simulation.js +13 -43
- package/resources/simulation.js.map +1 -1
- package/resources/simulation.mjs +13 -43
- package/resources/simulation.mjs.map +1 -1
- package/src/api-promise.ts +92 -0
- package/src/client.ts +751 -0
- package/src/error.ts +1 -1
- package/src/index.ts +4 -307
- package/src/internal/builtin-types.ts +79 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +22 -0
- package/src/internal/headers.ts +96 -0
- package/src/internal/parse.ts +41 -0
- package/src/internal/polyfill/crypto.node.d.ts +10 -0
- package/src/internal/polyfill/crypto.node.js +11 -0
- package/src/internal/polyfill/crypto.node.mjs +2 -0
- package/src/internal/polyfill/file.node.d.ts +9 -0
- package/src/internal/polyfill/file.node.js +17 -0
- package/src/internal/polyfill/file.node.mjs +9 -0
- package/src/internal/request-options.ts +67 -0
- package/src/internal/shim-types.d.ts +28 -0
- package/src/internal/shims.ts +145 -0
- package/src/internal/types.ts +98 -0
- package/src/internal/uploads.ts +307 -0
- package/src/internal/utils/base64.ts +37 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +49 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +13 -0
- package/src/internal/utils/values.ts +94 -0
- package/src/internal/utils.ts +8 -0
- package/src/resource.ts +2 -2
- package/src/resources/call.ts +22 -42
- package/src/resources/evaluation.ts +25 -42
- package/src/resources/health.ts +3 -2
- package/src/resources/integrations.ts +10 -34
- package/src/resources/metric.ts +3 -2
- package/src/resources/persona.ts +22 -61
- package/src/resources/simulation.ts +22 -84
- package/src/tsconfig.json +2 -2
- package/src/uploads.ts +1 -255
- package/src/version.ts +1 -1
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +1 -74
- package/uploads.d.ts.map +1 -1
- package/uploads.js +3 -168
- package/uploads.js.map +1 -1
- package/uploads.mjs +1 -157
- package/uploads.mjs.map +1 -1
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/_shims/MultipartBody.d.ts +0 -9
- package/_shims/MultipartBody.d.ts.map +0 -1
- package/_shims/MultipartBody.js +0 -16
- package/_shims/MultipartBody.js.map +0 -1
- package/_shims/MultipartBody.mjs +0 -12
- package/_shims/MultipartBody.mjs.map +0 -1
- package/_shims/README.md +0 -46
- package/_shims/auto/runtime-bun.d.ts +0 -5
- package/_shims/auto/runtime-bun.d.ts.map +0 -1
- package/_shims/auto/runtime-bun.js.map +0 -1
- package/_shims/auto/runtime-bun.mjs +0 -2
- package/_shims/auto/runtime-bun.mjs.map +0 -1
- package/_shims/auto/runtime-node.d.ts +0 -5
- package/_shims/auto/runtime-node.d.ts.map +0 -1
- package/_shims/auto/runtime-node.js +0 -21
- package/_shims/auto/runtime-node.js.map +0 -1
- package/_shims/auto/runtime-node.mjs +0 -2
- package/_shims/auto/runtime-node.mjs.map +0 -1
- package/_shims/auto/runtime.d.ts +0 -5
- package/_shims/auto/runtime.d.ts.map +0 -1
- package/_shims/auto/runtime.js +0 -21
- package/_shims/auto/runtime.js.map +0 -1
- package/_shims/auto/runtime.mjs +0 -2
- package/_shims/auto/runtime.mjs.map +0 -1
- package/_shims/auto/types-node.d.ts +0 -5
- package/_shims/auto/types-node.d.ts.map +0 -1
- package/_shims/auto/types-node.js +0 -21
- package/_shims/auto/types-node.js.map +0 -1
- package/_shims/auto/types-node.mjs +0 -2
- package/_shims/auto/types-node.mjs.map +0 -1
- package/_shims/auto/types.d.ts +0 -101
- package/_shims/auto/types.js +0 -3
- package/_shims/auto/types.mjs +0 -3
- package/_shims/bun-runtime.d.ts +0 -6
- package/_shims/bun-runtime.d.ts.map +0 -1
- package/_shims/bun-runtime.js +0 -14
- package/_shims/bun-runtime.js.map +0 -1
- package/_shims/bun-runtime.mjs +0 -10
- package/_shims/bun-runtime.mjs.map +0 -1
- package/_shims/index.d.ts +0 -83
- package/_shims/index.js +0 -17
- package/_shims/index.mjs +0 -11
- package/_shims/manual-types.d.ts +0 -12
- package/_shims/manual-types.js +0 -3
- package/_shims/manual-types.mjs +0 -3
- package/_shims/node-runtime.d.ts +0 -3
- package/_shims/node-runtime.d.ts.map +0 -1
- package/_shims/node-runtime.js +0 -89
- package/_shims/node-runtime.js.map +0 -1
- package/_shims/node-runtime.mjs +0 -56
- package/_shims/node-runtime.mjs.map +0 -1
- package/_shims/node-types.d.ts +0 -42
- package/_shims/node-types.js +0 -3
- package/_shims/node-types.mjs +0 -3
- package/_shims/registry.d.ts +0 -37
- package/_shims/registry.d.ts.map +0 -1
- package/_shims/registry.js +0 -41
- package/_shims/registry.js.map +0 -1
- package/_shims/registry.mjs +0 -37
- package/_shims/registry.mjs.map +0 -1
- package/_shims/web-runtime.d.ts +0 -5
- package/_shims/web-runtime.d.ts.map +0 -1
- package/_shims/web-runtime.js +0 -78
- package/_shims/web-runtime.js.map +0 -1
- package/_shims/web-runtime.mjs +0 -71
- package/_shims/web-runtime.mjs.map +0 -1
- package/_shims/web-types.d.ts +0 -83
- package/_shims/web-types.js +0 -3
- package/_shims/web-types.mjs +0 -3
- package/core.d.ts +0 -255
- package/core.d.ts.map +0 -1
- package/core.js +0 -929
- package/core.js.map +0 -1
- package/core.mjs +0 -897
- package/core.mjs.map +0 -1
- package/resources.d.ts +0 -2
- package/resources.d.ts.map +0 -1
- package/resources.js +0 -18
- package/resources.js.map +0 -1
- package/resources.mjs +0 -2
- package/resources.mjs.map +0 -1
- package/shims/node.d.ts +0 -30
- package/shims/node.d.ts.map +0 -1
- package/shims/node.js +0 -31
- package/shims/node.js.map +0 -1
- package/shims/node.mjs +0 -5
- package/shims/node.mjs.map +0 -1
- package/shims/web.d.ts +0 -26
- package/shims/web.d.ts.map +0 -1
- package/shims/web.js +0 -31
- package/shims/web.js.map +0 -1
- package/shims/web.mjs +0 -5
- package/shims/web.mjs.map +0 -1
- package/src/_shims/MultipartBody.ts +0 -9
- package/src/_shims/README.md +0 -46
- package/src/_shims/auto/runtime-bun.ts +0 -4
- package/src/_shims/auto/runtime-node.ts +0 -4
- package/src/_shims/auto/runtime.ts +0 -4
- package/src/_shims/auto/types-node.ts +0 -4
- package/src/_shims/auto/types.d.ts +0 -101
- package/src/_shims/auto/types.js +0 -3
- package/src/_shims/auto/types.mjs +0 -3
- package/src/_shims/bun-runtime.ts +0 -14
- package/src/_shims/index.d.ts +0 -83
- package/src/_shims/index.js +0 -17
- package/src/_shims/index.mjs +0 -11
- package/src/_shims/manual-types.d.ts +0 -12
- package/src/_shims/manual-types.js +0 -3
- package/src/_shims/manual-types.mjs +0 -3
- package/src/_shims/node-runtime.ts +0 -81
- package/src/_shims/node-types.d.ts +0 -42
- package/src/_shims/node-types.js +0 -3
- package/src/_shims/node-types.mjs +0 -3
- package/src/_shims/registry.ts +0 -67
- package/src/_shims/web-runtime.ts +0 -103
- package/src/_shims/web-types.d.ts +0 -83
- package/src/_shims/web-types.js +0 -3
- package/src/_shims/web-types.mjs +0 -3
- package/src/core.ts +0 -1242
- package/src/resources.ts +0 -1
- package/src/shims/node.ts +0 -50
- package/src/shims/web.ts +0 -50
package/src/error.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,311 +1,10 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import * as qs from './internal/qs';
|
|
5
|
-
import * as Core from './core';
|
|
6
|
-
import * as Errors from './error';
|
|
7
|
-
import * as Uploads from './uploads';
|
|
8
|
-
import * as API from './resources/index';
|
|
9
|
-
import {
|
|
10
|
-
Call,
|
|
11
|
-
CallCreateParams,
|
|
12
|
-
CallCreateResponse,
|
|
13
|
-
CallGetByIDResponse,
|
|
14
|
-
CallListEvaluationRunsResponse,
|
|
15
|
-
CallListMetricsParams,
|
|
16
|
-
CallListMetricsResponse,
|
|
17
|
-
CallListParams,
|
|
18
|
-
CallListResponse,
|
|
19
|
-
CallListSentimentRunsResponse,
|
|
20
|
-
} from './resources/call';
|
|
21
|
-
import {
|
|
22
|
-
Evaluation,
|
|
23
|
-
EvaluationCreateJobParams,
|
|
24
|
-
EvaluationCreateJobResponse,
|
|
25
|
-
EvaluationGetEvaluatorByIDResponse,
|
|
26
|
-
EvaluationGetJobResponse,
|
|
27
|
-
EvaluationListEvaluatorsParams,
|
|
28
|
-
EvaluationListEvaluatorsResponse,
|
|
29
|
-
EvaluationListJobRunsParams,
|
|
30
|
-
EvaluationListJobRunsResponse,
|
|
31
|
-
} from './resources/evaluation';
|
|
32
|
-
import { Health, HealthGetResponse } from './resources/health';
|
|
33
|
-
import {
|
|
34
|
-
IntegrationCreateRetellCallParams,
|
|
35
|
-
IntegrationCreateRetellCallResponse,
|
|
36
|
-
IntegrationCreateVapiCallParams,
|
|
37
|
-
IntegrationCreateVapiCallResponse,
|
|
38
|
-
Integrations,
|
|
39
|
-
} from './resources/integrations';
|
|
40
|
-
import { Metric, MetricListDefinitionsResponse } from './resources/metric';
|
|
41
|
-
import {
|
|
42
|
-
Persona,
|
|
43
|
-
PersonaCreateParams,
|
|
44
|
-
PersonaCreateResponse,
|
|
45
|
-
PersonaGetByIDResponse,
|
|
46
|
-
PersonaListParams,
|
|
47
|
-
PersonaListResponse,
|
|
48
|
-
PersonaUpdateParams,
|
|
49
|
-
PersonaUpdateResponse,
|
|
50
|
-
} from './resources/persona';
|
|
51
|
-
import {
|
|
52
|
-
Simulation,
|
|
53
|
-
SimulationGetRunPlanJobResponse,
|
|
54
|
-
SimulationGetSimulationJobByIDResponse,
|
|
55
|
-
SimulationListRunPlanJobsParams,
|
|
56
|
-
SimulationListRunPlanJobsResponse,
|
|
57
|
-
SimulationListScenariosParams,
|
|
58
|
-
SimulationListScenariosResponse,
|
|
59
|
-
SimulationLookupSimulationJobParams,
|
|
60
|
-
SimulationLookupSimulationJobResponse,
|
|
61
|
-
SimulationStartRunPlanJobResponse,
|
|
62
|
-
} from './resources/simulation';
|
|
3
|
+
export { Roark as default } from './client';
|
|
63
4
|
|
|
64
|
-
export
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
*/
|
|
68
|
-
bearerToken?: string | undefined;
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Override the default base URL for the API, e.g., "https://api.example.com/v2/"
|
|
72
|
-
*
|
|
73
|
-
* Defaults to process.env['ROARK_BASE_URL'].
|
|
74
|
-
*/
|
|
75
|
-
baseURL?: string | null | undefined;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* The maximum amount of time (in milliseconds) that the client should wait for a response
|
|
79
|
-
* from the server before timing out a single request.
|
|
80
|
-
*
|
|
81
|
-
* Note that request timeouts are retried by default, so in a worst-case scenario you may wait
|
|
82
|
-
* much longer than this timeout before the promise succeeds or fails.
|
|
83
|
-
*
|
|
84
|
-
* @unit milliseconds
|
|
85
|
-
*/
|
|
86
|
-
timeout?: number | undefined;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* An HTTP agent used to manage HTTP(S) connections.
|
|
90
|
-
*
|
|
91
|
-
* If not provided, an agent will be constructed by default in the Node.js environment,
|
|
92
|
-
* otherwise no agent is used.
|
|
93
|
-
*/
|
|
94
|
-
httpAgent?: Agent | undefined;
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Specify a custom `fetch` function implementation.
|
|
98
|
-
*
|
|
99
|
-
* If not provided, we use `node-fetch` on Node.js and otherwise expect that `fetch` is
|
|
100
|
-
* defined globally.
|
|
101
|
-
*/
|
|
102
|
-
fetch?: Core.Fetch | undefined;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* The maximum number of times that the client will retry a request in case of a
|
|
106
|
-
* temporary failure, like a network error or a 5XX error from the server.
|
|
107
|
-
*
|
|
108
|
-
* @default 2
|
|
109
|
-
*/
|
|
110
|
-
maxRetries?: number | undefined;
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Default headers to include with every request to the API.
|
|
114
|
-
*
|
|
115
|
-
* These can be removed in individual requests by explicitly setting the
|
|
116
|
-
* header to `undefined` or `null` in request options.
|
|
117
|
-
*/
|
|
118
|
-
defaultHeaders?: Core.Headers | undefined;
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Default query parameters to include with every request to the API.
|
|
122
|
-
*
|
|
123
|
-
* These can be removed in individual requests by explicitly setting the
|
|
124
|
-
* param to `undefined` in request options.
|
|
125
|
-
*/
|
|
126
|
-
defaultQuery?: Core.DefaultQuery | undefined;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* API Client for interfacing with the Roark API.
|
|
131
|
-
*/
|
|
132
|
-
export class Roark extends Core.APIClient {
|
|
133
|
-
bearerToken: string;
|
|
134
|
-
|
|
135
|
-
private _options: ClientOptions;
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* API Client for interfacing with the Roark API.
|
|
139
|
-
*
|
|
140
|
-
* @param {string | undefined} [opts.bearerToken=process.env['ROARK_API_BEARER_TOKEN'] ?? undefined]
|
|
141
|
-
* @param {string} [opts.baseURL=process.env['ROARK_BASE_URL'] ?? https://api.roark.ai] - Override the default base URL for the API.
|
|
142
|
-
* @param {number} [opts.timeout=1 minute] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.
|
|
143
|
-
* @param {number} [opts.httpAgent] - An HTTP agent used to manage HTTP(s) connections.
|
|
144
|
-
* @param {Core.Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.
|
|
145
|
-
* @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.
|
|
146
|
-
* @param {Core.Headers} opts.defaultHeaders - Default headers to include with every request to the API.
|
|
147
|
-
* @param {Core.DefaultQuery} opts.defaultQuery - Default query parameters to include with every request to the API.
|
|
148
|
-
*/
|
|
149
|
-
constructor({
|
|
150
|
-
baseURL = Core.readEnv('ROARK_BASE_URL'),
|
|
151
|
-
bearerToken = Core.readEnv('ROARK_API_BEARER_TOKEN'),
|
|
152
|
-
...opts
|
|
153
|
-
}: ClientOptions = {}) {
|
|
154
|
-
if (bearerToken === undefined) {
|
|
155
|
-
throw new Errors.RoarkError(
|
|
156
|
-
"The ROARK_API_BEARER_TOKEN environment variable is missing or empty; either provide it, or instantiate the Roark client with an bearerToken option, like new Roark({ bearerToken: 'My Bearer Token' }).",
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const options: ClientOptions = {
|
|
161
|
-
bearerToken,
|
|
162
|
-
...opts,
|
|
163
|
-
baseURL: baseURL || `https://api.roark.ai`,
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
super({
|
|
167
|
-
baseURL: options.baseURL!,
|
|
168
|
-
baseURLOverridden: baseURL ? baseURL !== 'https://api.roark.ai' : false,
|
|
169
|
-
timeout: options.timeout ?? 60000 /* 1 minute */,
|
|
170
|
-
httpAgent: options.httpAgent,
|
|
171
|
-
maxRetries: options.maxRetries,
|
|
172
|
-
fetch: options.fetch,
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
this._options = options;
|
|
176
|
-
|
|
177
|
-
this.bearerToken = bearerToken;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
health: API.Health = new API.Health(this);
|
|
181
|
-
evaluation: API.Evaluation = new API.Evaluation(this);
|
|
182
|
-
call: API.Call = new API.Call(this);
|
|
183
|
-
metric: API.Metric = new API.Metric(this);
|
|
184
|
-
integrations: API.Integrations = new API.Integrations(this);
|
|
185
|
-
simulation: API.Simulation = new API.Simulation(this);
|
|
186
|
-
persona: API.Persona = new API.Persona(this);
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Check whether the base URL is set to its default.
|
|
190
|
-
*/
|
|
191
|
-
#baseURLOverridden(): boolean {
|
|
192
|
-
return this.baseURL !== 'https://api.roark.ai';
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
protected override defaultQuery(): Core.DefaultQuery | undefined {
|
|
196
|
-
return this._options.defaultQuery;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
protected override defaultHeaders(opts: Core.FinalRequestOptions): Core.Headers {
|
|
200
|
-
return {
|
|
201
|
-
...super.defaultHeaders(opts),
|
|
202
|
-
...this._options.defaultHeaders,
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
protected override authHeaders(opts: Core.FinalRequestOptions): Core.Headers {
|
|
207
|
-
return { Authorization: `Bearer ${this.bearerToken}` };
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
protected override stringifyQuery(query: Record<string, unknown>): string {
|
|
211
|
-
return qs.stringify(query, { arrayFormat: 'comma' });
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
static Roark = this;
|
|
215
|
-
static DEFAULT_TIMEOUT = 60000; // 1 minute
|
|
216
|
-
|
|
217
|
-
static RoarkError = Errors.RoarkError;
|
|
218
|
-
static APIError = Errors.APIError;
|
|
219
|
-
static APIConnectionError = Errors.APIConnectionError;
|
|
220
|
-
static APIConnectionTimeoutError = Errors.APIConnectionTimeoutError;
|
|
221
|
-
static APIUserAbortError = Errors.APIUserAbortError;
|
|
222
|
-
static NotFoundError = Errors.NotFoundError;
|
|
223
|
-
static ConflictError = Errors.ConflictError;
|
|
224
|
-
static RateLimitError = Errors.RateLimitError;
|
|
225
|
-
static BadRequestError = Errors.BadRequestError;
|
|
226
|
-
static AuthenticationError = Errors.AuthenticationError;
|
|
227
|
-
static InternalServerError = Errors.InternalServerError;
|
|
228
|
-
static PermissionDeniedError = Errors.PermissionDeniedError;
|
|
229
|
-
static UnprocessableEntityError = Errors.UnprocessableEntityError;
|
|
230
|
-
|
|
231
|
-
static toFile = Uploads.toFile;
|
|
232
|
-
static fileFromPath = Uploads.fileFromPath;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
Roark.Health = Health;
|
|
236
|
-
Roark.Evaluation = Evaluation;
|
|
237
|
-
Roark.Call = Call;
|
|
238
|
-
Roark.Metric = Metric;
|
|
239
|
-
Roark.Integrations = Integrations;
|
|
240
|
-
Roark.Simulation = Simulation;
|
|
241
|
-
Roark.Persona = Persona;
|
|
242
|
-
|
|
243
|
-
export declare namespace Roark {
|
|
244
|
-
export type RequestOptions = Core.RequestOptions;
|
|
245
|
-
|
|
246
|
-
export { Health as Health, type HealthGetResponse as HealthGetResponse };
|
|
247
|
-
|
|
248
|
-
export {
|
|
249
|
-
Evaluation as Evaluation,
|
|
250
|
-
type EvaluationCreateJobResponse as EvaluationCreateJobResponse,
|
|
251
|
-
type EvaluationGetEvaluatorByIDResponse as EvaluationGetEvaluatorByIDResponse,
|
|
252
|
-
type EvaluationGetJobResponse as EvaluationGetJobResponse,
|
|
253
|
-
type EvaluationListEvaluatorsResponse as EvaluationListEvaluatorsResponse,
|
|
254
|
-
type EvaluationListJobRunsResponse as EvaluationListJobRunsResponse,
|
|
255
|
-
type EvaluationCreateJobParams as EvaluationCreateJobParams,
|
|
256
|
-
type EvaluationListEvaluatorsParams as EvaluationListEvaluatorsParams,
|
|
257
|
-
type EvaluationListJobRunsParams as EvaluationListJobRunsParams,
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
export {
|
|
261
|
-
Call as Call,
|
|
262
|
-
type CallCreateResponse as CallCreateResponse,
|
|
263
|
-
type CallListResponse as CallListResponse,
|
|
264
|
-
type CallGetByIDResponse as CallGetByIDResponse,
|
|
265
|
-
type CallListEvaluationRunsResponse as CallListEvaluationRunsResponse,
|
|
266
|
-
type CallListMetricsResponse as CallListMetricsResponse,
|
|
267
|
-
type CallListSentimentRunsResponse as CallListSentimentRunsResponse,
|
|
268
|
-
type CallCreateParams as CallCreateParams,
|
|
269
|
-
type CallListParams as CallListParams,
|
|
270
|
-
type CallListMetricsParams as CallListMetricsParams,
|
|
271
|
-
};
|
|
272
|
-
|
|
273
|
-
export { Metric as Metric, type MetricListDefinitionsResponse as MetricListDefinitionsResponse };
|
|
274
|
-
|
|
275
|
-
export {
|
|
276
|
-
Integrations as Integrations,
|
|
277
|
-
type IntegrationCreateRetellCallResponse as IntegrationCreateRetellCallResponse,
|
|
278
|
-
type IntegrationCreateVapiCallResponse as IntegrationCreateVapiCallResponse,
|
|
279
|
-
type IntegrationCreateRetellCallParams as IntegrationCreateRetellCallParams,
|
|
280
|
-
type IntegrationCreateVapiCallParams as IntegrationCreateVapiCallParams,
|
|
281
|
-
};
|
|
282
|
-
|
|
283
|
-
export {
|
|
284
|
-
Simulation as Simulation,
|
|
285
|
-
type SimulationGetRunPlanJobResponse as SimulationGetRunPlanJobResponse,
|
|
286
|
-
type SimulationGetSimulationJobByIDResponse as SimulationGetSimulationJobByIDResponse,
|
|
287
|
-
type SimulationListRunPlanJobsResponse as SimulationListRunPlanJobsResponse,
|
|
288
|
-
type SimulationListScenariosResponse as SimulationListScenariosResponse,
|
|
289
|
-
type SimulationLookupSimulationJobResponse as SimulationLookupSimulationJobResponse,
|
|
290
|
-
type SimulationStartRunPlanJobResponse as SimulationStartRunPlanJobResponse,
|
|
291
|
-
type SimulationListRunPlanJobsParams as SimulationListRunPlanJobsParams,
|
|
292
|
-
type SimulationListScenariosParams as SimulationListScenariosParams,
|
|
293
|
-
type SimulationLookupSimulationJobParams as SimulationLookupSimulationJobParams,
|
|
294
|
-
};
|
|
295
|
-
|
|
296
|
-
export {
|
|
297
|
-
Persona as Persona,
|
|
298
|
-
type PersonaCreateResponse as PersonaCreateResponse,
|
|
299
|
-
type PersonaUpdateResponse as PersonaUpdateResponse,
|
|
300
|
-
type PersonaListResponse as PersonaListResponse,
|
|
301
|
-
type PersonaGetByIDResponse as PersonaGetByIDResponse,
|
|
302
|
-
type PersonaCreateParams as PersonaCreateParams,
|
|
303
|
-
type PersonaUpdateParams as PersonaUpdateParams,
|
|
304
|
-
type PersonaListParams as PersonaListParams,
|
|
305
|
-
};
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
export { toFile, fileFromPath } from './uploads';
|
|
5
|
+
export { type Uploadable, toFile } from './uploads';
|
|
6
|
+
export { APIPromise } from './api-promise';
|
|
7
|
+
export { Roark, type ClientOptions } from './client';
|
|
309
8
|
export {
|
|
310
9
|
RoarkError,
|
|
311
10
|
APIError,
|
|
@@ -321,5 +20,3 @@ export {
|
|
|
321
20
|
PermissionDeniedError,
|
|
322
21
|
UnprocessableEntityError,
|
|
323
22
|
} from './error';
|
|
324
|
-
|
|
325
|
-
export default Roark;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
export type Fetch = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* An alias to the builtin `RequestInit` type so we can
|
|
7
|
+
* easily alias it in import statements if there are name clashes.
|
|
8
|
+
*
|
|
9
|
+
* https://developer.mozilla.org/docs/Web/API/RequestInit
|
|
10
|
+
*/
|
|
11
|
+
type _RequestInit = RequestInit;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* An alias to the builtin `Response` type so we can
|
|
15
|
+
* easily alias it in import statements if there are name clashes.
|
|
16
|
+
*
|
|
17
|
+
* https://developer.mozilla.org/docs/Web/API/Response
|
|
18
|
+
*/
|
|
19
|
+
type _Response = Response;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The type for the first argument to `fetch`.
|
|
23
|
+
*
|
|
24
|
+
* https://developer.mozilla.org/docs/Web/API/Window/fetch#resource
|
|
25
|
+
*/
|
|
26
|
+
type _RequestInfo = Request | URL | string;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The type for constructing `RequestInit` Headers.
|
|
30
|
+
*
|
|
31
|
+
* https://developer.mozilla.org/docs/Web/API/RequestInit#setting_headers
|
|
32
|
+
*/
|
|
33
|
+
type _HeadersInit = RequestInit['headers'];
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The type for constructing `RequestInit` body.
|
|
37
|
+
*
|
|
38
|
+
* https://developer.mozilla.org/docs/Web/API/RequestInit#body
|
|
39
|
+
*/
|
|
40
|
+
type _BodyInit = RequestInit['body'];
|
|
41
|
+
|
|
42
|
+
export type {
|
|
43
|
+
_BodyInit as BodyInit,
|
|
44
|
+
_HeadersInit as HeadersInit,
|
|
45
|
+
_RequestInfo as RequestInfo,
|
|
46
|
+
_RequestInit as RequestInit,
|
|
47
|
+
_Response as Response,
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* A copy of the builtin `EndingType` type as it isn't fully supported in certain
|
|
52
|
+
* environments and attempting to reference the global version will error.
|
|
53
|
+
*
|
|
54
|
+
* https://github.com/microsoft/TypeScript/blob/49ad1a3917a0ea57f5ff248159256e12bb1cb705/src/lib/dom.generated.d.ts#L27941
|
|
55
|
+
*/
|
|
56
|
+
type EndingType = 'native' | 'transparent';
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* A copy of the builtin `BlobPropertyBag` type as it isn't fully supported in certain
|
|
60
|
+
* environments and attempting to reference the global version will error.
|
|
61
|
+
*
|
|
62
|
+
* https://github.com/microsoft/TypeScript/blob/49ad1a3917a0ea57f5ff248159256e12bb1cb705/src/lib/dom.generated.d.ts#L154
|
|
63
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob#options
|
|
64
|
+
*/
|
|
65
|
+
export interface BlobPropertyBag {
|
|
66
|
+
endings?: EndingType;
|
|
67
|
+
type?: string;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* A copy of the builtin `FilePropertyBag` type as it isn't fully supported in certain
|
|
72
|
+
* environments and attempting to reference the global version will error.
|
|
73
|
+
*
|
|
74
|
+
* https://github.com/microsoft/TypeScript/blob/49ad1a3917a0ea57f5ff248159256e12bb1cb705/src/lib/dom.generated.d.ts#L503
|
|
75
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/File/File#options
|
|
76
|
+
*/
|
|
77
|
+
export interface FilePropertyBag extends BlobPropertyBag {
|
|
78
|
+
lastModified?: number;
|
|
79
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { VERSION } from '../version';
|
|
4
|
+
|
|
5
|
+
export const isRunningInBrowser = () => {
|
|
6
|
+
return (
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
typeof window !== 'undefined' &&
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
typeof window.document !== 'undefined' &&
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
typeof navigator !== 'undefined'
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
type DetectedPlatform = 'deno' | 'node' | 'edge' | 'unknown';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Note this does not detect 'browser'; for that, use getBrowserInfo().
|
|
20
|
+
*/
|
|
21
|
+
function getDetectedPlatform(): DetectedPlatform {
|
|
22
|
+
if (typeof Deno !== 'undefined' && Deno.build != null) {
|
|
23
|
+
return 'deno';
|
|
24
|
+
}
|
|
25
|
+
if (typeof EdgeRuntime !== 'undefined') {
|
|
26
|
+
return 'edge';
|
|
27
|
+
}
|
|
28
|
+
if (
|
|
29
|
+
Object.prototype.toString.call(
|
|
30
|
+
typeof (globalThis as any).process !== 'undefined' ? (globalThis as any).process : 0,
|
|
31
|
+
) === '[object process]'
|
|
32
|
+
) {
|
|
33
|
+
return 'node';
|
|
34
|
+
}
|
|
35
|
+
return 'unknown';
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare const Deno: any;
|
|
39
|
+
declare const EdgeRuntime: any;
|
|
40
|
+
type Arch = 'x32' | 'x64' | 'arm' | 'arm64' | `other:${string}` | 'unknown';
|
|
41
|
+
type PlatformName =
|
|
42
|
+
| 'MacOS'
|
|
43
|
+
| 'Linux'
|
|
44
|
+
| 'Windows'
|
|
45
|
+
| 'FreeBSD'
|
|
46
|
+
| 'OpenBSD'
|
|
47
|
+
| 'iOS'
|
|
48
|
+
| 'Android'
|
|
49
|
+
| `Other:${string}`
|
|
50
|
+
| 'Unknown';
|
|
51
|
+
type Browser = 'ie' | 'edge' | 'chrome' | 'firefox' | 'safari';
|
|
52
|
+
type PlatformProperties = {
|
|
53
|
+
'X-Stainless-Lang': 'js';
|
|
54
|
+
'X-Stainless-Package-Version': string;
|
|
55
|
+
'X-Stainless-OS': PlatformName;
|
|
56
|
+
'X-Stainless-Arch': Arch;
|
|
57
|
+
'X-Stainless-Runtime': 'node' | 'deno' | 'edge' | `browser:${Browser}` | 'unknown';
|
|
58
|
+
'X-Stainless-Runtime-Version': string;
|
|
59
|
+
};
|
|
60
|
+
const getPlatformProperties = (): PlatformProperties => {
|
|
61
|
+
const detectedPlatform = getDetectedPlatform();
|
|
62
|
+
if (detectedPlatform === 'deno') {
|
|
63
|
+
return {
|
|
64
|
+
'X-Stainless-Lang': 'js',
|
|
65
|
+
'X-Stainless-Package-Version': VERSION,
|
|
66
|
+
'X-Stainless-OS': normalizePlatform(Deno.build.os),
|
|
67
|
+
'X-Stainless-Arch': normalizeArch(Deno.build.arch),
|
|
68
|
+
'X-Stainless-Runtime': 'deno',
|
|
69
|
+
'X-Stainless-Runtime-Version':
|
|
70
|
+
typeof Deno.version === 'string' ? Deno.version : Deno.version?.deno ?? 'unknown',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (typeof EdgeRuntime !== 'undefined') {
|
|
74
|
+
return {
|
|
75
|
+
'X-Stainless-Lang': 'js',
|
|
76
|
+
'X-Stainless-Package-Version': VERSION,
|
|
77
|
+
'X-Stainless-OS': 'Unknown',
|
|
78
|
+
'X-Stainless-Arch': `other:${EdgeRuntime}`,
|
|
79
|
+
'X-Stainless-Runtime': 'edge',
|
|
80
|
+
'X-Stainless-Runtime-Version': (globalThis as any).process.version,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
// Check if Node.js
|
|
84
|
+
if (detectedPlatform === 'node') {
|
|
85
|
+
return {
|
|
86
|
+
'X-Stainless-Lang': 'js',
|
|
87
|
+
'X-Stainless-Package-Version': VERSION,
|
|
88
|
+
'X-Stainless-OS': normalizePlatform((globalThis as any).process.platform),
|
|
89
|
+
'X-Stainless-Arch': normalizeArch((globalThis as any).process.arch),
|
|
90
|
+
'X-Stainless-Runtime': 'node',
|
|
91
|
+
'X-Stainless-Runtime-Version': (globalThis as any).process.version,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const browserInfo = getBrowserInfo();
|
|
96
|
+
if (browserInfo) {
|
|
97
|
+
return {
|
|
98
|
+
'X-Stainless-Lang': 'js',
|
|
99
|
+
'X-Stainless-Package-Version': VERSION,
|
|
100
|
+
'X-Stainless-OS': 'Unknown',
|
|
101
|
+
'X-Stainless-Arch': 'unknown',
|
|
102
|
+
'X-Stainless-Runtime': `browser:${browserInfo.browser}`,
|
|
103
|
+
'X-Stainless-Runtime-Version': browserInfo.version,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// TODO add support for Cloudflare workers, etc.
|
|
108
|
+
return {
|
|
109
|
+
'X-Stainless-Lang': 'js',
|
|
110
|
+
'X-Stainless-Package-Version': VERSION,
|
|
111
|
+
'X-Stainless-OS': 'Unknown',
|
|
112
|
+
'X-Stainless-Arch': 'unknown',
|
|
113
|
+
'X-Stainless-Runtime': 'unknown',
|
|
114
|
+
'X-Stainless-Runtime-Version': 'unknown',
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
type BrowserInfo = {
|
|
119
|
+
browser: Browser;
|
|
120
|
+
version: string;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
declare const navigator: { userAgent: string } | undefined;
|
|
124
|
+
|
|
125
|
+
// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts
|
|
126
|
+
function getBrowserInfo(): BrowserInfo | null {
|
|
127
|
+
if (typeof navigator === 'undefined' || !navigator) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// NOTE: The order matters here!
|
|
132
|
+
const browserPatterns = [
|
|
133
|
+
{ key: 'edge' as const, pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
|
|
134
|
+
{ key: 'ie' as const, pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
|
|
135
|
+
{ key: 'ie' as const, pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ },
|
|
136
|
+
{ key: 'chrome' as const, pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
|
|
137
|
+
{ key: 'firefox' as const, pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
|
|
138
|
+
{ key: 'safari' as const, pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ },
|
|
139
|
+
];
|
|
140
|
+
|
|
141
|
+
// Find the FIRST matching browser
|
|
142
|
+
for (const { key, pattern } of browserPatterns) {
|
|
143
|
+
const match = pattern.exec(navigator.userAgent);
|
|
144
|
+
if (match) {
|
|
145
|
+
const major = match[1] || 0;
|
|
146
|
+
const minor = match[2] || 0;
|
|
147
|
+
const patch = match[3] || 0;
|
|
148
|
+
|
|
149
|
+
return { browser: key, version: `${major}.${minor}.${patch}` };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const normalizeArch = (arch: string): Arch => {
|
|
157
|
+
// Node docs:
|
|
158
|
+
// - https://nodejs.org/api/process.html#processarch
|
|
159
|
+
// Deno docs:
|
|
160
|
+
// - https://doc.deno.land/deno/stable/~/Deno.build
|
|
161
|
+
if (arch === 'x32') return 'x32';
|
|
162
|
+
if (arch === 'x86_64' || arch === 'x64') return 'x64';
|
|
163
|
+
if (arch === 'arm') return 'arm';
|
|
164
|
+
if (arch === 'aarch64' || arch === 'arm64') return 'arm64';
|
|
165
|
+
if (arch) return `other:${arch}`;
|
|
166
|
+
return 'unknown';
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
const normalizePlatform = (platform: string): PlatformName => {
|
|
170
|
+
// Node platforms:
|
|
171
|
+
// - https://nodejs.org/api/process.html#processplatform
|
|
172
|
+
// Deno platforms:
|
|
173
|
+
// - https://doc.deno.land/deno/stable/~/Deno.build
|
|
174
|
+
// - https://github.com/denoland/deno/issues/14799
|
|
175
|
+
|
|
176
|
+
platform = platform.toLowerCase();
|
|
177
|
+
|
|
178
|
+
// NOTE: this iOS check is untested and may not work
|
|
179
|
+
// Node does not work natively on IOS, there is a fork at
|
|
180
|
+
// https://github.com/nodejs-mobile/nodejs-mobile
|
|
181
|
+
// however it is unknown at the time of writing how to detect if it is running
|
|
182
|
+
if (platform.includes('ios')) return 'iOS';
|
|
183
|
+
if (platform === 'android') return 'Android';
|
|
184
|
+
if (platform === 'darwin') return 'MacOS';
|
|
185
|
+
if (platform === 'win32') return 'Windows';
|
|
186
|
+
if (platform === 'freebsd') return 'FreeBSD';
|
|
187
|
+
if (platform === 'openbsd') return 'OpenBSD';
|
|
188
|
+
if (platform === 'linux') return 'Linux';
|
|
189
|
+
if (platform) return `Other:${platform}`;
|
|
190
|
+
return 'Unknown';
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
let _platformHeaders: PlatformProperties;
|
|
194
|
+
export const getPlatformHeaders = () => {
|
|
195
|
+
return (_platformHeaders ??= getPlatformProperties());
|
|
196
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
export function isAbortError(err: unknown) {
|
|
4
|
+
return (
|
|
5
|
+
typeof err === 'object' &&
|
|
6
|
+
err !== null &&
|
|
7
|
+
// Spec-compliant fetch implementations
|
|
8
|
+
(('name' in err && (err as any).name === 'AbortError') ||
|
|
9
|
+
// Expo fetch
|
|
10
|
+
('message' in err && String((err as any).message).includes('FetchRequestCanceledException')))
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const castToError = (err: any): Error => {
|
|
15
|
+
if (err instanceof Error) return err;
|
|
16
|
+
if (typeof err === 'object' && err !== null) {
|
|
17
|
+
try {
|
|
18
|
+
return new Error(JSON.stringify(err));
|
|
19
|
+
} catch {}
|
|
20
|
+
}
|
|
21
|
+
return new Error(err);
|
|
22
|
+
};
|