@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.
- package/README.md +47 -15
- package/dist/database/index.d.ts +2 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +7 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/xema-database.module.d.ts +16 -0
- package/dist/database/xema-database.module.d.ts.map +1 -0
- package/dist/database/xema-database.module.js +80 -0
- package/dist/database/xema-database.module.js.map +1 -0
- package/dist/events/index.d.ts +2 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +7 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/xema-events.module.d.ts +18 -0
- package/dist/events/xema-events.module.d.ts.map +1 -0
- package/dist/events/xema-events.module.js +119 -0
- package/dist/events/xema-events.module.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/bootstrap-xema-service.d.ts +0 -1
- package/dist/lib/bootstrap-xema-service.d.ts.map +1 -1
- package/dist/lib/bootstrap-xema-service.js +6 -3
- package/dist/lib/bootstrap-xema-service.js.map +1 -1
- package/dist/lib/distribution-lock/distribution-lock-env.d.ts +3 -1
- package/dist/lib/distribution-lock/distribution-lock-env.d.ts.map +1 -1
- package/dist/lib/distribution-lock/distribution-lock-env.js +31 -6
- package/dist/lib/distribution-lock/distribution-lock-env.js.map +1 -1
- package/dist/lib/peers/xema-peers.module.d.ts +15 -0
- package/dist/lib/peers/xema-peers.module.d.ts.map +1 -0
- package/dist/lib/peers/xema-peers.module.js +67 -0
- package/dist/lib/peers/xema-peers.module.js.map +1 -0
- package/dist/lib/request-context/service-request-context.d.ts +7 -0
- package/dist/lib/request-context/service-request-context.d.ts.map +1 -0
- package/dist/lib/request-context/service-request-context.js +44 -0
- package/dist/lib/request-context/service-request-context.js.map +1 -0
- package/dist/lib/xema-service-module.d.ts +11 -2
- package/dist/lib/xema-service-module.d.ts.map +1 -1
- package/dist/lib/xema-service-module.js +57 -5
- package/dist/lib/xema-service-module.js.map +1 -1
- package/package.json +32 -4
- package/dist/lib/apply-xema-service-middleware.d.ts +0 -4
- package/dist/lib/apply-xema-service-middleware.d.ts.map +0 -1
- package/dist/lib/apply-xema-service-middleware.js +0 -8
- 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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
} from '@xemahq/xema-service-nest';
|
|
41
|
-
import {
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
|
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 @@
|
|
|
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 @@
|
|
|
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 {
|
|
16
|
-
export { type
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAQ7B,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAKnC,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAOvE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,cAAc,EACd,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,GAC5B,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EACL,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAM9E,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,KAAK,2BAA2B,GACjC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,oCAAoC,EACpC,iCAAiC,EACjC,KAAK,wCAAwC,GAC9C,MAAM,+DAA+D,CAAC;AAWvE,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAS/D,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,
|
|
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.
|
|
18
|
-
exports.
|
|
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
|
|
77
|
-
Object.defineProperty(exports, "
|
|
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":";;;;;;;;;;;;;;;;;;;AACA,
|
|
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;
|
|
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":";;
|
|
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":"
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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":";;;
|
|
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":"
|
|
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
|
-
|
|
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:
|
|
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
|
|
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": "
|
|
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
|
-
"
|
|
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"}
|