@xemahq/license-verifier 0.1.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 +224 -0
- package/dist/bin/xema-license-keygen.d.ts +3 -0
- package/dist/bin/xema-license-keygen.d.ts.map +1 -0
- package/dist/bin/xema-license-keygen.js +63 -0
- package/dist/bin/xema-license-keygen.js.map +1 -0
- package/dist/bin/xema-license-mint-oss.d.ts +3 -0
- package/dist/bin/xema-license-mint-oss.d.ts.map +1 -0
- package/dist/bin/xema-license-mint-oss.js +70 -0
- package/dist/bin/xema-license-mint-oss.js.map +1 -0
- package/dist/embedded/license-material.generated.d.ts +4 -0
- package/dist/embedded/license-material.generated.d.ts.map +1 -0
- package/dist/embedded/license-material.generated.js +7 -0
- package/dist/embedded/license-material.generated.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/base64url.d.ts +4 -0
- package/dist/lib/base64url.d.ts.map +1 -0
- package/dist/lib/base64url.js +31 -0
- package/dist/lib/base64url.js.map +1 -0
- package/dist/lib/compact-jws.d.ts +16 -0
- package/dist/lib/compact-jws.d.ts.map +1 -0
- package/dist/lib/compact-jws.js +47 -0
- package/dist/lib/compact-jws.js.map +1 -0
- package/dist/lib/effective-license.d.ts +28 -0
- package/dist/lib/effective-license.d.ts.map +1 -0
- package/dist/lib/effective-license.js +39 -0
- package/dist/lib/effective-license.js.map +1 -0
- package/dist/lib/embedded-license.d.ts +7 -0
- package/dist/lib/embedded-license.d.ts.map +1 -0
- package/dist/lib/embedded-license.js +26 -0
- package/dist/lib/embedded-license.js.map +1 -0
- package/dist/lib/evaluate-entitlement.d.ts +28 -0
- package/dist/lib/evaluate-entitlement.d.ts.map +1 -0
- package/dist/lib/evaluate-entitlement.js +84 -0
- package/dist/lib/evaluate-entitlement.js.map +1 -0
- package/dist/lib/evaluate-limit.d.ts +18 -0
- package/dist/lib/evaluate-limit.d.ts.map +1 -0
- package/dist/lib/evaluate-limit.js +49 -0
- package/dist/lib/evaluate-limit.js.map +1 -0
- package/dist/lib/license-claims.d.ts +29 -0
- package/dist/lib/license-claims.d.ts.map +1 -0
- package/dist/lib/license-claims.js +3 -0
- package/dist/lib/license-claims.js.map +1 -0
- package/dist/lib/license-enums.d.ts +47 -0
- package/dist/lib/license-enums.d.ts.map +1 -0
- package/dist/lib/license-enums.js +58 -0
- package/dist/lib/license-enums.js.map +1 -0
- package/dist/lib/license-signer.d.ts +16 -0
- package/dist/lib/license-signer.d.ts.map +1 -0
- package/dist/lib/license-signer.js +35 -0
- package/dist/lib/license-signer.js.map +1 -0
- package/dist/lib/oss-license.d.ts +3 -0
- package/dist/lib/oss-license.d.ts.map +1 -0
- package/dist/lib/oss-license.js +27 -0
- package/dist/lib/oss-license.js.map +1 -0
- package/dist/lib/parse-license-claims.d.ts +8 -0
- package/dist/lib/parse-license-claims.d.ts.map +1 -0
- package/dist/lib/parse-license-claims.js +0 -0
- package/dist/lib/parse-license-claims.js.map +1 -0
- package/dist/lib/render-license-material.d.ts +8 -0
- package/dist/lib/render-license-material.d.ts.map +1 -0
- package/dist/lib/render-license-material.js +55 -0
- package/dist/lib/render-license-material.js.map +1 -0
- package/dist/lib/resolve-license-state.d.ts +20 -0
- package/dist/lib/resolve-license-state.d.ts.map +1 -0
- package/dist/lib/resolve-license-state.js +74 -0
- package/dist/lib/resolve-license-state.js.map +1 -0
- package/dist/lib/rfc3339.d.ts +2 -0
- package/dist/lib/rfc3339.d.ts.map +1 -0
- package/dist/lib/rfc3339.js +24 -0
- package/dist/lib/rfc3339.js.map +1 -0
- package/dist/lib/sign-license.d.ts +4 -0
- package/dist/lib/sign-license.d.ts.map +1 -0
- package/dist/lib/sign-license.js +27 -0
- package/dist/lib/sign-license.js.map +1 -0
- package/dist/lib/trust-store.d.ts +7 -0
- package/dist/lib/trust-store.d.ts.map +1 -0
- package/dist/lib/trust-store.js +32 -0
- package/dist/lib/trust-store.js.map +1 -0
- package/dist/lib/verification-failure.d.ts +17 -0
- package/dist/lib/verification-failure.d.ts.map +1 -0
- package/dist/lib/verification-failure.js +19 -0
- package/dist/lib/verification-failure.js.map +1 -0
- package/dist/lib/verified-license.d.ts +10 -0
- package/dist/lib/verified-license.d.ts.map +1 -0
- package/dist/lib/verified-license.js +8 -0
- package/dist/lib/verified-license.js.map +1 -0
- package/dist/lib/verify-license.d.ts +13 -0
- package/dist/lib/verify-license.d.ts.map +1 -0
- package/dist/lib/verify-license.js +98 -0
- package/dist/lib/verify-license.js.map +1 -0
- package/dist/signing.d.ts +4 -0
- package/dist/signing.d.ts.map +1 -0
- package/dist/signing.js +10 -0
- package/dist/signing.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type LicenseState, type ResolveLicenseStateOptions } from './resolve-license-state.ts';
|
|
2
|
+
import type { LicenseTrustStore } from './trust-store.ts';
|
|
3
|
+
import type { LicenseVerificationFailureCode } from './verification-failure.ts';
|
|
4
|
+
import type { VerifiedLicense } from './verified-license.ts';
|
|
5
|
+
export declare enum LicenseSource {
|
|
6
|
+
Customer = "customer",
|
|
7
|
+
EmbeddedOpenSource = "embedded-open-source"
|
|
8
|
+
}
|
|
9
|
+
export interface ResolveEffectiveLicenseInput extends ResolveLicenseStateOptions {
|
|
10
|
+
readonly customerLicense: string | undefined;
|
|
11
|
+
readonly trustStore?: LicenseTrustStore;
|
|
12
|
+
}
|
|
13
|
+
export interface EffectiveLicenseVerified {
|
|
14
|
+
readonly ok: true;
|
|
15
|
+
readonly source: LicenseSource;
|
|
16
|
+
readonly license: VerifiedLicense;
|
|
17
|
+
readonly state: LicenseState;
|
|
18
|
+
readonly token: string;
|
|
19
|
+
}
|
|
20
|
+
export interface EffectiveLicenseUnverifiable {
|
|
21
|
+
readonly ok: false;
|
|
22
|
+
readonly source: LicenseSource;
|
|
23
|
+
readonly code: LicenseVerificationFailureCode;
|
|
24
|
+
readonly message: string;
|
|
25
|
+
}
|
|
26
|
+
export type EffectiveLicense = EffectiveLicenseVerified | EffectiveLicenseUnverifiable;
|
|
27
|
+
export declare function resolveEffectiveLicense(input: ResolveEffectiveLicenseInput): EffectiveLicense;
|
|
28
|
+
//# sourceMappingURL=effective-license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-license.d.ts","sourceRoot":"","sources":["../../src/lib/effective-license.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwB7D,oBAAY,aAAa;IAEvB,QAAQ,aAAa;IAErB,kBAAkB,yBAAyB;CAC5C;AAED,MAAM,WAAW,4BAA6B,SAAQ,0BAA0B;IAM9E,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAM7C,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAOD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAM7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAOD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAE9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,4BAA4B,CAAC;AAUjC,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,4BAA4B,GAClC,gBAAgB,CA6BlB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LicenseSource = void 0;
|
|
4
|
+
exports.resolveEffectiveLicense = resolveEffectiveLicense;
|
|
5
|
+
const embedded_license_ts_1 = require("./embedded-license.js");
|
|
6
|
+
const resolve_license_state_ts_1 = require("./resolve-license-state.js");
|
|
7
|
+
const verify_license_ts_1 = require("./verify-license.js");
|
|
8
|
+
var LicenseSource;
|
|
9
|
+
(function (LicenseSource) {
|
|
10
|
+
LicenseSource["Customer"] = "customer";
|
|
11
|
+
LicenseSource["EmbeddedOpenSource"] = "embedded-open-source";
|
|
12
|
+
})(LicenseSource || (exports.LicenseSource = LicenseSource = {}));
|
|
13
|
+
function resolveEffectiveLicense(input) {
|
|
14
|
+
const source = input.customerLicense === undefined
|
|
15
|
+
? LicenseSource.EmbeddedOpenSource
|
|
16
|
+
: LicenseSource.Customer;
|
|
17
|
+
const token = input.customerLicense ?? (0, embedded_license_ts_1.getEmbeddedOssLicense)();
|
|
18
|
+
const trustStore = input.trustStore ?? (0, embedded_license_ts_1.getProductionLicenseTrustStore)();
|
|
19
|
+
const verified = (0, verify_license_ts_1.verifyLicense)(token, { trustStore });
|
|
20
|
+
if (!verified.ok) {
|
|
21
|
+
return {
|
|
22
|
+
ok: false,
|
|
23
|
+
source,
|
|
24
|
+
code: verified.code,
|
|
25
|
+
message: verified.message,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const state = (0, resolve_license_state_ts_1.resolveLicenseState)(verified, {
|
|
29
|
+
...(input.now !== undefined ? { now: input.now } : {}),
|
|
30
|
+
...(input.clockSkewToleranceMs !== undefined
|
|
31
|
+
? { clockSkewToleranceMs: input.clockSkewToleranceMs }
|
|
32
|
+
: {}),
|
|
33
|
+
...(input.highestObservedTimeMs !== undefined
|
|
34
|
+
? { highestObservedTimeMs: input.highestObservedTimeMs }
|
|
35
|
+
: {}),
|
|
36
|
+
});
|
|
37
|
+
return { ok: true, source, license: verified, state, token };
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=effective-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-license.js","sourceRoot":"","sources":["../../src/lib/effective-license.ts"],"names":[],"mappings":";;;AAqGA,0DA+BC;AApID,+DAG+B;AAC/B,yEAIoC;AAGpC,2DAAoD;AAyBpD,IAAY,aAKX;AALD,WAAY,aAAa;IAEvB,sCAAqB,CAAA;IAErB,4DAA2C,CAAA;AAC7C,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AA4DD,SAAgB,uBAAuB,CACrC,KAAmC;IAEnC,MAAM,MAAM,GACV,KAAK,CAAC,eAAe,KAAK,SAAS;QACjC,CAAC,CAAC,aAAa,CAAC,kBAAkB;QAClC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,IAAI,IAAA,2CAAqB,GAAE,CAAC;IAE/D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAA,oDAA8B,GAAE,CAAC;IACxE,MAAM,QAAQ,GAAG,IAAA,iCAAa,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM;YACN,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,8CAAmB,EAAC,QAAQ,EAAE;QAC1C,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,oBAAoB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE;YACxD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type LicenseTrustStore } from './trust-store.ts';
|
|
2
|
+
import { type LicenseVerificationResult } from './verify-license.ts';
|
|
3
|
+
export declare function getProductionLicenseTrustStore(): LicenseTrustStore;
|
|
4
|
+
export declare function isLicenseMaterialProvisioned(): boolean;
|
|
5
|
+
export declare function getEmbeddedOssLicense(): string;
|
|
6
|
+
export declare function verifyEmbeddedOssLicense(): LicenseVerificationResult;
|
|
7
|
+
//# sourceMappingURL=embedded-license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded-license.d.ts","sourceRoot":"","sources":["../../src/lib/embedded-license.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAC;AAY7B,wBAAgB,8BAA8B,IAAI,iBAAiB,CAGlE;AASD,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAUD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAUD,wBAAgB,wBAAwB,IAAI,yBAAyB,CAIpE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProductionLicenseTrustStore = getProductionLicenseTrustStore;
|
|
4
|
+
exports.isLicenseMaterialProvisioned = isLicenseMaterialProvisioned;
|
|
5
|
+
exports.getEmbeddedOssLicense = getEmbeddedOssLicense;
|
|
6
|
+
exports.verifyEmbeddedOssLicense = verifyEmbeddedOssLicense;
|
|
7
|
+
const license_material_generated_ts_1 = require("../embedded/license-material.generated.js");
|
|
8
|
+
const trust_store_ts_1 = require("./trust-store.js");
|
|
9
|
+
const verify_license_ts_1 = require("./verify-license.js");
|
|
10
|
+
let cachedTrustStore;
|
|
11
|
+
function getProductionLicenseTrustStore() {
|
|
12
|
+
cachedTrustStore ??= (0, trust_store_ts_1.createLicenseTrustStore)(license_material_generated_ts_1.EMBEDDED_LICENSE_PUBLIC_KEYS);
|
|
13
|
+
return cachedTrustStore;
|
|
14
|
+
}
|
|
15
|
+
function isLicenseMaterialProvisioned() {
|
|
16
|
+
return license_material_generated_ts_1.LICENSE_MATERIAL_PROVISIONED;
|
|
17
|
+
}
|
|
18
|
+
function getEmbeddedOssLicense() {
|
|
19
|
+
return license_material_generated_ts_1.EMBEDDED_OSS_LICENSE;
|
|
20
|
+
}
|
|
21
|
+
function verifyEmbeddedOssLicense() {
|
|
22
|
+
return (0, verify_license_ts_1.verifyLicense)(getEmbeddedOssLicense(), {
|
|
23
|
+
trustStore: getProductionLicenseTrustStore(),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=embedded-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded-license.js","sourceRoot":"","sources":["../../src/lib/embedded-license.ts"],"names":[],"mappings":";;AAwBA,wEAGC;AASD,oEAEC;AAUD,sDAEC;AAUD,4DAIC;AAhED,6FAImD;AACnD,qDAG0B;AAC1B,2DAG6B;AAE7B,IAAI,gBAA+C,CAAC;AAUpD,SAAgB,8BAA8B;IAC5C,gBAAgB,KAAK,IAAA,wCAAuB,EAAC,4DAA4B,CAAC,CAAC;IAC3E,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AASD,SAAgB,4BAA4B;IAC1C,OAAO,4DAA4B,CAAC;AACtC,CAAC;AAUD,SAAgB,qBAAqB;IACnC,OAAO,oDAAoB,CAAC;AAC9B,CAAC;AAUD,SAAgB,wBAAwB;IACtC,OAAO,IAAA,iCAAa,EAAC,qBAAqB,EAAE,EAAE;QAC5C,UAAU,EAAE,8BAA8B,EAAE;KAC7C,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { LicenseEntitlement } from './license-claims.ts';
|
|
2
|
+
import { EntitlementAction, EntitlementKind } from './license-enums.ts';
|
|
3
|
+
import { type LicenseState, type ResolveLicenseStateOptions } from './resolve-license-state.ts';
|
|
4
|
+
import type { VerifiedLicense } from './verified-license.ts';
|
|
5
|
+
export declare enum EntitlementDenialReason {
|
|
6
|
+
MalformedQuery = "malformed-query",
|
|
7
|
+
LicenseNotYetValid = "license-not-yet-valid",
|
|
8
|
+
LicenseRevoked = "license-revoked",
|
|
9
|
+
LicenseSuspended = "license-suspended",
|
|
10
|
+
LicenseRestricted = "license-restricted",
|
|
11
|
+
NoMatchingEntitlement = "no-matching-entitlement"
|
|
12
|
+
}
|
|
13
|
+
export interface EntitlementQuery {
|
|
14
|
+
readonly kind: EntitlementKind;
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly action: EntitlementAction;
|
|
17
|
+
}
|
|
18
|
+
export type EntitlementDecision = {
|
|
19
|
+
readonly granted: true;
|
|
20
|
+
readonly state: LicenseState;
|
|
21
|
+
readonly matched: LicenseEntitlement;
|
|
22
|
+
} | {
|
|
23
|
+
readonly granted: false;
|
|
24
|
+
readonly state: LicenseState;
|
|
25
|
+
readonly reason: EntitlementDenialReason;
|
|
26
|
+
};
|
|
27
|
+
export declare function evaluateEntitlement(license: VerifiedLicense, query: EntitlementQuery, options?: ResolveLicenseStateOptions): EntitlementDecision;
|
|
28
|
+
//# sourceMappingURL=evaluate-entitlement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-entitlement.d.ts","sourceRoot":"","sources":["../../src/lib/evaluate-entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAGL,iBAAiB,EACjB,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,oBAAY,uBAAuB;IAEjC,cAAc,oBAAoB;IAElC,kBAAkB,0BAA0B;IAE5C,cAAc,oBAAoB;IAElC,gBAAgB,sBAAsB;IAEtC,iBAAiB,uBAAuB;IAExC,qBAAqB,4BAA4B;CAClD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED,MAAM,MAAM,mBAAmB,GAC3B;IACE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAgBN,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAoCrB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntitlementDenialReason = void 0;
|
|
4
|
+
exports.evaluateEntitlement = evaluateEntitlement;
|
|
5
|
+
const license_enums_ts_1 = require("./license-enums.js");
|
|
6
|
+
const resolve_license_state_ts_1 = require("./resolve-license-state.js");
|
|
7
|
+
var EntitlementDenialReason;
|
|
8
|
+
(function (EntitlementDenialReason) {
|
|
9
|
+
EntitlementDenialReason["MalformedQuery"] = "malformed-query";
|
|
10
|
+
EntitlementDenialReason["LicenseNotYetValid"] = "license-not-yet-valid";
|
|
11
|
+
EntitlementDenialReason["LicenseRevoked"] = "license-revoked";
|
|
12
|
+
EntitlementDenialReason["LicenseSuspended"] = "license-suspended";
|
|
13
|
+
EntitlementDenialReason["LicenseRestricted"] = "license-restricted";
|
|
14
|
+
EntitlementDenialReason["NoMatchingEntitlement"] = "no-matching-entitlement";
|
|
15
|
+
})(EntitlementDenialReason || (exports.EntitlementDenialReason = EntitlementDenialReason = {}));
|
|
16
|
+
function evaluateEntitlement(license, query, options = {}) {
|
|
17
|
+
const state = (0, resolve_license_state_ts_1.resolveLicenseState)(license, options);
|
|
18
|
+
if (!isAskableQuery(query)) {
|
|
19
|
+
return {
|
|
20
|
+
granted: false,
|
|
21
|
+
state,
|
|
22
|
+
reason: EntitlementDenialReason.MalformedQuery,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
if (state.notYetValid) {
|
|
26
|
+
return {
|
|
27
|
+
granted: false,
|
|
28
|
+
state,
|
|
29
|
+
reason: EntitlementDenialReason.LicenseNotYetValid,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const denial = denialForState(state, query.action);
|
|
33
|
+
if (denial !== null) {
|
|
34
|
+
return { granted: false, state, reason: denial };
|
|
35
|
+
}
|
|
36
|
+
const matched = license.claims.entitlements.find((entitlement) => covers(entitlement, query));
|
|
37
|
+
if (matched === undefined) {
|
|
38
|
+
return {
|
|
39
|
+
granted: false,
|
|
40
|
+
state,
|
|
41
|
+
reason: EntitlementDenialReason.NoMatchingEntitlement,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return { granted: true, state, matched };
|
|
45
|
+
}
|
|
46
|
+
function denialForState(state, action) {
|
|
47
|
+
switch (state.status) {
|
|
48
|
+
case license_enums_ts_1.LicenseStatus.Revoked:
|
|
49
|
+
return EntitlementDenialReason.LicenseRevoked;
|
|
50
|
+
case license_enums_ts_1.LicenseStatus.Suspended:
|
|
51
|
+
return action === license_enums_ts_1.EntitlementAction.RunExisting
|
|
52
|
+
? null
|
|
53
|
+
: EntitlementDenialReason.LicenseSuspended;
|
|
54
|
+
case license_enums_ts_1.LicenseStatus.Expired:
|
|
55
|
+
if (state.stage === license_enums_ts_1.LicenseLifecycleStage.Grace) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return action === license_enums_ts_1.EntitlementAction.RunExisting
|
|
59
|
+
? null
|
|
60
|
+
: EntitlementDenialReason.LicenseRestricted;
|
|
61
|
+
case license_enums_ts_1.LicenseStatus.Active:
|
|
62
|
+
return null;
|
|
63
|
+
default: {
|
|
64
|
+
const exhaustive = state.status;
|
|
65
|
+
throw new TypeError(`unhandled license status ${String(exhaustive)}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function covers(entitlement, query) {
|
|
70
|
+
if (entitlement.kind !== query.kind) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return (entitlement.id === query.id || entitlement.id === license_enums_ts_1.ENTITLEMENT_ID_WILDCARD);
|
|
74
|
+
}
|
|
75
|
+
function isAskableQuery(query) {
|
|
76
|
+
const kindIsKnown = Object.values(license_enums_ts_1.EntitlementKind).includes(query.kind);
|
|
77
|
+
const actionIsKnown = Object.values(license_enums_ts_1.EntitlementAction).includes(query.action);
|
|
78
|
+
return (kindIsKnown &&
|
|
79
|
+
actionIsKnown &&
|
|
80
|
+
typeof query.id === 'string' &&
|
|
81
|
+
query.id !== license_enums_ts_1.ENTITLEMENT_ID_WILDCARD &&
|
|
82
|
+
license_enums_ts_1.CANONICAL_IDENTIFIER_PATTERN.test(query.id));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=evaluate-entitlement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-entitlement.js","sourceRoot":"","sources":["../../src/lib/evaluate-entitlement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LicenseLimitValue } from './license-claims.ts';
|
|
2
|
+
import { LicenseLimitKind } from './license-enums.ts';
|
|
3
|
+
import type { VerifiedLicense } from './verified-license.ts';
|
|
4
|
+
export declare enum LimitDecisionReason {
|
|
5
|
+
Unlimited = "unlimited",
|
|
6
|
+
WithinLimit = "within-limit",
|
|
7
|
+
LimitExceeded = "limit-exceeded",
|
|
8
|
+
MalformedRequest = "malformed-request"
|
|
9
|
+
}
|
|
10
|
+
export interface LimitDecision {
|
|
11
|
+
readonly within: boolean;
|
|
12
|
+
readonly reason: LimitDecisionReason;
|
|
13
|
+
readonly kind: LicenseLimitKind;
|
|
14
|
+
readonly limit: LicenseLimitValue;
|
|
15
|
+
readonly requested: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function evaluateLimit(license: VerifiedLicense, kind: LicenseLimitKind, requested: number): LimitDecision;
|
|
18
|
+
//# sourceMappingURL=evaluate-limit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-limit.d.ts","sourceRoot":"","sources":["../../src/lib/evaluate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAA2B,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,oBAAY,mBAAmB;IAE7B,SAAS,cAAc;IAEvB,WAAW,iBAAiB;IAE5B,aAAa,mBAAmB;IAEhC,gBAAgB,sBAAsB;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAcD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,MAAM,GAChB,aAAa,CAmCf"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LimitDecisionReason = void 0;
|
|
4
|
+
exports.evaluateLimit = evaluateLimit;
|
|
5
|
+
const license_enums_ts_1 = require("./license-enums.js");
|
|
6
|
+
var LimitDecisionReason;
|
|
7
|
+
(function (LimitDecisionReason) {
|
|
8
|
+
LimitDecisionReason["Unlimited"] = "unlimited";
|
|
9
|
+
LimitDecisionReason["WithinLimit"] = "within-limit";
|
|
10
|
+
LimitDecisionReason["LimitExceeded"] = "limit-exceeded";
|
|
11
|
+
LimitDecisionReason["MalformedRequest"] = "malformed-request";
|
|
12
|
+
})(LimitDecisionReason || (exports.LimitDecisionReason = LimitDecisionReason = {}));
|
|
13
|
+
function evaluateLimit(license, kind, requested) {
|
|
14
|
+
const limit = license.claims.limits[kind];
|
|
15
|
+
if (!Number.isSafeInteger(requested) || requested < 0) {
|
|
16
|
+
return {
|
|
17
|
+
within: false,
|
|
18
|
+
reason: LimitDecisionReason.MalformedRequest,
|
|
19
|
+
kind,
|
|
20
|
+
limit,
|
|
21
|
+
requested,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (limit === license_enums_ts_1.LICENSE_LIMIT_UNLIMITED) {
|
|
25
|
+
return {
|
|
26
|
+
within: true,
|
|
27
|
+
reason: LimitDecisionReason.Unlimited,
|
|
28
|
+
kind,
|
|
29
|
+
limit,
|
|
30
|
+
requested,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return requested <= limit
|
|
34
|
+
? {
|
|
35
|
+
within: true,
|
|
36
|
+
reason: LimitDecisionReason.WithinLimit,
|
|
37
|
+
kind,
|
|
38
|
+
limit,
|
|
39
|
+
requested,
|
|
40
|
+
}
|
|
41
|
+
: {
|
|
42
|
+
within: false,
|
|
43
|
+
reason: LimitDecisionReason.LimitExceeded,
|
|
44
|
+
kind,
|
|
45
|
+
limit,
|
|
46
|
+
requested,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=evaluate-limit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-limit.js","sourceRoot":"","sources":["../../src/lib/evaluate-limit.ts"],"names":[],"mappings":";;;AAoCA,sCAuCC;AA1ED,yDAA+E;AAI/E,IAAY,mBASX;AATD,WAAY,mBAAmB;IAE7B,8CAAuB,CAAA;IAEvB,mDAA4B,CAAA;IAE5B,uDAAgC,CAAA;IAEhC,6DAAsC,CAAA;AACxC,CAAC,EATW,mBAAmB,mCAAnB,mBAAmB,QAS9B;AAsBD,SAAgB,aAAa,CAC3B,OAAwB,EACxB,IAAsB,EACtB,SAAiB;IAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,mBAAmB,CAAC,gBAAgB;YAC5C,IAAI;YACJ,KAAK;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,0CAAuB,EAAE,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAmB,CAAC,SAAS;YACrC,IAAI;YACJ,KAAK;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,IAAI,KAAK;QACvB,CAAC,CAAC;YACE,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAmB,CAAC,WAAW;YACvC,IAAI;YACJ,KAAK;YACL,SAAS;SACV;QACH,CAAC,CAAC;YACE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,mBAAmB,CAAC,aAAa;YACzC,IAAI;YACJ,KAAK;YACL,SAAS;SACV,CAAC;AACR,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { EntitlementKind, LicenseClaimsVersion, LicenseLimitKind, LicenseSignatureAlgorithm, LicenseStatus, LicenseTier, LICENSE_JWS_TYPE, LICENSE_LIMIT_UNLIMITED } from './license-enums.ts';
|
|
2
|
+
export type LicenseLimitValue = number | typeof LICENSE_LIMIT_UNLIMITED;
|
|
3
|
+
export type LicenseLimits = Readonly<Record<LicenseLimitKind, LicenseLimitValue>>;
|
|
4
|
+
export interface LicenseSubject {
|
|
5
|
+
customerId: string;
|
|
6
|
+
customerName: string;
|
|
7
|
+
}
|
|
8
|
+
export interface LicenseEntitlement {
|
|
9
|
+
kind: EntitlementKind;
|
|
10
|
+
id: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LicenseClaims {
|
|
13
|
+
version: LicenseClaimsVersion;
|
|
14
|
+
licenseId: string;
|
|
15
|
+
issuer: string;
|
|
16
|
+
subject: LicenseSubject;
|
|
17
|
+
tier: LicenseTier;
|
|
18
|
+
status: LicenseStatus;
|
|
19
|
+
entitlements: readonly LicenseEntitlement[];
|
|
20
|
+
limits: LicenseLimits;
|
|
21
|
+
issuedAt: string;
|
|
22
|
+
expiresAt: string | null;
|
|
23
|
+
}
|
|
24
|
+
export interface LicenseJwsHeader {
|
|
25
|
+
alg: LicenseSignatureAlgorithm;
|
|
26
|
+
kid: string;
|
|
27
|
+
typ: typeof LICENSE_JWS_TYPE;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=license-claims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-claims.d.ts","sourceRoot":"","sources":["../../src/lib/license-claims.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAQ5B,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,uBAAuB,CAAC;AAGxE,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAC5C,CAAC;AAGF,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAGD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC5C,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,yBAAyB,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,OAAO,gBAAgB,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-claims.js","sourceRoot":"","sources":["../../src/lib/license-claims.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare enum LicenseTier {
|
|
2
|
+
OpenSource = "open-source",
|
|
3
|
+
SelfHostedCommercial = "self-hosted-commercial",
|
|
4
|
+
Appliance = "appliance"
|
|
5
|
+
}
|
|
6
|
+
export declare enum EntitlementKind {
|
|
7
|
+
Distribution = "distribution",
|
|
8
|
+
Biome = "biome",
|
|
9
|
+
CapabilityClass = "capability-class"
|
|
10
|
+
}
|
|
11
|
+
export declare const ENTITLEMENT_ID_WILDCARD = "*";
|
|
12
|
+
export declare enum LicenseStatus {
|
|
13
|
+
Active = "active",
|
|
14
|
+
Expired = "expired",
|
|
15
|
+
Revoked = "revoked",
|
|
16
|
+
Suspended = "suspended"
|
|
17
|
+
}
|
|
18
|
+
export declare enum LicenseLifecycleStage {
|
|
19
|
+
Valid = "valid",
|
|
20
|
+
Grace = "grace",
|
|
21
|
+
Restricted = "restricted"
|
|
22
|
+
}
|
|
23
|
+
export declare const LICENSE_GRACE_PERIOD_MS: number;
|
|
24
|
+
export declare enum EntitlementAction {
|
|
25
|
+
RunExisting = "run-existing",
|
|
26
|
+
Install = "install",
|
|
27
|
+
Upgrade = "upgrade"
|
|
28
|
+
}
|
|
29
|
+
export declare enum LicenseLimitKind {
|
|
30
|
+
Nodes = "nodes",
|
|
31
|
+
Seats = "seats"
|
|
32
|
+
}
|
|
33
|
+
export declare const LICENSE_LIMIT_UNLIMITED: null;
|
|
34
|
+
export declare enum LicenseClaimsVersion {
|
|
35
|
+
V1 = 1
|
|
36
|
+
}
|
|
37
|
+
export declare enum LicenseSignatureAlgorithm {
|
|
38
|
+
EdDSA = "EdDSA"
|
|
39
|
+
}
|
|
40
|
+
export declare const LICENSE_JWS_TYPE = "application/vnd.xema.license+jws";
|
|
41
|
+
export declare const CANONICAL_IDENTIFIER_PATTERN: RegExp;
|
|
42
|
+
export declare const XEMA_LICENSE_ISSUER = "https://license.xema.dev";
|
|
43
|
+
export declare const OSS_DISTRIBUTION_ID = "oss";
|
|
44
|
+
export declare const OSS_LICENSE_ID = "xema-oss";
|
|
45
|
+
export declare const OSS_LICENSE_CUSTOMER_ID = "xema-open-source";
|
|
46
|
+
export declare const OSS_LICENSE_CUSTOMER_NAME = "Xema Open Source";
|
|
47
|
+
//# sourceMappingURL=license-enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-enums.d.ts","sourceRoot":"","sources":["../../src/lib/license-enums.ts"],"names":[],"mappings":"AAmBA,oBAAY,WAAW;IACrB,UAAU,gBAAgB;IAC1B,oBAAoB,2BAA2B;IAC/C,SAAS,cAAc;CACxB;AAGD,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,eAAe,qBAAqB;CACrC;AAGD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAG3C,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAGD,oBAAY,qBAAqB;IAC/B,KAAK,UAAU;IACf,KAAK,UAAU;IACf,UAAU,eAAe;CAC1B;AAGD,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAGhE,oBAAY,iBAAiB;IAC3B,WAAW,iBAAiB;IAC5B,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAGD,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAGD,eAAO,MAAM,uBAAuB,MAAO,CAAC;AAG5C,oBAAY,oBAAoB;IAC9B,EAAE,IAAI;CACP;AAGD,oBAAY,yBAAyB;IACnC,KAAK,UAAU;CAChB;AAGD,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;AAGnE,eAAO,MAAM,4BAA4B,QACiB,CAAC;AAG3D,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAG9D,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAGzC,eAAO,MAAM,cAAc,aAAa,CAAC;AAGzC,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAG1D,eAAO,MAAM,yBAAyB,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OSS_LICENSE_CUSTOMER_NAME = exports.OSS_LICENSE_CUSTOMER_ID = exports.OSS_LICENSE_ID = exports.OSS_DISTRIBUTION_ID = exports.XEMA_LICENSE_ISSUER = exports.CANONICAL_IDENTIFIER_PATTERN = exports.LICENSE_JWS_TYPE = exports.LicenseSignatureAlgorithm = exports.LicenseClaimsVersion = exports.LICENSE_LIMIT_UNLIMITED = exports.LicenseLimitKind = exports.EntitlementAction = exports.LICENSE_GRACE_PERIOD_MS = exports.LicenseLifecycleStage = exports.LicenseStatus = exports.ENTITLEMENT_ID_WILDCARD = exports.EntitlementKind = exports.LicenseTier = void 0;
|
|
4
|
+
var LicenseTier;
|
|
5
|
+
(function (LicenseTier) {
|
|
6
|
+
LicenseTier["OpenSource"] = "open-source";
|
|
7
|
+
LicenseTier["SelfHostedCommercial"] = "self-hosted-commercial";
|
|
8
|
+
LicenseTier["Appliance"] = "appliance";
|
|
9
|
+
})(LicenseTier || (exports.LicenseTier = LicenseTier = {}));
|
|
10
|
+
var EntitlementKind;
|
|
11
|
+
(function (EntitlementKind) {
|
|
12
|
+
EntitlementKind["Distribution"] = "distribution";
|
|
13
|
+
EntitlementKind["Biome"] = "biome";
|
|
14
|
+
EntitlementKind["CapabilityClass"] = "capability-class";
|
|
15
|
+
})(EntitlementKind || (exports.EntitlementKind = EntitlementKind = {}));
|
|
16
|
+
exports.ENTITLEMENT_ID_WILDCARD = '*';
|
|
17
|
+
var LicenseStatus;
|
|
18
|
+
(function (LicenseStatus) {
|
|
19
|
+
LicenseStatus["Active"] = "active";
|
|
20
|
+
LicenseStatus["Expired"] = "expired";
|
|
21
|
+
LicenseStatus["Revoked"] = "revoked";
|
|
22
|
+
LicenseStatus["Suspended"] = "suspended";
|
|
23
|
+
})(LicenseStatus || (exports.LicenseStatus = LicenseStatus = {}));
|
|
24
|
+
var LicenseLifecycleStage;
|
|
25
|
+
(function (LicenseLifecycleStage) {
|
|
26
|
+
LicenseLifecycleStage["Valid"] = "valid";
|
|
27
|
+
LicenseLifecycleStage["Grace"] = "grace";
|
|
28
|
+
LicenseLifecycleStage["Restricted"] = "restricted";
|
|
29
|
+
})(LicenseLifecycleStage || (exports.LicenseLifecycleStage = LicenseLifecycleStage = {}));
|
|
30
|
+
exports.LICENSE_GRACE_PERIOD_MS = 30 * 24 * 60 * 60 * 1000;
|
|
31
|
+
var EntitlementAction;
|
|
32
|
+
(function (EntitlementAction) {
|
|
33
|
+
EntitlementAction["RunExisting"] = "run-existing";
|
|
34
|
+
EntitlementAction["Install"] = "install";
|
|
35
|
+
EntitlementAction["Upgrade"] = "upgrade";
|
|
36
|
+
})(EntitlementAction || (exports.EntitlementAction = EntitlementAction = {}));
|
|
37
|
+
var LicenseLimitKind;
|
|
38
|
+
(function (LicenseLimitKind) {
|
|
39
|
+
LicenseLimitKind["Nodes"] = "nodes";
|
|
40
|
+
LicenseLimitKind["Seats"] = "seats";
|
|
41
|
+
})(LicenseLimitKind || (exports.LicenseLimitKind = LicenseLimitKind = {}));
|
|
42
|
+
exports.LICENSE_LIMIT_UNLIMITED = null;
|
|
43
|
+
var LicenseClaimsVersion;
|
|
44
|
+
(function (LicenseClaimsVersion) {
|
|
45
|
+
LicenseClaimsVersion[LicenseClaimsVersion["V1"] = 1] = "V1";
|
|
46
|
+
})(LicenseClaimsVersion || (exports.LicenseClaimsVersion = LicenseClaimsVersion = {}));
|
|
47
|
+
var LicenseSignatureAlgorithm;
|
|
48
|
+
(function (LicenseSignatureAlgorithm) {
|
|
49
|
+
LicenseSignatureAlgorithm["EdDSA"] = "EdDSA";
|
|
50
|
+
})(LicenseSignatureAlgorithm || (exports.LicenseSignatureAlgorithm = LicenseSignatureAlgorithm = {}));
|
|
51
|
+
exports.LICENSE_JWS_TYPE = 'application/vnd.xema.license+jws';
|
|
52
|
+
exports.CANONICAL_IDENTIFIER_PATTERN = /^[a-zA-Z0-9](?:[a-zA-Z0-9._:/@+-]{0,254}[a-zA-Z0-9])?$/;
|
|
53
|
+
exports.XEMA_LICENSE_ISSUER = 'https://license.xema.dev';
|
|
54
|
+
exports.OSS_DISTRIBUTION_ID = 'oss';
|
|
55
|
+
exports.OSS_LICENSE_ID = 'xema-oss';
|
|
56
|
+
exports.OSS_LICENSE_CUSTOMER_ID = 'xema-open-source';
|
|
57
|
+
exports.OSS_LICENSE_CUSTOMER_NAME = 'Xema Open Source';
|
|
58
|
+
//# sourceMappingURL=license-enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-enums.js","sourceRoot":"","sources":["../../src/lib/license-enums.ts"],"names":[],"mappings":";;;AAmBA,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,8DAA+C,CAAA;IAC/C,sCAAuB,CAAA;AACzB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAGD,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,kCAAe,CAAA;IACf,uDAAoC,CAAA;AACtC,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAGY,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAG3C,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;AACzB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAGD,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,wCAAe,CAAA;IACf,wCAAe,CAAA;IACf,kDAAyB,CAAA;AAC3B,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAGY,QAAA,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAGhE,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iDAA4B,CAAA;IAC5B,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;AACrB,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAGD,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,mCAAe,CAAA;AACjB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAGY,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAG5C,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,2DAAM,CAAA;AACR,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B;AAGD,IAAY,yBAEX;AAFD,WAAY,yBAAyB;IACnC,4CAAe,CAAA;AACjB,CAAC,EAFW,yBAAyB,yCAAzB,yBAAyB,QAEpC;AAGY,QAAA,gBAAgB,GAAG,kCAAkC,CAAC;AAGtD,QAAA,4BAA4B,GACvC,wDAAwD,CAAC;AAG9C,QAAA,mBAAmB,GAAG,0BAA0B,CAAC;AAGjD,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAG5B,QAAA,cAAc,GAAG,UAAU,CAAC;AAG5B,QAAA,uBAAuB,GAAG,kBAAkB,CAAC;AAG7C,QAAA,yBAAyB,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LicenseSignatureAlgorithm } from './license-enums.ts';
|
|
2
|
+
export interface LicenseSigner {
|
|
3
|
+
readonly keyId: string;
|
|
4
|
+
readonly algorithm: LicenseSignatureAlgorithm;
|
|
5
|
+
sign(signingInput: Uint8Array): Promise<Uint8Array>;
|
|
6
|
+
}
|
|
7
|
+
export declare class LocalKeyLicenseSigner implements LicenseSigner {
|
|
8
|
+
#private;
|
|
9
|
+
readonly algorithm = LicenseSignatureAlgorithm.EdDSA;
|
|
10
|
+
readonly keyId: string;
|
|
11
|
+
private constructor();
|
|
12
|
+
static fromPrivateKeyPem(privateKeyPem: string): LocalKeyLicenseSigner;
|
|
13
|
+
exportPublicKeyPem(): string;
|
|
14
|
+
sign(signingInput: Uint8Array): Promise<Uint8Array>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=license-signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-signer.d.ts","sourceRoot":"","sources":["../../src/lib/license-signer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAiB/D,MAAM,WAAW,aAAa;IAE5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAE9C,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrD;AAYD,qBAAa,qBAAsB,YAAW,aAAa;;IACzD,SAAgB,SAAS,mCAAmC;IAC5D,SAAgB,KAAK,EAAE,MAAM,CAAC;IAG9B,OAAO;WAaO,iBAAiB,CAC7B,aAAa,EAAE,MAAM,GACpB,qBAAqB;IAiBjB,kBAAkB,IAAI,MAAM;IAM5B,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAK3D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalKeyLicenseSigner = void 0;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const license_enums_ts_1 = require("./license-enums.js");
|
|
6
|
+
const trust_store_ts_1 = require("./trust-store.js");
|
|
7
|
+
class LocalKeyLicenseSigner {
|
|
8
|
+
algorithm = license_enums_ts_1.LicenseSignatureAlgorithm.EdDSA;
|
|
9
|
+
keyId;
|
|
10
|
+
#privateKey;
|
|
11
|
+
constructor(privateKey, keyId) {
|
|
12
|
+
this.#privateKey = privateKey;
|
|
13
|
+
this.keyId = keyId;
|
|
14
|
+
}
|
|
15
|
+
static fromPrivateKeyPem(privateKeyPem) {
|
|
16
|
+
const privateKey = (0, node_crypto_1.createPrivateKey)({ key: privateKeyPem, format: 'pem' });
|
|
17
|
+
if (privateKey.asymmetricKeyType !== 'ed25519') {
|
|
18
|
+
throw new TypeError(`a Xema license signing key must be ed25519, received ${String(privateKey.asymmetricKeyType)}`);
|
|
19
|
+
}
|
|
20
|
+
const publicKeyPem = (0, node_crypto_1.createPublicKey)(privateKey)
|
|
21
|
+
.export({ format: 'pem', type: 'spki' })
|
|
22
|
+
.toString();
|
|
23
|
+
return new LocalKeyLicenseSigner(privateKey, (0, trust_store_ts_1.computeLicenseKeyId)(publicKeyPem));
|
|
24
|
+
}
|
|
25
|
+
exportPublicKeyPem() {
|
|
26
|
+
return (0, node_crypto_1.createPublicKey)(this.#privateKey)
|
|
27
|
+
.export({ format: 'pem', type: 'spki' })
|
|
28
|
+
.toString();
|
|
29
|
+
}
|
|
30
|
+
sign(signingInput) {
|
|
31
|
+
return Promise.resolve(new Uint8Array((0, node_crypto_1.sign)(null, signingInput, this.#privateKey)));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.LocalKeyLicenseSigner = LocalKeyLicenseSigner;
|
|
35
|
+
//# sourceMappingURL=license-signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-signer.js","sourceRoot":"","sources":["../../src/lib/license-signer.ts"],"names":[],"mappings":";;;AAAA,6CAKqB;AAErB,yDAA+D;AAC/D,qDAAuD;AAkCvD,MAAa,qBAAqB;IAChB,SAAS,GAAG,4CAAyB,CAAC,KAAK,CAAC;IAC5C,KAAK,CAAS;IACrB,WAAW,CAAY;IAEhC,YAAoB,UAAqB,EAAE,KAAa;QACtD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAUM,MAAM,CAAC,iBAAiB,CAC7B,aAAqB;QAErB,MAAM,UAAU,GAAG,IAAA,8BAAgB,EAAC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,SAAS,CACjB,wDAAwD,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,IAAA,6BAAe,EAAC,UAAU,CAAC;aAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aACvC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,qBAAqB,CAC9B,UAAU,EACV,IAAA,oCAAmB,EAAC,YAAY,CAAC,CAClC,CAAC;IACJ,CAAC;IAGM,kBAAkB;QACvB,OAAO,IAAA,6BAAe,EAAC,IAAI,CAAC,WAAW,CAAC;aACrC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aACvC,QAAQ,EAAE,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,YAAwB;QAClC,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,UAAU,CAAC,IAAA,kBAAI,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;CACF;AAhDD,sDAgDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oss-license.d.ts","sourceRoot":"","sources":["../../src/lib/oss-license.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiCzD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAqBrE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildOssLicenseClaims = buildOssLicenseClaims;
|
|
4
|
+
const license_enums_ts_1 = require("./license-enums.js");
|
|
5
|
+
function buildOssLicenseClaims(issuedAt) {
|
|
6
|
+
return {
|
|
7
|
+
version: license_enums_ts_1.LicenseClaimsVersion.V1,
|
|
8
|
+
licenseId: license_enums_ts_1.OSS_LICENSE_ID,
|
|
9
|
+
issuer: license_enums_ts_1.XEMA_LICENSE_ISSUER,
|
|
10
|
+
subject: {
|
|
11
|
+
customerId: license_enums_ts_1.OSS_LICENSE_CUSTOMER_ID,
|
|
12
|
+
customerName: license_enums_ts_1.OSS_LICENSE_CUSTOMER_NAME,
|
|
13
|
+
},
|
|
14
|
+
tier: license_enums_ts_1.LicenseTier.OpenSource,
|
|
15
|
+
status: license_enums_ts_1.LicenseStatus.Active,
|
|
16
|
+
entitlements: [
|
|
17
|
+
{ kind: license_enums_ts_1.EntitlementKind.Distribution, id: license_enums_ts_1.OSS_DISTRIBUTION_ID },
|
|
18
|
+
],
|
|
19
|
+
limits: {
|
|
20
|
+
[license_enums_ts_1.LicenseLimitKind.Nodes]: null,
|
|
21
|
+
[license_enums_ts_1.LicenseLimitKind.Seats]: null,
|
|
22
|
+
},
|
|
23
|
+
issuedAt,
|
|
24
|
+
expiresAt: null,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=oss-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oss-license.js","sourceRoot":"","sources":["../../src/lib/oss-license.ts"],"names":[],"mappings":";;AAiCA,sDAqBC;AArDD,yDAW4B;AAqB5B,SAAgB,qBAAqB,CAAC,QAAgB;IACpD,OAAO;QACL,OAAO,EAAE,uCAAoB,CAAC,EAAE;QAChC,SAAS,EAAE,iCAAc;QACzB,MAAM,EAAE,sCAAmB;QAC3B,OAAO,EAAE;YACP,UAAU,EAAE,0CAAuB;YACnC,YAAY,EAAE,4CAAyB;SACxC;QACD,IAAI,EAAE,8BAAW,CAAC,UAAU;QAC5B,MAAM,EAAE,gCAAa,CAAC,MAAM;QAC5B,YAAY,EAAE;YACZ,EAAE,IAAI,EAAE,kCAAe,CAAC,YAAY,EAAE,EAAE,EAAE,sCAAmB,EAAE;SAChE;QACD,MAAM,EAAE;YACN,CAAC,mCAAgB,CAAC,KAAK,CAAC,EAAE,IAAI;YAC9B,CAAC,mCAAgB,CAAC,KAAK,CAAC,EAAE,IAAI;SAC/B;QACD,QAAQ;QACR,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LicenseClaims } from './license-claims.ts';
|
|
2
|
+
import { type LicenseVerificationFailure } from './verification-failure.ts';
|
|
3
|
+
export type ParseLicenseClaimsResult = {
|
|
4
|
+
readonly ok: true;
|
|
5
|
+
readonly claims: LicenseClaims;
|
|
6
|
+
} | LicenseVerificationFailure;
|
|
7
|
+
export declare function parseLicenseClaims(payload: unknown): ParseLicenseClaimsResult;
|
|
8
|
+
//# sourceMappingURL=parse-license-claims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-license-claims.d.ts","sourceRoot":"","sources":["../../src/lib/parse-license-claims.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AA2BnC,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACrD,0BAA0B,CAAC;AAe/B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,wBAAwB,CA4F7E"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-license-claims.js","sourceRoot":"","sources":["../../src/lib/parse-license-claims.ts"],"names":[],"mappings":";;AAiEA,gDA4FC;AAtJD,yDAQ4B;AAC5B,6CAA+C;AAC/C,uEAImC;AAGnC,MAAM,yBAAyB,GAAoC;IACjE,uCAAoB,CAAC,EAAE;CACxB,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,SAAS;IACT,WAAW;IACX,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,UAAU;IACV,WAAW;CACH,CAAC;AAEX,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,cAAc,CAAU,CAAC;AAC7D,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAU,CAAC;AAGjD,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAmB9B,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,kBAAkB,UAAU,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAA+B,CAAC,EACpE,CAAC;QACD,OAAO,IAAA,6CAAmB,EACxB,wDAA8B,CAAC,wBAAwB,EACvD,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4BAA4B,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxH,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC,mCAAmC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,WAAW,CAAC,8BAAW,EAAE,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,WAAW,CAAC,gCAAa,EAAE,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CACd,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,UAAU,GACd,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,4BAAe,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GACf,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,4BAAe,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,SAAS,CAAC,mDAAmD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,kCAAkC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,OAAO;YACP,SAAS;YACT,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI;YACJ,MAAM;YACN,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ;YACR,SAAS;SACV;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,KAAc;IAId,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,0BAA0B,UAAU,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,SAAS,CAAC,mDAAmD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5C,IACE,OAAO,YAAY,KAAK,QAAQ;QAChC,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,YAAY,CAAC,MAAM,GAAG,uBAAuB,EAC7C,CAAC;QACD,OAAO,SAAS,CACd,+CAA+C,uBAAuB,aAAa,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc;IAId,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACpC,OAAO,SAAS,CACd,kCAAkC,gBAAgB,SAAS,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAyB,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,gBAAgB,KAAK,yBAAyB,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC5D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,SAAS,CACd,8BAA8B,UAAU,cAAc,KAAK,EAAE,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,kCAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,SAAS,CACd,gBAAgB,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iCAAiC,CACrF,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IACE,OAAO,EAAE,KAAK,QAAQ;YACtB,CAAC,EAAE,KAAK,0CAAuB,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAC9D,CAAC;YACD,OAAO,SAAS,CACd,gBAAgB,KAAK,2CAA2C,0CAAuB,GAAG,CAC3F,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAI1B,OAAO,SAAS,CAAC,yBAAyB,IAAI,IAAI,EAAE,aAAa,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAClB,KAAc;IAId,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,mCAAgB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,kBAAkB,UAAU,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,MAAM,GAAyD,EAAE,CAAC;IACxE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAEjC,OAAO,SAAS,CAAC,UAAU,IAAI,uCAAuC,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YAC5B,KAAK,GAAG,CAAC,EACT,CAAC;YACD,OAAO,SAAS,CACd,UAAU,IAAI,8CAA8C,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAuB,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,IAAA,6CAAmB,EACxB,wDAA8B,CAAC,eAAe,EAC9C,OAAO,CACR,CAAC;AACJ,CAAC;AAQD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CACrB,MAA+B,EAC/B,OAA0B;IAE1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,+CAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAClB,WAAc,EACd,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CACzD,CAAC;AACJ,CAAC"}
|