@neetru/sdk 3.6.0 → 3.8.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 +104 -0
- package/README.md +66 -1
- package/dist/ai.cjs +298 -391
- package/dist/ai.d.cts +1 -1
- package/dist/ai.d.ts +1 -1
- package/dist/ai.mjs +298 -391
- package/dist/auth.cjs +3717 -5005
- package/dist/auth.d.cts +1 -1
- package/dist/auth.d.ts +1 -1
- package/dist/auth.mjs +3714 -5002
- package/dist/build-guard.cjs +101 -119
- package/dist/build-guard.mjs +91 -109
- package/dist/catalog.cjs +220 -225
- package/dist/catalog.d.cts +1 -1
- package/dist/catalog.d.ts +1 -1
- package/dist/catalog.mjs +220 -225
- package/dist/checkout.cjs +307 -323
- package/dist/checkout.d.cts +1 -1
- package/dist/checkout.d.ts +1 -1
- package/dist/checkout.mjs +306 -322
- package/dist/db-react.cjs +59 -87
- package/dist/db-react.d.cts +1 -1
- package/dist/db-react.d.ts +1 -1
- package/dist/db-react.mjs +56 -84
- package/dist/db.cjs +2128 -3014
- package/dist/db.d.cts +1 -1
- package/dist/db.d.ts +1 -1
- package/dist/db.mjs +2141 -3027
- package/dist/entitlements.cjs +19 -20
- package/dist/entitlements.d.cts +1 -1
- package/dist/entitlements.d.ts +1 -1
- package/dist/entitlements.mjs +19 -20
- package/dist/errors.cjs +16 -12
- package/dist/errors.d.cts +59 -3
- package/dist/errors.d.ts +59 -3
- package/dist/errors.mjs +15 -12
- package/dist/firestore-compat.cjs +241 -297
- package/dist/firestore-compat.d.cts +1 -1
- package/dist/firestore-compat.d.ts +1 -1
- package/dist/firestore-compat.mjs +215 -271
- package/dist/index.cjs +3942 -5134
- package/dist/index.d.cts +181 -5
- package/dist/index.d.ts +181 -5
- package/dist/index.mjs +4040 -5239
- package/dist/mobile.cjs +459 -344
- package/dist/mobile.d.cts +59 -4
- package/dist/mobile.d.ts +59 -4
- package/dist/mobile.mjs +459 -344
- package/dist/mocks.cjs +319 -447
- package/dist/mocks.d.cts +1 -1
- package/dist/mocks.d.ts +1 -1
- package/dist/mocks.mjs +313 -441
- package/dist/notifications.cjs +296 -317
- package/dist/notifications.d.cts +1 -1
- package/dist/notifications.d.ts +1 -1
- package/dist/notifications.mjs +295 -316
- package/dist/react.cjs +557 -707
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.mjs +547 -697
- package/dist/support.cjs +402 -328
- package/dist/support.d.cts +29 -3
- package/dist/support.d.ts +29 -3
- package/dist/support.mjs +401 -328
- package/dist/telemetry.cjs +267 -304
- package/dist/telemetry.d.cts +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.mjs +267 -304
- package/dist/{types-Du_iioJ7.d.cts → types-D-9bjlM0.d.cts} +74 -1
- package/dist/{types-BPATkXYu.d.ts → types-bVztFQTI.d.ts} +74 -1
- package/dist/usage.cjs +233 -230
- package/dist/usage.d.cts +1 -1
- package/dist/usage.d.ts +1 -1
- package/dist/usage.mjs +233 -230
- package/dist/webhooks.cjs +328 -362
- package/dist/webhooks.d.cts +1 -1
- package/dist/webhooks.d.ts +1 -1
- package/dist/webhooks.mjs +325 -359
- package/package.json +5 -3
- package/dist/ai.cjs.map +0 -1
- package/dist/ai.mjs.map +0 -1
- package/dist/auth.cjs.map +0 -1
- package/dist/auth.mjs.map +0 -1
- package/dist/build-guard.cjs.map +0 -1
- package/dist/build-guard.mjs.map +0 -1
- package/dist/catalog.cjs.map +0 -1
- package/dist/catalog.mjs.map +0 -1
- package/dist/checkout.cjs.map +0 -1
- package/dist/checkout.mjs.map +0 -1
- package/dist/db-react.cjs.map +0 -1
- package/dist/db-react.mjs.map +0 -1
- package/dist/db.cjs.map +0 -1
- package/dist/db.mjs.map +0 -1
- package/dist/entitlements.cjs.map +0 -1
- package/dist/entitlements.mjs.map +0 -1
- package/dist/errors.cjs.map +0 -1
- package/dist/errors.mjs.map +0 -1
- package/dist/firestore-compat.cjs.map +0 -1
- package/dist/firestore-compat.mjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/mobile.cjs.map +0 -1
- package/dist/mobile.mjs.map +0 -1
- package/dist/mocks.cjs.map +0 -1
- package/dist/mocks.mjs.map +0 -1
- package/dist/notifications.cjs.map +0 -1
- package/dist/notifications.mjs.map +0 -1
- package/dist/react.cjs.map +0 -1
- package/dist/react.mjs.map +0 -1
- package/dist/support.cjs.map +0 -1
- package/dist/support.mjs.map +0 -1
- package/dist/telemetry.cjs.map +0 -1
- package/dist/telemetry.mjs.map +0 -1
- package/dist/usage.cjs.map +0 -1
- package/dist/usage.mjs.map +0 -1
- package/dist/webhooks.cjs.map +0 -1
- package/dist/webhooks.mjs.map +0 -1
package/dist/entitlements.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
// src/errors.ts
|
|
4
|
-
var
|
|
4
|
+
var e = class i extends Error {
|
|
5
5
|
code;
|
|
6
6
|
status;
|
|
7
7
|
requestId;
|
|
@@ -14,37 +14,38 @@ var NeetruError = class _NeetruError extends Error {
|
|
|
14
14
|
* para um `NeetruDbErrorCode` mais específico (recuperável vs não).
|
|
15
15
|
*/
|
|
16
16
|
reason;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
/**
|
|
18
|
+
* 3.8.0: `x-correlation-id` da requisição que falhou. O SDK gera um UUID por
|
|
19
|
+
* chamada (ou usa o que o chamador passou) e manda no header; o Core grava o
|
|
20
|
+
* mesmo id nos logs/auditoria — cite-o ao abrir um ticket de suporte.
|
|
21
|
+
* `undefined` em erros que acontecem antes de qualquer requisição.
|
|
22
|
+
*/
|
|
23
|
+
correlationId;
|
|
24
|
+
constructor(t, r, n, s, a, c) {
|
|
25
|
+
super(r), this.name = "NeetruError", this.code = t, this.status = n, this.requestId = s, this.reason = a, this.correlationId = c, Object.setPrototypeOf(this, i.prototype);
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
// src/entitlements.ts
|
|
29
|
-
var
|
|
30
|
-
function
|
|
31
|
-
throw new
|
|
30
|
+
var d = "client.entitlements.check()/checkDetailed() est\xE3o DEPRECADOS \u2014 apontavam para GET /api/v1/sdk/entitlements/check, um endpoint que o Core nunca escreve (sempre retornava not_subscribed). Use client.usage.check(resource, { productId, tenantId }) no lugar \u2014 mesmo resultado (allowed/reason/remaining/limit/behavior), endpoint real.";
|
|
31
|
+
function o() {
|
|
32
|
+
throw new e("validation_failed", d);
|
|
32
33
|
}
|
|
33
|
-
function
|
|
34
|
+
function p(i) {
|
|
34
35
|
return {
|
|
35
36
|
/**
|
|
36
37
|
* @deprecated Endpoint morto no Core — sempre retornava `not_subscribed`.
|
|
37
38
|
* Lança `NeetruError`. Use `client.usage.check(resource, {productId, tenantId})`.
|
|
38
39
|
*/
|
|
39
|
-
async check(
|
|
40
|
-
|
|
40
|
+
async check(t, r, n) {
|
|
41
|
+
o();
|
|
41
42
|
},
|
|
42
43
|
/**
|
|
43
44
|
* @deprecated Endpoint morto no Core — sempre retornava `not_subscribed`.
|
|
44
45
|
* Lança `NeetruError`. Use `client.usage.check(resource, {productId, tenantId})`.
|
|
45
46
|
*/
|
|
46
|
-
async checkDetailed(
|
|
47
|
-
|
|
47
|
+
async checkDetailed(t, r, n) {
|
|
48
|
+
o();
|
|
48
49
|
},
|
|
49
50
|
/** Test helper legado — no-op (não há mais cache). Mantido por compat. */
|
|
50
51
|
__resetCache() {
|
|
@@ -52,6 +53,4 @@ function createEntitlementsNamespace(_config) {
|
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
exports.createEntitlementsNamespace =
|
|
56
|
-
//# sourceMappingURL=entitlements.cjs.map
|
|
57
|
-
//# sourceMappingURL=entitlements.cjs.map
|
|
56
|
+
exports.createEntitlementsNamespace = p;
|
package/dist/entitlements.d.cts
CHANGED
package/dist/entitlements.d.ts
CHANGED
package/dist/entitlements.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/errors.ts
|
|
2
|
-
var
|
|
2
|
+
var e = class i extends Error {
|
|
3
3
|
code;
|
|
4
4
|
status;
|
|
5
5
|
requestId;
|
|
@@ -12,37 +12,38 @@ var NeetruError = class _NeetruError extends Error {
|
|
|
12
12
|
* para um `NeetruDbErrorCode` mais específico (recuperável vs não).
|
|
13
13
|
*/
|
|
14
14
|
reason;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
/**
|
|
16
|
+
* 3.8.0: `x-correlation-id` da requisição que falhou. O SDK gera um UUID por
|
|
17
|
+
* chamada (ou usa o que o chamador passou) e manda no header; o Core grava o
|
|
18
|
+
* mesmo id nos logs/auditoria — cite-o ao abrir um ticket de suporte.
|
|
19
|
+
* `undefined` em erros que acontecem antes de qualquer requisição.
|
|
20
|
+
*/
|
|
21
|
+
correlationId;
|
|
22
|
+
constructor(t, r, n, s, a, c) {
|
|
23
|
+
super(r), this.name = "NeetruError", this.code = t, this.status = n, this.requestId = s, this.reason = a, this.correlationId = c, Object.setPrototypeOf(this, i.prototype);
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
26
|
|
|
26
27
|
// src/entitlements.ts
|
|
27
|
-
var
|
|
28
|
-
function
|
|
29
|
-
throw new
|
|
28
|
+
var d = "client.entitlements.check()/checkDetailed() est\xE3o DEPRECADOS \u2014 apontavam para GET /api/v1/sdk/entitlements/check, um endpoint que o Core nunca escreve (sempre retornava not_subscribed). Use client.usage.check(resource, { productId, tenantId }) no lugar \u2014 mesmo resultado (allowed/reason/remaining/limit/behavior), endpoint real.";
|
|
29
|
+
function o() {
|
|
30
|
+
throw new e("validation_failed", d);
|
|
30
31
|
}
|
|
31
|
-
function
|
|
32
|
+
function p(i) {
|
|
32
33
|
return {
|
|
33
34
|
/**
|
|
34
35
|
* @deprecated Endpoint morto no Core — sempre retornava `not_subscribed`.
|
|
35
36
|
* Lança `NeetruError`. Use `client.usage.check(resource, {productId, tenantId})`.
|
|
36
37
|
*/
|
|
37
|
-
async check(
|
|
38
|
-
|
|
38
|
+
async check(t, r, n) {
|
|
39
|
+
o();
|
|
39
40
|
},
|
|
40
41
|
/**
|
|
41
42
|
* @deprecated Endpoint morto no Core — sempre retornava `not_subscribed`.
|
|
42
43
|
* Lança `NeetruError`. Use `client.usage.check(resource, {productId, tenantId})`.
|
|
43
44
|
*/
|
|
44
|
-
async checkDetailed(
|
|
45
|
-
|
|
45
|
+
async checkDetailed(t, r, n) {
|
|
46
|
+
o();
|
|
46
47
|
},
|
|
47
48
|
/** Test helper legado — no-op (não há mais cache). Mantido por compat. */
|
|
48
49
|
__resetCache() {
|
|
@@ -50,6 +51,4 @@ function createEntitlementsNamespace(_config) {
|
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
export { createEntitlementsNamespace };
|
|
54
|
-
//# sourceMappingURL=entitlements.mjs.map
|
|
55
|
-
//# sourceMappingURL=entitlements.mjs.map
|
|
54
|
+
export { p as createEntitlementsNamespace };
|
package/dist/errors.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
// src/errors.ts
|
|
4
|
-
var
|
|
4
|
+
var s = class e extends Error {
|
|
5
5
|
code;
|
|
6
6
|
status;
|
|
7
7
|
requestId;
|
|
@@ -14,17 +14,21 @@ var NeetruError = class _NeetruError extends Error {
|
|
|
14
14
|
* para um `NeetruDbErrorCode` mais específico (recuperável vs não).
|
|
15
15
|
*/
|
|
16
16
|
reason;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
/**
|
|
18
|
+
* 3.8.0: `x-correlation-id` da requisição que falhou. O SDK gera um UUID por
|
|
19
|
+
* chamada (ou usa o que o chamador passou) e manda no header; o Core grava o
|
|
20
|
+
* mesmo id nos logs/auditoria — cite-o ao abrir um ticket de suporte.
|
|
21
|
+
* `undefined` em erros que acontecem antes de qualquer requisição.
|
|
22
|
+
*/
|
|
23
|
+
correlationId;
|
|
24
|
+
constructor(r, t, i, n, o, a) {
|
|
25
|
+
super(t), this.name = "NeetruError", this.code = r, this.status = i, this.requestId = n, this.reason = o, this.correlationId = a, Object.setPrototypeOf(this, e.prototype);
|
|
26
|
+
}
|
|
27
|
+
}, d = class e extends s {
|
|
28
|
+
constructor(r, t, i, n, o) {
|
|
29
|
+
super("auth_required", r, i, n, t, o), this.name = "NeetruAuthRequiredError", Object.setPrototypeOf(this, e.prototype);
|
|
25
30
|
}
|
|
26
31
|
};
|
|
27
32
|
|
|
28
|
-
exports.
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=errors.cjs.map
|
|
33
|
+
exports.NeetruAuthRequiredError = d;
|
|
34
|
+
exports.NeetruError = s;
|
package/dist/errors.d.cts
CHANGED
|
@@ -26,7 +26,29 @@ type NeetruErrorCode = 'invalid_config' | 'missing_api_key' | 'unauthorized' | '
|
|
|
26
26
|
*/
|
|
27
27
|
| 'token_exchange_failed'
|
|
28
28
|
/** HTTP 409 — colisão de idempotência ou conflito de recurso. */
|
|
29
|
-
| 'conflict'
|
|
29
|
+
| 'conflict'
|
|
30
|
+
/**
|
|
31
|
+
* 3.7.0: a operação exige um usuário final logado (id_token OIDC) e não há
|
|
32
|
+
* nenhum — ou o Core recusou o token (`end_user_token_required` /
|
|
33
|
+
* `invalid_end_user_token`). Lançado como {@link NeetruAuthRequiredError}.
|
|
34
|
+
*/
|
|
35
|
+
| 'auth_required'
|
|
36
|
+
/** 3.7.0: HTTP 410 — endpoint descontinuado/removido no Core. */
|
|
37
|
+
| 'gone'
|
|
38
|
+
/**
|
|
39
|
+
* 3.8.0: a credencial `nrt_` do produto (só de servidor) chegou a um runtime
|
|
40
|
+
* de navegador ou React Native com `strictServerOnlyKey: true` — ou ao
|
|
41
|
+
* entrypoint `@neetru/sdk/mobile`, que recusa chave sempre.
|
|
42
|
+
*/
|
|
43
|
+
| 'server_only_key'
|
|
44
|
+
/**
|
|
45
|
+
* 3.8.0: o token apresentado não é um access_token OIDC válido para esta API
|
|
46
|
+
* (ex.: é um id_token, um refresh_token ou a chave `nrt_`; falta `jti`/`scope`;
|
|
47
|
+
* `client_id` diverge do `aud`; token de máquina sem `allowClientCredentials`).
|
|
48
|
+
*/
|
|
49
|
+
| 'token_invalid'
|
|
50
|
+
/** 3.8.0: o access_token é válido mas não tem todos os escopos exigidos (HTTP 403). */
|
|
51
|
+
| 'insufficient_scope' | 'unknown';
|
|
30
52
|
/**
|
|
31
53
|
* Erro tipado padrão do SDK. Sempre lançado em vez de Error genérico.
|
|
32
54
|
*
|
|
@@ -51,7 +73,41 @@ declare class NeetruError extends Error {
|
|
|
51
73
|
* para um `NeetruDbErrorCode` mais específico (recuperável vs não).
|
|
52
74
|
*/
|
|
53
75
|
readonly reason?: string;
|
|
54
|
-
|
|
76
|
+
/**
|
|
77
|
+
* 3.8.0: `x-correlation-id` da requisição que falhou. O SDK gera um UUID por
|
|
78
|
+
* chamada (ou usa o que o chamador passou) e manda no header; o Core grava o
|
|
79
|
+
* mesmo id nos logs/auditoria — cite-o ao abrir um ticket de suporte.
|
|
80
|
+
* `undefined` em erros que acontecem antes de qualquer requisição.
|
|
81
|
+
*/
|
|
82
|
+
readonly correlationId?: string;
|
|
83
|
+
constructor(code: NeetruErrorCode | string, message: string, status?: number, requestId?: string, reason?: string, correlationId?: string);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 3.7.0 — a operação exige a identidade do USUÁRIO FINAL (id_token OIDC do
|
|
87
|
+
* usuário logado no produto), que vai no header `X-Neetru-End-User-Token`.
|
|
88
|
+
*
|
|
89
|
+
* Lançado quando:
|
|
90
|
+
* - não há usuário logado (`client.auth.getIdToken()` devolve `null`) numa
|
|
91
|
+
* operação que o Core restringe ao dono (listar "meus tickets", contestar,
|
|
92
|
+
* avaliar...) → `reason: 'no_signed_in_user'`, SEM request;
|
|
93
|
+
* - o Core respondeu 403 `end_user_token_required` →
|
|
94
|
+
* `reason: 'end_user_token_required'`;
|
|
95
|
+
* - o Core respondeu 401 `invalid_end_user_token` (token expirado/inválido) →
|
|
96
|
+
* `reason: 'invalid_end_user_token'`.
|
|
97
|
+
*
|
|
98
|
+
* `code` é sempre `'auth_required'`; `instanceof NeetruError` continua valendo.
|
|
99
|
+
* Ação típica do app: `client.auth.signIn()` e tentar de novo.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* try { await client.support.listMyTickets(); }
|
|
104
|
+
* catch (e) {
|
|
105
|
+
* if (e instanceof NeetruAuthRequiredError) await client.auth.signIn();
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
declare class NeetruAuthRequiredError extends NeetruError {
|
|
110
|
+
constructor(message: string, reason: string, status?: number, requestId?: string, correlationId?: string);
|
|
55
111
|
}
|
|
56
112
|
|
|
57
|
-
export { NeetruError, type NeetruErrorCode };
|
|
113
|
+
export { NeetruAuthRequiredError, NeetruError, type NeetruErrorCode };
|
package/dist/errors.d.ts
CHANGED
|
@@ -26,7 +26,29 @@ type NeetruErrorCode = 'invalid_config' | 'missing_api_key' | 'unauthorized' | '
|
|
|
26
26
|
*/
|
|
27
27
|
| 'token_exchange_failed'
|
|
28
28
|
/** HTTP 409 — colisão de idempotência ou conflito de recurso. */
|
|
29
|
-
| 'conflict'
|
|
29
|
+
| 'conflict'
|
|
30
|
+
/**
|
|
31
|
+
* 3.7.0: a operação exige um usuário final logado (id_token OIDC) e não há
|
|
32
|
+
* nenhum — ou o Core recusou o token (`end_user_token_required` /
|
|
33
|
+
* `invalid_end_user_token`). Lançado como {@link NeetruAuthRequiredError}.
|
|
34
|
+
*/
|
|
35
|
+
| 'auth_required'
|
|
36
|
+
/** 3.7.0: HTTP 410 — endpoint descontinuado/removido no Core. */
|
|
37
|
+
| 'gone'
|
|
38
|
+
/**
|
|
39
|
+
* 3.8.0: a credencial `nrt_` do produto (só de servidor) chegou a um runtime
|
|
40
|
+
* de navegador ou React Native com `strictServerOnlyKey: true` — ou ao
|
|
41
|
+
* entrypoint `@neetru/sdk/mobile`, que recusa chave sempre.
|
|
42
|
+
*/
|
|
43
|
+
| 'server_only_key'
|
|
44
|
+
/**
|
|
45
|
+
* 3.8.0: o token apresentado não é um access_token OIDC válido para esta API
|
|
46
|
+
* (ex.: é um id_token, um refresh_token ou a chave `nrt_`; falta `jti`/`scope`;
|
|
47
|
+
* `client_id` diverge do `aud`; token de máquina sem `allowClientCredentials`).
|
|
48
|
+
*/
|
|
49
|
+
| 'token_invalid'
|
|
50
|
+
/** 3.8.0: o access_token é válido mas não tem todos os escopos exigidos (HTTP 403). */
|
|
51
|
+
| 'insufficient_scope' | 'unknown';
|
|
30
52
|
/**
|
|
31
53
|
* Erro tipado padrão do SDK. Sempre lançado em vez de Error genérico.
|
|
32
54
|
*
|
|
@@ -51,7 +73,41 @@ declare class NeetruError extends Error {
|
|
|
51
73
|
* para um `NeetruDbErrorCode` mais específico (recuperável vs não).
|
|
52
74
|
*/
|
|
53
75
|
readonly reason?: string;
|
|
54
|
-
|
|
76
|
+
/**
|
|
77
|
+
* 3.8.0: `x-correlation-id` da requisição que falhou. O SDK gera um UUID por
|
|
78
|
+
* chamada (ou usa o que o chamador passou) e manda no header; o Core grava o
|
|
79
|
+
* mesmo id nos logs/auditoria — cite-o ao abrir um ticket de suporte.
|
|
80
|
+
* `undefined` em erros que acontecem antes de qualquer requisição.
|
|
81
|
+
*/
|
|
82
|
+
readonly correlationId?: string;
|
|
83
|
+
constructor(code: NeetruErrorCode | string, message: string, status?: number, requestId?: string, reason?: string, correlationId?: string);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 3.7.0 — a operação exige a identidade do USUÁRIO FINAL (id_token OIDC do
|
|
87
|
+
* usuário logado no produto), que vai no header `X-Neetru-End-User-Token`.
|
|
88
|
+
*
|
|
89
|
+
* Lançado quando:
|
|
90
|
+
* - não há usuário logado (`client.auth.getIdToken()` devolve `null`) numa
|
|
91
|
+
* operação que o Core restringe ao dono (listar "meus tickets", contestar,
|
|
92
|
+
* avaliar...) → `reason: 'no_signed_in_user'`, SEM request;
|
|
93
|
+
* - o Core respondeu 403 `end_user_token_required` →
|
|
94
|
+
* `reason: 'end_user_token_required'`;
|
|
95
|
+
* - o Core respondeu 401 `invalid_end_user_token` (token expirado/inválido) →
|
|
96
|
+
* `reason: 'invalid_end_user_token'`.
|
|
97
|
+
*
|
|
98
|
+
* `code` é sempre `'auth_required'`; `instanceof NeetruError` continua valendo.
|
|
99
|
+
* Ação típica do app: `client.auth.signIn()` e tentar de novo.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* try { await client.support.listMyTickets(); }
|
|
104
|
+
* catch (e) {
|
|
105
|
+
* if (e instanceof NeetruAuthRequiredError) await client.auth.signIn();
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
declare class NeetruAuthRequiredError extends NeetruError {
|
|
110
|
+
constructor(message: string, reason: string, status?: number, requestId?: string, correlationId?: string);
|
|
55
111
|
}
|
|
56
112
|
|
|
57
|
-
export { NeetruError, type NeetruErrorCode };
|
|
113
|
+
export { NeetruAuthRequiredError, NeetruError, type NeetruErrorCode };
|
package/dist/errors.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/errors.ts
|
|
2
|
-
var
|
|
2
|
+
var s = class e extends Error {
|
|
3
3
|
code;
|
|
4
4
|
status;
|
|
5
5
|
requestId;
|
|
@@ -12,17 +12,20 @@ var NeetruError = class _NeetruError extends Error {
|
|
|
12
12
|
* para um `NeetruDbErrorCode` mais específico (recuperável vs não).
|
|
13
13
|
*/
|
|
14
14
|
reason;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
/**
|
|
16
|
+
* 3.8.0: `x-correlation-id` da requisição que falhou. O SDK gera um UUID por
|
|
17
|
+
* chamada (ou usa o que o chamador passou) e manda no header; o Core grava o
|
|
18
|
+
* mesmo id nos logs/auditoria — cite-o ao abrir um ticket de suporte.
|
|
19
|
+
* `undefined` em erros que acontecem antes de qualquer requisição.
|
|
20
|
+
*/
|
|
21
|
+
correlationId;
|
|
22
|
+
constructor(r, t, i, n, o, a) {
|
|
23
|
+
super(t), this.name = "NeetruError", this.code = r, this.status = i, this.requestId = n, this.reason = o, this.correlationId = a, Object.setPrototypeOf(this, e.prototype);
|
|
24
|
+
}
|
|
25
|
+
}, d = class e extends s {
|
|
26
|
+
constructor(r, t, i, n, o) {
|
|
27
|
+
super("auth_required", r, i, n, t, o), this.name = "NeetruAuthRequiredError", Object.setPrototypeOf(this, e.prototype);
|
|
23
28
|
}
|
|
24
29
|
};
|
|
25
30
|
|
|
26
|
-
export { NeetruError };
|
|
27
|
-
//# sourceMappingURL=errors.mjs.map
|
|
28
|
-
//# sourceMappingURL=errors.mjs.map
|
|
31
|
+
export { d as NeetruAuthRequiredError, s as NeetruError };
|