@xemahq/xema-service-nest 2.0.2 → 3.0.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 (46) hide show
  1. package/README.md +47 -15
  2. package/dist/database/index.d.ts +2 -0
  3. package/dist/database/index.d.ts.map +1 -0
  4. package/dist/database/index.js +7 -0
  5. package/dist/database/index.js.map +1 -0
  6. package/dist/database/xema-database.module.d.ts +16 -0
  7. package/dist/database/xema-database.module.d.ts.map +1 -0
  8. package/dist/database/xema-database.module.js +80 -0
  9. package/dist/database/xema-database.module.js.map +1 -0
  10. package/dist/events/index.d.ts +2 -0
  11. package/dist/events/index.d.ts.map +1 -0
  12. package/dist/events/index.js +7 -0
  13. package/dist/events/index.js.map +1 -0
  14. package/dist/events/xema-events.module.d.ts +18 -0
  15. package/dist/events/xema-events.module.d.ts.map +1 -0
  16. package/dist/events/xema-events.module.js +119 -0
  17. package/dist/events/xema-events.module.js.map +1 -0
  18. package/dist/index.d.ts +4 -4
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +11 -5
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/bootstrap-xema-service.d.ts +0 -1
  23. package/dist/lib/bootstrap-xema-service.d.ts.map +1 -1
  24. package/dist/lib/bootstrap-xema-service.js +6 -3
  25. package/dist/lib/bootstrap-xema-service.js.map +1 -1
  26. package/dist/lib/distribution-lock/distribution-lock-env.d.ts +3 -1
  27. package/dist/lib/distribution-lock/distribution-lock-env.d.ts.map +1 -1
  28. package/dist/lib/distribution-lock/distribution-lock-env.js +31 -6
  29. package/dist/lib/distribution-lock/distribution-lock-env.js.map +1 -1
  30. package/dist/lib/peers/xema-peers.module.d.ts +15 -0
  31. package/dist/lib/peers/xema-peers.module.d.ts.map +1 -0
  32. package/dist/lib/peers/xema-peers.module.js +67 -0
  33. package/dist/lib/peers/xema-peers.module.js.map +1 -0
  34. package/dist/lib/request-context/service-request-context.d.ts +7 -0
  35. package/dist/lib/request-context/service-request-context.d.ts.map +1 -0
  36. package/dist/lib/request-context/service-request-context.js +44 -0
  37. package/dist/lib/request-context/service-request-context.js.map +1 -0
  38. package/dist/lib/xema-service-module.d.ts +11 -2
  39. package/dist/lib/xema-service-module.d.ts.map +1 -1
  40. package/dist/lib/xema-service-module.js +57 -5
  41. package/dist/lib/xema-service-module.js.map +1 -1
  42. package/package.json +32 -4
  43. package/dist/lib/apply-xema-service-middleware.d.ts +0 -4
  44. package/dist/lib/apply-xema-service-middleware.d.ts.map +0 -1
  45. package/dist/lib/apply-xema-service-middleware.js +0 -8
  46. package/dist/lib/apply-xema-service-middleware.js.map +0 -1
package/README.md CHANGED
@@ -31,29 +31,61 @@ The `descriptor` is generated from the biome's `xema-biome.json` by
31
31
  `tooling/codegen/generate-service-bootstrap.mjs` — you declare name/version/
32
32
  dependencies **once** in the manifest, never again in `app.module.ts`.
33
33
 
34
+ A biome service writes its domain modules and ONE declaration per platform
35
+ concern it uses. Everything else — identity bootstrap, registry, auth, the
36
+ request-context middleware, health, the database bootstrap, event-hub
37
+ registration, the CloudEvents webhook, peer-client wiring — is the SDK's.
38
+
34
39
  ```ts
35
- import { Module, type MiddlewareConsumer, type NestModule } from '@nestjs/common';
36
- import { ConfigModule } from '@nestjs/config';
37
- import {
38
- XemaServiceModule,
39
- applyXemaServiceMiddleware,
40
- } from '@xemahq/xema-service-nest';
41
- import { MAILOPS_API_BOOTSTRAP } from './generated/mailops-api.bootstrap.generated';
40
+ // main.ts
41
+ void bootstrapXemaService({ appModule: AppModule, descriptor: FEED_API_BOOTSTRAP });
42
+
43
+ // app.module.ts
44
+ import { Module } from '@nestjs/common';
45
+ import { XemaPeersModule, PeerCredential, XemaServiceModule } from '@xemahq/xema-service-nest';
46
+ import { XemaDatabaseModule } from '@xemahq/xema-service-nest/database';
47
+ import { XemaEventsModule } from '@xemahq/xema-service-nest/events';
42
48
 
43
49
  @Module({
44
50
  imports: [
45
- ConfigModule.forRoot({ isGlobal: true, load: [appConfig] }),
46
- XemaServiceModule.forBiome(MAILOPS_API_BOOTSTRAP),
47
- // ...feature modules
51
+ XemaServiceModule.forBiome(FEED_API_BOOTSTRAP, {
52
+ config: { load: [feedConfig] }, // adapters built by `xemaConfig`
53
+ responseEnvelope: true, // the `{ data }` wire envelope
54
+ }),
55
+ XemaDatabaseModule.forBiome(FEED_API_BOOTSTRAP, {
56
+ prismaService: PrismaService, // createBiomePrismaService(...)
57
+ packageDir: __dirname,
58
+ }),
59
+ XemaEventsModule.forBiome(FEED_API_BOOTSTRAP, {
60
+ produces: [FEED_DESCRIPTORS],
61
+ consumes: [FEED_CONSUMED_DESCRIPTORS],
62
+ replayStore: PrismaService,
63
+ }),
64
+ XemaPeersModule.forRoot({
65
+ credential: PeerCredential.ServiceIdentity,
66
+ clients: { 'artifact-store-api': configureArtifactStore },
67
+ }),
68
+ FeedModule, // the domain
48
69
  ],
49
70
  })
50
- export class AppModule implements NestModule {
51
- configure(consumer: MiddlewareConsumer): void {
52
- applyXemaServiceMiddleware(consumer);
53
- }
54
- }
71
+ export class AppModule {}
55
72
  ```
56
73
 
74
+ There is no `configure()`: `XemaServiceModule` mounts the request-context
75
+ middleware itself. A `@XemaPublicRoute` handler is excluded automatically, and
76
+ a controller guarded at CLASS level by a context-reading platform guard
77
+ (`ServiceActorGuard`, `InternalCallerGuard`, `TokenClassGuard`, `OrgRoleGuard`,
78
+ `PlatformAdminGuard` — each refuses without it) is opted in automatically. `requestContext: { extraExcludes,
79
+ additionalControllers }` carries only what cannot be derived.
80
+
81
+ ### Plugging in another platform SDK
82
+
83
+ Every platform concern is ONE `imports` entry that resolves the identity
84
+ bootstrap and the service registry from `XemaServiceModule.forBiome`'s global
85
+ providers — it never re-wires them. An authorization or workload-identity SDK
86
+ plugs in the same way: `SomeSdkModule.forBiome(DESCRIPTOR, { ...what only the
87
+ service knows })`, taking its own facts from the descriptor.
88
+
57
89
  ## Route policy stays with the biome
58
90
 
59
91
  This module wires the auth **stack**; it does **not** decide what your endpoints
