@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.
Files changed (117) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +66 -1
  3. package/dist/ai.cjs +298 -391
  4. package/dist/ai.d.cts +1 -1
  5. package/dist/ai.d.ts +1 -1
  6. package/dist/ai.mjs +298 -391
  7. package/dist/auth.cjs +3717 -5005
  8. package/dist/auth.d.cts +1 -1
  9. package/dist/auth.d.ts +1 -1
  10. package/dist/auth.mjs +3714 -5002
  11. package/dist/build-guard.cjs +101 -119
  12. package/dist/build-guard.mjs +91 -109
  13. package/dist/catalog.cjs +220 -225
  14. package/dist/catalog.d.cts +1 -1
  15. package/dist/catalog.d.ts +1 -1
  16. package/dist/catalog.mjs +220 -225
  17. package/dist/checkout.cjs +307 -323
  18. package/dist/checkout.d.cts +1 -1
  19. package/dist/checkout.d.ts +1 -1
  20. package/dist/checkout.mjs +306 -322
  21. package/dist/db-react.cjs +59 -87
  22. package/dist/db-react.d.cts +1 -1
  23. package/dist/db-react.d.ts +1 -1
  24. package/dist/db-react.mjs +56 -84
  25. package/dist/db.cjs +2128 -3014
  26. package/dist/db.d.cts +1 -1
  27. package/dist/db.d.ts +1 -1
  28. package/dist/db.mjs +2141 -3027
  29. package/dist/entitlements.cjs +19 -20
  30. package/dist/entitlements.d.cts +1 -1
  31. package/dist/entitlements.d.ts +1 -1
  32. package/dist/entitlements.mjs +19 -20
  33. package/dist/errors.cjs +16 -12
  34. package/dist/errors.d.cts +59 -3
  35. package/dist/errors.d.ts +59 -3
  36. package/dist/errors.mjs +15 -12
  37. package/dist/firestore-compat.cjs +241 -297
  38. package/dist/firestore-compat.d.cts +1 -1
  39. package/dist/firestore-compat.d.ts +1 -1
  40. package/dist/firestore-compat.mjs +215 -271
  41. package/dist/index.cjs +3942 -5134
  42. package/dist/index.d.cts +181 -5
  43. package/dist/index.d.ts +181 -5
  44. package/dist/index.mjs +4040 -5239
  45. package/dist/mobile.cjs +459 -344
  46. package/dist/mobile.d.cts +59 -4
  47. package/dist/mobile.d.ts +59 -4
  48. package/dist/mobile.mjs +459 -344
  49. package/dist/mocks.cjs +319 -447
  50. package/dist/mocks.d.cts +1 -1
  51. package/dist/mocks.d.ts +1 -1
  52. package/dist/mocks.mjs +313 -441
  53. package/dist/notifications.cjs +296 -317
  54. package/dist/notifications.d.cts +1 -1
  55. package/dist/notifications.d.ts +1 -1
  56. package/dist/notifications.mjs +295 -316
  57. package/dist/react.cjs +557 -707
  58. package/dist/react.d.cts +1 -1
  59. package/dist/react.d.ts +1 -1
  60. package/dist/react.mjs +547 -697
  61. package/dist/support.cjs +402 -328
  62. package/dist/support.d.cts +29 -3
  63. package/dist/support.d.ts +29 -3
  64. package/dist/support.mjs +401 -328
  65. package/dist/telemetry.cjs +267 -304
  66. package/dist/telemetry.d.cts +1 -1
  67. package/dist/telemetry.d.ts +1 -1
  68. package/dist/telemetry.mjs +267 -304
  69. package/dist/{types-Du_iioJ7.d.cts → types-D-9bjlM0.d.cts} +74 -1
  70. package/dist/{types-BPATkXYu.d.ts → types-bVztFQTI.d.ts} +74 -1
  71. package/dist/usage.cjs +233 -230
  72. package/dist/usage.d.cts +1 -1
  73. package/dist/usage.d.ts +1 -1
  74. package/dist/usage.mjs +233 -230
  75. package/dist/webhooks.cjs +328 -362
  76. package/dist/webhooks.d.cts +1 -1
  77. package/dist/webhooks.d.ts +1 -1
  78. package/dist/webhooks.mjs +325 -359
  79. package/package.json +5 -3
  80. package/dist/ai.cjs.map +0 -1
  81. package/dist/ai.mjs.map +0 -1
  82. package/dist/auth.cjs.map +0 -1
  83. package/dist/auth.mjs.map +0 -1
  84. package/dist/build-guard.cjs.map +0 -1
  85. package/dist/build-guard.mjs.map +0 -1
  86. package/dist/catalog.cjs.map +0 -1
  87. package/dist/catalog.mjs.map +0 -1
  88. package/dist/checkout.cjs.map +0 -1
  89. package/dist/checkout.mjs.map +0 -1
  90. package/dist/db-react.cjs.map +0 -1
  91. package/dist/db-react.mjs.map +0 -1
  92. package/dist/db.cjs.map +0 -1
  93. package/dist/db.mjs.map +0 -1
  94. package/dist/entitlements.cjs.map +0 -1
  95. package/dist/entitlements.mjs.map +0 -1
  96. package/dist/errors.cjs.map +0 -1
  97. package/dist/errors.mjs.map +0 -1
  98. package/dist/firestore-compat.cjs.map +0 -1
  99. package/dist/firestore-compat.mjs.map +0 -1
  100. package/dist/index.cjs.map +0 -1
  101. package/dist/index.mjs.map +0 -1
  102. package/dist/mobile.cjs.map +0 -1
  103. package/dist/mobile.mjs.map +0 -1
  104. package/dist/mocks.cjs.map +0 -1
  105. package/dist/mocks.mjs.map +0 -1
  106. package/dist/notifications.cjs.map +0 -1
  107. package/dist/notifications.mjs.map +0 -1
  108. package/dist/react.cjs.map +0 -1
  109. package/dist/react.mjs.map +0 -1
  110. package/dist/support.cjs.map +0 -1
  111. package/dist/support.mjs.map +0 -1
  112. package/dist/telemetry.cjs.map +0 -1
  113. package/dist/telemetry.mjs.map +0 -1
  114. package/dist/usage.cjs.map +0 -1
  115. package/dist/usage.mjs.map +0 -1
  116. package/dist/webhooks.cjs.map +0 -1
  117. package/dist/webhooks.mjs.map +0 -1
