@cobre-npm/library-response-catalog-node 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/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2026 Cobre
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # library-response-catalog-node
2
+
3
+ Node.js SDK that will resolve a supplier-reported error against Cobre's Response Catalog
4
+ Read API (`GET /v1/resolve`). Callers send a supplier, domain, and error code; the catalog
5
+ returns a localized frontend message plus internal metadata.
6
+
7
+ This release adds the **domain contract** (`0.2.0`): the `Response` shape, the
8
+ `SupplierErrorContext` builder, the `CatalogPort` outbound port, and
9
+ `CatalogClientException`. There is no HTTP implementation yet — that lands in a later
10
+ stacked PR on `Feature/BLCK-28319-*`.
11
+
12
+ The finished client will own HTTP, retries, the circuit breaker, and — unlike
13
+ [`library-response-catalog-java`](https://github.com/Cobre-Colombia/library-response-catalog-java)
14
+ — a **local technical fallback** when the catalog is unavailable.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ pnpm add @cobre-npm/library-response-catalog-node
20
+ ```
21
+
22
+ Requires [pnpm](https://pnpm.io) `10.27.0` (see `packageManager` in `package.json`).
23
+ Same-cluster calls will need nothing else. Cross-cluster (`INTERNAL_GATEWAY`) will also
24
+ need `@cobre-npm/library-nodejs-common`.
25
+
26
+ ## Public API (0.2.0)
27
+
28
+ | Export | Role |
29
+ |---|---|
30
+ | `LIBRARY_VERSION` | Package version string (`0.2.0`). Matches `package.json`. |
31
+ | `buildSupplierErrorContext` | Validates and builds a `SupplierErrorContext` (`supplier`/`domain`/`code` required, `locale` optional). |
32
+ | `SupplierErrorContext`, `SupplierErrorContextInput` | Validated context type and its raw input. |
33
+ | `CatalogPort` | Outbound port: `fetchResponse(context): Promise<Response>`. |
34
+ | `Response`, `SupplierInfo`, `InternalInfo`, `ApiInfo` | Resolved catalog entry: supplier/internal/api views plus the localized message. |
35
+ | `CatalogClientException` | Thrown by a `CatalogPort` implementation. `isTransient()` / `isCredentialError()` classify the failure. |
36
+
37
+ ## Usage
38
+
39
+ ```typescript
40
+ import {
41
+ buildSupplierErrorContext,
42
+ CatalogClientException,
43
+ CatalogPort,
44
+ } from '@cobre-npm/library-response-catalog-node'
45
+
46
+ const context = buildSupplierErrorContext({
47
+ supplier: 'nequi',
48
+ domain: 'wallets',
49
+ code: '58',
50
+ locale: 'es-CO',
51
+ })
52
+
53
+ try {
54
+ const response = await catalogPort.fetchResponse(context)
55
+ console.log(response.resolvedMessage)
56
+ } catch (error) {
57
+ if (error instanceof CatalogClientException && error.isTransient()) {
58
+ // safe to retry, or fall back locally once that layer ships
59
+ }
60
+ throw error
61
+ }
62
+ ```
63
+
64
+ A runnable copy of this snippet lives in
65
+ [`examples/domain-context.ts`](examples/domain-context.ts). `catalogPort` above is any
66
+ `CatalogPort` implementation — the real HTTP client ships in a later layer.
67
+
68
+ ## What "resolve" means
69
+
70
+ A supplier (for example Nequi) reports a raw error code. The catalog maps that code to:
71
+
72
+ - a **frontend token** or localized `resolvedMessage`
73
+ - `internal` / `api` metadata for support and observability
74
+ - an optional remote `fallbackApplied` flag when the catalog itself substituted an entry
75
+
76
+ ## Build
77
+
78
+ ```bash
79
+ pnpm lint
80
+ pnpm test
81
+ pnpm run build
82
+ pnpm run docs # generates TypeDoc HTML into docs/api/ (gitignored)
83
+ ```
84
+
85
+ ## Documentation
86
+
87
+ - [Architecture](ARCHITECTURE.md)
88
+ - [Changelog](CHANGELOG.md)
89
+ - [Scaffold notes](docs/releases/01-scaffold.md)
90
+ - [Docs index](docs/README.md)
91
+ - [Examples](examples/README.md)
92
+ - [Contributing](CONTRIBUTING.md)
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Raised when a {@link CatalogPort} implementation fails to resolve a
3
+ * supplier error, whether due to an HTTP error response from the catalog or
4
+ * a network-level failure (timeout, DNS, connection reset).
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * try {
9
+ * await catalogPort.fetchResponse(context)
10
+ * } catch (error) {
11
+ * if (error instanceof CatalogClientException && error.isTransient()) {
12
+ * // safe to retry or fall back locally
13
+ * }
14
+ * }
15
+ * ```
16
+ */
17
+ export declare class CatalogClientException extends Error {
18
+ /**
19
+ * HTTP status code returned by the catalog, or `null` when the failure
20
+ * was a network-level error (no HTTP response was received).
21
+ */
22
+ readonly httpStatusCode: number | null;
23
+ /**
24
+ * @param message - Human-readable description of the failure
25
+ * @param httpStatusCodeOrCause - HTTP status code from the catalog response,
26
+ * or the underlying `Error` when the failure happened before a response
27
+ * was received (network failure). Omit for failures with neither.
28
+ */
29
+ constructor(message: string, httpStatusCodeOrCause?: number | Error);
30
+ /**
31
+ * Whether this failure is likely temporary and safe to retry: a network
32
+ * failure (`httpStatusCode` is `null`) or a `5xx` response from the
33
+ * catalog.
34
+ */
35
+ isTransient(): boolean;
36
+ /**
37
+ * Whether this failure was caused by invalid or expired credentials:
38
+ * `401`, `403`, or the catalog's custom credential-error codes `491`/`493`.
39
+ */
40
+ isCredentialError(): boolean;
41
+ }
42
+ //# sourceMappingURL=catalog-client-exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-client-exception.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/models/catalog-client-exception.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK;IAYnE;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACH,iBAAiB,IAAI,OAAO;CAG7B"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Raw status as reported by the supplier for this error code, before any
3
+ * catalog resolution is applied.
4
+ *
5
+ * @see {@link Response}
6
+ */
7
+ export interface SupplierInfo {
8
+ readonly supplierId: string;
9
+ readonly domain: string;
10
+ readonly supplierResponseStatusCode: string;
11
+ readonly supplierResponseStatusDescription?: string;
12
+ readonly status?: string;
13
+ readonly internalStatusCode?: string;
14
+ }
15
+ /**
16
+ * Cobre-internal classification of the error, independent of what the
17
+ * supplier or the public API report.
18
+ *
19
+ * @see {@link Response}
20
+ */
21
+ export interface InternalInfo {
22
+ readonly internalStatusCode: string;
23
+ readonly internalStatusDescription?: string;
24
+ /** Whether Cobre-internal tooling should retry the originating operation. */
25
+ readonly retryable: boolean;
26
+ readonly status?: string;
27
+ }
28
+ /**
29
+ * Public-facing error metadata returned to API consumers, including the
30
+ * HTTP status the caller should surface.
31
+ *
32
+ * @see {@link Response}
33
+ */
34
+ export interface ApiInfo {
35
+ readonly code: string;
36
+ readonly message: string;
37
+ readonly httpResponseCode: number;
38
+ /** Error category (for example `validation`, `technical`). */
39
+ readonly type?: string;
40
+ /** Comma-separated list of request fields the error applies to, if any. */
41
+ readonly fields?: string;
42
+ /** Whether the caller should retry the originating request. */
43
+ readonly retryable: boolean;
44
+ /** Link to public documentation describing this error code. */
45
+ readonly docUrl?: string;
46
+ readonly status?: string;
47
+ readonly internalStatusCode?: string;
48
+ }
49
+ /**
50
+ * Result of resolving a {@link SupplierErrorContext} against the Response
51
+ * Catalog: the supplier/internal/api views of the error, plus the message
52
+ * already localized for the caller.
53
+ *
54
+ * `supplier`, `internal`, and `api` are `null` when the catalog has no
55
+ * matching entry for that view (for example, a supplier-only error with no
56
+ * public API mapping yet).
57
+ */
58
+ export interface Response {
59
+ readonly supplier: SupplierInfo | null;
60
+ readonly internal: InternalInfo | null;
61
+ readonly api: ApiInfo | null;
62
+ readonly resolvedLocale: string;
63
+ readonly resolvedMessage: string;
64
+ /** `true` when this response was produced by the local fallback resolver instead of the remote catalog. */
65
+ readonly fallbackApplied: boolean;
66
+ }
67
+ //# sourceMappingURL=response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/models/response.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAA;IAC3C,QAAQ,CAAC,iCAAiC,CAAC,EAAE,MAAM,CAAA;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAC3C,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,2GAA2G;IAC3G,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Raw input for {@link buildSupplierErrorContext}. `supplier`, `domain`, and
3
+ * `code` must be non-blank; `locale` is optional and normalized to `null`
4
+ * when omitted.
5
+ */
6
+ export interface SupplierErrorContextInput {
7
+ readonly supplier: string;
8
+ readonly domain: string;
9
+ readonly code: string;
10
+ readonly locale?: string | null;
11
+ }
12
+ /**
13
+ * Validated coordinates identifying a supplier-reported error, ready to pass
14
+ * to {@link CatalogPort.fetchResponse}.
15
+ */
16
+ export interface SupplierErrorContext {
17
+ readonly supplier: string;
18
+ readonly domain: string;
19
+ readonly code: string;
20
+ readonly locale: string | null;
21
+ }
22
+ /**
23
+ * Validates and builds a {@link SupplierErrorContext} from raw input.
24
+ *
25
+ * @param input - Supplier, domain, error code, and optional locale
26
+ * @returns A `SupplierErrorContext` with `locale` normalized to `null` when omitted
27
+ * @throws {Error} When `supplier`, `domain`, or `code` is `null`, `undefined`, or blank
28
+ * @example
29
+ * ```typescript
30
+ * const context = buildSupplierErrorContext({
31
+ * supplier: 'nequi',
32
+ * domain: 'wallets',
33
+ * code: '58',
34
+ * locale: 'es-CO',
35
+ * })
36
+ * ```
37
+ */
38
+ export declare const buildSupplierErrorContext: (input: SupplierErrorContextInput) => SupplierErrorContext;
39
+ //# sourceMappingURL=supplier-error-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplier-error-context.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/models/supplier-error-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AASD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,yBAAyB,KAC/B,oBAKD,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { Response } from '../../core/models/response';
2
+ import type { SupplierErrorContext } from '../../core/models/supplier-error-context';
3
+ /** Outbound port: resolve a supplier error against the response catalog. */
4
+ export declare abstract class CatalogPort {
5
+ /**
6
+ * Resolves a supplier-reported error against the Response Catalog.
7
+ *
8
+ * @param context - Validated supplier, domain, error code, and optional locale
9
+ * @returns The resolved {@link Response}
10
+ * @throws {CatalogClientException} When the catalog request fails (network
11
+ * failure or non-2xx response). Use `isTransient()` to decide whether to
12
+ * retry or fall back locally.
13
+ */
14
+ abstract fetchResponse(context: SupplierErrorContext): Promise<Response>;
15
+ }
16
+ //# sourceMappingURL=catalog.port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.port.d.ts","sourceRoot":"","sources":["../../../../src/domain/ports/out/catalog.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAEpF,4EAA4E;AAC5E,8BAAsB,WAAW;IAC/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CACzE"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Published package version. Matches `package.json`.
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { LIBRARY_VERSION } from '@cobre-npm/library-response-catalog-node'
7
+ *
8
+ * console.log(LIBRARY_VERSION) // '0.2.0'
9
+ * ```
10
+ *
11
+ * @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/CHANGELOG.md | CHANGELOG}
12
+ * @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/docs/releases/01-scaffold.md | Scaffold notes}
13
+ */
14
+ export declare const LIBRARY_VERSION = "0.2.0";
15
+ export { CatalogPort } from './domain/ports/out/catalog.port';
16
+ export type { Response, SupplierInfo, InternalInfo, ApiInfo, } from './domain/core/models/response';
17
+ export { buildSupplierErrorContext } from './domain/core/models/supplier-error-context';
18
+ export type { SupplierErrorContext, SupplierErrorContextInput, } from './domain/core/models/supplier-error-context';
19
+ export { CatalogClientException } from './domain/core/models/catalog-client-exception';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAE7D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAA;AAEvF,YAAY,EACV,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CatalogClientException = exports.buildSupplierErrorContext = exports.CatalogPort = exports.LIBRARY_VERSION = void 0;
5
+ /**
6
+ * Published package version. Matches `package.json`.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { LIBRARY_VERSION } from '@cobre-npm/library-response-catalog-node'
11
+ *
12
+ * console.log(LIBRARY_VERSION) // '0.2.0'
13
+ * ```
14
+ *
15
+ * @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/CHANGELOG.md | CHANGELOG}
16
+ * @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/docs/releases/01-scaffold.md | Scaffold notes}
17
+ */
18
+ exports.LIBRARY_VERSION = '0.2.0';
19
+ var catalog_port_1 = require("./domain/ports/out/catalog.port");
20
+ Object.defineProperty(exports, "CatalogPort", { enumerable: true, get: function () { return catalog_port_1.CatalogPort; } });
21
+ var supplier_error_context_1 = require("./domain/core/models/supplier-error-context");
22
+ Object.defineProperty(exports, "buildSupplierErrorContext", { enumerable: true, get: function () { return supplier_error_context_1.buildSupplierErrorContext; } });
23
+ var catalog_client_exception_1 = require("./domain/core/models/catalog-client-exception");
24
+ Object.defineProperty(exports, "CatalogClientException", { enumerable: true, get: function () { return catalog_client_exception_1.CatalogClientException; } });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;AAYG;AACU,OAAA,CAAA,eAAe,GAAG,OAAO;AAEtC,IAAA,cAAA,GAAA,OAAA,CAAA,iCAAA,CAAA;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,GAAA,EAAA,YAAA,EAAA,OAAA,cAAA,CAAA,WAAW,CAAA,CAAA,CAAA,EAAA,CAAA;AASpB,IAAA,wBAAA,GAAA,OAAA,CAAA,6CAAA,CAAA;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,2BAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,GAAA,EAAA,YAAA,EAAA,OAAA,wBAAA,CAAA,yBAAyB,CAAA,CAAA,CAAA,EAAA,CAAA;AAOlC,IAAA,0BAAA,GAAA,OAAA,CAAA,+CAAA,CAAA;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,GAAA,EAAA,YAAA,EAAA,OAAA,0BAAA,CAAA,sBAAsB,CAAA,CAAA,CAAA,EAAA,CAAA"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@cobre-npm/library-response-catalog-node",
3
+ "version": "0.2.0",
4
+ "packageManager": "pnpm@10.27.0",
5
+ "description": "Node.js Cobre library for resolving supplier errors against the Response Catalog Read API",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "rollup -c rollup.config.mjs",
13
+ "build:dev": "npm run build",
14
+ "build:qa": "npm run build",
15
+ "build:prod": "npm run build",
16
+ "build:dev-arm": "npm run build",
17
+ "build:qa-arm": "npm run build",
18
+ "build:prod-arm": "npm run build",
19
+ "lint": "eslint src --ext .ts",
20
+ "test": "jest",
21
+ "test:coverage": "jest --coverage",
22
+ "docs": "typedoc"
23
+ },
24
+ "license": "ISC",
25
+ "dependencies": {
26
+ "@cobre-npm/library-nodejs-telemetry": "^1.4.0",
27
+ "@opentelemetry/api": "^1.9.0",
28
+ "axios": "^1.6.8",
29
+ "cockatiel": "^3.2.0"
30
+ },
31
+ "peerDependencies": {
32
+ "@cobre-npm/library-nodejs-common": "^3.0.0"
33
+ },
34
+ "peerDependenciesMeta": {
35
+ "@cobre-npm/library-nodejs-common": {
36
+ "optional": true
37
+ }
38
+ },
39
+ "devDependencies": {
40
+ "@rollup/plugin-json": "^6.1.0",
41
+ "@rollup/plugin-node-resolve": "^15.2.3",
42
+ "@rollup/plugin-typescript": "^12.3.0",
43
+ "@types/jest": "^29.5.12",
44
+ "@types/node": "^20.14.9",
45
+ "@typescript-eslint/eslint-plugin": "^7.15.0",
46
+ "@typescript-eslint/parser": "^7.15.0",
47
+ "eslint": "^8.57.0",
48
+ "jest": "^29.7.0",
49
+ "nock": "^13.5.4",
50
+ "rimraf": "^5.0.7",
51
+ "rollup": "^4.18.0",
52
+ "rollup-plugin-typescript2": "^0.36.0",
53
+ "ts-jest": "^29.2.3",
54
+ "tslib": "^2.8.1",
55
+ "typedoc": "^0.28.20",
56
+ "typescript": "^5.5.3"
57
+ }
58
+ }