@v3finance/monitoring-sdk 0.1.0 → 0.2.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.
- package/CHANGELOG.md +21 -11
- package/README.md +223 -148
- package/dist/cjs/client.d.ts +23 -42
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +44 -53
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/core/errors.d.ts +18 -18
- package/dist/cjs/core/errors.d.ts.map +1 -1
- package/dist/cjs/core/errors.js +17 -17
- package/dist/cjs/core/errors.js.map +1 -1
- package/dist/cjs/core/http.d.ts +22 -26
- package/dist/cjs/core/http.d.ts.map +1 -1
- package/dist/cjs/core/http.js +28 -36
- package/dist/cjs/core/http.js.map +1 -1
- package/dist/cjs/core/pagination.d.ts +6 -7
- package/dist/cjs/core/pagination.d.ts.map +1 -1
- package/dist/cjs/core/pagination.js +1 -1
- package/dist/cjs/core/pagination.js.map +1 -1
- package/dist/cjs/core/scope.d.ts +8 -0
- package/dist/cjs/core/scope.d.ts.map +1 -0
- package/dist/cjs/core/scope.js +3 -0
- package/dist/cjs/core/scope.js.map +1 -0
- package/dist/cjs/generated/types.d.ts +129 -117
- package/dist/cjs/generated/types.d.ts.map +1 -1
- package/dist/cjs/generated/types.js +1 -1
- package/dist/cjs/generated/types.js.map +1 -1
- package/dist/cjs/index.d.ts +6 -6
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +13 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources/account.d.ts +12 -51
- package/dist/cjs/resources/account.d.ts.map +1 -1
- package/dist/cjs/resources/account.js +17 -61
- package/dist/cjs/resources/account.js.map +1 -1
- package/dist/cjs/resources/addresses.d.ts +49 -65
- package/dist/cjs/resources/addresses.d.ts.map +1 -1
- package/dist/cjs/resources/addresses.js +60 -69
- package/dist/cjs/resources/addresses.js.map +1 -1
- package/dist/cjs/resources/catalog.d.ts +17 -10
- package/dist/cjs/resources/catalog.d.ts.map +1 -1
- package/dist/cjs/resources/catalog.js +23 -17
- package/dist/cjs/resources/catalog.js.map +1 -1
- package/dist/cjs/resources/deliveries.d.ts +34 -23
- package/dist/cjs/resources/deliveries.d.ts.map +1 -1
- package/dist/cjs/resources/deliveries.js +27 -17
- package/dist/cjs/resources/deliveries.js.map +1 -1
- package/dist/cjs/resources/transactions.d.ts +14 -14
- package/dist/cjs/resources/transactions.d.ts.map +1 -1
- package/dist/cjs/resources/transactions.js +15 -16
- package/dist/cjs/resources/transactions.js.map +1 -1
- package/dist/cjs/resources/webhooks.d.ts +22 -0
- package/dist/cjs/resources/webhooks.d.ts.map +1 -0
- package/dist/cjs/resources/webhooks.js +35 -0
- package/dist/cjs/resources/webhooks.js.map +1 -0
- package/dist/cjs/units.d.ts +11 -11
- package/dist/cjs/units.js +14 -14
- package/dist/cjs/units.js.map +1 -1
- package/dist/cjs/version.d.ts +3 -3
- package/dist/cjs/version.d.ts.map +1 -1
- package/dist/cjs/version.js +3 -3
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/webhooks.d.ts +33 -28
- package/dist/cjs/webhooks.d.ts.map +1 -1
- package/dist/cjs/webhooks.js +33 -28
- package/dist/cjs/webhooks.js.map +1 -1
- package/dist/esm/client.d.ts +23 -42
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +46 -55
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/core/errors.d.ts +18 -18
- package/dist/esm/core/errors.d.ts.map +1 -1
- package/dist/esm/core/errors.js +17 -17
- package/dist/esm/core/errors.js.map +1 -1
- package/dist/esm/core/http.d.ts +22 -26
- package/dist/esm/core/http.d.ts.map +1 -1
- package/dist/esm/core/http.js +28 -36
- package/dist/esm/core/http.js.map +1 -1
- package/dist/esm/core/pagination.d.ts +6 -7
- package/dist/esm/core/pagination.d.ts.map +1 -1
- package/dist/esm/core/pagination.js +1 -1
- package/dist/esm/core/pagination.js.map +1 -1
- package/dist/esm/core/scope.d.ts +8 -0
- package/dist/esm/core/scope.d.ts.map +1 -0
- package/dist/esm/core/scope.js +2 -0
- package/dist/esm/core/scope.js.map +1 -0
- package/dist/esm/generated/types.d.ts +129 -117
- package/dist/esm/generated/types.d.ts.map +1 -1
- package/dist/esm/generated/types.js +1 -1
- package/dist/esm/generated/types.js.map +1 -1
- package/dist/esm/index.d.ts +6 -6
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/account.d.ts +12 -51
- package/dist/esm/resources/account.d.ts.map +1 -1
- package/dist/esm/resources/account.js +15 -57
- package/dist/esm/resources/account.js.map +1 -1
- package/dist/esm/resources/addresses.d.ts +49 -65
- package/dist/esm/resources/addresses.d.ts.map +1 -1
- package/dist/esm/resources/addresses.js +60 -69
- package/dist/esm/resources/addresses.js.map +1 -1
- package/dist/esm/resources/catalog.d.ts +17 -10
- package/dist/esm/resources/catalog.d.ts.map +1 -1
- package/dist/esm/resources/catalog.js +23 -17
- package/dist/esm/resources/catalog.js.map +1 -1
- package/dist/esm/resources/deliveries.d.ts +34 -23
- package/dist/esm/resources/deliveries.d.ts.map +1 -1
- package/dist/esm/resources/deliveries.js +27 -17
- package/dist/esm/resources/deliveries.js.map +1 -1
- package/dist/esm/resources/transactions.d.ts +14 -14
- package/dist/esm/resources/transactions.d.ts.map +1 -1
- package/dist/esm/resources/transactions.js +15 -16
- package/dist/esm/resources/transactions.js.map +1 -1
- package/dist/esm/resources/webhooks.d.ts +22 -0
- package/dist/esm/resources/webhooks.d.ts.map +1 -0
- package/dist/esm/resources/webhooks.js +31 -0
- package/dist/esm/resources/webhooks.js.map +1 -0
- package/dist/esm/units.d.ts +11 -11
- package/dist/esm/units.js +14 -14
- package/dist/esm/units.js.map +1 -1
- package/dist/esm/version.d.ts +3 -3
- package/dist/esm/version.d.ts.map +1 -1
- package/dist/esm/version.js +3 -3
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/webhooks.d.ts +33 -28
- package/dist/esm/webhooks.d.ts.map +1 -1
- package/dist/esm/webhooks.js +33 -28
- package/dist/esm/webhooks.js.map +1 -1
- package/package.json +8 -5
- package/src/client.ts +50 -61
- package/src/core/errors.ts +18 -18
- package/src/core/http.ts +45 -55
- package/src/core/pagination.ts +7 -8
- package/src/core/scope.ts +8 -0
- package/src/generated/types.ts +139 -125
- package/src/index.ts +7 -24
- package/src/resources/account.ts +18 -72
- package/src/resources/addresses.ts +84 -109
- package/src/resources/catalog.ts +28 -19
- package/src/resources/deliveries.ts +43 -30
- package/src/resources/transactions.ts +18 -17
- package/src/resources/webhooks.ts +36 -0
- package/src/units.ts +14 -14
- package/src/version.ts +3 -3
- package/src/webhooks.ts +37 -32
- package/dist/cjs/resources/clients.d.ts +0 -84
- package/dist/cjs/resources/clients.d.ts.map +0 -1
- package/dist/cjs/resources/clients.js +0 -102
- package/dist/cjs/resources/clients.js.map +0 -1
- package/dist/esm/resources/clients.d.ts +0 -84
- package/dist/esm/resources/clients.d.ts.map +0 -1
- package/dist/esm/resources/clients.js +0 -97
- package/dist/esm/resources/clients.js.map +0 -1
- package/src/resources/clients.ts +0 -135
package/dist/esm/client.d.ts
CHANGED
|
@@ -1,65 +1,46 @@
|
|
|
1
|
-
import { type ClientOptions
|
|
2
|
-
import { AccountResource
|
|
1
|
+
import { type ClientOptions } from './core/http.js';
|
|
2
|
+
import { AccountResource } from './resources/account.js';
|
|
3
3
|
import { AddressesResource } from './resources/addresses.js';
|
|
4
4
|
import { AssetsResource, NetworksResource } from './resources/catalog.js';
|
|
5
|
-
import { ClientsResource } from './resources/clients.js';
|
|
6
5
|
import { DeliveriesResource } from './resources/deliveries.js';
|
|
7
6
|
import { TransactionsResource } from './resources/transactions.js';
|
|
7
|
+
import { WebhooksResource } from './resources/webhooks.js';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
* Только для сервера: ключ в браузере увидит любой.
|
|
9
|
+
* Client for the V3 Finance Monitoring API.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
11
|
+
* Use it on the server only: an API key in a browser is visible to anyone.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
13
14
|
* ```ts
|
|
14
15
|
* import { MonitoringClient } from '@v3finance/monitoring-sdk'
|
|
15
16
|
*
|
|
16
|
-
* const monitoring = new MonitoringClient({ apiKey: process.env.MONITORING_API_KEY })
|
|
17
|
-
* await monitoring.addresses.add(clientId, [{ network: 'tron', address: 'T…' }], { assets: ['USDT'], direction: 'in' })
|
|
18
|
-
* ```
|
|
17
|
+
* const monitoring = new MonitoringClient({ apiKey: process.env.MONITORING_API_KEY! })
|
|
19
18
|
*
|
|
20
|
-
*
|
|
21
|
-
* ```ts
|
|
22
|
-
* const { client } = await MonitoringClient.signIn({ email, password })
|
|
23
|
-
* const { key } = await client.account.keys.create({ name: 'ci' })
|
|
19
|
+
* await monitoring.addresses.add([{ network: 'tron', address: 'TA8Hg…' }], { assets: ['USDT'], direction: 'in' })
|
|
24
20
|
* ```
|
|
25
21
|
*/
|
|
26
22
|
export declare class MonitoringClient {
|
|
27
23
|
#private;
|
|
28
|
-
/**
|
|
24
|
+
/** Your client: the account your API key belongs to. */
|
|
29
25
|
readonly account: AccountResource;
|
|
30
|
-
/**
|
|
31
|
-
readonly auth: AuthResource;
|
|
32
|
-
/** Сети */
|
|
33
|
-
readonly networks: NetworksResource;
|
|
34
|
-
/** Нативные монеты и токены */
|
|
35
|
-
readonly assets: AssetsResource;
|
|
36
|
-
/** Ваш клиент: URL вебхука, секрет, ключи, участники, тестовый вебхук */
|
|
37
|
-
readonly clients: ClientsResource;
|
|
38
|
-
/** Адреса на мониторинге и подписка */
|
|
26
|
+
/** Addresses you monitor and their subscriptions. */
|
|
39
27
|
readonly addresses: AddressesResource;
|
|
40
|
-
/**
|
|
28
|
+
/** Test your webhook endpoint. */
|
|
29
|
+
readonly webhooks: WebhooksResource;
|
|
30
|
+
/** History of webhooks sent to you. */
|
|
41
31
|
readonly deliveries: DeliveriesResource;
|
|
42
|
-
/**
|
|
32
|
+
/** Any transaction by hash, with confirmations and finality. */
|
|
43
33
|
readonly transactions: TransactionsResource;
|
|
34
|
+
/** Supported networks. */
|
|
35
|
+
readonly networks: NetworksResource;
|
|
36
|
+
/** Supported native coins and tokens. */
|
|
37
|
+
readonly assets: AssetsResource;
|
|
44
38
|
/**
|
|
45
|
-
* @param options -
|
|
46
|
-
* @throws {@link MonitoringError}
|
|
39
|
+
* @param options - API key and optional settings.
|
|
40
|
+
* @throws {@link MonitoringError} when `apiKey` is missing or `fetch` is not available.
|
|
47
41
|
*/
|
|
48
|
-
constructor(options
|
|
49
|
-
/**
|
|
42
|
+
constructor(options: ClientOptions);
|
|
43
|
+
/** API base URL this client sends requests to. */
|
|
50
44
|
get baseUrl(): string;
|
|
51
|
-
/**
|
|
52
|
-
* Вход по email и паролю: возвращает клиента с токеном сессии. Регистрации нет — пользователей заводит
|
|
53
|
-
* администратор сервиса. Не больше 3 попыток за 10 секунд с одного IP.
|
|
54
|
-
*
|
|
55
|
-
* @param options - настройки клиента, кроме учётных данных
|
|
56
|
-
* @throws {@link MonitoringApiError} 401 — неверный email или пароль
|
|
57
|
-
*/
|
|
58
|
-
static signIn(credentials: {
|
|
59
|
-
email: string;
|
|
60
|
-
password: string;
|
|
61
|
-
}, options?: Omit<ClientOptions, 'apiKey' | 'sessionToken'>, requestOptions?: RequestOptions): Promise<SignInResult & {
|
|
62
|
-
client: MonitoringClient;
|
|
63
|
-
}>;
|
|
64
45
|
}
|
|
65
46
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/esm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAG1D;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAgB;;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAA;IACrC,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,uCAAuC;IACvC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,gEAAgE;IAChE,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;IAC3C,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAK/B;;;OAGG;IACH,YAAY,OAAO,EAAE,aAAa,EAWjC;IAED,kDAAkD;IAClD,IAAI,OAAO,IAAI,MAAM,CAEpB;CAiBF"}
|
package/dist/esm/client.js
CHANGED
|
@@ -1,85 +1,76 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { MonitoringError } from './core/errors.js';
|
|
2
|
+
import { HttpClient, seg } from './core/http.js';
|
|
3
|
+
import { AccountResource } from './resources/account.js';
|
|
3
4
|
import { AddressesResource } from './resources/addresses.js';
|
|
4
5
|
import { AssetsResource, NetworksResource } from './resources/catalog.js';
|
|
5
|
-
import { ClientsResource } from './resources/clients.js';
|
|
6
6
|
import { DeliveriesResource } from './resources/deliveries.js';
|
|
7
7
|
import { TransactionsResource } from './resources/transactions.js';
|
|
8
|
+
import { WebhooksResource } from './resources/webhooks.js';
|
|
8
9
|
import { DEFAULT_BASE_URL } from './version.js';
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
-
* Только для сервера: ключ в браузере увидит любой.
|
|
11
|
+
* Client for the V3 Finance Monitoring API.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* Use it on the server only: an API key in a browser is visible to anyone.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
14
16
|
* ```ts
|
|
15
17
|
* import { MonitoringClient } from '@v3finance/monitoring-sdk'
|
|
16
18
|
*
|
|
17
|
-
* const monitoring = new MonitoringClient({ apiKey: process.env.MONITORING_API_KEY })
|
|
18
|
-
* await monitoring.addresses.add(clientId, [{ network: 'tron', address: 'T…' }], { assets: ['USDT'], direction: 'in' })
|
|
19
|
-
* ```
|
|
19
|
+
* const monitoring = new MonitoringClient({ apiKey: process.env.MONITORING_API_KEY! })
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
|
-
* ```ts
|
|
23
|
-
* const { client } = await MonitoringClient.signIn({ email, password })
|
|
24
|
-
* const { key } = await client.account.keys.create({ name: 'ci' })
|
|
21
|
+
* await monitoring.addresses.add([{ network: 'tron', address: 'TA8Hg…' }], { assets: ['USDT'], direction: 'in' })
|
|
25
22
|
* ```
|
|
26
23
|
*/
|
|
27
24
|
export class MonitoringClient {
|
|
28
|
-
/**
|
|
25
|
+
/** Your client: the account your API key belongs to. */
|
|
29
26
|
account;
|
|
30
|
-
/**
|
|
31
|
-
auth;
|
|
32
|
-
/** Сети */
|
|
33
|
-
networks;
|
|
34
|
-
/** Нативные монеты и токены */
|
|
35
|
-
assets;
|
|
36
|
-
/** Ваш клиент: URL вебхука, секрет, ключи, участники, тестовый вебхук */
|
|
37
|
-
clients;
|
|
38
|
-
/** Адреса на мониторинге и подписка */
|
|
27
|
+
/** Addresses you monitor and their subscriptions. */
|
|
39
28
|
addresses;
|
|
40
|
-
/**
|
|
29
|
+
/** Test your webhook endpoint. */
|
|
30
|
+
webhooks;
|
|
31
|
+
/** History of webhooks sent to you. */
|
|
41
32
|
deliveries;
|
|
42
|
-
/**
|
|
33
|
+
/** Any transaction by hash, with confirmations and finality. */
|
|
43
34
|
transactions;
|
|
35
|
+
/** Supported networks. */
|
|
36
|
+
networks;
|
|
37
|
+
/** Supported native coins and tokens. */
|
|
38
|
+
assets;
|
|
44
39
|
#http;
|
|
40
|
+
#clientId;
|
|
45
41
|
/**
|
|
46
|
-
* @param options -
|
|
47
|
-
* @throws {@link MonitoringError}
|
|
42
|
+
* @param options - API key and optional settings.
|
|
43
|
+
* @throws {@link MonitoringError} when `apiKey` is missing or `fetch` is not available.
|
|
48
44
|
*/
|
|
49
|
-
constructor(options
|
|
45
|
+
constructor(options) {
|
|
50
46
|
this.#http = new HttpClient(options, DEFAULT_BASE_URL);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
this.
|
|
55
|
-
this.
|
|
56
|
-
this.
|
|
57
|
-
this.deliveries = new DeliveriesResource(
|
|
58
|
-
this.transactions = new TransactionsResource(
|
|
47
|
+
if (options.clientId)
|
|
48
|
+
this.#clientId = Promise.resolve(options.clientId);
|
|
49
|
+
const scope = { http: this.#http, clientPath: async () => `/v1/clients/${seg(await this.#resolveClientId())}` };
|
|
50
|
+
this.account = new AccountResource(scope, () => this.#resolveClientId());
|
|
51
|
+
this.addresses = new AddressesResource(scope);
|
|
52
|
+
this.webhooks = new WebhooksResource(scope);
|
|
53
|
+
this.deliveries = new DeliveriesResource(scope);
|
|
54
|
+
this.transactions = new TransactionsResource(scope);
|
|
55
|
+
this.networks = new NetworksResource(scope);
|
|
56
|
+
this.assets = new AssetsResource(scope);
|
|
59
57
|
}
|
|
60
|
-
/**
|
|
58
|
+
/** API base URL this client sends requests to. */
|
|
61
59
|
get baseUrl() {
|
|
62
60
|
return this.#http.baseUrl;
|
|
63
61
|
}
|
|
64
|
-
/**
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
method: 'POST',
|
|
75
|
-
path: '/api/auth/sign-in/email',
|
|
76
|
-
body: credentials,
|
|
77
|
-
idempotent: false,
|
|
78
|
-
auth: false,
|
|
79
|
-
// повтор при отказе 429 только сожжёт попытки входа
|
|
80
|
-
options: { maxRetries: 0, ...requestOptions },
|
|
62
|
+
/** Client ID of the API key: from the options, or resolved once from the API and cached. */
|
|
63
|
+
#resolveClientId() {
|
|
64
|
+
this.#clientId ??= this.#http.request({ method: 'GET', path: '/v1/me', idempotent: true }).then((identity) => {
|
|
65
|
+
if (!identity.actor.clientId)
|
|
66
|
+
throw new MonitoringError('this API key is not bound to a client: pass clientId in the options');
|
|
67
|
+
return identity.actor.clientId;
|
|
68
|
+
}, (error) => {
|
|
69
|
+
// a failed lookup is not cached: the next call tries again
|
|
70
|
+
this.#clientId = undefined;
|
|
71
|
+
throw error;
|
|
81
72
|
});
|
|
82
|
-
return
|
|
73
|
+
return this.#clientId;
|
|
83
74
|
}
|
|
84
75
|
}
|
|
85
76
|
//# sourceMappingURL=client.js.map
|
package/dist/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { ApiErrorBody } from '../generated/types.js';
|
|
2
|
-
/**
|
|
2
|
+
/** A per-item problem of a batch request: the item's index in your request and the reason. */
|
|
3
3
|
export type ErrorDetail = NonNullable<ApiErrorBody['error']['details']>[number];
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Base class of every error thrown by the SDK.
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
* ```ts
|
|
9
9
|
* try {
|
|
10
|
-
* await monitoring.addresses.add(
|
|
11
|
-
* } catch (
|
|
12
|
-
* if (
|
|
13
|
-
* else throw
|
|
10
|
+
* await monitoring.addresses.add(items)
|
|
11
|
+
* } catch (error) {
|
|
12
|
+
* if (error instanceof MonitoringApiError && error.status === 400) console.log(error.details)
|
|
13
|
+
* else throw error
|
|
14
14
|
* }
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
@@ -19,20 +19,20 @@ export declare class MonitoringError extends Error {
|
|
|
19
19
|
cause?: unknown;
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
/** API
|
|
22
|
+
/** The API responded with an error status (4xx or 5xx). */
|
|
23
23
|
export declare class MonitoringApiError extends MonitoringError {
|
|
24
|
-
/** HTTP
|
|
24
|
+
/** HTTP status code. */
|
|
25
25
|
readonly status: number;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
28
|
-
* `rate_limited`, `upstream_error`, `upstream_rate_limited
|
|
27
|
+
* Machine-readable error code, e.g. `invalid_request`, `unauthorized`, `forbidden`, `not_found`,
|
|
28
|
+
* `rate_limited`, `upstream_error`, `upstream_rate_limited`.
|
|
29
29
|
*/
|
|
30
30
|
readonly code: string;
|
|
31
|
-
/**
|
|
31
|
+
/** Per-item problems of a batch request, such as invalid addresses. Empty when there are none. */
|
|
32
32
|
readonly details: ErrorDetail[];
|
|
33
|
-
/**
|
|
33
|
+
/** Request ID. Include it when contacting support. */
|
|
34
34
|
readonly requestId: string | undefined;
|
|
35
|
-
/**
|
|
35
|
+
/** Raw response body. */
|
|
36
36
|
readonly body: unknown;
|
|
37
37
|
constructor(init: {
|
|
38
38
|
status: number;
|
|
@@ -42,23 +42,23 @@ export declare class MonitoringApiError extends MonitoringError {
|
|
|
42
42
|
requestId?: string;
|
|
43
43
|
body?: unknown;
|
|
44
44
|
});
|
|
45
|
-
/**
|
|
45
|
+
/** `true` for transient errors — rate limits and unavailable upstream providers — that can be retried later. */
|
|
46
46
|
get retryable(): boolean;
|
|
47
47
|
}
|
|
48
|
-
/**
|
|
48
|
+
/** The request did not get a response because of a network or connection failure. */
|
|
49
49
|
export declare class MonitoringConnectionError extends MonitoringError {
|
|
50
50
|
constructor(message: string, options?: {
|
|
51
51
|
cause?: unknown;
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
/**
|
|
54
|
+
/** The request did not complete within `timeoutMs`. */
|
|
55
55
|
export declare class MonitoringTimeoutError extends MonitoringConnectionError {
|
|
56
56
|
constructor(timeoutMs: number);
|
|
57
57
|
}
|
|
58
|
-
/**
|
|
58
|
+
/** The webhook signature does not match: the body was altered or is verified with the wrong secret. */
|
|
59
59
|
export declare class WebhookSignatureError extends MonitoringError {
|
|
60
60
|
constructor(message?: string);
|
|
61
61
|
}
|
|
62
|
-
/**
|
|
62
|
+
/** Builds an error from any error body the API returns. */
|
|
63
63
|
export declare function apiErrorFrom(status: number, body: unknown, requestId: string | undefined): MonitoringApiError;
|
|
64
64
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,8FAA8F;AAC9F,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/E;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED,2DAA2D;AAC3D,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kGAAkG;IAClG,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAA;IAC/B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IAEtB,YAAY,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,EAQ/H;IAED,gHAAgH;IAChH,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAED,qFAAqF;AACrF,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED,uDAAuD;AACvD,qBAAa,sBAAuB,SAAQ,yBAAyB;IACnE,YAAY,SAAS,EAAE,MAAM,EAG5B;CACF;AAED,uGAAuG;AACvG,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,YAAY,OAAO,SAA+B,EAGjD;CACF;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAW7G"}
|
package/dist/esm/core/errors.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Base class of every error thrown by the SDK.
|
|
3
3
|
*
|
|
4
4
|
* @example
|
|
5
5
|
* ```ts
|
|
6
6
|
* try {
|
|
7
|
-
* await monitoring.addresses.add(
|
|
8
|
-
* } catch (
|
|
9
|
-
* if (
|
|
10
|
-
* else throw
|
|
7
|
+
* await monitoring.addresses.add(items)
|
|
8
|
+
* } catch (error) {
|
|
9
|
+
* if (error instanceof MonitoringApiError && error.status === 400) console.log(error.details)
|
|
10
|
+
* else throw error
|
|
11
11
|
* }
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
@@ -17,20 +17,20 @@ export class MonitoringError extends Error {
|
|
|
17
17
|
this.name = 'MonitoringError';
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
/** API
|
|
20
|
+
/** The API responded with an error status (4xx or 5xx). */
|
|
21
21
|
export class MonitoringApiError extends MonitoringError {
|
|
22
|
-
/** HTTP
|
|
22
|
+
/** HTTP status code. */
|
|
23
23
|
status;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
* `rate_limited`, `upstream_error`, `upstream_rate_limited
|
|
25
|
+
* Machine-readable error code, e.g. `invalid_request`, `unauthorized`, `forbidden`, `not_found`,
|
|
26
|
+
* `rate_limited`, `upstream_error`, `upstream_rate_limited`.
|
|
27
27
|
*/
|
|
28
28
|
code;
|
|
29
|
-
/**
|
|
29
|
+
/** Per-item problems of a batch request, such as invalid addresses. Empty when there are none. */
|
|
30
30
|
details;
|
|
31
|
-
/**
|
|
31
|
+
/** Request ID. Include it when contacting support. */
|
|
32
32
|
requestId;
|
|
33
|
-
/**
|
|
33
|
+
/** Raw response body. */
|
|
34
34
|
body;
|
|
35
35
|
constructor(init) {
|
|
36
36
|
super(`${init.message} (HTTP ${init.status}, ${init.code})`);
|
|
@@ -41,33 +41,33 @@ export class MonitoringApiError extends MonitoringError {
|
|
|
41
41
|
this.requestId = init.requestId;
|
|
42
42
|
this.body = init.body;
|
|
43
43
|
}
|
|
44
|
-
/**
|
|
44
|
+
/** `true` for transient errors — rate limits and unavailable upstream providers — that can be retried later. */
|
|
45
45
|
get retryable() {
|
|
46
46
|
return this.status === 429 || this.status === 503;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
/**
|
|
49
|
+
/** The request did not get a response because of a network or connection failure. */
|
|
50
50
|
export class MonitoringConnectionError extends MonitoringError {
|
|
51
51
|
constructor(message, options) {
|
|
52
52
|
super(message, options);
|
|
53
53
|
this.name = 'MonitoringConnectionError';
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
/**
|
|
56
|
+
/** The request did not complete within `timeoutMs`. */
|
|
57
57
|
export class MonitoringTimeoutError extends MonitoringConnectionError {
|
|
58
58
|
constructor(timeoutMs) {
|
|
59
59
|
super(`request timed out after ${timeoutMs} ms`);
|
|
60
60
|
this.name = 'MonitoringTimeoutError';
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
/**
|
|
63
|
+
/** The webhook signature does not match: the body was altered or is verified with the wrong secret. */
|
|
64
64
|
export class WebhookSignatureError extends MonitoringError {
|
|
65
65
|
constructor(message = 'webhook signature mismatch') {
|
|
66
66
|
super(message);
|
|
67
67
|
this.name = 'WebhookSignatureError';
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
/**
|
|
70
|
+
/** Builds an error from any error body the API returns. */
|
|
71
71
|
export function apiErrorFrom(status, body, requestId) {
|
|
72
72
|
const b = (body ?? {});
|
|
73
73
|
const v1 = typeof b.error === 'object' && b.error !== null ? b.error : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/core/http.d.ts
CHANGED
|
@@ -1,62 +1,58 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Per-request options, accepted as the last argument of every method. */
|
|
2
2
|
export interface RequestOptions {
|
|
3
|
-
/**
|
|
3
|
+
/** Cancels the request, including pending retries. */
|
|
4
4
|
signal?: AbortSignal;
|
|
5
|
-
/**
|
|
5
|
+
/** Timeout for this request in milliseconds. Overrides {@link ClientOptions.timeoutMs}. */
|
|
6
6
|
timeoutMs?: number;
|
|
7
|
-
/**
|
|
7
|
+
/** Maximum number of retries for this request. Overrides {@link ClientOptions.maxRetries}. */
|
|
8
8
|
maxRetries?: number;
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
10
|
+
/** Options of {@link MonitoringClient}. */
|
|
11
11
|
export interface ClientOptions {
|
|
12
|
+
/** Your API key. Sent in the `x-api-key` header. */
|
|
13
|
+
apiKey: string;
|
|
12
14
|
/**
|
|
13
|
-
*
|
|
14
|
-
* (всё, что вы можете в панели, с вашими правами). Уходит в заголовке `x-api-key`.
|
|
15
|
+
* Your client ID. Optional: when omitted, it is resolved from the API key on first use and cached.
|
|
15
16
|
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
sessionToken?: string;
|
|
19
|
-
/** Адрес API. По умолчанию `https://monitoring.v3.finance` */
|
|
17
|
+
clientId?: string;
|
|
18
|
+
/** API base URL. Defaults to `https://monitoring.v3.finance`. */
|
|
20
19
|
baseUrl?: string;
|
|
21
|
-
/**
|
|
20
|
+
/** Request timeout in milliseconds. Defaults to `30000`. */
|
|
22
21
|
timeoutMs?: number;
|
|
23
22
|
/**
|
|
24
|
-
*
|
|
23
|
+
* Maximum number of retries for transient errors. Defaults to `2`.
|
|
25
24
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* `Retry-After`, иначе экспоненциальная с разбросом.
|
|
25
|
+
* `429` and `503` responses are retried for every request, honoring `Retry-After`. Network errors and timeouts are
|
|
26
|
+
* retried only for requests that are safe to repeat. Backoff is exponential with jitter.
|
|
29
27
|
*/
|
|
30
28
|
maxRetries?: number;
|
|
31
|
-
/**
|
|
29
|
+
/** Custom `fetch` implementation, e.g. for proxies or instrumentation. Defaults to the global `fetch`. */
|
|
32
30
|
fetch?: typeof fetch;
|
|
33
|
-
/**
|
|
31
|
+
/** Additional headers sent with every request. */
|
|
34
32
|
headers?: Record<string, string>;
|
|
35
33
|
}
|
|
36
34
|
type Query = Record<string, string | number | boolean | null | undefined>;
|
|
37
|
-
/**
|
|
35
|
+
/** @internal A request to the API. */
|
|
38
36
|
export interface Call {
|
|
39
37
|
method: 'GET' | 'POST' | 'PATCH' | 'DELETE';
|
|
40
38
|
path: string;
|
|
41
39
|
query?: Query;
|
|
42
40
|
body?: unknown;
|
|
43
|
-
/**
|
|
41
|
+
/** The request can be repeated after a network failure without changing the outcome. */
|
|
44
42
|
idempotent: boolean;
|
|
45
|
-
/**
|
|
43
|
+
/** Statuses returned as data rather than thrown. */
|
|
46
44
|
acceptStatuses?: number[];
|
|
47
|
-
/** false — запрос без учётных данных (вход) */
|
|
48
|
-
auth?: boolean;
|
|
49
45
|
options?: RequestOptions | undefined;
|
|
50
46
|
}
|
|
51
|
-
/**
|
|
47
|
+
/** @internal Transport: base URL, authentication, timeouts, retries and error mapping. */
|
|
52
48
|
export declare class HttpClient {
|
|
53
49
|
#private;
|
|
54
50
|
readonly baseUrl: string;
|
|
55
51
|
constructor(options: ClientOptions, defaultBaseUrl: string);
|
|
56
|
-
/**
|
|
52
|
+
/** Sends a request and returns the parsed JSON response. */
|
|
57
53
|
request<T>(call: Call): Promise<T>;
|
|
58
54
|
}
|
|
59
|
-
/**
|
|
55
|
+
/** @internal Encodes a path segment. */
|
|
60
56
|
export declare const seg: (value: string | number) => string;
|
|
61
57
|
export {};
|
|
62
58
|
//# sourceMappingURL=http.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/core/http.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/core/http.ts"],"names":[],"mappings":"AAGA,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0GAA0G;IAC1G,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;AAEzE,sCAAsC;AACtC,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wFAAwF;IACxF,UAAU,EAAE,OAAO,CAAA;IACnB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CACrC;AAKD,0FAA0F;AAC1F,qBAAa,UAAU;;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAOxB,YAAY,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAUzD;IAED,4DAA4D;IACtD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAmCvC;CA6BF;AAuCD,wCAAwC;AACxC,eAAO,MAAM,GAAG,UAAW,MAAM,GAAG,MAAM,WAAsC,CAAA"}
|