@openaisdk/billing-sdk-node 1.11.1 → 1.11.3
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/README.md +26 -0
- package/bin/billing-sdk-doctor.mjs +98 -0
- package/dist/diagnostics/engine.d.ts +46 -0
- package/dist/diagnostics/engine.d.ts.map +1 -0
- package/dist/diagnostics/engine.js +273 -0
- package/dist/diagnostics/index.d.ts +4 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +2 -0
- package/dist/diagnostics/types.d.ts +66 -0
- package/dist/diagnostics/types.d.ts.map +1 -0
- package/dist/diagnostics/types.js +1 -0
- package/dist/diagnostics/ui-projection.d.ts +3 -0
- package/dist/diagnostics/ui-projection.d.ts.map +1 -0
- package/dist/diagnostics/ui-projection.js +28 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -3
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -39,6 +39,7 @@ const billing = new MegaBilling({
|
|
|
39
39
|
### 2. Каталог
|
|
40
40
|
|
|
41
41
|
Тарифы — `products`, цены — `prices`. Код фичи для `access.check` — `Feature.code`.
|
|
42
|
+
`billing.products.list()` уже возвращает продукты в порядке `sortOrder`.
|
|
42
43
|
|
|
43
44
|
```ts
|
|
44
45
|
const products = await billing.products.list({ active: true, limit: 20 });
|
|
@@ -198,6 +199,31 @@ await billing.meterEvents.create({
|
|
|
198
199
|
const invoices = await billing.invoices.list({ customer: customer.id, limit: 20 });
|
|
199
200
|
```
|
|
200
201
|
|
|
202
|
+
## Diagnostics
|
|
203
|
+
|
|
204
|
+
Диагностика работает только на сервере и ничего не печатает:
|
|
205
|
+
|
|
206
|
+
```ts
|
|
207
|
+
import { diagnostics } from '@openaisdk/billing-sdk-node';
|
|
208
|
+
|
|
209
|
+
const report = await billing.diagnostics.run({ expectedMode: 'test' });
|
|
210
|
+
const safeView = diagnostics.toUiProjection(report);
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
В браузер передавайте только `safeView`, не API key.
|
|
214
|
+
CLI: `BILLING_API_KEY=bsk_test_... billing-sdk-doctor --json`.
|
|
215
|
+
Опционально: `BILLING_API_URL`, `BILLING_WEBHOOK_SECRET`.
|
|
216
|
+
Флаги: `--customer`, `--feature`, `--webhook-secret`, `--expected-mode`, `--timeout`, `--json`.
|
|
217
|
+
|
|
218
|
+
`pass` — ключ и каталог отвечают. Без customer / feature / webhook secret проверка `skipped`, не `fail`. HTTP 200 при `allowed: false` или пустом снимке доступа — `warn`.
|
|
219
|
+
|
|
220
|
+
| Exit | Значение |
|
|
221
|
+
| ---- | ------------------------------------------- |
|
|
222
|
+
| 0 | `pass`, `warn` или только `skipped` |
|
|
223
|
+
| 1 | `fail` |
|
|
224
|
+
| 2 | ошибка аргументов или нет `BILLING_API_KEY` |
|
|
225
|
+
| 3 | ошибка запуска |
|
|
226
|
+
|
|
201
227
|
---
|
|
202
228
|
|
|
203
229
|
## Ошибки
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* global process */
|
|
3
|
+
|
|
4
|
+
import { MegaBilling } from '../dist/index.js';
|
|
5
|
+
|
|
6
|
+
const USAGE = `Usage: billing-sdk-doctor [options]
|
|
7
|
+
|
|
8
|
+
Options:
|
|
9
|
+
--customer <id>
|
|
10
|
+
--feature <code>
|
|
11
|
+
--webhook-secret <secret> Defaults to BILLING_WEBHOOK_SECRET
|
|
12
|
+
--expected-mode <test|live>
|
|
13
|
+
--timeout <ms>
|
|
14
|
+
--json
|
|
15
|
+
--help
|
|
16
|
+
`;
|
|
17
|
+
|
|
18
|
+
class UsageError extends Error {}
|
|
19
|
+
|
|
20
|
+
function parse(argv) {
|
|
21
|
+
const options = {};
|
|
22
|
+
let json = false;
|
|
23
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
24
|
+
const flag = argv[index];
|
|
25
|
+
if (flag === '--json') {
|
|
26
|
+
json = true;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (flag === '--help') return { help: true, json, options };
|
|
30
|
+
if (
|
|
31
|
+
!['--customer', '--feature', '--webhook-secret', '--expected-mode', '--timeout'].includes(flag)
|
|
32
|
+
) {
|
|
33
|
+
throw new UsageError(`Unknown flag: ${flag}`);
|
|
34
|
+
}
|
|
35
|
+
const value = argv[++index];
|
|
36
|
+
if (!value || value.startsWith('--')) throw new UsageError(`Missing value for ${flag}`);
|
|
37
|
+
if (flag === '--customer') options.customer = value;
|
|
38
|
+
if (flag === '--feature') options.feature = value;
|
|
39
|
+
if (flag === '--webhook-secret') options.webhookSecret = value;
|
|
40
|
+
if (flag === '--expected-mode') {
|
|
41
|
+
if (value !== 'test' && value !== 'live') throw new UsageError('Invalid --expected-mode');
|
|
42
|
+
options.expectedMode = value;
|
|
43
|
+
}
|
|
44
|
+
if (flag === '--timeout') {
|
|
45
|
+
const timeoutMs = Number(value);
|
|
46
|
+
if (!Number.isInteger(timeoutMs) || timeoutMs <= 0) throw new UsageError('Invalid --timeout');
|
|
47
|
+
options.timeoutMs = timeoutMs;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return { help: false, json, options };
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function human(report) {
|
|
54
|
+
const lines = [
|
|
55
|
+
`MegaBilling diagnostics: ${report.status.toUpperCase()}`,
|
|
56
|
+
`Mode: ${report.context.mode}`,
|
|
57
|
+
`Key: ${report.context.key.handle}`,
|
|
58
|
+
];
|
|
59
|
+
if (report.context.project?.name) lines.push(`Project: ${report.context.project.name}`);
|
|
60
|
+
for (const check of report.checks) {
|
|
61
|
+
lines.push(
|
|
62
|
+
`[${check.status.toUpperCase()}] ${check.id}${check.reason ? ` (${check.reason})` : ''}`
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
return `${lines.join('\n')}\n`;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async function main() {
|
|
69
|
+
const parsed = parse(process.argv.slice(2));
|
|
70
|
+
if (parsed.help) {
|
|
71
|
+
process.stdout.write(USAGE);
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const apiKey = process.env.BILLING_API_KEY;
|
|
76
|
+
if (!apiKey?.trim()) throw new UsageError('BILLING_API_KEY is required');
|
|
77
|
+
parsed.options.webhookSecret ??= process.env.BILLING_WEBHOOK_SECRET;
|
|
78
|
+
|
|
79
|
+
const billing = new MegaBilling({
|
|
80
|
+
apiKey,
|
|
81
|
+
baseUrl: process.env.BILLING_API_URL,
|
|
82
|
+
timeoutMs: parsed.options.timeoutMs,
|
|
83
|
+
});
|
|
84
|
+
const report = await billing.diagnostics.run(parsed.options);
|
|
85
|
+
process.stdout.write(parsed.json ? `${JSON.stringify(report)}\n` : human(report));
|
|
86
|
+
return report.status === 'fail' ? 1 : 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
main()
|
|
90
|
+
.then((code) => {
|
|
91
|
+
process.exitCode = code;
|
|
92
|
+
})
|
|
93
|
+
.catch((error) => {
|
|
94
|
+
const usage = error instanceof UsageError;
|
|
95
|
+
process.stderr.write(`${error instanceof Error ? error.message : 'Startup failed'}\n`);
|
|
96
|
+
if (usage) process.stderr.write(USAGE);
|
|
97
|
+
process.exitCode = usage ? 2 : 3;
|
|
98
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { DiagnosticsOptions, DiagnosticsReport } from './types.js';
|
|
2
|
+
interface ResponseMeta {
|
|
3
|
+
requestId: string | null;
|
|
4
|
+
}
|
|
5
|
+
interface IntegrationContextResponse extends ResponseMeta {
|
|
6
|
+
livemode: boolean;
|
|
7
|
+
mode: 'test' | 'live';
|
|
8
|
+
apiVersion: string;
|
|
9
|
+
project: {
|
|
10
|
+
name: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
interface ListResponse<T> extends ResponseMeta {
|
|
14
|
+
data: T[];
|
|
15
|
+
}
|
|
16
|
+
interface ProductShape {
|
|
17
|
+
id: string;
|
|
18
|
+
active: boolean;
|
|
19
|
+
sortOrder: number;
|
|
20
|
+
}
|
|
21
|
+
interface PriceShape {
|
|
22
|
+
product: string;
|
|
23
|
+
active: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface DiagnosticsDependencies {
|
|
26
|
+
apiKey: () => string;
|
|
27
|
+
baseUrl: () => string;
|
|
28
|
+
sdkPackage: '@openaisdk/billing-sdk-node';
|
|
29
|
+
sdkVersion: string;
|
|
30
|
+
context: (timeoutMs?: number) => Promise<IntegrationContextResponse>;
|
|
31
|
+
products: (timeoutMs?: number) => Promise<ListResponse<ProductShape>>;
|
|
32
|
+
prices: (timeoutMs?: number) => Promise<ListResponse<PriceShape>>;
|
|
33
|
+
features: (timeoutMs?: number) => Promise<ListResponse<unknown>>;
|
|
34
|
+
accessRetrieve: (customer: string, timeoutMs?: number) => Promise<ResponseMeta & {
|
|
35
|
+
features: string[];
|
|
36
|
+
}>;
|
|
37
|
+
accessCheck: (customer: string, feature: string, timeoutMs?: number) => Promise<ResponseMeta & {
|
|
38
|
+
allowed: boolean;
|
|
39
|
+
}>;
|
|
40
|
+
webhookLocal: (secret: string) => void;
|
|
41
|
+
}
|
|
42
|
+
export declare function createDiagnostics(deps: DiagnosticsDependencies): {
|
|
43
|
+
run(options?: DiagnosticsOptions): Promise<DiagnosticsReport>;
|
|
44
|
+
};
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/diagnostics/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AASlG,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,UAAU,0BAA2B,SAAQ,YAAY;IACvD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AAED,UAAU,YAAY,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC5C,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,UAAU,EAAE,6BAA6B,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACrE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IACtE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,cAAc,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,YAAY,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACpD,WAAW,EAAE,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,YAAY,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAClD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAiDD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,uBAAuB,GAAG;IAChE,GAAG,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/D,CAEA"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
const DOCS_URL = '#diagnostics';
|
|
2
|
+
const AUTH_CODES = new Set([
|
|
3
|
+
'integration_key_missing',
|
|
4
|
+
'integration_key_invalid',
|
|
5
|
+
'integration_key_revoked',
|
|
6
|
+
]);
|
|
7
|
+
const DEFINITIONS = {
|
|
8
|
+
'api.reachable': {
|
|
9
|
+
title: 'API reachable',
|
|
10
|
+
remediation: 'Check BILLING_API_URL and network connectivity.',
|
|
11
|
+
},
|
|
12
|
+
'api.auth': {
|
|
13
|
+
title: 'API authentication',
|
|
14
|
+
remediation: 'Create or rotate the integration key and update BILLING_API_KEY.',
|
|
15
|
+
},
|
|
16
|
+
'integration.context': {
|
|
17
|
+
title: 'Integration context',
|
|
18
|
+
remediation: 'Verify the integration key project and contact MegaBilling support.',
|
|
19
|
+
},
|
|
20
|
+
'mode.consistency': {
|
|
21
|
+
title: 'Mode consistency',
|
|
22
|
+
remediation: 'Use a key and resources from the expected test or live mode.',
|
|
23
|
+
},
|
|
24
|
+
'catalog.products.readable': {
|
|
25
|
+
title: 'Products readable',
|
|
26
|
+
remediation: 'Create at least one active product in MegaBilling.',
|
|
27
|
+
},
|
|
28
|
+
'catalog.prices.readable': {
|
|
29
|
+
title: 'Prices readable',
|
|
30
|
+
remediation: 'Create at least one active price in MegaBilling.',
|
|
31
|
+
},
|
|
32
|
+
'catalog.features.readable': {
|
|
33
|
+
title: 'Features readable',
|
|
34
|
+
remediation: 'Create at least one feature in MegaBilling.',
|
|
35
|
+
},
|
|
36
|
+
'catalog.pricing_page_shape': {
|
|
37
|
+
title: 'Pricing page shape',
|
|
38
|
+
remediation: 'Set sortOrder and an active price for every active product.',
|
|
39
|
+
},
|
|
40
|
+
'access.retrieve': {
|
|
41
|
+
title: 'Access readable',
|
|
42
|
+
remediation: 'Verify the customer identifier and its project.',
|
|
43
|
+
},
|
|
44
|
+
'access.check': {
|
|
45
|
+
title: 'Feature access check',
|
|
46
|
+
remediation: 'Verify the customer and feature code.',
|
|
47
|
+
},
|
|
48
|
+
'webhook.signature.local': {
|
|
49
|
+
title: 'Webhook signature local',
|
|
50
|
+
remediation: 'Copy the current webhook secret from MegaBilling.',
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
export function createDiagnostics(deps) {
|
|
54
|
+
return { run: (options = {}) => runDiagnostics(deps, options) };
|
|
55
|
+
}
|
|
56
|
+
async function runDiagnostics(deps, options) {
|
|
57
|
+
const started = Date.now();
|
|
58
|
+
const startedAt = new Date(started).toISOString();
|
|
59
|
+
const checks = [];
|
|
60
|
+
let context;
|
|
61
|
+
const probeStarted = Date.now();
|
|
62
|
+
try {
|
|
63
|
+
context = await deps.context(options.timeoutMs);
|
|
64
|
+
checks.push(result('api.reachable', 'pass', probeStarted));
|
|
65
|
+
checks.push(result('api.auth', 'pass', probeStarted, { requestId: context.requestId }));
|
|
66
|
+
checks.push(result('integration.context', 'pass', probeStarted));
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
const failure = safeError(error);
|
|
70
|
+
const authFailure = AUTH_CODES.has(failure.code);
|
|
71
|
+
const reachableStatus = authFailure
|
|
72
|
+
? 'pass'
|
|
73
|
+
: failure.status >= 400 && failure.status < 500
|
|
74
|
+
? 'warn'
|
|
75
|
+
: 'fail';
|
|
76
|
+
checks.push(result('api.reachable', reachableStatus, probeStarted, {
|
|
77
|
+
message: authFailure ? undefined : failure.code,
|
|
78
|
+
}));
|
|
79
|
+
checks.push(authFailure
|
|
80
|
+
? result('api.auth', 'fail', probeStarted, {
|
|
81
|
+
message: failure.code,
|
|
82
|
+
requestId: failure.requestId,
|
|
83
|
+
})
|
|
84
|
+
: skipped('api.auth', 'depends_on:api.reachable'));
|
|
85
|
+
checks.push(skipped('integration.context', 'depends_on:api.auth'));
|
|
86
|
+
}
|
|
87
|
+
if (context) {
|
|
88
|
+
const prefixMode = keyMode(deps.apiKey());
|
|
89
|
+
const consistent = context.mode === (context.livemode ? 'live' : 'test') &&
|
|
90
|
+
(prefixMode === 'unknown' || prefixMode === context.mode) &&
|
|
91
|
+
(!options.expectedMode || options.expectedMode === context.mode);
|
|
92
|
+
checks.push(result('mode.consistency', consistent ? 'pass' : 'warn', Date.now(), {
|
|
93
|
+
message: consistent ? undefined : 'Configured and returned modes differ.',
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
checks.push(skipped('mode.consistency', 'depends_on:api.auth'));
|
|
98
|
+
}
|
|
99
|
+
let products;
|
|
100
|
+
let prices;
|
|
101
|
+
if (context) {
|
|
102
|
+
products = await readable('catalog.products.readable', () => deps.products(options.timeoutMs), checks);
|
|
103
|
+
prices = await readable('catalog.prices.readable', () => deps.prices(options.timeoutMs), checks);
|
|
104
|
+
await readable('catalog.features.readable', () => deps.features(options.timeoutMs), checks);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
checks.push(skipped('catalog.products.readable', 'depends_on:api.auth'));
|
|
108
|
+
checks.push(skipped('catalog.prices.readable', 'depends_on:api.auth'));
|
|
109
|
+
checks.push(skipped('catalog.features.readable', 'depends_on:api.auth'));
|
|
110
|
+
}
|
|
111
|
+
if (products && prices) {
|
|
112
|
+
const startedAtMs = Date.now();
|
|
113
|
+
const activeProducts = products.data.filter((product) => product.active);
|
|
114
|
+
const activePrices = prices.data.filter((price) => price.active);
|
|
115
|
+
const valid = activeProducts.length > 0 &&
|
|
116
|
+
activeProducts.every((product) => Number.isFinite(product.sortOrder) &&
|
|
117
|
+
activePrices.some((price) => price.product === product.id));
|
|
118
|
+
checks.push(result('catalog.pricing_page_shape', valid ? 'pass' : 'warn', startedAtMs, {
|
|
119
|
+
data: { activeProducts: activeProducts.length, activePrices: activePrices.length },
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
checks.push(skipped('catalog.pricing_page_shape', 'depends_on:catalog.readable'));
|
|
124
|
+
}
|
|
125
|
+
await runAccessChecks(deps, options, checks, Boolean(context));
|
|
126
|
+
runWebhookCheck(deps, options.webhookSecret, checks);
|
|
127
|
+
const finished = Date.now();
|
|
128
|
+
return {
|
|
129
|
+
object: 'diagnostics_report',
|
|
130
|
+
version: 1,
|
|
131
|
+
livemode: context?.livemode ?? null,
|
|
132
|
+
status: aggregate(checks),
|
|
133
|
+
context: {
|
|
134
|
+
sdkVersion: deps.sdkVersion,
|
|
135
|
+
sdkPackage: deps.sdkPackage,
|
|
136
|
+
apiVersion: context?.apiVersion ?? null,
|
|
137
|
+
baseUrl: safeBaseUrl(deps.baseUrl()),
|
|
138
|
+
mode: context?.mode ?? 'unknown',
|
|
139
|
+
key: { handle: maskKey(deps.apiKey()) },
|
|
140
|
+
...(context ? { project: { name: context.project.name } } : {}),
|
|
141
|
+
startedAt,
|
|
142
|
+
finishedAt: new Date(finished).toISOString(),
|
|
143
|
+
totalDurationMs: finished - started,
|
|
144
|
+
},
|
|
145
|
+
checks,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
async function readable(id, call, checks) {
|
|
149
|
+
const started = Date.now();
|
|
150
|
+
try {
|
|
151
|
+
const response = await call();
|
|
152
|
+
checks.push(result(id, response.data.length > 0 ? 'pass' : 'warn', started, {
|
|
153
|
+
requestId: response.requestId,
|
|
154
|
+
data: { count: response.data.length },
|
|
155
|
+
}));
|
|
156
|
+
return response;
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
const failure = safeError(error);
|
|
160
|
+
checks.push(result(id, 'fail', started, { message: failure.code, requestId: failure.requestId }));
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
async function runAccessChecks(deps, options, checks, authenticated) {
|
|
165
|
+
if (!authenticated) {
|
|
166
|
+
checks.push(skipped('access.retrieve', 'depends_on:api.auth'));
|
|
167
|
+
checks.push(skipped('access.check', 'depends_on:api.auth'));
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (!options.customer) {
|
|
171
|
+
checks.push(skipped('access.retrieve', 'missing:customer'));
|
|
172
|
+
checks.push(skipped('access.check', 'missing:customer_or_feature'));
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const retrieveStarted = Date.now();
|
|
176
|
+
try {
|
|
177
|
+
const response = await deps.accessRetrieve(options.customer, options.timeoutMs);
|
|
178
|
+
checks.push(result('access.retrieve', response.features.length > 0 ? 'pass' : 'warn', retrieveStarted, {
|
|
179
|
+
requestId: response.requestId,
|
|
180
|
+
data: { featureCount: response.features.length },
|
|
181
|
+
}));
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
const failure = safeError(error);
|
|
185
|
+
checks.push(result('access.retrieve', 'fail', retrieveStarted, {
|
|
186
|
+
message: failure.code,
|
|
187
|
+
requestId: failure.requestId,
|
|
188
|
+
}));
|
|
189
|
+
checks.push(skipped('access.check', 'depends_on:access.retrieve'));
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
if (!options.feature) {
|
|
193
|
+
checks.push(skipped('access.check', 'missing:customer_or_feature'));
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const checkStarted = Date.now();
|
|
197
|
+
try {
|
|
198
|
+
const response = await deps.accessCheck(options.customer, options.feature, options.timeoutMs);
|
|
199
|
+
checks.push(result('access.check', response.allowed ? 'pass' : 'warn', checkStarted, {
|
|
200
|
+
requestId: response.requestId,
|
|
201
|
+
data: { allowed: response.allowed },
|
|
202
|
+
}));
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
const failure = safeError(error);
|
|
206
|
+
checks.push(result('access.check', 'fail', checkStarted, {
|
|
207
|
+
message: failure.code,
|
|
208
|
+
requestId: failure.requestId,
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
function runWebhookCheck(deps, secret, checks) {
|
|
213
|
+
if (!secret) {
|
|
214
|
+
checks.push(skipped('webhook.signature.local', 'missing:webhook_secret'));
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
const started = Date.now();
|
|
218
|
+
try {
|
|
219
|
+
deps.webhookLocal(secret);
|
|
220
|
+
checks.push(result('webhook.signature.local', 'pass', started));
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
checks.push(result('webhook.signature.local', 'fail', started));
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function result(id, status, started, extra = {}) {
|
|
227
|
+
const definition = DEFINITIONS[id];
|
|
228
|
+
return {
|
|
229
|
+
id,
|
|
230
|
+
title: definition.title,
|
|
231
|
+
status,
|
|
232
|
+
durationMs: Math.max(0, Date.now() - started),
|
|
233
|
+
remediation: { text: definition.remediation, docsUrl: DOCS_URL },
|
|
234
|
+
...extra,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
function skipped(id, reason) {
|
|
238
|
+
return result(id, 'skipped', Date.now(), { reason });
|
|
239
|
+
}
|
|
240
|
+
function aggregate(checks) {
|
|
241
|
+
const rank = { pass: 0, warn: 1, fail: 2 };
|
|
242
|
+
return checks.reduce((overall, check) => check.status === 'skipped' || rank[check.status] <= rank[overall] ? overall : check.status, 'pass');
|
|
243
|
+
}
|
|
244
|
+
function keyMode(apiKey) {
|
|
245
|
+
if (apiKey.startsWith('bsk_test_'))
|
|
246
|
+
return 'test';
|
|
247
|
+
if (apiKey.startsWith('bsk_live_'))
|
|
248
|
+
return 'live';
|
|
249
|
+
return 'unknown';
|
|
250
|
+
}
|
|
251
|
+
function maskKey(apiKey) {
|
|
252
|
+
const mode = keyMode(apiKey);
|
|
253
|
+
return `bsk_${mode}_…${apiKey.slice(-4)}`;
|
|
254
|
+
}
|
|
255
|
+
function safeBaseUrl(value) {
|
|
256
|
+
try {
|
|
257
|
+
return new URL(value).origin;
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
return 'invalid_url';
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
function safeError(error) {
|
|
264
|
+
if (!error || typeof error !== 'object') {
|
|
265
|
+
return { code: 'unknown_error', requestId: null, status: 0 };
|
|
266
|
+
}
|
|
267
|
+
const value = error;
|
|
268
|
+
return {
|
|
269
|
+
code: typeof value.code === 'string' ? value.code : 'unknown_error',
|
|
270
|
+
requestId: typeof value.requestId === 'string' ? value.requestId : null,
|
|
271
|
+
status: typeof value.status === 'number' ? value.status : 0,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createDiagnostics } from './engine.js';
|
|
2
|
+
export { toUiProjection } from './ui-projection.js';
|
|
3
|
+
export type { CheckResult, CheckStatus, DiagnosticsContext, DiagnosticsOptions, DiagnosticsReport, DiagnosticsUiProjection, } from './types.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diagnostics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export type CheckStatus = 'pass' | 'warn' | 'fail' | 'skipped';
|
|
2
|
+
export interface CheckResult {
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
status: CheckStatus;
|
|
6
|
+
durationMs: number;
|
|
7
|
+
message?: string;
|
|
8
|
+
remediation: {
|
|
9
|
+
text: string;
|
|
10
|
+
docsUrl?: string;
|
|
11
|
+
};
|
|
12
|
+
requestId?: string | null;
|
|
13
|
+
data?: Record<string, unknown>;
|
|
14
|
+
reason?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface DiagnosticsContext {
|
|
17
|
+
sdkVersion: string;
|
|
18
|
+
sdkPackage: '@openaisdk/billing-sdk-node';
|
|
19
|
+
apiVersion: string | null;
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
mode: 'test' | 'live' | 'unknown';
|
|
22
|
+
key: {
|
|
23
|
+
handle: string;
|
|
24
|
+
};
|
|
25
|
+
project?: {
|
|
26
|
+
name?: string;
|
|
27
|
+
};
|
|
28
|
+
startedAt: string;
|
|
29
|
+
finishedAt: string;
|
|
30
|
+
totalDurationMs: number;
|
|
31
|
+
}
|
|
32
|
+
export interface DiagnosticsReport {
|
|
33
|
+
object: 'diagnostics_report';
|
|
34
|
+
version: 1;
|
|
35
|
+
livemode: boolean | null;
|
|
36
|
+
status: Exclude<CheckStatus, 'skipped'>;
|
|
37
|
+
context: DiagnosticsContext;
|
|
38
|
+
checks: CheckResult[];
|
|
39
|
+
}
|
|
40
|
+
export interface DiagnosticsOptions {
|
|
41
|
+
customer?: string;
|
|
42
|
+
feature?: string;
|
|
43
|
+
webhookSecret?: string;
|
|
44
|
+
timeoutMs?: number;
|
|
45
|
+
expectedMode?: 'test' | 'live';
|
|
46
|
+
}
|
|
47
|
+
export interface DiagnosticsUiProjection {
|
|
48
|
+
object: 'diagnostics_ui_projection';
|
|
49
|
+
version: 1;
|
|
50
|
+
status: DiagnosticsReport['status'];
|
|
51
|
+
checkedAt: string;
|
|
52
|
+
totalDurationMs: number;
|
|
53
|
+
context: {
|
|
54
|
+
mode: DiagnosticsContext['mode'];
|
|
55
|
+
project?: {
|
|
56
|
+
name?: string;
|
|
57
|
+
};
|
|
58
|
+
key: {
|
|
59
|
+
handle: string;
|
|
60
|
+
};
|
|
61
|
+
sdkVersion: string;
|
|
62
|
+
apiVersion: string | null;
|
|
63
|
+
};
|
|
64
|
+
checks: Array<Pick<CheckResult, 'id' | 'title' | 'status' | 'durationMs' | 'message' | 'remediation' | 'reason'>>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,6BAA6B,CAAC;IAC1C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,2BAA2B,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE;QACP,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5B,GAAG,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE,KAAK,CACX,IAAI,CACF,WAAW,EACX,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,CAChF,CACF,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-projection.d.ts","sourceRoot":"","sources":["../../src/diagnostics/ui-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE7E,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,CA2BjF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function toUiProjection(report) {
|
|
2
|
+
return {
|
|
3
|
+
object: 'diagnostics_ui_projection',
|
|
4
|
+
version: 1,
|
|
5
|
+
status: report.status,
|
|
6
|
+
checkedAt: report.context.finishedAt,
|
|
7
|
+
totalDurationMs: report.context.totalDurationMs,
|
|
8
|
+
context: {
|
|
9
|
+
mode: report.context.mode,
|
|
10
|
+
...(report.context.project ? { project: { name: report.context.project.name } } : {}),
|
|
11
|
+
key: { handle: report.context.key.handle },
|
|
12
|
+
sdkVersion: report.context.sdkVersion,
|
|
13
|
+
apiVersion: report.context.apiVersion,
|
|
14
|
+
},
|
|
15
|
+
checks: report.checks.map((check) => ({
|
|
16
|
+
id: check.id,
|
|
17
|
+
title: check.title,
|
|
18
|
+
status: check.status,
|
|
19
|
+
durationMs: check.durationMs,
|
|
20
|
+
...(check.message === undefined ? {} : { message: check.message }),
|
|
21
|
+
remediation: {
|
|
22
|
+
text: check.remediation.text,
|
|
23
|
+
...(check.remediation.docsUrl === undefined ? {} : { docsUrl: check.remediation.docsUrl }),
|
|
24
|
+
},
|
|
25
|
+
...(check.reason === undefined ? {} : { reason: check.reason }),
|
|
26
|
+
})),
|
|
27
|
+
};
|
|
28
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { toUiProjection } from './diagnostics/index.js';
|
|
2
|
+
import type { CheckResult, CheckStatus, DiagnosticsContext, DiagnosticsOptions, DiagnosticsReport, DiagnosticsUiProjection } from './diagnostics/index.js';
|
|
3
|
+
declare const SDK_VERSION = "1.11.2";
|
|
2
4
|
declare const SDK_PACKAGE_NAME = "@openaisdk/billing-sdk-node";
|
|
3
5
|
declare const DEFAULT_BASE_URL = "https://billing.example.com";
|
|
4
6
|
declare const DEFAULT_TIMEOUT_MS = 30000;
|
|
@@ -19,6 +21,7 @@ export interface Product {
|
|
|
19
21
|
name: string;
|
|
20
22
|
description: string | null;
|
|
21
23
|
active: boolean;
|
|
24
|
+
sortOrder: number;
|
|
22
25
|
defaultPrice: string | null;
|
|
23
26
|
metadata: Record<string, string>;
|
|
24
27
|
}
|
|
@@ -65,6 +68,7 @@ export interface MegaBillingOptions {
|
|
|
65
68
|
}
|
|
66
69
|
export interface RequestOptions {
|
|
67
70
|
signal?: AbortSignal;
|
|
71
|
+
timeoutMs?: number;
|
|
68
72
|
}
|
|
69
73
|
export interface CreateOptions extends RequestOptions {
|
|
70
74
|
idempotencyKey?: string;
|
|
@@ -568,9 +572,16 @@ export declare class MegaBilling {
|
|
|
568
572
|
data?: Partial<BillingTestWebhookData>;
|
|
569
573
|
}) => BillingWebhookEvent<"billing.test">;
|
|
570
574
|
};
|
|
575
|
+
readonly diagnostics: {
|
|
576
|
+
run(options?: DiagnosticsOptions): Promise<DiagnosticsReport>;
|
|
577
|
+
};
|
|
571
578
|
constructor(options: MegaBillingOptions);
|
|
572
579
|
private request;
|
|
573
580
|
private buildHeaders;
|
|
574
581
|
}
|
|
575
582
|
export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT_MS, REQUEST_ID_HEADER, SDK_PACKAGE_NAME, SDK_VERSION, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_DEFAULT_TOLERANCE_SECONDS, };
|
|
583
|
+
export declare const diagnostics: {
|
|
584
|
+
toUiProjection: typeof toUiProjection;
|
|
585
|
+
};
|
|
586
|
+
export type { CheckResult, CheckStatus, DiagnosticsContext, DiagnosticsOptions, DiagnosticsReport, DiagnosticsUiProjection, };
|
|
576
587
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,WAAW,WAAW,CAAC;AAC7B,QAAA,MAAM,gBAAgB,gCAAgC,CAAC;AACvD,QAAA,MAAM,gBAAgB,gCAAgC,CAAC;AACvD,QAAA,MAAM,kBAAkB,QAAS,CAAC;AAClC,QAAA,MAAM,iBAAiB,2BAA2B,CAAC;AACnD,QAAA,MAAM,wBAAwB,wBAAwB,CAAC;AAEvD,QAAA,MAAM,iCAAiC,MAAM,CAAC;AAI9C,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC;AAC1C,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,oBAAoB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,6BAA6B,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,wBAAwB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,oBAAoB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,UAAU,GACV,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,6EAA6E;AAC7E,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,CACpF,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtB;;;GAGG;AACH,wBAAuB,kBAAkB,CACvC,CAAC,SAAS,QAAQ,EAClB,OAAO,SAAS,UAAU,GAAG,UAAU,EAEvC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,EAC5B,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAYpC;AAED,6FAA6F;AAC7F,wBAAsB,iBAAiB,CACrC,CAAC,SAAS,QAAQ,EAClB,OAAO,SAAS,UAAU,GAAG,UAAU,EACvC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAMxF;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,6BAA6B,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;AACrE,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,gBAAgB,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,gBAAgB,CAAC;AACzD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC;AACzE,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AACzE,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAC/D,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAC;AACvF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,gBAAgB,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,gBAAgB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,gBAAgB,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;AACnE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC;AAEjF,eAAO,MAAM,2BAA2B,wkBAwB9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,sBAAsB,CAAC;IACvC,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,wBAAwB,EAAE,uBAAuB,CAAC;IAClD,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,2BAA2B,EAAE,uBAAuB,CAAC;IACrD,+BAA+B,EAAE,6BAA6B,CAAC;IAC/D,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,8BAA8B,EAAE,6BAA6B,CAAC;IAC9D,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,qCAAqC,EAAE,uBAAuB,CAAC;IAC/D,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,qBAAqB,EAAE,uBAAuB,CAAC;IAC/C,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,4BAA4B,EAAE,uBAAuB,CAAC;IACtD,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,cAAc,EAAE,kBAAkB,CAAC;IACnC,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,4BAA4B,EAAE,kBAAkB,CAAC;IACjD,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,qBAAqB,EAAE,iBAAiB,CAAC;IACzC,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,qBAAqB,EAAE,sBAAsB,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB,CAClC,KAAK,SAAS,uBAAuB,GAAG,uBAAuB;IAE/D,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1E,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,mBAAmB;CAQzC;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,EACT,wBAAwB,GACxB,2BAA2B,GAC3B,2BAA2B,GAC3B,yBAAyB,CAAC;gBAG5B,IAAI,EACA,wBAAwB,GACxB,2BAA2B,GAC3B,2BAA2B,GAC3B,yBAAyB,EAC7B,OAAO,EAAE,MAAM;CAMlB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,QAAQ,CAAC,SAAS;yBACC,oBAAoB,YAAY,aAAa;+BAGvC,MAAM,YAAY,cAAc;wBAQvC,mBAAmB,YAAY,cAAc;6BAGxC,MAAM,WAAW,oBAAoB,YAAY,aAAa;MAOnF;IAEF,QAAQ,CAAC,QAAQ;wBACC,kBAAkB,YAAY,cAAc;8BAGtC,MAAM,YAAY,cAAc;8BAQhC,MAAM,WAAW,UAAU,YAAY,cAAc;MAO3E;IAEF,QAAQ,CAAC,MAAM;wBACG,gBAAgB,YAAY,cAAc;4BAGtC,MAAM,YAAY,cAAc;MAEpD;IAEF,QAAQ,CAAC,QAAQ;wBACC,UAAU,YAAY,cAAc;gCAG5B,MAAM,YAAY,cAAc;MAOxD;IAEF,QAAQ,CAAC,aAAa;mCACO,MAAM,YAAY,cAAc;uBAQ5C,uBAAuB,YAAY,cAAc;iCAQvC,MAAM,YAAY,wBAAwB,YAAY,aAAa;wCAS1E,MAAM,UACd,mBAAmB,YACjB,cAAc;iCASD,MAAM,UAAU,mBAAmB,YAAY,aAAa;;mCAS5D,MAAM,WAAW,UAAU,YAAY,cAAc;iCAQvD,MAAM,YAAY,cAAc;+BAQlC,MAAM,YAAY,aAAa;;MAQpD;IAEF,QAAQ,CAAC,QAAQ;uBACA,kBAAkB,YAAY,cAAc;8BAGrC,MAAM,YAAY,cAAc;qCAQzB,MAAM,YAAY,cAAc;MAO7D;IAEF,QAAQ,CAAC,QAAQ;;6BAEI,2BAA2B,YAAY,aAAa;;MAGvE;IAEF,QAAQ,CAAC,MAAM;+BACU,MAAM,YAAY,cAAc;4BAQnC,MAAM,WAAW,MAAM,YAAY,cAAc;MAOrE;IAEF,6EAA6E;IAC7E,IAAI,cAAc,IAAI,WAAW,CAAC,QAAQ,CAAC,CAE1C;IAED,QAAQ,CAAC,WAAW;yBACD,sBAAsB,YAAY,cAAc;QAGjE;;;WAGG;8BACyB,sBAAsB,EAAE,YAAY,cAAc;;;;;;2BAe3D,MAAM,UAAU,uBAAuB,YAAY,cAAc;MAOpF;IAEF,QAAQ,CAAC,QAAQ;kCAEJ,MAAM,GAAG,WAAW,GAAG,UAAU,mBACzB,MAAM,GAAG,IAAI,GAAG,SAAS,UAClC,MAAM,YACJ,0BAA0B;4CAG3B,MAAM,GAAG,WAAW,GAAG,UAAU,UAClC,MAAM;MAGhB;IAEF,6DAA6D;IAC7D,QAAQ,CAAC,WAAW;+CAEP,MAAM,GAAG,WAAW,GAAG,UAAU,UAClC,MAAM;sCAKF,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG;YAC3F,IAAI,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;SACxC,KACA,mBAAmB,CAAC,cAAc,CAAC;MActC;gBAEU,OAAO,EAAE,kBAAkB;YAazB,OAAO;IA0DrB,OAAO,CAAC,YAAY;CAkBrB;AAoND,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,wBAAwB,EACxB,iCAAiC,GAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHmac, timingSafeEqual } from 'crypto';
|
|
2
|
-
|
|
2
|
+
import { createDiagnostics, toUiProjection } from './diagnostics/index.js';
|
|
3
|
+
const SDK_VERSION = '1.11.2';
|
|
3
4
|
const SDK_PACKAGE_NAME = '@openaisdk/billing-sdk-node';
|
|
4
5
|
const DEFAULT_BASE_URL = 'https://billing.example.com';
|
|
5
6
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
@@ -176,6 +177,23 @@ export class MegaBilling {
|
|
|
176
177
|
},
|
|
177
178
|
}),
|
|
178
179
|
};
|
|
180
|
+
diagnostics = createDiagnostics({
|
|
181
|
+
apiKey: () => this.apiKey,
|
|
182
|
+
baseUrl: () => this.baseUrl,
|
|
183
|
+
sdkPackage: SDK_PACKAGE_NAME,
|
|
184
|
+
sdkVersion: SDK_VERSION,
|
|
185
|
+
context: (timeoutMs) => this.request('GET', '/v1/integration/context', undefined, { timeoutMs }),
|
|
186
|
+
products: (timeoutMs) => this.products.list({ active: true, limit: 20 }, { timeoutMs }),
|
|
187
|
+
prices: (timeoutMs) => this.prices.list({ active: true, limit: 20 }, { timeoutMs }),
|
|
188
|
+
features: (timeoutMs) => this.features.list({ limit: 20 }, { timeoutMs }),
|
|
189
|
+
accessRetrieve: (customer, timeoutMs) => this.access.retrieve(customer, { timeoutMs }),
|
|
190
|
+
accessCheck: (customer, feature, timeoutMs) => this.access.check(customer, feature, { timeoutMs }),
|
|
191
|
+
webhookLocal: (secret) => {
|
|
192
|
+
const payload = JSON.stringify(this.testHelpers.createTestEvent());
|
|
193
|
+
const signature = this.testHelpers.generateWebhookHeaderString(payload, secret);
|
|
194
|
+
this.webhooks.constructEvent(payload, signature, secret);
|
|
195
|
+
},
|
|
196
|
+
});
|
|
179
197
|
constructor(options) {
|
|
180
198
|
if (!options.apiKey?.trim()) {
|
|
181
199
|
throw new Error('MegaBilling requires a non-empty apiKey');
|
|
@@ -186,12 +204,13 @@ export class MegaBilling {
|
|
|
186
204
|
this.fetchImpl = options.fetch ?? fetch;
|
|
187
205
|
}
|
|
188
206
|
async request(method, path, body, options) {
|
|
207
|
+
const timeoutMs = options?.timeoutMs ?? this.timeoutMs;
|
|
189
208
|
const timeoutController = new AbortController();
|
|
190
209
|
let didTimeout = false;
|
|
191
210
|
const timeoutId = setTimeout(() => {
|
|
192
211
|
didTimeout = true;
|
|
193
212
|
timeoutController.abort();
|
|
194
|
-
},
|
|
213
|
+
}, timeoutMs);
|
|
195
214
|
const signal = options?.signal
|
|
196
215
|
? AbortSignal.any([options.signal, timeoutController.signal])
|
|
197
216
|
: timeoutController.signal;
|
|
@@ -216,7 +235,7 @@ export class MegaBilling {
|
|
|
216
235
|
if (didTimeout) {
|
|
217
236
|
throw new BillingError({
|
|
218
237
|
code: 'request_timeout',
|
|
219
|
-
message: `Request timed out after ${
|
|
238
|
+
message: `Request timed out after ${timeoutMs}ms`,
|
|
220
239
|
status: 408,
|
|
221
240
|
requestId: null,
|
|
222
241
|
});
|
|
@@ -384,3 +403,4 @@ function hexToBytes(value) {
|
|
|
384
403
|
return bytes;
|
|
385
404
|
}
|
|
386
405
|
export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT_MS, REQUEST_ID_HEADER, SDK_PACKAGE_NAME, SDK_VERSION, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_DEFAULT_TOLERANCE_SECONDS, };
|
|
406
|
+
export const diagnostics = { toUiProjection };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openaisdk/billing-sdk-node",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.3",
|
|
4
4
|
"description": "Handwritten public Node SDK for Mega-Billing Wave 1 API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Anatoliy Tukov <openaisdk@gmail.com>",
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"main": "dist/index.js",
|
|
27
27
|
"types": "dist/index.d.ts",
|
|
28
28
|
"bin": {
|
|
29
|
-
"billing-sdk-webhook-forward": "./bin/billing-sdk-webhook-forward.mjs"
|
|
29
|
+
"billing-sdk-webhook-forward": "./bin/billing-sdk-webhook-forward.mjs",
|
|
30
|
+
"billing-sdk-doctor": "./bin/billing-sdk-doctor.mjs"
|
|
30
31
|
},
|
|
31
32
|
"exports": {
|
|
32
33
|
".": {
|