@xemahq/entitlement-client 0.3.10 → 0.5.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 +4 -4
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/installation-license.d.ts +7 -2
- package/dist/lib/installation-license.d.ts.map +1 -1
- package/dist/lib/installation-license.js +11 -2
- package/dist/lib/installation-license.js.map +1 -1
- package/dist/lib/license-warnings.d.ts.map +1 -1
- package/dist/lib/license-warnings.js +12 -0
- package/dist/lib/license-warnings.js.map +1 -1
- package/dist/nestjs/entitlement-client.module.d.ts.map +1 -1
- package/dist/nestjs/entitlement-client.module.js.map +1 -1
- package/dist/nestjs/entitlement.service.d.ts +3 -3
- package/dist/nestjs/entitlement.service.d.ts.map +1 -1
- package/dist/nestjs/entitlement.service.js +17 -14
- package/dist/nestjs/entitlement.service.js.map +1 -1
- package/package.json +5 -5
- package/dist/nestjs/entitlement.guard.d.ts +0 -14
- package/dist/nestjs/entitlement.guard.d.ts.map +0 -1
- package/dist/nestjs/entitlement.guard.js +0 -67
- package/dist/nestjs/entitlement.guard.js.map +0 -1
package/README.md
CHANGED
|
@@ -37,9 +37,8 @@ source:
|
|
|
37
37
|
- **the license axis** — `requireEntitled` / `requireBiomeInstallEntitled` /
|
|
38
38
|
`requireEditionEntitled`, gating biome installation and the running edition
|
|
39
39
|
over `{ distribution | biome | capability-class }`;
|
|
40
|
-
- **the platform axis** — `
|
|
41
|
-
|
|
42
|
-
`@xemahq/kernel-contracts/entitlement`.
|
|
40
|
+
- **the platform axis** — `getEffective`, the `Edition`, projected from the same
|
|
41
|
+
license by `@xemahq/kernel-contracts/entitlement`.
|
|
43
42
|
|
|
44
43
|
It is fail-closed: an unverifiable license grants nothing, and a license in
|
|
45
44
|
force grants only what it enumerates. It never fails *fast* at boot — expiry
|
|
@@ -48,7 +47,8 @@ degrades what may be done next and never stops a running workload.
|
|
|
48
47
|
## When to use it
|
|
49
48
|
|
|
50
49
|
- Use it inside a NestJS service that gates a NEW action (installing a biome,
|
|
51
|
-
an upgrade, provisioning an org) or
|
|
50
|
+
an upgrade, provisioning an org), or that must read the installation's
|
|
51
|
+
`Edition`.
|
|
52
52
|
- Reach for `@xemahq/license-verifier` directly when you need offline license
|
|
53
53
|
verification with no NestJS container at all.
|
|
54
54
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export * from './nestjs/entitlement.service.ts';
|
|
2
2
|
export * from './nestjs/entitlement-client.module.ts';
|
|
3
|
-
export * from './nestjs/entitlement.guard.ts';
|
|
4
3
|
export * from './lib/installation-license.ts';
|
|
5
4
|
export * from './nestjs/license-refused.exception.ts';
|
|
6
5
|
export * from './lib/license-warnings.ts';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAQ1C,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,WAAW,EACX,8BAA8B,EAC9B,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.LICENSE_GRACE_PERIOD_MS = exports.LicenseVerificationFailureCode = exports.LicenseTier = exports.LicenseStatus = exports.LicenseSource = exports.LicenseLifecycleStage = exports.EntitlementKind = exports.EntitlementDenialReason = exports.EntitlementAction = void 0;
|
|
18
18
|
__exportStar(require("./nestjs/entitlement.service.js"), exports);
|
|
19
19
|
__exportStar(require("./nestjs/entitlement-client.module.js"), exports);
|
|
20
|
-
__exportStar(require("./nestjs/entitlement.guard.js"), exports);
|
|
21
20
|
__exportStar(require("./lib/installation-license.js"), exports);
|
|
22
21
|
__exportStar(require("./nestjs/license-refused.exception.js"), exports);
|
|
23
22
|
__exportStar(require("./lib/license-warnings.js"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,wEAAsD;AACtD,gEAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,wEAAsD;AACtD,gEAA8C;AAC9C,wEAAsD;AACtD,4DAA0C;AAQ1C,6DAekC;AAdhC,qHAAA,iBAAiB,OAAA;AACjB,2HAAA,uBAAuB,OAAA;AACvB,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AACrB,iHAAA,aAAa,OAAA;AACb,iHAAA,aAAa,OAAA;AACb,+GAAA,WAAW,OAAA;AACX,kIAAA,8BAA8B,OAAA;AAC9B,2HAAA,uBAAuB,OAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { type EntitlementSet } from '@xemahq/
|
|
2
|
-
import { EntitlementDenialReason, LicenseSource, LicenseVerificationFailureCode, type EntitlementQuery, type LicenseEntitlement, type LicenseState, type LicenseTier, type LicenseTrustStore, type VerifiedLicense } from '@xemahq/license-verifier';
|
|
1
|
+
import { type EntitlementSet } from '@xemahq/contracts/entitlement';
|
|
2
|
+
import { EntitlementDenialReason, LicenseSource, LicenseVerificationFailureCode, type ProvenInstallationIdentity, type EntitlementQuery, type LicenseEntitlement, type LicenseState, type LicenseTier, type LicenseTrustStore, type VerifiedLicense } from '@xemahq/license-verifier';
|
|
3
3
|
import { LicenseWarningSeverity, type LicenseWarning } from './license-warnings.ts';
|
|
4
4
|
export declare const LICENSE_ENV_VAR = "XEMA_LICENSE";
|
|
5
|
+
export declare const INSTALLATION_KEY_ENV_VAR = "XEMA_INSTALLATION_KEY";
|
|
5
6
|
export interface InstallationLicenseConfig {
|
|
6
7
|
readonly customerLicense: string | undefined;
|
|
7
8
|
readonly distributionId: string | null;
|
|
9
|
+
readonly installationIdentity?: ProvenInstallationIdentity;
|
|
8
10
|
readonly trustStore?: LicenseTrustStore;
|
|
9
11
|
}
|
|
10
12
|
export interface LicenseEvaluationOptions {
|
|
@@ -51,6 +53,7 @@ export type LicensePosture = {
|
|
|
51
53
|
readonly entitlement: EntitlementSet;
|
|
52
54
|
readonly distributionId: string | null;
|
|
53
55
|
readonly distributionEntitled: boolean;
|
|
56
|
+
readonly installationId: string | null;
|
|
54
57
|
readonly warnings: readonly LicenseWarning[];
|
|
55
58
|
} | {
|
|
56
59
|
readonly licensed: false;
|
|
@@ -61,6 +64,7 @@ export type LicensePosture = {
|
|
|
61
64
|
readonly entitlement: EntitlementSet;
|
|
62
65
|
readonly distributionId: string | null;
|
|
63
66
|
readonly distributionEntitled: false;
|
|
67
|
+
readonly installationId: string | null;
|
|
64
68
|
readonly warnings: readonly LicenseWarning[];
|
|
65
69
|
};
|
|
66
70
|
export declare class InstallationLicense {
|
|
@@ -75,6 +79,7 @@ export declare class InstallationLicense {
|
|
|
75
79
|
biomeInstallGate(biomeId: string, options?: LicenseEvaluationOptions): LicenseGateOutcome;
|
|
76
80
|
distributionEntitled(options?: LicenseEvaluationOptions): boolean;
|
|
77
81
|
posture(options?: LicenseEvaluationOptions): LicensePosture;
|
|
82
|
+
installationId(): string | null;
|
|
78
83
|
verifiedLicense(): VerifiedLicense | undefined;
|
|
79
84
|
private effective;
|
|
80
85
|
private stateOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation-license.d.ts","sourceRoot":"","sources":["../../src/lib/installation-license.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"installation-license.d.ts","sourceRoot":"","sources":["../../src/lib/installation-license.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InstallationLicense = exports.DISTRIBUTION_UNDECLARED_REFUSAL = exports.LicenseRefusalKind = exports.LICENSE_ENV_VAR = void 0;
|
|
3
|
+
exports.InstallationLicense = exports.DISTRIBUTION_UNDECLARED_REFUSAL = exports.LicenseRefusalKind = exports.INSTALLATION_KEY_ENV_VAR = exports.LICENSE_ENV_VAR = void 0;
|
|
4
4
|
exports.worstWarningSeverity = worstWarningSeverity;
|
|
5
5
|
exports.isUnprovisionedBuildRefusal = isUnprovisionedBuildRefusal;
|
|
6
|
-
const entitlement_1 = require("@xemahq/
|
|
6
|
+
const entitlement_1 = require("@xemahq/contracts/entitlement");
|
|
7
7
|
const license_verifier_1 = require("@xemahq/license-verifier");
|
|
8
8
|
const license_warnings_ts_1 = require("./license-warnings.js");
|
|
9
9
|
exports.LICENSE_ENV_VAR = 'XEMA_LICENSE';
|
|
10
|
+
exports.INSTALLATION_KEY_ENV_VAR = 'XEMA_INSTALLATION_KEY';
|
|
10
11
|
var LicenseRefusalKind;
|
|
11
12
|
(function (LicenseRefusalKind) {
|
|
12
13
|
LicenseRefusalKind["Unverifiable"] = "unverifiable";
|
|
@@ -111,6 +112,7 @@ class InstallationLicense {
|
|
|
111
112
|
entitlement: entitlement_1.COMMUNITY_ENTITLEMENT,
|
|
112
113
|
distributionId: this.config.distributionId,
|
|
113
114
|
distributionEntitled: false,
|
|
115
|
+
installationId: this.installationId(),
|
|
114
116
|
warnings: [
|
|
115
117
|
{
|
|
116
118
|
code: license_warnings_ts_1.LicenseWarningCode.Unverifiable,
|
|
@@ -158,9 +160,13 @@ class InstallationLicense {
|
|
|
158
160
|
entitlement: this.entitlementSet(options),
|
|
159
161
|
distributionId: this.config.distributionId,
|
|
160
162
|
distributionEntitled,
|
|
163
|
+
installationId: this.installationId(),
|
|
161
164
|
warnings,
|
|
162
165
|
};
|
|
163
166
|
}
|
|
167
|
+
installationId() {
|
|
168
|
+
return this.config.installationIdentity?.installationId ?? null;
|
|
169
|
+
}
|
|
164
170
|
verifiedLicense() {
|
|
165
171
|
const effective = this.effective();
|
|
166
172
|
return effective.ok ? effective.license : undefined;
|
|
@@ -168,6 +174,9 @@ class InstallationLicense {
|
|
|
168
174
|
effective() {
|
|
169
175
|
this.verification ??= (0, license_verifier_1.resolveEffectiveLicense)({
|
|
170
176
|
customerLicense: this.config.customerLicense,
|
|
177
|
+
...(this.config.installationIdentity !== undefined
|
|
178
|
+
? { installation: this.config.installationIdentity }
|
|
179
|
+
: {}),
|
|
171
180
|
...(this.config.trustStore !== undefined
|
|
172
181
|
? { trustStore: this.config.trustStore }
|
|
173
182
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation-license.js","sourceRoot":"","sources":["../../src/lib/installation-license.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"installation-license.js","sourceRoot":"","sources":["../../src/lib/installation-license.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license-warnings.d.ts","sourceRoot":"","sources":["../../src/lib/license-warnings.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,8BAA8B,EAC9B,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAalC,oBAAY,sBAAsB;IAChC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,oBAAY,kBAAkB;IAE5B,YAAY,0BAA0B;IAEtC,aAAa,4BAA4B;IAEzC,UAAU,uBAAuB;IAEjC,SAAS,sBAAsB;IAE/B,OAAO,oBAAoB;IAE3B,WAAW,0BAA0B;IAErC,aAAa,2BAA2B;IAExC,YAAY,yBAAyB;IAErC,uBAAuB,sCAAsC;IAM7D,sBAAsB,oCAAoC;CAC3D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAE1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AASD,eAAO,MAAM,+BAA+B,QAAkB,CAAC;AAO/D,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AASzD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,EAAE,CA+G1E;AAYD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,8BAA8B,GACnC,MAAM,
|
|
1
|
+
{"version":3,"file":"license-warnings.d.ts","sourceRoot":"","sources":["../../src/lib/license-warnings.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,8BAA8B,EAC9B,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAalC,oBAAY,sBAAsB;IAChC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,oBAAY,kBAAkB;IAE5B,YAAY,0BAA0B;IAEtC,aAAa,4BAA4B;IAEzC,UAAU,uBAAuB;IAEjC,SAAS,sBAAsB;IAE/B,OAAO,oBAAoB;IAE3B,WAAW,0BAA0B;IAErC,aAAa,2BAA2B;IAExC,YAAY,yBAAyB;IAErC,uBAAuB,sCAAsC;IAM7D,sBAAsB,oCAAoC;CAC3D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAE1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AASD,eAAO,MAAM,+BAA+B,QAAkB,CAAC;AAO/D,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AASzD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,EAAE,CA+G1E;AAYD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,8BAA8B,GACnC,MAAM,CAgER"}
|
|
@@ -151,6 +151,18 @@ function platformLicenseRemediation(code) {
|
|
|
151
151
|
case license_verifier_1.LicenseVerificationFailureCode.IssuerMismatch:
|
|
152
152
|
return ('The license names an issuer that is not the Xema licensing authority, ' +
|
|
153
153
|
'so it is refused.');
|
|
154
|
+
case license_verifier_1.LicenseVerificationFailureCode.InstallationIdentityAbsent:
|
|
155
|
+
return ('This license is issued to a specific Xema installation, and this ' +
|
|
156
|
+
'deployment supplied no installation identity to prove it is that one. ' +
|
|
157
|
+
'Supply the installation private key as XEMA_INSTALLATION_KEY (the ' +
|
|
158
|
+
'deployment secret written when this installation was created). This is ' +
|
|
159
|
+
'a DEPLOYMENT defect, not a licensing one — nothing needs to be bought ' +
|
|
160
|
+
'or renewed.');
|
|
161
|
+
case license_verifier_1.LicenseVerificationFailureCode.InstallationMismatch:
|
|
162
|
+
return ('This license is issued to a DIFFERENT Xema installation than this one. ' +
|
|
163
|
+
'A license cannot be moved between installations by copying it. Either ' +
|
|
164
|
+
'apply the license issued to this installation, or ask Xema to rebind ' +
|
|
165
|
+
'this one — quote both installation ids from the message above.');
|
|
154
166
|
default: {
|
|
155
167
|
const exhaustive = code;
|
|
156
168
|
throw new TypeError(`unhandled license verification failure ${String(exhaustive)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license-warnings.js","sourceRoot":"","sources":["../../src/lib/license-warnings.ts"],"names":[],"mappings":";;;AAkFA,oDA+GC;AAYD,
|
|
1
|
+
{"version":3,"file":"license-warnings.js","sourceRoot":"","sources":["../../src/lib/license-warnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement-client.module.d.ts","sourceRoot":"","sources":["../../src/nestjs/entitlement-client.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAGnB,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,0BAA0B,CAAC;AAElC,KAAK,YAAY,GACb,IAAI,CAAC,OAAO,CAAC,GACb,gBAAgB,CAAC,OAAO,CAAC,GACzB,aAAa,GACb,OAAO,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"entitlement-client.module.d.ts","sourceRoot":"","sources":["../../src/nestjs/entitlement-client.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAGnB,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,0BAA0B,CAAC;AAElC,KAAK,YAAY,GACb,IAAI,CAAC,OAAO,CAAC,GACb,gBAAgB,CAAC,OAAO,CAAC,GACzB,aAAa,GACb,OAAO,CAAC,aAAa,CAAC,CAAC;AAW3B,MAAM,WAAW,mCAAmC;IAClD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,EAAE,CAEV,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,uBAAuB,CAAC,GAAG,uBAAuB,CAAC;IAChE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAgCD,qBACa,uBAAuB;IAElC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,GAAG,aAAa;IAe9D,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,mCAAmC,GAC3C,aAAa;CAejB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement-client.module.js","sourceRoot":"","sources":["../../src/nestjs/entitlement-client.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAOwB;AACxB,qEAIkC;
|
|
1
|
+
{"version":3,"file":"entitlement-client.module.js","sourceRoot":"","sources":["../../src/nestjs/entitlement-client.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAOwB;AACxB,qEAIkC;AAyD3B,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAElC,MAAM,CAAC,OAAO,CAAC,MAA+B;QAC5C,MAAM,cAAc,GAAa;YAC/B,OAAO,EAAE,kDAAyB;YAClC,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,yBAAuB;YAC/B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC,cAAc,EAAE,2CAAkB,CAAC;YAC/C,OAAO,EAAE,CAAC,2CAAkB,CAAC;SAC9B,CAAC;IACJ,CAAC;IAGD,MAAM,CAAC,YAAY,CACjB,OAA4C;QAE5C,MAAM,cAAc,GAAa;YAC/B,OAAO,EAAE,kDAAyB;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,yBAAuB;YAC/B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE,CAAC,cAAc,EAAE,2CAAkB,CAAC;YAC/C,OAAO,EAAE,CAAC,2CAAkB,CAAC;SAC9B,CAAC;IACJ,CAAC;CACF,CAAA;AAlCY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,uBAAuB,CAkCnC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type OnModuleInit } from '@nestjs/common';
|
|
2
|
-
import { type
|
|
3
|
-
import { type EntitlementQuery } from '@xemahq/license-verifier';
|
|
2
|
+
import { type EntitlementSet } from '@xemahq/contracts/entitlement';
|
|
3
|
+
import { type EntitlementQuery, type ProvenInstallationIdentity } from '@xemahq/license-verifier';
|
|
4
4
|
import { type InstallationLicenseConfig, type LicenseEvaluationOptions, type LicenseGateOutcome, type LicensePosture } from '../lib/installation-license.ts';
|
|
5
5
|
export declare const ENTITLEMENT_CLIENT_CONFIG: unique symbol;
|
|
6
6
|
export type EntitlementClientConfig = InstallationLicenseConfig;
|
|
@@ -16,8 +16,8 @@ export declare class EntitlementService implements OnModuleInit {
|
|
|
16
16
|
requireBiomeInstallEntitled(biomeId: string, options?: LicenseEvaluationOptions): void;
|
|
17
17
|
private enforce;
|
|
18
18
|
getPosture(options?: LicenseEvaluationOptions): LicensePosture;
|
|
19
|
-
isEntitled(orgId: string, key: EntitlementKey): Promise<boolean>;
|
|
20
19
|
getEffective(orgId: string, options?: LicenseEvaluationOptions): EntitlementSet;
|
|
21
20
|
}
|
|
21
|
+
export declare function readInstallationIdentityFromEnv(env?: NodeJS.ProcessEnv): ProvenInstallationIdentity | undefined;
|
|
22
22
|
export declare function readLicenseFromEnv(env?: NodeJS.ProcessEnv): string | undefined;
|
|
23
23
|
//# sourceMappingURL=entitlement.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement.service.d.ts","sourceRoot":"","sources":["../../src/nestjs/entitlement.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"entitlement.service.d.ts","sourceRoot":"","sources":["../../src/nestjs/entitlement.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAChC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAKL,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,gCAAgC,CAAC;AAMxC,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAa7E,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AA+BhE,qBACa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;gBAIjD,MAAM,EAAE,uBAAuB;IAsBjC,YAAY,IAAI,IAAI;IAmDpB,QAAQ,CACN,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,wBAA6B,GACrC,kBAAkB;IAarB,eAAe,CACb,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,wBAA6B,GACrC,IAAI;IAaP,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAA6B,GACrC,kBAAkB;IAarB,sBAAsB,CAAC,OAAO,GAAE,wBAA6B,GAAG,IAAI;IAiBpE,2BAA2B,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAA6B,GACrC,IAAI;IASP,OAAO,CAAC,OAAO;IAef,UAAU,CAAC,OAAO,GAAE,wBAA6B,GAAG,cAAc;IAclE,YAAY,CACV,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,wBAA6B,GACrC,cAAc;CASlB;AAoBD,wBAAgB,+BAA+B,CAC7C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,0BAA0B,GAAG,SAAS,CAkBxC;AAUD,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAGpB"}
|
|
@@ -14,9 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var EntitlementService_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.EntitlementService = exports.ENTITLEMENT_CLIENT_CONFIG = void 0;
|
|
17
|
+
exports.readInstallationIdentityFromEnv = readInstallationIdentityFromEnv;
|
|
17
18
|
exports.readLicenseFromEnv = readLicenseFromEnv;
|
|
18
19
|
const common_1 = require("@nestjs/common");
|
|
19
|
-
const entitlement_1 = require("@xemahq/kernel-contracts/entitlement");
|
|
20
20
|
const license_verifier_1 = require("@xemahq/license-verifier");
|
|
21
21
|
const installation_license_ts_1 = require("../lib/installation-license.js");
|
|
22
22
|
const license_refused_exception_ts_1 = require("./license-refused.exception.js");
|
|
@@ -43,6 +43,7 @@ let EntitlementService = EntitlementService_1 = class EntitlementService {
|
|
|
43
43
|
edition: posture.entitlement.edition,
|
|
44
44
|
distributionId: posture.distributionId,
|
|
45
45
|
distributionEntitled: posture.distributionEntitled,
|
|
46
|
+
installationId: posture.installationId,
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
else {
|
|
@@ -104,19 +105,6 @@ let EntitlementService = EntitlementService_1 = class EntitlementService {
|
|
|
104
105
|
getPosture(options = {}) {
|
|
105
106
|
return this.installation.posture(options);
|
|
106
107
|
}
|
|
107
|
-
async isEntitled(orgId, key) {
|
|
108
|
-
const effective = this.getEffective(orgId);
|
|
109
|
-
const entitled = (0, entitlement_1.isFeatureEntitled)(effective, key);
|
|
110
|
-
if (!entitled) {
|
|
111
|
-
this.logger.debug({
|
|
112
|
-
message: 'feature-not-entitled',
|
|
113
|
-
orgId,
|
|
114
|
-
key,
|
|
115
|
-
edition: effective.edition,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
return entitled;
|
|
119
|
-
}
|
|
120
108
|
getEffective(orgId, options = {}) {
|
|
121
109
|
const effective = this.installation.entitlementSet(options);
|
|
122
110
|
this.logger.debug({
|
|
@@ -133,6 +121,21 @@ exports.EntitlementService = EntitlementService = EntitlementService_1 = __decor
|
|
|
133
121
|
__param(0, (0, common_1.Inject)(exports.ENTITLEMENT_CLIENT_CONFIG)),
|
|
134
122
|
__metadata("design:paramtypes", [Object])
|
|
135
123
|
], EntitlementService);
|
|
124
|
+
function readInstallationIdentityFromEnv(env = process.env) {
|
|
125
|
+
const raw = env[installation_license_ts_1.INSTALLATION_KEY_ENV_VAR]?.trim();
|
|
126
|
+
if (raw === undefined || raw.length === 0) {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
return (0, license_verifier_1.proveInstallationIdentity)(raw);
|
|
131
|
+
}
|
|
132
|
+
catch (cause) {
|
|
133
|
+
throw new Error(`${installation_license_ts_1.INSTALLATION_KEY_ENV_VAR} is set but is not a usable Xema installation key. ` +
|
|
134
|
+
'It must be an Ed25519 PRIVATE key in PKCS#8 PEM form, exactly as written ' +
|
|
135
|
+
'when this installation was created. Refusing to start as an installation ' +
|
|
136
|
+
'with no identity, which would silently refuse a license issued to this one.', { cause });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
136
139
|
function readLicenseFromEnv(env = process.env) {
|
|
137
140
|
const raw = env[installation_license_ts_1.LICENSE_ENV_VAR]?.trim();
|
|
138
141
|
return raw === undefined || raw.length === 0 ? undefined : raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement.service.js","sourceRoot":"","sources":["../../src/nestjs/entitlement.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"entitlement.service.js","sourceRoot":"","sources":["../../src/nestjs/entitlement.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/entitlement-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "NestJS enforcement point for Xema entitlement. Resolves the installation license offline via @xemahq/license-verifier, gates biome installation and the running edition against it, and projects it onto the platform Edition + feature-flag axis. Fails closed.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@nestjs/common": ">=10",
|
|
25
25
|
"@nestjs/core": ">=10",
|
|
26
26
|
"reflect-metadata": ">=0.1.12",
|
|
27
|
-
"@xemahq/
|
|
27
|
+
"@xemahq/contracts": "^0.1.0",
|
|
28
28
|
"@xemahq/license-verifier": ">=0.1.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependenciesMeta": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@xemahq/platform-common": "^0.
|
|
42
|
+
"@xemahq/platform-common": "^0.31.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@nestjs/common": "11.1.18",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"prettier": "3.6.2",
|
|
50
50
|
"reflect-metadata": "0.2.2",
|
|
51
51
|
"typescript": "5.9.3",
|
|
52
|
-
"@xemahq/
|
|
53
|
-
"@xemahq/
|
|
52
|
+
"@xemahq/license-verifier": "0.2.0",
|
|
53
|
+
"@xemahq/contracts": "^0.1.1"
|
|
54
54
|
},
|
|
55
55
|
"exports": {
|
|
56
56
|
".": {
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type CanActivate, type ExecutionContext } from '@nestjs/common';
|
|
2
|
-
import { Reflector } from '@nestjs/core';
|
|
3
|
-
import { EntitlementKey } from '@xemahq/kernel-contracts/entitlement';
|
|
4
|
-
import { EntitlementService } from './entitlement.service.ts';
|
|
5
|
-
export declare const REQUIRE_ENTITLEMENT = "xema:require-entitlement";
|
|
6
|
-
export declare const RequireEntitlement: (key: EntitlementKey) => MethodDecorator & ClassDecorator;
|
|
7
|
-
export declare class EntitlementGuard implements CanActivate {
|
|
8
|
-
private readonly reflector;
|
|
9
|
-
private readonly entitlements;
|
|
10
|
-
private readonly logger;
|
|
11
|
-
constructor(reflector: Reflector, entitlements: EntitlementService);
|
|
12
|
-
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=entitlement.guard.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement.guard.d.ts","sourceRoot":"","sources":["../../src/nestjs/entitlement.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAMtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAItE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAmB9D,eAAO,MAAM,kBAAkB,GAC7B,KAAK,cAAc,KAClB,eAAe,GAAG,cAAuD,CAAC;AAkB7E,qBACa,gBAAiB,YAAW,WAAW;IAIhD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGzC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,kBAAkB;IAG7C,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CA0C/D"}
|
|
@@ -1,67 +0,0 @@
|
|
|
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 EntitlementGuard_1;
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.EntitlementGuard = exports.RequireEntitlement = exports.REQUIRE_ENTITLEMENT = void 0;
|
|
14
|
-
const common_1 = require("@nestjs/common");
|
|
15
|
-
const core_1 = require("@nestjs/core");
|
|
16
|
-
const platform_common_1 = require("@xemahq/platform-common");
|
|
17
|
-
const entitlement_service_ts_1 = require("./entitlement.service.js");
|
|
18
|
-
exports.REQUIRE_ENTITLEMENT = 'xema:require-entitlement';
|
|
19
|
-
const RequireEntitlement = (key) => (0, common_1.SetMetadata)(exports.REQUIRE_ENTITLEMENT, key);
|
|
20
|
-
exports.RequireEntitlement = RequireEntitlement;
|
|
21
|
-
let EntitlementGuard = EntitlementGuard_1 = class EntitlementGuard {
|
|
22
|
-
reflector;
|
|
23
|
-
entitlements;
|
|
24
|
-
logger = new common_1.Logger(EntitlementGuard_1.name);
|
|
25
|
-
constructor(reflector, entitlements) {
|
|
26
|
-
this.reflector = reflector;
|
|
27
|
-
this.entitlements = entitlements;
|
|
28
|
-
}
|
|
29
|
-
async canActivate(context) {
|
|
30
|
-
const key = this.reflector.getAllAndOverride(exports.REQUIRE_ENTITLEMENT, [context.getHandler(), context.getClass()]);
|
|
31
|
-
if (!key) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
const request = context.switchToHttp().getRequest();
|
|
35
|
-
const ctx = request[platform_common_1.REQUEST_CONTEXT];
|
|
36
|
-
if (!ctx) {
|
|
37
|
-
this.logger.error('RequestContext missing — EntitlementGuard requires ' +
|
|
38
|
-
'RequestContextMiddleware (configureAuthMiddleware).');
|
|
39
|
-
throw new common_1.InternalServerErrorException({
|
|
40
|
-
code: 'REQUEST_CONTEXT_MISSING',
|
|
41
|
-
message: 'Internal route misconfigured: missing request context.',
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
const entitled = await this.entitlements.isEntitled(ctx.orgId, key);
|
|
45
|
-
if (!entitled) {
|
|
46
|
-
this.logger.warn({
|
|
47
|
-
message: 'entitlement-denied',
|
|
48
|
-
route: `${request.method} ${request.originalUrl}`,
|
|
49
|
-
orgId: ctx.orgId,
|
|
50
|
-
actorId: ctx.actorId,
|
|
51
|
-
requiredEntitlement: key,
|
|
52
|
-
});
|
|
53
|
-
throw new common_1.ForbiddenException({
|
|
54
|
-
code: 'FEATURE_NOT_ENTITLED',
|
|
55
|
-
message: `This feature requires the '${key}' entitlement.`,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
exports.EntitlementGuard = EntitlementGuard;
|
|
62
|
-
exports.EntitlementGuard = EntitlementGuard = EntitlementGuard_1 = __decorate([
|
|
63
|
-
(0, common_1.Injectable)(),
|
|
64
|
-
__metadata("design:paramtypes", [core_1.Reflector,
|
|
65
|
-
entitlement_service_ts_1.EntitlementService])
|
|
66
|
-
], EntitlementGuard);
|
|
67
|
-
//# sourceMappingURL=entitlement.guard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement.guard.js","sourceRoot":"","sources":["../../src/nestjs/entitlement.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAQwB;AACxB,uCAAyC;AAEzC,6DAA0D;AAG1D,qEAA8D;AAGjD,QAAA,mBAAmB,GAAG,0BAA0B,CAAC;AAmBvD,MAAM,kBAAkB,GAAG,CAChC,GAAmB,EACe,EAAE,CAAC,IAAA,oBAAW,EAAC,2BAAmB,EAAE,GAAG,CAAC,CAAC;AAFhE,QAAA,kBAAkB,sBAE8C;AAmBtE,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAIR;IACA;IAJF,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAE5D,YACmB,SAAoB,EACpB,YAAgC;QADhC,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAoB;IAChD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC1C,2BAAmB,EACnB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QACF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QAC7D,MAAM,GAAG,GAAI,OAA8C,CACzD,iCAAe,CACc,CAAC;QAEhC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qDAAqD;gBACnD,qDAAqD,CACxD,CAAC;YACF,MAAM,IAAI,qCAA4B,CAAC;gBACrC,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,wDAAwD;aAClE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,oBAAoB;gBAC7B,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE;gBACjD,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,mBAAmB,EAAE,GAAG;aACzB,CAAC,CAAC;YACH,MAAM,IAAI,2BAAkB,CAAC;gBAC3B,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,8BAA8B,GAAG,gBAAgB;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAlDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAKmB,gBAAS;QACN,2CAAkB;GALxC,gBAAgB,CAkD5B"}
|