@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/core/http.js
CHANGED
|
@@ -2,56 +2,62 @@ import { SDK_VERSION } from '../version.js';
|
|
|
2
2
|
import { apiErrorFrom, MonitoringConnectionError, MonitoringError, MonitoringTimeoutError } from './errors.js';
|
|
3
3
|
const DEFAULTS = { timeoutMs: 30_000, maxRetries: 2 };
|
|
4
4
|
const MAX_RETRY_DELAY_MS = 60_000;
|
|
5
|
-
/**
|
|
5
|
+
/** @internal Transport: base URL, authentication, timeouts, retries and error mapping. */
|
|
6
6
|
export class HttpClient {
|
|
7
7
|
baseUrl;
|
|
8
8
|
#apiKey;
|
|
9
|
-
#sessionToken;
|
|
10
9
|
#timeoutMs;
|
|
11
10
|
#maxRetries;
|
|
12
11
|
#fetch;
|
|
13
12
|
#headers;
|
|
14
13
|
constructor(options, defaultBaseUrl) {
|
|
15
|
-
if (options
|
|
16
|
-
throw new MonitoringError('
|
|
14
|
+
if (!options?.apiKey)
|
|
15
|
+
throw new MonitoringError('apiKey is required');
|
|
17
16
|
this.baseUrl = (options.baseUrl ?? defaultBaseUrl).replace(/\/+$/, '');
|
|
18
17
|
this.#apiKey = options.apiKey;
|
|
19
|
-
this.#sessionToken = options.sessionToken;
|
|
20
18
|
this.#timeoutMs = options.timeoutMs ?? DEFAULTS.timeoutMs;
|
|
21
19
|
this.#maxRetries = options.maxRetries ?? DEFAULTS.maxRetries;
|
|
22
20
|
const f = options.fetch ?? globalThis.fetch;
|
|
23
21
|
if (typeof f !== 'function')
|
|
24
|
-
throw new MonitoringError('fetch is not available: use Node.js 20
|
|
22
|
+
throw new MonitoringError('fetch is not available: use Node.js 20 or later, or pass options.fetch');
|
|
25
23
|
this.#fetch = f;
|
|
26
24
|
this.#headers = { ...options.headers };
|
|
27
25
|
}
|
|
28
|
-
/**
|
|
26
|
+
/** Sends a request and returns the parsed JSON response. */
|
|
29
27
|
async request(call) {
|
|
30
28
|
const url = this.#url(call.path, call.query);
|
|
31
|
-
const headers =
|
|
29
|
+
const headers = {
|
|
30
|
+
accept: 'application/json',
|
|
31
|
+
'user-agent': `@v3finance/monitoring-sdk/${SDK_VERSION}`,
|
|
32
|
+
...this.#headers,
|
|
33
|
+
'x-api-key': this.#apiKey,
|
|
34
|
+
};
|
|
35
|
+
if (call.body !== undefined)
|
|
36
|
+
headers['content-type'] = 'application/json';
|
|
32
37
|
const body = call.body === undefined ? undefined : JSON.stringify(call.body);
|
|
33
38
|
const maxRetries = call.options?.maxRetries ?? this.#maxRetries;
|
|
34
39
|
const timeoutMs = call.options?.timeoutMs ?? this.#timeoutMs;
|
|
40
|
+
const signal = call.options?.signal;
|
|
35
41
|
for (let attempt = 0;; attempt++) {
|
|
36
42
|
let res;
|
|
37
43
|
try {
|
|
38
|
-
res = await this.#send(url, { method: call.method, headers, body }, timeoutMs,
|
|
44
|
+
res = await this.#send(url, { method: call.method, headers, body }, timeoutMs, signal);
|
|
39
45
|
}
|
|
40
|
-
catch (
|
|
41
|
-
if (
|
|
42
|
-
throw
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (signal?.aborted)
|
|
48
|
+
throw signal.reason;
|
|
43
49
|
if (call.idempotent && attempt < maxRetries) {
|
|
44
|
-
await sleep(backoff(attempt),
|
|
50
|
+
await sleep(backoff(attempt), signal);
|
|
45
51
|
continue;
|
|
46
52
|
}
|
|
47
|
-
throw
|
|
53
|
+
throw error;
|
|
48
54
|
}
|
|
49
55
|
if ((res.status >= 200 && res.status < 300) || call.acceptStatuses?.includes(res.status))
|
|
50
56
|
return res.data;
|
|
51
57
|
const error = apiErrorFrom(res.status, res.data, res.headers.get('cf-ray') ?? undefined);
|
|
52
|
-
// 429
|
|
58
|
+
// 429 and 503 mean the request was not processed, so retrying is safe for any method
|
|
53
59
|
if (error.retryable && attempt < maxRetries) {
|
|
54
|
-
await sleep(retryAfter(res.headers) ?? backoff(attempt),
|
|
60
|
+
await sleep(retryAfter(res.headers) ?? backoff(attempt), signal);
|
|
55
61
|
continue;
|
|
56
62
|
}
|
|
57
63
|
throw error;
|
|
@@ -64,21 +70,7 @@ export class HttpClient {
|
|
|
64
70
|
url.searchParams.set(k, String(v));
|
|
65
71
|
return url.toString();
|
|
66
72
|
}
|
|
67
|
-
|
|
68
|
-
const headers = { accept: 'application/json', 'user-agent': `@v3finance/monitoring-sdk/${SDK_VERSION}`, ...this.#headers };
|
|
69
|
-
if (call.body !== undefined)
|
|
70
|
-
headers['content-type'] = 'application/json';
|
|
71
|
-
if (call.auth !== false) {
|
|
72
|
-
if (this.#apiKey)
|
|
73
|
-
headers['x-api-key'] = this.#apiKey;
|
|
74
|
-
else if (this.#sessionToken)
|
|
75
|
-
headers.authorization = `Bearer ${this.#sessionToken}`;
|
|
76
|
-
else
|
|
77
|
-
throw new MonitoringError('credentials required: pass apiKey or sessionToken to MonitoringClient');
|
|
78
|
-
}
|
|
79
|
-
return headers;
|
|
80
|
-
}
|
|
81
|
-
/** Один запрос с таймаутом на всё — и соединение, и чтение тела */
|
|
73
|
+
/** One attempt, with a single timeout covering both the connection and the response body. */
|
|
82
74
|
async #send(url, init, timeoutMs, signal) {
|
|
83
75
|
const controller = new AbortController();
|
|
84
76
|
const timer = setTimeout(() => controller.abort(new MonitoringTimeoutError(timeoutMs)), timeoutMs);
|
|
@@ -91,13 +83,13 @@ export class HttpClient {
|
|
|
91
83
|
const text = await res.text();
|
|
92
84
|
return { status: res.status, headers: res.headers, data: text ? parseJson(text) : undefined };
|
|
93
85
|
}
|
|
94
|
-
catch (
|
|
86
|
+
catch (error) {
|
|
95
87
|
const reason = controller.signal.reason;
|
|
96
88
|
if (reason instanceof MonitoringTimeoutError)
|
|
97
89
|
throw reason;
|
|
98
90
|
if (signal?.aborted)
|
|
99
91
|
throw signal.reason;
|
|
100
|
-
throw new MonitoringConnectionError(`request to ${new URL(url).origin} failed: ${
|
|
92
|
+
throw new MonitoringConnectionError(`request to ${new URL(url).origin} failed: ${error.message}`, { cause: error });
|
|
101
93
|
}
|
|
102
94
|
finally {
|
|
103
95
|
clearTimeout(timer);
|
|
@@ -113,11 +105,11 @@ function parseJson(text) {
|
|
|
113
105
|
return text;
|
|
114
106
|
}
|
|
115
107
|
}
|
|
116
|
-
/**
|
|
108
|
+
/** Exponential backoff with jitter: ~0.5 s, 1 s, 2 s… capped at 8 s. */
|
|
117
109
|
function backoff(attempt) {
|
|
118
110
|
return Math.min(8_000, 500 * 2 ** attempt) * (0.5 + Math.random() / 2);
|
|
119
111
|
}
|
|
120
|
-
/**
|
|
112
|
+
/** Delay from a `Retry-After` header: seconds or an HTTP date. */
|
|
121
113
|
function retryAfter(headers) {
|
|
122
114
|
const raw = headers.get('retry-after');
|
|
123
115
|
if (!raw)
|
|
@@ -141,6 +133,6 @@ function sleep(ms, signal) {
|
|
|
141
133
|
signal?.addEventListener('abort', onAbort, { once: true });
|
|
142
134
|
});
|
|
143
135
|
}
|
|
144
|
-
/**
|
|
136
|
+
/** @internal Encodes a path segment. */
|
|
145
137
|
export const seg = (value) => encodeURIComponent(String(value));
|
|
146
138
|
//# sourceMappingURL=http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/core/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/core/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* A page of results. `next` is the cursor of the next page; `null` when there are no more pages.
|
|
3
3
|
*
|
|
4
|
-
* @typeParam T -
|
|
5
|
-
* @typeParam Cursor - тип курсора: строка (клиенты) или число (адреса, история)
|
|
4
|
+
* @typeParam T - Item type.
|
|
6
5
|
*/
|
|
7
|
-
export interface Page<T
|
|
6
|
+
export interface Page<T> {
|
|
8
7
|
items: T[];
|
|
9
|
-
next:
|
|
8
|
+
next: number | null;
|
|
10
9
|
}
|
|
11
|
-
/**
|
|
12
|
-
export declare function paginate<T
|
|
10
|
+
/** @internal Yields every item, fetching the next page only when the current one is exhausted. */
|
|
11
|
+
export declare function paginate<T>(fetchPage: (cursor: number | undefined) => Promise<Page<T>>): AsyncGenerator<T, void, undefined>;
|
|
13
12
|
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/core/pagination.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/core/pagination.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,kGAAkG;AAClG,wBAAuB,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAQlI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/core/pagination.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/core/pagination.ts"],"names":[],"mappings":"AAUA,kGAAkG;AAClG,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAAI,SAA2D;IAC5F,IAAI,MAA0B,CAAA;IAC9B,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;QACpC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAM;QACzD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HttpClient } from './http.js';
|
|
2
|
+
/** @internal What resources share: the transport and the client ID of the API key. */
|
|
3
|
+
export interface Scope {
|
|
4
|
+
http: HttpClient;
|
|
5
|
+
/** Path segment of the client: resolved from the API key once, then cached. */
|
|
6
|
+
clientPath: () => Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/core/scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,sFAAsF;AACtF,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/core/scope.ts"],"names":[],"mappings":""}
|