@xemahq/platform-common 0.13.0 → 0.14.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 (61) hide show
  1. package/dist/lib/advisory-lock.d.ts +10 -0
  2. package/dist/lib/advisory-lock.d.ts.map +1 -0
  3. package/dist/lib/advisory-lock.js +32 -0
  4. package/dist/lib/advisory-lock.js.map +1 -0
  5. package/dist/lib/biome-database.d.ts +14 -0
  6. package/dist/lib/biome-database.d.ts.map +1 -0
  7. package/dist/lib/biome-database.js +88 -0
  8. package/dist/lib/biome-database.js.map +1 -0
  9. package/dist/lib/llm-stream/anthropic-adapter.d.ts +25 -0
  10. package/dist/lib/llm-stream/anthropic-adapter.d.ts.map +1 -0
  11. package/dist/lib/llm-stream/anthropic-adapter.js +278 -0
  12. package/dist/lib/llm-stream/anthropic-adapter.js.map +1 -0
  13. package/dist/lib/redaction/redaction.interceptor.d.ts +11 -0
  14. package/dist/lib/redaction/redaction.interceptor.d.ts.map +1 -0
  15. package/dist/lib/redaction/redaction.interceptor.js +41 -0
  16. package/dist/lib/redaction/redaction.interceptor.js.map +1 -0
  17. package/dist/lib/redaction/redaction.service.d.ts +9 -0
  18. package/dist/lib/redaction/redaction.service.d.ts.map +1 -0
  19. package/dist/lib/redaction/redaction.service.js +110 -0
  20. package/dist/lib/redaction/redaction.service.js.map +1 -0
  21. package/dist/lib/to-prisma-json.d.ts +6 -0
  22. package/dist/lib/to-prisma-json.d.ts.map +1 -0
  23. package/dist/lib/to-prisma-json.js +12 -0
  24. package/dist/lib/to-prisma-json.js.map +1 -0
  25. package/dist/lib/write-policy.d.ts +30 -0
  26. package/dist/lib/write-policy.d.ts.map +1 -0
  27. package/dist/lib/write-policy.js +54 -0
  28. package/dist/lib/write-policy.js.map +1 -0
  29. package/dist/nestjs/auth/org-authority-observations.d.ts +15 -0
  30. package/dist/nestjs/auth/org-authority-observations.d.ts.map +1 -0
  31. package/dist/nestjs/auth/org-authority-observations.js +47 -0
  32. package/dist/nestjs/auth/org-authority-observations.js.map +1 -0
  33. package/dist/nestjs/auth/org-authority.d.ts +32 -0
  34. package/dist/nestjs/auth/org-authority.d.ts.map +1 -0
  35. package/dist/nestjs/auth/org-authority.js +102 -0
  36. package/dist/nestjs/auth/org-authority.js.map +1 -0
  37. package/dist/nestjs/auth/org-claim.d.ts +12 -0
  38. package/dist/nestjs/auth/org-claim.d.ts.map +1 -0
  39. package/dist/nestjs/auth/org-claim.js +25 -0
  40. package/dist/nestjs/auth/org-claim.js.map +1 -0
  41. package/dist/nestjs/auth/org-role.d.ts +13 -0
  42. package/dist/nestjs/auth/org-role.d.ts.map +1 -0
  43. package/dist/nestjs/auth/org-role.js +75 -0
  44. package/dist/nestjs/auth/org-role.js.map +1 -0
  45. package/dist/nestjs/auth/realm-token-verifier.d.ts +30 -0
  46. package/dist/nestjs/auth/realm-token-verifier.d.ts.map +1 -0
  47. package/dist/nestjs/auth/realm-token-verifier.js +161 -0
  48. package/dist/nestjs/auth/realm-token-verifier.js.map +1 -0
  49. package/dist/nestjs/auth/service-token.guard.d.ts +6 -8
  50. package/dist/nestjs/auth/service-token.guard.d.ts.map +1 -1
  51. package/dist/nestjs/auth/service-token.guard.js +21 -101
  52. package/dist/nestjs/auth/service-token.guard.js.map +1 -1
  53. package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts +20 -0
  54. package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts.map +1 -0
  55. package/dist/nestjs/idempotency/prisma-idempotency.service.js +58 -0
  56. package/dist/nestjs/idempotency/prisma-idempotency.service.js.map +1 -0
  57. package/dist/nestjs/jwt-verification.guard.d.ts +2 -16
  58. package/dist/nestjs/jwt-verification.guard.d.ts.map +1 -1
  59. package/dist/nestjs/jwt-verification.guard.js +6 -149
  60. package/dist/nestjs/jwt-verification.guard.js.map +1 -1
  61. package/package.json +2 -2