@@ -1,7 +1,33 @@
1
- import { ag as ResolvedConfig, al as SupportNamespace } from './types-Du_iioJ7.cjs';
1
+ import { ah as ResolvedConfig, am as SupportNamespace } from './types-D-9bjlM0.cjs';
2
2
  import 'drizzle-orm/node-postgres';
3
3
  import './errors.cjs';
4
4
 
5
- declare function createSupportNamespace(config: ResolvedConfig): SupportNamespace;
5
+ /**
6
+ * 3.7.0 (Core HIGH-2, auditoria 2026-09-29): header com o id_token OIDC do
7
+ * usuário final. A chave `nrt_` identifica o PRODUTO (é a mesma pra todos os
8
+ * usuários); o Core usa este token pra amarrar o ticket ao `endUserId`
9
+ * (= `sub`) e só deixa o próprio dono listar/contestar/avaliar.
10
+ *
11
+ * 3.8.0: a chave `nrt_` é SÓ DE SERVIDOR (ver `server-only-key.ts`). O fluxo
12
+ * canônico é o backend do produto chamar o support com a chave e repassar o
13
+ * id_token que o app/site mandou — via `createNeetruClient({ endUserAuth })`.
14
+ */
15
+ declare const END_USER_TOKEN_HEADER = "X-Neetru-End-User-Token";
16
+ /** Dependências opcionais do namespace (injetadas pelo `createNeetruClient`). */
17
+ interface SupportNamespaceDeps {
18
+ /**
19
+ * Devolve o **id_token** OIDC do usuário final logado, ou `null` se não houver.
20
+ * O `createNeetruClient` liga isto a `client.auth.getIdToken()`. NUNCA o
21
+ * access token: o Core recusa token com `jti` (401 `invalid_end_user_token`).
22
+ */
23
+ getEndUserToken?: () => string | null | undefined | Promise<string | null | undefined>;
24
+ /**
25
+ * Renova a sessão do usuário final (refresh_token → id_token novo). Resolve
26
+ * `true` se renovou. O `createNeetruClient` liga a `client.auth.refreshTokens()`
27
+ * quando o namespace de auth expõe o método. Usado 1x antes de desistir.
28
+ */
29
+ refreshEndUserToken?: () => Promise<boolean>;
30
+ }
31
+ declare function createSupportNamespace(config: ResolvedConfig, deps?: SupportNamespaceDeps): SupportNamespace;
6
32
 