@@ -0,0 +1,2 @@
1
+ export { servicePackageRoot, XemaDatabaseModule, type XemaDatabaseOptions, type XemaPrismaServiceClass, } from './xema-database.module';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XemaDatabaseModule = exports.servicePackageRoot = void 0;
4
+ var xema_database_module_1 = require("./xema-database.module");
5
+ Object.defineProperty(exports, "servicePackageRoot", { enumerable: true, get: function () { return xema_database_module_1.servicePackageRoot; } });
6
+ Object.defineProperty(exports, "XemaDatabaseModule", { enumerable: true, get: function () { return xema_database_module_1.XemaDatabaseModule; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":";;;AAGA,+DAKgC;AAJ9B,0HAAA,kBAAkB,OAAA;AAClB,0HAAA,kBAAkB,OAAA"}
@@ -0,0 +1,16 @@
1
+ import { type EraseOrgDataOptions, type TenantScopedApi } from '@xemahq/biome-database-nest';
2
+ import type { BiomeServiceDescriptor } from '../lib/biome-service-descriptor';
3
+ import type { BiomeHealthDb } from '../lib/health/health.controller';
4
+ import type { DynamicModule, Type } from '@nestjs/common';
5
+ export type XemaPrismaServiceClass = Type<BiomeHealthDb & TenantScopedApi<unknown>> & (new () => BiomeHealthDb & TenantScopedApi<unknown>);
6
+ export interface XemaDatabaseOptions {
7
+ readonly prismaService: XemaPrismaServiceClass;
8
+ readonly packageDir: string;
9
+ readonly requiredExtensions?: readonly string[];
10
+ readonly orgErasure?: false | EraseOrgDataOptions;
11
+ }
12
+ export declare function servicePackageRoot(from: string): string;
13
+ export declare class XemaDatabaseModule {
14
+ static forBiome(descriptor: BiomeServiceDescriptor, options: XemaDatabaseOptions): DynamicModule;
15
+ }
16
+ //# sourceMappingURL=xema-database.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-database.module.d.ts","sourceRoot":"","sources":["../../src/database/xema-database.module.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAY,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAUpE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,GACjF,CAAC,UAAU,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAKlC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAW/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAK5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAQhD,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,mBAAmB,CAAC;CACnD;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAevD;AA0BD,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CACb,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,mBAAmB,GAC3B,aAAa;CA8CjB"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.XemaDatabaseModule = void 0;
10
+ exports.servicePackageRoot = servicePackageRoot;
11
+ const node_fs_1 = require("node:fs");
12
+ const node_path_1 = require("node:path");
13
+ const common_1 = require("@nestjs/common");
14
+ const biome_database_nest_1 = require("@xemahq/biome-database-nest");
15
+ const health_module_1 = require("../lib/health/health.module");
16
+ function servicePackageRoot(from) {
17
+ let dir = (0, node_path_1.resolve)(from);
18
+ for (;;) {
19
+ if ((0, node_fs_1.existsSync)((0, node_path_1.join)(dir, 'package.json'))) {
20
+ return dir;
21
+ }
22
+ const parent = (0, node_path_1.dirname)(dir);
23
+ if (parent === dir) {
24
+ throw new Error(`servicePackageRoot: no package.json at or above "${from}". Pass ` +
25
+ '`packageDir: __dirname` from a file inside the service package.');
26
+ }
27
+ dir = parent;
28
+ }
29
+ }
30
+ let XemaDatabaseModuleHost = class XemaDatabaseModuleHost {
31
+ };
32
+ XemaDatabaseModuleHost = __decorate([
33
+ (0, common_1.Module)({})
34
+ ], XemaDatabaseModuleHost);
35
+ class XemaDatabaseModule {
36
+ static forBiome(descriptor, options) {
37
+ const biomeId = descriptor.biomeId;
38
+ if (biomeId === undefined) {
39
+ throw new Error(`XemaDatabaseModule (${descriptor.name}): the descriptor carries no ` +
40
+ '`biomeId`, and a biome database is keyed on it — the control plane ' +
41
+ 'derives the schema and runtime role from the biome, never from the ' +
42
+ 'service name. Pass the generated bootstrap constant.');
43
+ }
44
+ const prisma = options.prismaService;
45
+ const providers = [
46
+ {
47
+ provide: prisma,
48
+ useFactory: () => new prisma(),
49
+ inject: [biome_database_nest_1.BIOME_DATABASE_READY],
50
+ },
51
+ ];
52
+ return {
53
+ module: XemaDatabaseModuleHost,
54
+ global: true,
55
+ imports: [
56
+ biome_database_nest_1.BiomeDatabaseModule.forRoot({
57
+ biomeId,
58
+ migrationMode: biome_database_nest_1.BiomeDatabaseMigrationMode.ApplicationManaged,
59
+ databases: [{ workspaceDir: servicePackageRoot(options.packageDir) }],
60
+ ...(options.requiredExtensions !== undefined
61
+ ? { requiredExtensions: options.requiredExtensions }
62
+ : {}),
63
+ }),
64
+ ...(options.orgErasure === false
65
+ ? []
66
+ : [
67
+ biome_database_nest_1.OrgErasureModule.forRoot({
68
+ prismaServiceToken: prisma,
69
+ ...(options.orgErasure ?? {}),
70
+ }),
71
+ ]),
72
+ health_module_1.BiomeHealthModule.forPrisma(prisma),
73
+ ],
74
+ providers,
75
+ exports: [prisma],
76
+ };
77
+ }
78
+ }
79
+ exports.XemaDatabaseModule = XemaDatabaseModule;
80
+ //# sourceMappingURL=xema-database.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-database.module.js","sourceRoot":"","sources":["../../src/database/xema-database.module.ts"],"names":[],"mappings":";;;;;;;;;AAmEA,gDAeC;AAlFD,qCAAqC;AACrC,yCAAmD;AAEnD,2CAAwC;AACxC,qEAOqC;AAErC,+DAAgE;AAsDhE,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,IAAI,GAAG,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;IACxB,SAAS,CAAC;QACR,IAAI,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,oDAAoD,IAAI,UAAU;gBAChE,iEAAiE,CACpE,CAAC;QACJ,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAGD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAAG,CAAA;AAAzB,sBAAsB;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;GACL,sBAAsB,CAAG;AAuB/B,MAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CACb,UAAkC,EAClC,OAA4B;QAE5B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,CAAC,IAAI,+BAA+B;gBACnE,qEAAqE;gBACrE,qEAAqE;gBACrE,sDAAsD,CACzD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,MAAM,SAAS,GAAe;YAC5B;gBACE,OAAO,EAAE,MAAM;gBAGf,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE;gBAC9B,MAAM,EAAE,CAAC,0CAAoB,CAAC;aAC/B;SACF,CAAC;QACF,OAAO;YACL,MAAM,EAAE,sBAAsB;YAC9B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,yCAAmB,CAAC,OAAO,CAAC;oBAC1B,OAAO;oBACP,aAAa,EAAE,gDAA0B,CAAC,kBAAkB;oBAC5D,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;wBAC1C,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE;wBACpD,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK;oBAC9B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE,sCAAgB,CAAC,OAAO,CAAC;4BACvB,kBAAkB,EAAE,MAAM;4BAC1B,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;yBAC9B,CAAC;qBACH,CAAC;gBACN,iCAAiB,CAAC,SAAS,CAAC,MAAM,CAAC;aACpC;YACD,SAAS;YACT,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB,CAAC;IACJ,CAAC;CACF;AAlDD,gDAkDC"}
@@ -0,0 +1,2 @@
1
+ export { XEMA_EVENTS_WEBHOOK_PATH, XemaEventsModule, type XemaEventsOptions, } from './xema-events.module';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XemaEventsModule = exports.XEMA_EVENTS_WEBHOOK_PATH = void 0;
4
+ var xema_events_module_1 = require("./xema-events.module");
5
+ Object.defineProperty(exports, "XEMA_EVENTS_WEBHOOK_PATH", { enumerable: true, get: function () { return xema_events_module_1.XEMA_EVENTS_WEBHOOK_PATH; } });
6
+ Object.defineProperty(exports, "XemaEventsModule", { enumerable: true, get: function () { return xema_events_module_1.XemaEventsModule; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;AAIA,2DAI8B;AAH5B,8HAAA,wBAAwB,OAAA;AACxB,sHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,18 @@
1
+ import { type EventDescriptor } from '@xemahq/events';
2
+ import type { BiomeServiceDescriptor } from '../lib/biome-service-descriptor';
3
+ import type { DynamicModule, InjectionToken } from '@nestjs/common';
4
+ export declare const XEMA_EVENTS_WEBHOOK_PATH = "webhooks/events";
5
+ type DescriptorSet = readonly EventDescriptor[];
6
+ export interface XemaEventsOptions {
7
+ readonly produces?: readonly DescriptorSet[];
8
+ readonly consumes?: readonly DescriptorSet[];
9
+ readonly subscribe?: readonly string[];
10
+ readonly ownedDataTypes?: readonly string[];
11
+ readonly eventDomain?: string;
12
+ readonly replayStore?: InjectionToken;
13
+ }
14
+ export declare class XemaEventsModule {
15
+ static forBiome(descriptor: BiomeServiceDescriptor, options: XemaEventsOptions): DynamicModule;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=xema-events.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-events.module.d.ts","sourceRoot":"","sources":["../../src/events/xema-events.module.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAuBxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIpE,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAK1D,KAAK,aAAa,GAAG,SAAS,eAAe,EAAE,CAAC;AAUhD,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAE7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAO7C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAOvC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAc9B,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;CACvC;AAuDD,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CACb,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,iBAAiB,GACzB,aAAa;CAkFjB"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.XemaEventsModule = exports.XEMA_EVENTS_WEBHOOK_PATH = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const core_1 = require("@nestjs/core");
15
+ const swagger_1 = require("@nestjs/swagger");
16
+ const event_hub_client_1 = require("@xemahq/event-hub-client");
17
+ const events_1 = require("@xemahq/events");
18
+ const nest_1 = require("@xemahq/events/nest");
19
+ const identity_client_1 = require("@xemahq/identity-client");
20
+ const platform_common_1 = require("@xemahq/platform-common");
21
+ const service_registry_nest_1 = require("@xemahq/service-registry-nest");
22
+ const xema_decorators_1 = require("@xemahq/xema-decorators");
23
+ const service_mount_scope_1 = require("../lib/service-mount-scope");
24
+ exports.XEMA_EVENTS_WEBHOOK_PATH = 'webhooks/events';
25
+ const EVENT_HUB_SCHEMA_VERSION = '1.0.0';
26
+ let XemaCloudEventWebhookController = class XemaCloudEventWebhookController extends nest_1.CloudEventWebhookController {
27
+ constructor(dispatcher) {
28
+ super(dispatcher);
29
+ }
30
+ handleWebhook(body, headers) {
31
+ return super.handleWebhook(body, headers);
32
+ }
33
+ };
34
+ __decorate([
35
+ (0, xema_decorators_1.XemaPublicRoute)({ reason: xema_decorators_1.PublicRouteReason.WebhookIngestion }),
36
+ (0, common_1.Post)('events'),
37
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
38
+ (0, common_1.UseGuards)(event_hub_client_1.EventHubWebhookGuard),
39
+ __metadata("design:type", Function),
40
+ __metadata("design:paramtypes", [Object, Object]),
41
+ __metadata("design:returntype", Promise)
42
+ ], XemaCloudEventWebhookController.prototype, "handleWebhook", null);
43
+ XemaCloudEventWebhookController = __decorate([
44
+ (0, swagger_1.ApiExcludeController)(),
45
+ (0, xema_decorators_1.XemaResource)('webhook'),
46
+ (0, common_1.Controller)('webhooks'),
47
+ __metadata("design:paramtypes", [nest_1.EventDispatcherService])
48
+ ], XemaCloudEventWebhookController);
49
+ function flatten(sets) {
50
+ return (sets ?? []).flatMap((set) => [...set]);
51
+ }
52
+ class XemaEventsModule {
53
+ static forBiome(descriptor, options) {
54
+ const produced = flatten(options.produces);
55
+ const consumed = flatten(options.consumes);
56
+ if (produced.length === 0 && consumed.length === 0) {
57
+ throw new Error(`XemaEventsModule (${descriptor.name}): neither \`produces\` nor ` +
58
+ '`consumes` names a descriptor. A service that neither publishes nor ' +
59
+ 'handles an event does not mount the events module.');
60
+ }
61
+ const subscribe = [...(options.subscribe ?? consumed.map((d) => d.type))];
62
+ const dataTypes = [
63
+ ...(0, events_1.producedDataTypes)({
64
+ from: [produced],
65
+ alwaysInclude: options.ownedDataTypes ?? [],
66
+ }),
67
+ ];
68
+ const eventHub = event_hub_client_1.EventHubModule.forRootAsync({
69
+ useFactory: async (identity, kernelState) => ({
70
+ eventHubUrl: await (0, service_registry_nest_1.resolveHttpUrlEagerly)(kernelState, 'event-hub-api'),
71
+ serviceId: descriptor.name,
72
+ serviceName: descriptor.displayName,
73
+ ...(options.eventDomain !== undefined
74
+ ? { eventDomain: options.eventDomain }
75
+ : {}),
76
+ schemaVersion: EVENT_HUB_SCHEMA_VERSION,
77
+ dataTypes,
78
+ eventTypes: subscribe,
79
+ tokenProvider: () => identity.getAccessToken(),
80
+ ...(subscribe.length > 0
81
+ ? {
82
+ webhookUrl: `${(0, service_registry_nest_1.buildSelfHttpEndpointUrl)({ get: (key) => (0, service_mount_scope_1.resolveEnv)(key) }, descriptor.name)}/${exports.XEMA_EVENTS_WEBHOOK_PATH}`,
83
+ }
84
+ : {}),
85
+ }),
86
+ inject: [identity_client_1.IdentityBootstrapService, service_registry_nest_1.KERNEL_STATE_TOKEN],
87
+ });
88
+ const cloudEvents = nest_1.CloudEventsModule.forRootAsync({
89
+ useFactory: (client) => {
90
+ const registry = new events_1.EventRegistry();
91
+ registry.register(produced);
92
+ registry.register(consumed.filter((d) => !produced.some((p) => p.type === d.type)));
93
+ return { registry, transport: new nest_1.EventHubCloudEventTransport(client) };
94
+ },
95
+ inject: [event_hub_client_1.EventHubClient],
96
+ discovery: {
97
+ discoveryModule: core_1.DiscoveryModule,
98
+ discoveryService: core_1.DiscoveryService,
99
+ },
100
+ extraProviders: [
101
+ { provide: nest_1.EVENT_DISPATCHER_CONSUMER_NAME, useValue: descriptor.name },
102
+ ...(options.replayStore !== undefined
103
+ ? [
104
+ { provide: platform_common_1.IDEMPOTENCY_DATA_STORE_CLIENT, useExisting: options.replayStore },
105
+ { provide: platform_common_1.IDEMPOTENCY_SERVICE, useClass: platform_common_1.DataStoreIdempotencyService },
106
+ ]
107
+ : []),
108
+ ],
109
+ });
110
+ return {
111
+ module: XemaEventsModule,
112
+ imports: [eventHub, cloudEvents],
113
+ controllers: subscribe.length > 0 ? [XemaCloudEventWebhookController] : [],
114
+ exports: [eventHub, cloudEvents],
115
+ };
116
+ }
117
+ }
118
+ exports.XemaEventsModule = XemaEventsModule;
119
+ //# sourceMappingURL=xema-events.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-events.module.js","sourceRoot":"","sources":["../../src/events/xema-events.module.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { HttpCapabilityProjectionModule, isHttpCapabilityProjectionEnabled, XemaServiceModule, type XemaServiceConfigOptions, type XemaServiceModuleOptions, buildPlatformAuthOptions, } from './lib/xema-service-module';
1
+ export { HttpCapabilityProjectionModule, isHttpCapabilityProjectionEnabled, XemaServiceModule, XEMA_REQUEST_CONTEXT_OPTIONS, type XemaServiceConfigOptions, type XemaServiceModuleOptions, buildPlatformAuthOptions, } from './lib/xema-service-module';
2
2
  export * from './lib/http-capability-projection';
3
3
  export { findOptionalProvider } from './lib/resolve-optional-provider';
4
4
  export { AuthorityDomain, AuthorityEffectReason, AuthorityResource, AuthorityVerb, classifyAuthorityEffect, classifyAuthorityEffectFacts, isAuthorityResourceSegment, isMutatingVerb, type AuthorityEffectClassification, type CapabilityRefFacts, type ClassifyAuthorityEffectOptions, type FirstPartyDomainOracle, } from './lib/capability-authority-effect';
@@ -7,13 +7,13 @@ export { type BootstrapSwaggerOptions, type ResolvedSwaggerConfig, DEFAULT_PORT,
7
7
  export { applyKeycloakSwagger } from './lib/bootstrap-swagger';
8
8
  export { applySpecCorsHeaders, type SpecCorsResponse } from './lib/spec-cors';
9
9
  export { buildTelemetryConfigInput, DEPLOYMENT_ENVIRONMENT_ENV, SERVICE_VERSION_ENV, } from './lib/telemetry-input';
10
- export { DISTRIBUTION_LOCK_PATH_ENV, DistributionLockRequirement, loadDistributionLockFromEnv, readDistributionLockFile, type LoadDistributionLockOptions, } from './lib/distribution-lock/distribution-lock-env';
10
+ export { DISTRIBUTION_LOCK_PATH_ENV, DISTRIBUTION_LOCK_SHA256_ENV, distributionLockSha256, DistributionLockRequirement, loadDistributionLockFromEnv, readDistributionLockFile, type LoadDistributionLockOptions, } from './lib/distribution-lock/distribution-lock-env';
11
11
  export { FIRST_PARTY_CAPABILITY_DOMAINS_TOKEN, FirstPartyCapabilityDomainsModule, type FirstPartyCapabilityDomainsModuleOptions, } from './lib/distribution-lock/first-party-capability-domains.module';
12
12
  export { BIOME_HEALTH_DB, BIOME_HEALTH_READINESS, BiomeHealthController, DatabaseHealthReadiness, StatelessHealthReadiness, type BiomeHealthDb, type BiomeHealthReadiness, } from './lib/health/health.controller';
13
13
  export { BiomeHealthModule } from './lib/health/health.module';
14
14
  export { bindHttpServerBeforeHooks, BootConvergenceModule, BootConvergenceRunner, BootConvergenceState, DEFAULT_BOOT_CONVERGENCE_RETRY, XEMA_BOOT_CONVERGENCE_RETRY, XEMA_BOOT_CONVERGENCE_TASK, type BootConvergenceRetryPolicy, type BootConvergenceStatus, type BootConvergenceTask, } from './lib/boot';
15
- export { applyXemaServiceMiddleware } from './lib/apply-xema-service-middleware';
16
- export { type ConfigureAuthMiddlewareOptions } from '@xemahq/platform-common';
15
+ export { PeerCredential, XemaPeersModule, type PeerClientConfigurer, type XemaPeersOptions, } from './lib/peers/xema-peers.module';
16
+ export { discoverContextRequiringControllers, type XemaRequestContextOptions, } from './lib/request-context/service-request-context';
17
17
  export { validateServiceDescriptor, ServiceDescriptorError, type ServiceDescriptor, type ValidateServiceDescriptorOptions, } from './lib/service-descriptor';
18
18
  export { validateBiomeServiceDescriptor, BiomeServiceDescriptorError, type BiomeServiceDescriptor, } from './lib/biome-service-descriptor';
19
19
  export { ServiceKind } from '@xemahq/xema-decorators';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,13 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.IdentityBootstrapService = exports.IdentityBootstrapModule = exports.ServiceKind = exports.BiomeServiceDescriptorError = exports.validateBiomeServiceDescriptor = exports.ServiceDescriptorError = exports.validateServiceDescriptor = exports.applyXemaServiceMiddleware = exports.XEMA_BOOT_CONVERGENCE_TASK = exports.XEMA_BOOT_CONVERGENCE_RETRY = exports.DEFAULT_BOOT_CONVERGENCE_RETRY = exports.BootConvergenceState = exports.BootConvergenceRunner = exports.BootConvergenceModule = exports.bindHttpServerBeforeHooks = exports.BiomeHealthModule = exports.StatelessHealthReadiness = exports.DatabaseHealthReadiness = exports.BiomeHealthController = exports.BIOME_HEALTH_READINESS = exports.BIOME_HEALTH_DB = exports.FirstPartyCapabilityDomainsModule = exports.FIRST_PARTY_CAPABILITY_DOMAINS_TOKEN = exports.readDistributionLockFile = exports.loadDistributionLockFromEnv = exports.DistributionLockRequirement = exports.DISTRIBUTION_LOCK_PATH_ENV = exports.SERVICE_VERSION_ENV = exports.DEPLOYMENT_ENVIRONMENT_ENV = exports.buildTelemetryConfigInput = exports.applySpecCorsHeaders = exports.applyKeycloakSwagger = exports.SWAGGER_PUBLIC_JSON_PATH = exports.DEFAULT_SWAGGER_JSON_PATH = exports.DEFAULT_SWAGGER_DOCS_PATH = exports.DEFAULT_PORT = exports.bootstrapXemaService = exports.isMutatingVerb = exports.isAuthorityResourceSegment = exports.classifyAuthorityEffectFacts = exports.classifyAuthorityEffect = exports.AuthorityVerb = exports.AuthorityResource = exports.AuthorityEffectReason = exports.AuthorityDomain = exports.findOptionalProvider = exports.buildPlatformAuthOptions = exports.XemaServiceModule = exports.isHttpCapabilityProjectionEnabled = exports.HttpCapabilityProjectionModule = void 0;
18
- exports.PROCESS_LIVE_PATH = exports.DB_POOL_MAX_ENV = exports.poolCeilingEnvFragment = exports.joinPoolCeiling = exports.findMountConfigViolations = exports.composeXemaProcess = exports.assertMountConfigScoped = exports.xemaConfigSourceFromRecord = exports.xemaConfigSourceFromReader = exports.xemaConfigSourceForMount = exports.xemaConfigNamespace = exports.xemaConfig = exports.resolveConfigSource = exports.isXemaConfigFactory = exports.XEMA_SCOPED_CONFIG = exports.uninstallServiceMountScope = exports.resolveEnvViewFrom = exports.resolveEnvView = exports.resolveEnvFrom = exports.resolveEnv = exports.requireScopedEnvView = exports.requireEnvFrom = exports.requireEnv = exports.isServiceMountScopeInstalled = exports.installServiceMountScope = exports.currentServiceMount = exports.XEMA_SERVICE_MOUNT_SCOPE = exports.XEMA_SCOPED_ENV_VIEW = exports.unwrapCapabilityEnvelope = exports.longRunningSucceeded = exports.longRunningRunning = exports.longRunningFailed = exports.longRunningAccepted = exports.LONG_RUNNING_STATUS_INPUT_JSON_SCHEMA = exports.LONG_RUNNING_INVOCATION_STATUS_JSON_SCHEMA = exports.LONG_RUNNING_INVOCATION_RESPONSE_JSON_SCHEMA = exports.CapabilityRouterUnavailableError = exports.CapabilityRouterRefusedError = exports.CapabilityMetaToolFailure = exports.CapabilityMetaToolClient = exports.CapabilityInvokerModule = exports.CapabilityInvoker = exports.CapabilityInvokeClient = exports.CapabilityInvocationError = exports.CapabilityDecisionStatus = exports.CapabilityDecisionMalformedError = exports.CAPABILITY_SEARCH_PLACEHOLDER_REF = exports.buildAgentExecutionContext = exports.xemaOrgScopedClaim = exports.RegistryResolvedCapabilityRegistryClient = void 0;
19
- exports.runComposedProcess = exports.readServiceEntry = exports.PROCESS_READY_PATH = exports.PROCESS_PROBE_PREFIX = void 0;
17
+ exports.ServiceDescriptorError = exports.validateServiceDescriptor = exports.discoverContextRequiringControllers = exports.XemaPeersModule = exports.PeerCredential = exports.XEMA_BOOT_CONVERGENCE_TASK = exports.XEMA_BOOT_CONVERGENCE_RETRY = exports.DEFAULT_BOOT_CONVERGENCE_RETRY = exports.BootConvergenceState = exports.BootConvergenceRunner = exports.BootConvergenceModule = exports.bindHttpServerBeforeHooks = exports.BiomeHealthModule = exports.StatelessHealthReadiness = exports.DatabaseHealthReadiness = exports.BiomeHealthController = exports.BIOME_HEALTH_READINESS = exports.BIOME_HEALTH_DB = exports.FirstPartyCapabilityDomainsModule = exports.FIRST_PARTY_CAPABILITY_DOMAINS_TOKEN = exports.readDistributionLockFile = exports.loadDistributionLockFromEnv = exports.DistributionLockRequirement = exports.distributionLockSha256 = exports.DISTRIBUTION_LOCK_SHA256_ENV = exports.DISTRIBUTION_LOCK_PATH_ENV = exports.SERVICE_VERSION_ENV = exports.DEPLOYMENT_ENVIRONMENT_ENV = exports.buildTelemetryConfigInput = exports.applySpecCorsHeaders = exports.applyKeycloakSwagger = exports.SWAGGER_PUBLIC_JSON_PATH = exports.DEFAULT_SWAGGER_JSON_PATH = exports.DEFAULT_SWAGGER_DOCS_PATH = exports.DEFAULT_PORT = exports.bootstrapXemaService = exports.isMutatingVerb = exports.isAuthorityResourceSegment = exports.classifyAuthorityEffectFacts = exports.classifyAuthorityEffect = exports.AuthorityVerb = exports.AuthorityResource = exports.AuthorityEffectReason = exports.AuthorityDomain = exports.findOptionalProvider = exports.buildPlatformAuthOptions = exports.XEMA_REQUEST_CONTEXT_OPTIONS = exports.XemaServiceModule = exports.isHttpCapabilityProjectionEnabled = exports.HttpCapabilityProjectionModule = void 0;
18
+ exports.composeXemaProcess = exports.assertMountConfigScoped = exports.xemaConfigSourceFromRecord = exports.xemaConfigSourceFromReader = exports.xemaConfigSourceForMount = exports.xemaConfigNamespace = exports.xemaConfig = exports.resolveConfigSource = exports.isXemaConfigFactory = exports.XEMA_SCOPED_CONFIG = exports.uninstallServiceMountScope = exports.resolveEnvViewFrom = exports.resolveEnvView = exports.resolveEnvFrom = exports.resolveEnv = exports.requireScopedEnvView = exports.requireEnvFrom = exports.requireEnv = exports.isServiceMountScopeInstalled = exports.installServiceMountScope = exports.currentServiceMount = exports.XEMA_SERVICE_MOUNT_SCOPE = exports.XEMA_SCOPED_ENV_VIEW = exports.unwrapCapabilityEnvelope = exports.longRunningSucceeded = exports.longRunningRunning = exports.longRunningFailed = exports.longRunningAccepted = exports.LONG_RUNNING_STATUS_INPUT_JSON_SCHEMA = exports.LONG_RUNNING_INVOCATION_STATUS_JSON_SCHEMA = exports.LONG_RUNNING_INVOCATION_RESPONSE_JSON_SCHEMA = exports.CapabilityRouterUnavailableError = exports.CapabilityRouterRefusedError = exports.CapabilityMetaToolFailure = exports.CapabilityMetaToolClient = exports.CapabilityInvokerModule = exports.CapabilityInvoker = exports.CapabilityInvokeClient = exports.CapabilityInvocationError = exports.CapabilityDecisionStatus = exports.CapabilityDecisionMalformedError = exports.CAPABILITY_SEARCH_PLACEHOLDER_REF = exports.buildAgentExecutionContext = exports.xemaOrgScopedClaim = exports.RegistryResolvedCapabilityRegistryClient = exports.IdentityBootstrapService = exports.IdentityBootstrapModule = exports.ServiceKind = exports.BiomeServiceDescriptorError = exports.validateBiomeServiceDescriptor = void 0;
19
+ exports.runComposedProcess = exports.readServiceEntry = exports.PROCESS_READY_PATH = exports.PROCESS_PROBE_PREFIX = exports.PROCESS_LIVE_PATH = exports.DB_POOL_MAX_ENV = exports.poolCeilingEnvFragment = exports.joinPoolCeiling = exports.findMountConfigViolations = void 0;
20
20
  var xema_service_module_1 = require("./lib/xema-service-module");
21
21
  Object.defineProperty(exports, "HttpCapabilityProjectionModule", { enumerable: true, get: function () { return xema_service_module_1.HttpCapabilityProjectionModule; } });
22
22
  Object.defineProperty(exports, "isHttpCapabilityProjectionEnabled", { enumerable: true, get: function () { return xema_service_module_1.isHttpCapabilityProjectionEnabled; } });
23
23
  Object.defineProperty(exports, "XemaServiceModule", { enumerable: true, get: function () { return xema_service_module_1.XemaServiceModule; } });
24
+ Object.defineProperty(exports, "XEMA_REQUEST_CONTEXT_OPTIONS", { enumerable: true, get: function () { return xema_service_module_1.XEMA_REQUEST_CONTEXT_OPTIONS; } });
24
25
  Object.defineProperty(exports, "buildPlatformAuthOptions", { enumerable: true, get: function () { return xema_service_module_1.buildPlatformAuthOptions; } });
25
26
  __exportStar(require("./lib/http-capability-projection"), exports);
26
27
  var resolve_optional_provider_1 = require("./lib/resolve-optional-provider");
@@ -51,6 +52,8 @@ Object.defineProperty(exports, "DEPLOYMENT_ENVIRONMENT_ENV", { enumerable: true,
51
52
  Object.defineProperty(exports, "SERVICE_VERSION_ENV", { enumerable: true, get: function () { return telemetry_input_1.SERVICE_VERSION_ENV; } });
52
53
  var distribution_lock_env_1 = require("./lib/distribution-lock/distribution-lock-env");
53
54
  Object.defineProperty(exports, "DISTRIBUTION_LOCK_PATH_ENV", { enumerable: true, get: function () { return distribution_lock_env_1.DISTRIBUTION_LOCK_PATH_ENV; } });
55
+ Object.defineProperty(exports, "DISTRIBUTION_LOCK_SHA256_ENV", { enumerable: true, get: function () { return distribution_lock_env_1.DISTRIBUTION_LOCK_SHA256_ENV; } });
56
+ Object.defineProperty(exports, "distributionLockSha256", { enumerable: true, get: function () { return distribution_lock_env_1.distributionLockSha256; } });
54
57
  Object.defineProperty(exports, "DistributionLockRequirement", { enumerable: true, get: function () { return distribution_lock_env_1.DistributionLockRequirement; } });
55
58
  Object.defineProperty(exports, "loadDistributionLockFromEnv", { enumerable: true, get: function () { return distribution_lock_env_1.loadDistributionLockFromEnv; } });
56
59
  Object.defineProperty(exports, "readDistributionLockFile", { enumerable: true, get: function () { return distribution_lock_env_1.readDistributionLockFile; } });
@@ -73,8 +76,11 @@ Object.defineProperty(exports, "BootConvergenceState", { enumerable: true, get:
73
76
  Object.defineProperty(exports, "DEFAULT_BOOT_CONVERGENCE_RETRY", { enumerable: true, get: function () { return boot_1.DEFAULT_BOOT_CONVERGENCE_RETRY; } });
74
77
  Object.defineProperty(exports, "XEMA_BOOT_CONVERGENCE_RETRY", { enumerable: true, get: function () { return boot_1.XEMA_BOOT_CONVERGENCE_RETRY; } });
75
78
  Object.defineProperty(exports, "XEMA_BOOT_CONVERGENCE_TASK", { enumerable: true, get: function () { return boot_1.XEMA_BOOT_CONVERGENCE_TASK; } });
76
- var apply_xema_service_middleware_1 = require("./lib/apply-xema-service-middleware");
77
- Object.defineProperty(exports, "applyXemaServiceMiddleware", { enumerable: true, get: function () { return apply_xema_service_middleware_1.applyXemaServiceMiddleware; } });
79
+ var xema_peers_module_1 = require("./lib/peers/xema-peers.module");
80
+ Object.defineProperty(exports, "PeerCredential", { enumerable: true, get: function () { return xema_peers_module_1.PeerCredential; } });
81
+ Object.defineProperty(exports, "XemaPeersModule", { enumerable: true, get: function () { return xema_peers_module_1.XemaPeersModule; } });
82
+ var service_request_context_1 = require("./lib/request-context/service-request-context");
83
+ Object.defineProperty(exports, "discoverContextRequiringControllers", { enumerable: true, get: function () { return service_request_context_1.discoverContextRequiringControllers; } });
78
84
  var service_descriptor_1 = require("./lib/service-descriptor");
79
85
  Object.defineProperty(exports, "validateServiceDescriptor", { enumerable: true, get: function () { return service_descriptor_1.validateServiceDescriptor; } });
80
86
  Object.defineProperty(exports, "ServiceDescriptorError", { enumerable: true, get: function () { return service_descriptor_1.ServiceDescriptorError; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ export interface BootstrapXemaServiceOptions {
12
12
  readonly corsAllowedOrigins?: readonly string[];
13
13
  readonly swagger?: boolean | BootstrapSwaggerOptions;
14
14
  readonly registerGlobalExceptionFilter?: boolean;
15
- readonly registerResponseEnvelopeInterceptor?: boolean;
16
15
  readonly configureApp?: (app: NestExpressApplication) => void | Promise<void>;
17
16
  }
18
17
  export declare function bootstrapXemaService(options: BootstrapXemaServiceOptions): Promise<INestApplication>;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-xema-service.d.ts","sourceRoot":"","sources":["../../src/lib/bootstrap-xema-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAC;AAUxD,OAAO,EAQL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAO1D,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAiBlC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAO5C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAK7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAWhC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAOhD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAOrD,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAQjD,QAAQ,CAAC,mCAAmC,CAAC,EAAE,OAAO,CAAC;IAQvD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAgDD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAgG3B;AAGD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AA4BD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,EACpC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC7C,WAAW,GAAE;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAO,GAClD,OAAO,CAAC,qBAAqB,CAAC,CAwEhC;AAOD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,UAAU,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
1
+ {"version":3,"file":"bootstrap-xema-service.d.ts","sourceRoot":"","sources":["../../src/lib/bootstrap-xema-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAC;AASxD,OAAO,EAQL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAO1D,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAiBlC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAO5C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAK7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAWhC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAOhD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAOrD,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAQjD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AA+CD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAgG3B;AAGD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAkCD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,EACpC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC7C,WAAW,GAAE;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAO,GAClD,OAAO,CAAC,qBAAqB,CAAC,CA2EhC;AAOD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,UAAU,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -29,12 +29,18 @@ async function bootstrapXemaService(options) {
29
29
  await initXemaServiceApp(app, publicDoc, logger, options.descriptor.name);
30
30
  return app;
31
31
  }
32
+ const CLOUDEVENTS_JSON_MEDIA_TYPE = 'application/cloudevents+json';
33
+ const CLOUDEVENTS_BODY_LIMIT = '1mb';
32
34
  async function createXemaServiceApp(options, readEnv, nestOptions = {}) {
33
35
  const app = await core_1.NestFactory.create(options.appModule, {
34
36
  ...nestOptions,
35
37
  cors: (0, bootstrap_internals_1.resolveCorsOptions)(options.corsAllowedOrigins, () => readEnv('CORS_ALLOWED_ORIGINS')),
36
38
  });
37
39
  (0, platform_common_1.applyStandardBodyParsers)(app);
40
+ app.useBodyParser('json', {
41
+ type: CLOUDEVENTS_JSON_MEDIA_TYPE,
42
+ limit: CLOUDEVENTS_BODY_LIMIT,
43
+ });
38
44
  app.useGlobalPipes(new common_1.ValidationPipe({
39
45
  whitelist: true,
40
46
  forbidNonWhitelisted: true,
@@ -43,9 +49,6 @@ async function createXemaServiceApp(options, readEnv, nestOptions = {}) {
43
49
  if (options.registerGlobalExceptionFilter !== false) {
44
50
  app.useGlobalFilters(new platform_common_1.GlobalExceptionFilter());
45
51
  }
46
- if (options.registerResponseEnvelopeInterceptor === true) {
47
- app.useGlobalInterceptors(new platform_common_1.ResponseEnvelopeInterceptor());
48
- }
49
52
  if (options.configureApp) {
50
53
  await options.configureApp(app);
51
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-xema-service.js","sourceRoot":"","sources":["../../src/lib/bootstrap-xema-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap-xema-service.js","sourceRoot":"","sources":["../../src/lib/bootstrap-xema-service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { type DistributionLockReadView } from '@xemahq/contracts/distribution';
2
2
  export declare const DISTRIBUTION_LOCK_PATH_ENV = "XEMA_DISTRIBUTION_LOCK_PATH";
3
+ export declare const DISTRIBUTION_LOCK_SHA256_ENV = "XEMA_DISTRIBUTION_LOCK_SHA256";
4
+ export declare function distributionLockSha256(bytes: Buffer | string): string;
3
5
  export declare enum DistributionLockRequirement {
4
6
  Optional = "optional",
5
7
  Required = "required"
@@ -9,5 +11,5 @@ export interface LoadDistributionLockOptions {
9
11
  readonly requirement: DistributionLockRequirement;
10
12
  }
11
13
  export declare function loadDistributionLockFromEnv(options: LoadDistributionLockOptions): DistributionLockReadView | null;
12
- export declare function readDistributionLockFile(lockPath: string, consumerLabel: string): DistributionLockReadView;
14
+ export declare function readDistributionLockFile(lockPath: string, consumerLabel: string, expectedSha256: string): DistributionLockReadView;
13
15
  //# sourceMappingURL=distribution-lock-env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribution-lock-env.d.ts","sourceRoot":"","sources":["../../../src/lib/distribution-lock/distribution-lock-env.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAC;AAUxC,eAAO,MAAM,0BAA0B,gCAAgC,CAAC;AAQxE,oBAAY,2BAA2B;IAKrC,QAAQ,aAAa;IAMrB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,2BAA2B;IAM1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;CACnD;AAmBD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,2BAA2B,GACnC,wBAAwB,GAAG,IAAI,CAgBjC;AAOD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,wBAAwB,CAkC1B"}
1
+ {"version":3,"file":"distribution-lock-env.d.ts","sourceRoot":"","sources":["../../../src/lib/distribution-lock/distribution-lock-env.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAC;AAUxC,eAAO,MAAM,0BAA0B,gCAAgC,CAAC;AAaxE,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAK5E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAErE;AAQD,oBAAY,2BAA2B;IAKrC,QAAQ,aAAa;IAMrB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,2BAA2B;IAM1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;CACnD;AAmBD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,2BAA2B,GACnC,wBAAwB,GAAG,IAAI,CA0BjC;AAQD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,wBAAwB,CAgD1B"}
@@ -1,11 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DistributionLockRequirement = exports.DISTRIBUTION_LOCK_PATH_ENV = void 0;
3
+ exports.DistributionLockRequirement = exports.DISTRIBUTION_LOCK_SHA256_ENV = exports.DISTRIBUTION_LOCK_PATH_ENV = void 0;
4
+ exports.distributionLockSha256 = distributionLockSha256;
4
5
  exports.loadDistributionLockFromEnv = loadDistributionLockFromEnv;
5
6
  exports.readDistributionLockFile = readDistributionLockFile;
7
+ const node_crypto_1 = require("node:crypto");
6
8
  const node_fs_1 = require("node:fs");
7
9
  const distribution_1 = require("@xemahq/contracts/distribution");
8
10
  exports.DISTRIBUTION_LOCK_PATH_ENV = 'XEMA_DISTRIBUTION_LOCK_PATH';
11
+ exports.DISTRIBUTION_LOCK_SHA256_ENV = 'XEMA_DISTRIBUTION_LOCK_SHA256';
12
+ const SHA256_HEX = /^[0-9a-f]{64}$/;
13
+ function distributionLockSha256(bytes) {
14
+ return (0, node_crypto_1.createHash)('sha256').update(bytes).digest('hex');
15
+ }
9
16
  var DistributionLockRequirement;
10
17
  (function (DistributionLockRequirement) {
11
18
  DistributionLockRequirement["Optional"] = "optional";
@@ -24,12 +31,24 @@ function loadDistributionLockFromEnv(options) {
24
31
  'distribution.lock.json (vendored as a ConfigMap by xema-deploy, or ' +
25
32
  'resolved locally by `xema dev`).');
26
33
  }
27
- return readDistributionLockFile(lockPath, options.consumerLabel);
34
+ const expectedSha256 = process.env[exports.DISTRIBUTION_LOCK_SHA256_ENV]?.trim();
35
+ if (!expectedSha256) {
36
+ throw new Error(`${options.consumerLabel}: ${exports.DISTRIBUTION_LOCK_PATH_ENV} is set to "${lockPath}" but ` +
37
+ `${exports.DISTRIBUTION_LOCK_SHA256_ENV} is not. A lock is delivered BY DIGEST — the path names ` +
38
+ 'where the bytes are, the digest names which edition they must be — and a path with ' +
39
+ 'no digest is a mutable read nothing can check. Set it to the sha256 of the vendored ' +
40
+ 'distribution.lock.json (xema-deploy renders it beside the path).');
41
+ }
42
+ return readDistributionLockFile(lockPath, options.consumerLabel, expectedSha256);
28
43
  }
29
- function readDistributionLockFile(lockPath, consumerLabel) {
30
- let raw;
44
+ function readDistributionLockFile(lockPath, consumerLabel, expectedSha256) {
45
+ if (!SHA256_HEX.test(expectedSha256)) {
46
+ throw new Error(`${consumerLabel}: the expected distribution lock digest "${expectedSha256}" is not a ` +
47
+ 'lowercase 64-hex sha256.');
48
+ }
49
+ let bytes;
31
50
  try {
32
- raw = (0, node_fs_1.readFileSync)(lockPath, 'utf-8');
51
+ bytes = (0, node_fs_1.readFileSync)(lockPath);
33
52
  }
34
53
  catch (cause) {
35
54
  const reason = cause instanceof Error ? cause.message : String(cause);
@@ -37,9 +56,15 @@ function readDistributionLockFile(lockPath, consumerLabel) {
37
56
  `distribution lockfile could not be read: ${reason}. A misconfigured ` +
38
57
  'distribution must not silently change platform behaviour.');
39
58
  }
59
+ const actualSha256 = distributionLockSha256(bytes);
60
+ if (actualSha256 !== expectedSha256) {
61
+ throw new Error(`${consumerLabel}: the distribution lock at "${lockPath}" has sha256 ${actualSha256}, but ` +
62
+ `the deployment delivered edition ${expectedSha256}. The bytes at the path are not the ` +
63
+ 'edition this process was told to run — refusing rather than booting on them.');
64
+ }
40
65
  let json;
41
66
  try {
42
- json = JSON.parse(raw);
67
+ json = JSON.parse(bytes.toString('utf-8'));
43
68
  }
44
69
  catch (cause) {
45
70
  const reason = cause instanceof Error ? cause.message : String(cause);
@@ -1 +1 @@
1
- {"version":3,"file":"distribution-lock-env.js","sourceRoot":"","sources":["../../../src/lib/distribution-lock/distribution-lock-env.ts"],"names":[],"mappings":";;;AAgEA,kEAkBC;AAOD,4DAqCC;AA9HD,qCAAuC;AAEvC,iEAGwC;AAU3B,QAAA,0BAA0B,GAAG,6BAA6B,CAAC;AAQxE,IAAY,2BAYX;AAZD,WAAY,2BAA2B;IAKrC,oDAAqB,CAAA;IAMrB,oDAAqB,CAAA;AACvB,CAAC,EAZW,2BAA2B,2CAA3B,2BAA2B,QAYtC;AA6BD,SAAgB,2BAA2B,CACzC,OAAoC;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kCAA0B,CAAC,EAAE,IAAI,EAAE,CAAC;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,WAAW,KAAK,2BAA2B,CAAC,QAAQ,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,aAAa,KAAK,kCAA0B,4BAA4B;YACjF,4EAA4E;YAC5E,2EAA2E;YAC3E,8DAA8D;YAC9D,qEAAqE;YACrE,kCAAkC,CACrC,CAAC;IACJ,CAAC;IACD,OAAO,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;AACnE,CAAC;AAOD,SAAgB,wBAAwB,CACtC,QAAgB,EAChB,aAAqB;IAErB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,IAAA,sBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,GAAG,aAAa,KAAK,kCAA0B,eAAe,QAAQ,YAAY;YAChF,4CAA4C,MAAM,oBAAoB;YACtE,2DAA2D,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,GAAG,aAAa,+BAA+B,QAAQ,wBAAwB,MAAM,GAAG,CACzF,CAAC;IACJ,CAAC;IAaD,OAAO,IAAA,8CAA+B,EAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"distribution-lock-env.js","sourceRoot":"","sources":["../../../src/lib/distribution-lock/distribution-lock-env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type DynamicModule } from '@nestjs/common';
2
+ import { type OrvalClientConfig } from '@xemahq/platform-common';
3
+ export declare enum PeerCredential {
4
+ ServiceIdentity = "service-identity",
5
+ PerCall = "per-call"
6
+ }
7
+ export type PeerClientConfigurer = (config: OrvalClientConfig) => void;
8
+ export interface XemaPeersOptions {
9
+ readonly credential: PeerCredential;
10
+ readonly clients: Readonly<Record<string, PeerClientConfigurer>>;
11
+ }
12
+ export declare class XemaPeersModule {
13
+ static forRoot(options: XemaPeersOptions): DynamicModule;
14
+ }
15
+ //# sourceMappingURL=xema-peers.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-peers.module.d.ts","sourceRoot":"","sources":["../../../src/lib/peers/xema-peers.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAEvF,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAajC,oBAAY,cAAc;IAKxB,eAAe,qBAAqB;IAMpC,OAAO,aAAa;CACrB;AAGD,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAMpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;CAClE;AA6CD,qBAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa;CAYzD"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.XemaPeersModule = exports.PeerCredential = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const identity_client_1 = require("@xemahq/identity-client");
18
+ const platform_common_1 = require("@xemahq/platform-common");
19
+ const service_registry_nest_1 = require("@xemahq/service-registry-nest");
20
+ var PeerCredential;
21
+ (function (PeerCredential) {
22
+ PeerCredential["ServiceIdentity"] = "service-identity";
23
+ PeerCredential["PerCall"] = "per-call";
24
+ })(PeerCredential || (exports.PeerCredential = PeerCredential = {}));
25
+ const XEMA_PEERS_OPTIONS = Symbol.for('xema.service.peers-options');
26
+ let XemaPeersModuleHost = class XemaPeersModuleHost {
27
+ options;
28
+ registry;
29
+ identity;
30
+ constructor(options, registry, identity) {
31
+ this.options = options;
32
+ this.registry = registry;
33
+ this.identity = identity;
34
+ }
35
+ onModuleInit() {
36
+ const getAuthToken = this.options.credential === PeerCredential.ServiceIdentity
37
+ ? () => this.identity.getAccessToken()
38
+ : undefined;
39
+ for (const [peer, configureClient] of Object.entries(this.options.clients)) {
40
+ (0, platform_common_1.configureOrvalClientResolved)({
41
+ configureClient,
42
+ resolveBaseUrl: () => (0, service_registry_nest_1.resolveHttpUrl)(this.registry, peer),
43
+ ...(getAuthToken !== undefined ? { getAuthToken } : {}),
44
+ });
45
+ }
46
+ }
47
+ };
48
+ XemaPeersModuleHost = __decorate([
49
+ (0, common_1.Module)({}),
50
+ __param(0, (0, common_1.Inject)(XEMA_PEERS_OPTIONS)),
51
+ __param(1, (0, common_1.Inject)(service_registry_nest_1.SERVICE_REGISTRY_TOKEN)),
52
+ __metadata("design:paramtypes", [Object, Object, identity_client_1.IdentityBootstrapService])
53
+ ], XemaPeersModuleHost);
54
+ class XemaPeersModule {
55
+ static forRoot(options) {
56
+ if (Object.keys(options.clients).length === 0) {
57
+ throw new Error('XemaPeersModule: `clients` is empty. A service that calls no peer ' +
58
+ 'does not mount the peers module.');
59
+ }
60
+ return {
61
+ module: XemaPeersModuleHost,
62
+ providers: [{ provide: XEMA_PEERS_OPTIONS, useValue: options }],
63
+ };
64
+ }
65
+ }
66
+ exports.XemaPeersModule = XemaPeersModule;
67
+ //# sourceMappingURL=xema-peers.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-peers.module.js","sourceRoot":"","sources":["../../../src/lib/peers/xema-peers.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuF;AACvF,6DAAmE;AACnE,6DAGiC;AACjC,yEAGuC;AASvC,IAAY,cAYX;AAZD,WAAY,cAAc;IAKxB,sDAAoC,CAAA;IAMpC,sCAAoB,CAAA;AACtB,CAAC,EAZW,cAAc,8BAAd,cAAc,QAYzB;AAgBD,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAEpE,IACM,mBAAmB,GADzB,MACM,mBAAmB;IAEwB;IACI;IAChC;IAHnB,YAC+C,OAAyB,EACrB,QAAyB,EACzD,QAAkC;QAFN,YAAO,GAAP,OAAO,CAAkB;QACrB,aAAQ,GAAR,QAAQ,CAAiB;QACzD,aAAQ,GAAR,QAAQ,CAA0B;IAClD,CAAC;IAEJ,YAAY;QACV,MAAM,YAAY,GAChB,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,cAAc,CAAC,eAAe;YACxD,CAAC,CAAC,GAAoB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YACvD,CAAC,CAAC,SAAS,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3E,IAAA,8CAA4B,EAAC;gBAC3B,eAAe;gBACf,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,sCAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACzD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AApBK,mBAAmB;IADxB,IAAA,eAAM,EAAC,EAAE,CAAC;IAGN,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,eAAM,EAAC,8CAAsB,CAAC,CAAA;qDACJ,0CAAwB;GAJjD,mBAAmB,CAoBxB;AAoBD,MAAa,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAAyB;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,oEAAoE;gBAClE,kCAAkC,CACrC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,mBAAmB;YAC3B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;CACF;AAbD,0CAaC"}
@@ -0,0 +1,7 @@
1
+ import { type ConfigureAuthMiddlewareOptions } from '@xemahq/platform-common';
2
+ import type { MiddlewareConsumer, Type } from '@nestjs/common';
3
+ import type { ModulesContainer } from '@nestjs/core';
4
+ export type XemaRequestContextOptions = ConfigureAuthMiddlewareOptions;
5
+ export declare function discoverContextRequiringControllers(modules: ModulesContainer): readonly Type<unknown>[];
6
+ export declare function applyServiceRequestContext(consumer: MiddlewareConsumer, modules: ModulesContainer, options: XemaRequestContextOptions): void;
7
+ //# sourceMappingURL=service-request-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-request-context.d.ts","sourceRoot":"","sources":["../../../src/lib/request-context/service-request-context.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,8BAA8B,EACpC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAoBrD,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AA4CvE,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,gBAAgB,GACxB,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,CAc1B;AAYD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,yBAAyB,GACjC,IAAI,CAUN"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.discoverContextRequiringControllers = discoverContextRequiringControllers;
4
+ exports.applyServiceRequestContext = applyServiceRequestContext;
5
+ const constants_1 = require("@nestjs/common/constants");
6
+ const platform_common_1 = require("@xemahq/platform-common");
7
+ const CONTEXT_REQUIRING_GUARDS = new Set([
8
+ platform_common_1.ServiceActorGuard,
9
+ platform_common_1.InternalCallerGuard,
10
+ platform_common_1.TokenClassGuard,
11
+ platform_common_1.OrgRoleGuard,
12
+ platform_common_1.PlatformAdminGuard,
13
+ ]);
14
+ function classGuards(controller) {
15
+ const guards = Reflect.getMetadata(constants_1.GUARDS_METADATA, controller);
16
+ return Array.isArray(guards) ? guards : [];
17
+ }
18
+ function discoverContextRequiringControllers(modules) {
19
+ const found = new Set();
20
+ for (const moduleRef of modules.values()) {
21
+ for (const wrapper of moduleRef.controllers.values()) {
22
+ const controller = wrapper.metatype;
23
+ if (controller === null || typeof controller !== 'function') {
24
+ continue;
25
+ }
26
+ if (classGuards(controller).some((g) => CONTEXT_REQUIRING_GUARDS.has(g))) {
27
+ found.add(controller);
28
+ }
29
+ }
30
+ }
31
+ return [...found];
32
+ }
33
+ function applyServiceRequestContext(consumer, modules, options) {
34
+ const derived = discoverContextRequiringControllers(modules);
35
+ const declared = options.additionalControllers ?? [];
36
+ const additionalControllers = [...new Set([...derived, ...declared])];
37
+ (0, platform_common_1.configureAuthMiddleware)(consumer, {
38
+ ...(options.extraExcludes !== undefined
39
+ ? { extraExcludes: options.extraExcludes }
40
+ : {}),
41
+ additionalControllers,
42
+ });
43
+ }
44
+ //# sourceMappingURL=service-request-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-request-context.js","sourceRoot":"","sources":["../../../src/lib/request-context/service-request-context.ts"],"names":[],"mappings":";;AA4EA,kFAgBC;AAYD,gEAcC;AAtHD,wDAA2D;AAC3D,6DAQiC;AA2CjC,MAAM,wBAAwB,GAAyB,IAAI,GAAG,CAAU;IACtE,mCAAiB;IACjB,qCAAmB;IACnB,iCAAe;IACf,8BAAY;IACZ,oCAAkB;CACnB,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,UAAyB;IAC5C,MAAM,MAAM,GAAY,OAAO,CAAC,WAAW,CAAC,2BAAe,EAAE,UAAU,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC;AAaD,SAAgB,mCAAmC,CACjD,OAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAgC,CAAC;YAC5D,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YACD,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAYD,SAAgB,0BAA0B,CACxC,QAA4B,EAC5B,OAAyB,EACzB,OAAkC;IAElC,MAAM,OAAO,GAAG,mCAAmC,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACrD,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,IAAA,yCAAuB,EAAC,QAAQ,EAAE;QAChC,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { ConfigService } from '@nestjs/config';
2
+ import { ModulesContainer } from '@nestjs/core';
2
3
  import { type ServiceEndpoint, type ServiceDescriptor as RegistryServiceDescriptor } from '@xemahq/contracts/service-registry';
3
4
  import { IdentityBootstrapService } from '@xemahq/identity-client';
4
5
  import { DiscoveryMode, PolicyMode, type XemaCapabilityRegistryClient } from '@xemahq/xema-decorators';
5
6
  import { type BiomeServiceDescriptor } from './biome-service-descriptor';
7
+ import { type XemaRequestContextOptions } from './request-context/service-request-context';
6
8
  import { type XemaConfigFactory } from './scoped-config';
7
9
  import { type ServiceDescriptor } from './service-descriptor';
8
- import type { DynamicModule, ModuleMetadata, FactoryProvider } from '@nestjs/common';
10
+ import type { DynamicModule, ModuleMetadata, FactoryProvider, MiddlewareConsumer, NestModule } from '@nestjs/common';
9
11
  import type { TrustedIssuerEntry } from '@xemahq/oidc-guard';
10
12
  import type { AuthModuleOptions } from '@xemahq/platform-common';
11
13
  export interface XemaServiceModuleOptions {
@@ -19,7 +21,10 @@ export interface XemaServiceModuleOptions {
19
21
  readonly imports?: ModuleMetadata['imports'];
20
22
  readonly projectHttpCapabilities?: boolean;
21
23
  readonly config?: XemaServiceConfigOptions;
24
+ readonly requestContext?: XemaRequestContextOptions;
25
+ readonly responseEnvelope?: boolean;
22
26
  }
27
+ export declare const XEMA_REQUEST_CONTEXT_OPTIONS: unique symbol;
23
28
  export interface XemaServiceConfigOptions {
24
29
  readonly load?: readonly XemaConfigFactory<Record<string, unknown>>[];
25
30
  readonly isGlobal?: boolean;
@@ -28,7 +33,11 @@ export interface XemaServiceConfigOptions {
28
33
  readonly cache?: boolean;
29
34
  readonly expandVariables?: boolean;
30
35
  }
31
- export declare class XemaServiceModule {
36
+ export declare class XemaServiceModule implements NestModule {
37
+ private readonly modules;
38
+ private readonly requestContext?;
39
+ constructor(modules: ModulesContainer, requestContext?: XemaRequestContextOptions | undefined);
40
+ configure(consumer: MiddlewareConsumer): void;
32
41
  static forService(descriptor: ServiceDescriptor, options?: XemaServiceModuleOptions): DynamicModule;
33
42
  static forBiome(descriptor: BiomeServiceDescriptor, options?: XemaServiceModuleOptions): DynamicModule;
34
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xema-service-module.d.ts","sourceRoot":"","sources":["../../src/lib/xema-service-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xema-service-module.d.ts","sourceRoot":"","sources":["../../src/lib/xema-service-module.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,25 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var XemaServiceModule_1;
2
15
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpCapabilityProjectionModule = exports.XemaServiceModule = void 0;
16
+ exports.HttpCapabilityProjectionModule = exports.XemaServiceModule = exports.XEMA_REQUEST_CONTEXT_OPTIONS = void 0;
4
17
  exports.buildSelfEndpoints = buildSelfEndpoints;
5
18
  exports.buildSelfOpenApiUrl = buildSelfOpenApiUrl;
6
19
  exports.buildSelfRegistryDescriptor = buildSelfRegistryDescriptor;
7
20
  exports.buildPlatformAuthOptions = buildPlatformAuthOptions;
8
21
  exports.isHttpCapabilityProjectionEnabled = isHttpCapabilityProjectionEnabled;
22
+ const common_1 = require("@nestjs/common");
9
23
  const config_1 = require("@nestjs/config");
10
24
  const core_1 = require("@nestjs/core");
11
25
  const capability_projection_1 = require("@xemahq/capability-projection");
@@ -23,6 +37,7 @@ const bootstrap_internals_1 = require("./bootstrap-internals");
23
37
  const capability_invoker_1 = require("./capability-funnel/capability-invoker");
24
38
  const http_capability_projection_1 = require("./http-capability-projection");
25
39
  const registry_resolved_capability_registry_client_1 = require("./registry-resolved-capability-registry.client");
40
+ const service_request_context_1 = require("./request-context/service-request-context");
26
41
  const scoped_config_1 = require("./scoped-config");
27
42
  const service_descriptor_1 = require("./service-descriptor");
28
43
  const service_mount_scope_1 = require("./service-mount-scope");
@@ -36,12 +51,26 @@ function requireScopedIdentityBootstrap(value) {
36
51
  }
37
52
  return candidate;
38
53
  }
39
- class XemaServiceModule {
54
+ exports.XEMA_REQUEST_CONTEXT_OPTIONS = Symbol.for('xema.service.request-context-options');
55
+ let XemaServiceModule = XemaServiceModule_1 = class XemaServiceModule {
56
+ modules;
57
+ requestContext;
58
+ constructor(modules, requestContext) {
59
+ this.modules = modules;
60
+ this.requestContext = requestContext;
61
+ }
62
+ configure(consumer) {
63
+ if (this.requestContext === undefined) {
64
+ return;
65
+ }
66
+ (0, service_request_context_1.applyServiceRequestContext)(consumer, this.modules, this.requestContext);
67
+ }
40
68
  static forService(descriptor, options = {}) {
41
69
  (0, service_descriptor_1.validateServiceDescriptor)(descriptor);
42
70
  const consumes = [...descriptor.requiresServices];
43
71
  return {
44
- module: XemaServiceModule,
72
+ module: XemaServiceModule_1,
73
+ providers: buildServiceProviders(options),
45
74
  imports: [
46
75
  ...buildServiceConfigModules(options),
47
76
  observability_nest_1.ObservabilityModule.forRoot((0, telemetry_input_1.buildTelemetryConfigInput)(descriptor.name)),
@@ -58,10 +87,33 @@ class XemaServiceModule {
58
87
  }
59
88
  static forBiome(descriptor, options = {}) {
60
89
  (0, biome_service_descriptor_1.validateBiomeServiceDescriptor)(descriptor);
61
- return XemaServiceModule.forService(descriptor, options);
90
+ return XemaServiceModule_1.forService(descriptor, {
91
+ ...options,
92
+ requestContext: options.requestContext ?? {},
93
+ });
62
94
  }
63
- }
95
+ };
64
96
  exports.XemaServiceModule = XemaServiceModule;
97
+ exports.XemaServiceModule = XemaServiceModule = XemaServiceModule_1 = __decorate([
98
+ __param(1, (0, common_1.Optional)()),
99
+ __param(1, (0, common_1.Inject)(exports.XEMA_REQUEST_CONTEXT_OPTIONS)),
100
+ __metadata("design:paramtypes", [core_1.ModulesContainer, Object])
101
+ ], XemaServiceModule);
102
+ function buildServiceProviders(options) {
103
+ return [
104
+ ...(options.requestContext !== undefined
105
+ ? [
106
+ {
107
+ provide: exports.XEMA_REQUEST_CONTEXT_OPTIONS,
108
+ useValue: options.requestContext,
109
+ },
110
+ ]
111
+ : []),
112
+ ...(options.responseEnvelope === true
113
+ ? [{ provide: core_1.APP_INTERCEPTOR, useClass: platform_common_1.ResponseEnvelopeInterceptor }]
114
+ : []),
115
+ ];
116
+ }
65
117
  function buildServiceConfigModules(options) {
66
118
  const config = options.config;
67
119
  if (config === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"xema-service-module.js","sourceRoot":"","sources":["../../src/lib/xema-service-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xema-service-module.js","sourceRoot":"","sources":["../../src/lib/xema-service-module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/xema-service-nest",
3
- "version": "2.0.2",
3
+ "version": "3.0.0",
4
4
  "description": "Xema platform service-bootstrap SDK. `XemaServiceModule.forService(descriptor)` composes the full platform service stack — Service Registry, Identity bootstrap, Auth (JWT verification + request context), and the Xema runtime route/capability scanner — behind a single call; `forBiome` derives the descriptor from a biome's `xema-biome.json` and delegates to it, so a biome API is auth-correct in ~5 lines and never re-wires authentication.",
5
5
  "keywords": [
6
6
  "xema",
@@ -41,12 +41,15 @@
41
41
  "@nestjs/core": "^10 || ^11",
42
42
  "@nestjs/platform-express": "^10 || ^11",
43
43
  "@nestjs/swagger": "^7 || ^8 || ^11",
44
- "reflect-metadata": "^0.2",
44
+ "@xemahq/biome-database-nest": ">=0.31.0",
45
45
  "@xemahq/contracts": ">=0.28.0",
46
+ "@xemahq/event-hub-client": ">=8.6.0",
47
+ "@xemahq/events": ">=0.12.0",
46
48
  "@xemahq/identity-client": ">=0.12.0",
47
49
  "@xemahq/platform-common": ">=0.43.0",
48
50
  "@xemahq/service-registry-nest": ">=0.12.0",
49
- "@xemahq/xema-decorators": ">=0.18.0"
51
+ "@xemahq/xema-decorators": ">=0.18.0",
52
+ "reflect-metadata": "^0.2"
50
53
  },
51
54
  "devDependencies": {
52
55
  "@nestjs/common": "11.1.18",
@@ -57,8 +60,10 @@
57
60
  "@nestjs/testing": "11.1.18",
58
61
  "@types/jest": "^30.0.0",
59
62
  "@types/node": "25.2.3",
60
- "@xemahq/identity-client": "^0.12.0",
61
63
  "@xemahq/contracts": "^0.31.0",
64
+ "@xemahq/event-hub-client": "^8.6.0",
65
+ "@xemahq/events": "^0.12.0",
66
+ "@xemahq/identity-client": "^0.12.0",
62
67
  "@xemahq/platform-common": ">=0.43.0",
63
68
  "@xemahq/service-registry-nest": "^0.18.1",
64
69
  "class-transformer": "0.5.1",
@@ -70,7 +75,9 @@
70
75
  "rxjs": "7.8.2",
71
76
  "ts-jest": "^29.4.9",
72
77
  "typescript": "5.9.3",
78
+ "zod": "^4.4.3",
73
79
  "@xemahq/eslint-config": "0.9.2",
80
+ "@xemahq/biome-database-nest": "0.31.0",
74
81
  "@xemahq/xema-decorators": "0.21.0"
75
82
  },
76
83
  "dependencies": {
@@ -86,11 +93,32 @@
86
93
  "xema-source": "./src/index.ts",
87
94
  "default": "./dist/index.js"
88
95
  },
96
+ "./database": {
97
+ "types": "./dist/database/index.d.ts",
98
+ "xema-source": "./src/database/index.ts",
99
+ "default": "./dist/database/index.js"
100
+ },
101
+ "./events": {
102
+ "types": "./dist/events/index.d.ts",
103
+ "xema-source": "./src/events/index.ts",
104
+ "default": "./dist/events/index.js"
105
+ },
89
106
  "./dist/lib/*": {
90
107
  "types": "./dist/lib/*.d.ts",
91
108
  "default": "./dist/lib/*.js"
92
109
  }
93
110
  },
111
+ "peerDependenciesMeta": {
112
+ "@xemahq/biome-database-nest": {
113
+ "optional": true
114
+ },
115
+ "@xemahq/events": {
116
+ "optional": true
117
+ },
118
+ "@xemahq/event-hub-client": {
119
+ "optional": true
120
+ }
121
+ },
94
122
  "scripts": {
95
123
  "clean": "rm -rf dist",
96
124
  "build": "tsc -p tsconfig.build.json",
@@ -1,4 +0,0 @@
1
- import { type ConfigureAuthMiddlewareOptions } from '@xemahq/platform-common';
2
- import type { MiddlewareConsumer } from '@nestjs/common';
3
- export declare function applyXemaServiceMiddleware(consumer: MiddlewareConsumer, options?: ConfigureAuthMiddlewareOptions): void;
4
- //# sourceMappingURL=apply-xema-service-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-xema-service-middleware.d.ts","sourceRoot":"","sources":["../../src/lib/apply-xema-service-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA0BzD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,8BAAmC,GAC3C,IAAI,CAEN"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyXemaServiceMiddleware = applyXemaServiceMiddleware;
4
- const platform_common_1 = require("@xemahq/platform-common");
5
- function applyXemaServiceMiddleware(consumer, options = {}) {
6
- (0, platform_common_1.configureAuthMiddleware)(consumer, options);
7
- }
8
- //# sourceMappingURL=apply-xema-service-middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-xema-service-middleware.js","sourceRoot":"","sources":["../../src/lib/apply-xema-service-middleware.ts"],"names":[],"mappings":";;AA+BA,gEAKC;AApCD,6DAGiC;AA4BjC,SAAgB,0BAA0B,CACxC,QAA4B,EAC5B,UAA0C,EAAE;IAE5C,IAAA,yCAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}