@@ -18,30 +18,16 @@ const common_1 = require("@nestjs/common");
18
18
  const decorator_metadata_1 = require("./decorator-metadata");
19
19
  const public_decorator_1 = require("./public.decorator");
20
20
  const auth_module_options_1 = require("./auth/auth-module-options");
21
- const idp_tenant_resolver_1 = require("./auth/idp-tenant-resolver");
22
21
  const request_context_1 = require("../lib/request-context");
23
22
  const oidc_guard_1 = require("@xemahq/oidc-guard");
23
+ const realm_token_verifier_1 = require("./auth/realm-token-verifier");
24
24
  const PUBLIC_PATH_PREFIXES = ['/health', '/api/docs', '/api/openapi.json'];
25
25
  const PUBLIC_WEBHOOK_PREFIX = '/webhooks';
26
- let JwtVerificationGuard = class JwtVerificationGuard {
27
- static { JwtVerificationGuard_1 = this; }
28
- authOptions;
26
+ let JwtVerificationGuard = JwtVerificationGuard_1 = class JwtVerificationGuard {
29
27
  logger = new common_1.Logger(JwtVerificationGuard_1.name);
30
- jwks = new oidc_guard_1.JwksVerifier(600_000);
31
- issuerMetadata = new oidc_guard_1.IssuerMetadataResolver();
32
- tenantResolver;
33
- oidcVerifier;
34
- static SINGLE_REALM_CACHE_KEY = '__single__';
35
- multiRealmConfig = null;
36
- resolvingConfig = null;
28
+ verifier;
37
29
  constructor(authOptions) {
38
- this.authOptions = authOptions;
39
- this.tenantResolver = (0, idp_tenant_resolver_1.selectTenantResolver)(process.env.IDP_KIND);
40
- this.oidcVerifier = new oidc_guard_1.OidcTokenVerifier({
41
- jwks: this.jwks,
42
- issuerMetadata: this.issuerMetadata,
43
- tenantResolver: this.tenantResolver,
44
- });
30
+ this.verifier = new realm_token_verifier_1.RealmTokenVerifier(authOptions);
45
31
  }
46
32
  async canActivate(context) {
47
33
  const isPublic = (0, decorator_metadata_1.readDecoratorOverride)(public_decorator_1.IS_PUBLIC_KEY, [
@@ -73,69 +59,8 @@ let JwtVerificationGuard = class JwtVerificationGuard {
73
59
  }
74
60
  }
75
61
  async verifyToken(token) {
76
- const { payload } = this.decodeOrThrow(token);
77
- const multiRealm = await this.resolveMultiRealmConfig();
78
- if (multiRealm) {
79
- await this.verifyMultiRealm(token, multiRealm);
80
- }
81
- else {
82
- await this.verifySingleRealm(token, payload);
83
- }
84
- return payload;
85
- }
86
- decodeOrThrow(token) {
87
- try {
88
- return this.jwks.decode(token);
89
- }
90
- catch (error) {
91
- if (error instanceof oidc_guard_1.JwksVerificationError) {
92
- throw new common_1.UnauthorizedException(error.message);
93
- }
94
- throw error;
95
- }
96
- }
97
- async verifyMultiRealm(token, config) {
98
- try {
99
- await this.oidcVerifier.verify(token, {
100
- discoveryBaseUrls: config.discoveryBaseUrls,
101
- allowedRealms: config.allowedRealms,
102
- expectedIssuers: this.configuredIssuers(),
103
- });
104
- }
105
- catch (error) {
106
- if (error instanceof oidc_guard_1.JwksVerificationError) {
107
- throw new common_1.UnauthorizedException(error.message);
108
- }
109
- throw error;
110
- }
111
- }
112
- async verifySingleRealm(token, payload) {
113
- const expectedIssuer = this.authOptions?.issuer;
114
- if (expectedIssuer) {
115
- if (!payload.iss) {
116
- throw new common_1.UnauthorizedException('Token missing required issuer claim');
117
- }
118
- const allowedIssuers = this.configuredIssuers();
119
- const tenants = [
120
- ...new Set(allowedIssuers
121
- .map((iss) => this.tenantResolver.tenantFromIssuer(iss))
122
- .filter((tenant) => tenant !== null)),
123
- ];
124
- const issuerMatched = allowedIssuers.includes(payload.iss) ||
125
- tenants.some((tenant) => this.tenantResolver.issuerBelongsToTenant(payload.iss, tenant));
126
- if (!issuerMatched) {
127
- throw new common_1.UnauthorizedException('Invalid token issuer');
128
- }
129
- }
130
- const jwksUrl = this.authOptions?.jwksUrl;
131
- if (!jwksUrl) {
132
- throw new Error('AuthModule jwksUrl is not configured');
133
- }
134
62
  try {
135
- await this.jwks.verify(token, {
136
- cacheKey: JwtVerificationGuard_1.SINGLE_REALM_CACHE_KEY,
137
- jwksUrl,
138
- });
63
+ return await this.verifier.verify(token);
139
64
  }
140
65
  catch (error) {
141
66
  if (error instanceof oidc_guard_1.JwksVerificationError) {
@@ -144,78 +69,10 @@ let JwtVerificationGuard = class JwtVerificationGuard {
144
69
  throw error;
145
70
  }
146
71
  }
147
- configuredIssuers() {
148
- const raw = this.authOptions?.issuer;
149
- if (!raw)
150
- return [];
151
- return raw
152
- .split(',')
153
- .map((s) => s.trim())
154
- .filter((s) => s.length > 0);
155
- }
156
- async resolveMultiRealmConfig() {
157
- if (this.multiRealmConfig)
158
- return this.multiRealmConfig;
159
- if (this.resolvingConfig)
160
- return this.resolvingConfig;
161
- this.resolvingConfig = (async () => {
162
- try {
163
- const keycloakBaseUrl = await this.resolveKeycloakBaseUrl();
164
- const allowedRealms = await this.resolveAllowedRealms();
165
- if (keycloakBaseUrl && allowedRealms.length > 0) {
166
- const localBaseUrls = keycloakBaseUrl
167
- .split(',')
168
- .map((s) => s.trim().replace(/\/$/, ''));
169
- const federated = this.authOptions?.federatedRealmTrust;
170
- const discoveryBaseUrls = [
171
- ...new Set([
172
- ...localBaseUrls,
173
- ...(federated?.discoveryBaseUrls ?? []).map((s) => s.trim().replace(/\/$/, '')),
174
- ]),
175
- ];
176
- const mergedRealms = [
177
- ...new Set([...allowedRealms, ...(federated?.allowedRealms ?? [])]),
178
- ];
179
- this.multiRealmConfig = {
180
- discoveryBaseUrls,
181
- allowedRealms: mergedRealms,
182
- };
183
- this.logger.log(`Multi-realm mode enabled: realms=[${mergedRealms.join(', ')}], base URLs=[${discoveryBaseUrls.join(', ')}]` +
184
- (federated
185
- ? ` (incl. ${federated.discoveryBaseUrls.length} federated base URL(s))`
186
- : ''));
187
- return this.multiRealmConfig;
188
- }
189
- return null;
190
- }
191
- finally {
192
- this.resolvingConfig = null;
193
- }
194
- })();
195
- return this.resolvingConfig;
196
- }
197
- async resolveKeycloakBaseUrl() {
198
- if (this.authOptions?.keycloakBaseUrl)
199
- return this.authOptions.keycloakBaseUrl;
200
- if (this.authOptions?.keycloakBaseUrlProvider) {
201
- return (await this.authOptions.keycloakBaseUrlProvider()) ?? undefined;
202
- }
203
- return undefined;
204
- }
205
- async resolveAllowedRealms() {
206
- if (this.authOptions?.allowedRealms &&
207
- this.authOptions.allowedRealms.length > 0) {
208
- return this.authOptions.allowedRealms;
209
- }
210
- if (this.authOptions?.allowedRealmsProvider) {
211
- return await this.authOptions.allowedRealmsProvider();
212
- }
213
- return [];
214
- }
215
72
  attachRealmToContext(request, payload) {
216
73
  if (!payload.iss)
217
74
  return;
218
- const realmName = this.tenantResolver.tenantFromIssuer(payload.iss);
75
+ const realmName = this.verifier.tenantResolver.tenantFromIssuer(payload.iss);
219
76
  if (!realmName)
220
77
  return;
221
78
  const ctx = request[request_context_1.REQUEST_CONTEXT];
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-verification.guard.js","sourceRoot":"","sources":["../../src/nestjs/jwt-verification.guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt-verification.guard.js","sourceRoot":"","sources":["../../src/nestjs/jwt-verification.guard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/platform-common",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Shared NestJS building blocks for Xema services — auth guards, response redaction, CORS configuration, and crypto helpers.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
@@ -62,7 +62,7 @@
62
62
  "rxjs": "7.8.2",
63
63
  "ts-jest": "^29.4.9",
64
64
  "typescript": "5.9.3",
65
- "@xemahq/kernel-contracts": "^17.0.0"
65
+ "@xemahq/kernel-contracts": "^17.1.0"
66
66
  },
67
67
  "exports": {
68
68
  ".": {