7
- export { createSupportNamespace };
33
+ export { END_USER_TOKEN_HEADER, type SupportNamespaceDeps, createSupportNamespace };
package/dist/support.d.ts CHANGED
@@ -1,7 +1,33 @@
1
- import { ag as ResolvedConfig, al as SupportNamespace } from './types-BPATkXYu.js';
1
+ import { ah as ResolvedConfig, am as SupportNamespace } from './types-bVztFQTI.js';
2
2
  import 'drizzle-orm/node-postgres';
3
3
  import './errors.js';
4
4
 
5
- declare function createSupportNamespace(config: ResolvedConfig): SupportNamespace;
5
+ /**
6
+ * 3.7.0 (Core HIGH-2, auditoria 2026-09-29): header com o id_token OIDC do
7
+ * usuário final. A chave `nrt_` identifica o PRODUTO (é a mesma pra todos os
8
+ * usuários); o Core usa este token pra amarrar o ticket ao `endUserId`
9
+ * (= `sub`) e só deixa o próprio dono listar/contestar/avaliar.
10
+ *
11
+ * 3.8.0: a chave `nrt_` é SÓ DE SERVIDOR (ver `server-only-key.ts`). O fluxo
12
+ * canônico é o backend do produto chamar o support com a chave e repassar o
13
+ * id_token que o app/site mandou — via `createNeetruClient({ endUserAuth })`.
14
+ */
15
+ declare const END_USER_TOKEN_HEADER = "X-Neetru-End-User-Token";
16
+ /** Dependências opcionais do namespace (injetadas pelo `createNeetruClient`). */
17
+ interface SupportNamespaceDeps {
18
+ /**
19
+ * Devolve o **id_token** OIDC do usuário final logado, ou `null` se não houver.
20
+ * O `createNeetruClient` liga isto a `client.auth.getIdToken()`. NUNCA o
21
+ * access token: o Core recusa token com `jti` (401 `invalid_end_user_token`).
22
+ */
23
+ getEndUserToken?: () => string | null | undefined | Promise<string | null | undefined>;
24
+ /**
25
+ * Renova a sessão do usuário final (refresh_token → id_token novo). Resolve
26
+ * `true` se renovou. O `createNeetruClient` liga a `client.auth.refreshTokens()`
27
+ * quando o namespace de auth expõe o método. Usado 1x antes de desistir.
28
+ */
29
+ refreshEndUserToken?: () => Promise<boolean>;
30
+ }
31
+ declare function createSupportNamespace(config: ResolvedConfig, deps?: SupportNamespaceDeps): SupportNamespace;
6
32
 
7
- export { createSupportNamespace };
33
+ export { END_USER_TOKEN_HEADER, type SupportNamespaceDeps, createSupportNamespace };