@xemahq/license-verifier 0.1.2 → 0.1.4
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.
|
@@ -31,11 +31,11 @@ function resolveLicenseState(license, options = {}) {
|
|
|
31
31
|
}
|
|
32
32
|
const notYetValid = now + skew < issuedAtMs;
|
|
33
33
|
const graceEndsAtMs = expiresAtMs === null ? null : expiresAtMs + license_enums_ts_1.LICENSE_GRACE_PERIOD_MS;
|
|
34
|
-
const
|
|
35
|
-
const status = resolveEffectiveStatus(claims.status,
|
|
34
|
+
const clockStage = resolveClockStage(now, skew, expiresAtMs, graceEndsAtMs);
|
|
35
|
+
const status = resolveEffectiveStatus(claims.status, clockStage);
|
|
36
36
|
const stage = notYetValid
|
|
37
37
|
? license_enums_ts_1.LicenseLifecycleStage.Restricted
|
|
38
|
-
: restrictForStatus(
|
|
38
|
+
: restrictForStatus(clockStage, claims.status);
|
|
39
39
|
return {
|
|
40
40
|
status,
|
|
41
41
|
stage,
|
|
@@ -47,7 +47,7 @@ function resolveLicenseState(license, options = {}) {
|
|
|
47
47
|
evaluatedAtMs: now,
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function resolveClockStage(now, skew, expiresAtMs, graceEndsAtMs) {
|
|
51
51
|
if (expiresAtMs === null || graceEndsAtMs === null) {
|
|
52
52
|
return license_enums_ts_1.LicenseLifecycleStage.Valid;
|
|
53
53
|
}
|
|
@@ -59,16 +59,16 @@ function resolveTemporalStage(now, skew, expiresAtMs, graceEndsAtMs) {
|
|
|
59
59
|
}
|
|
60
60
|
return license_enums_ts_1.LicenseLifecycleStage.Restricted;
|
|
61
61
|
}
|
|
62
|
-
function resolveEffectiveStatus(claimed,
|
|
62
|
+
function resolveEffectiveStatus(claimed, clockStage) {
|
|
63
63
|
if (claimed === license_enums_ts_1.LicenseStatus.Active &&
|
|
64
|
-
|
|
64
|
+
clockStage !== license_enums_ts_1.LicenseLifecycleStage.Valid) {
|
|
65
65
|
return license_enums_ts_1.LicenseStatus.Expired;
|
|
66
66
|
}
|
|
67
67
|
return claimed;
|
|
68
68
|
}
|
|
69
|
-
function restrictForStatus(
|
|
69
|
+
function restrictForStatus(clockStage, claimed) {
|
|
70
70
|
return claimed === license_enums_ts_1.LicenseStatus.Active
|
|
71
|
-
?
|
|
71
|
+
? clockStage
|
|
72
72
|
: license_enums_ts_1.LicenseLifecycleStage.Restricted;
|
|
73
73
|
}
|
|
74
74
|
//# sourceMappingURL=resolve-license-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-license-state.js","sourceRoot":"","sources":["../../src/lib/resolve-license-state.ts"],"names":[],"mappings":";;;AAyEA,kDA8DC;AAvID,yDAI4B;AAC5B,6CAA+C;AASlC,QAAA,+BAA+B,GAAG,MAAM,CAAC;AAOzC,QAAA,2BAA2B,GAAG,CAAC,GAAG,MAAM,CAAC;AAoDtD,SAAgB,mBAAmB,CACjC,OAAwB,EACxB,UAAsC,EAAE;IAExC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,oBAAoB,IAAI,uCAA+B,CAAC;IAC7E,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,CAAC;QACR,IAAI,GAAG,mCAA2B,EAClC,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,0CAA0C,mCAA2B,cAAc,IAAI,EAAE,CAC1F,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAG3B,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,WAAW,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CACjB,qDAAqD,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,GAAG,UAAU,CAAC;IAC5C,MAAM,aAAa,GACjB,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,0CAAuB,CAAC;IAEtE,MAAM,
|
|
1
|
+
{"version":3,"file":"resolve-license-state.js","sourceRoot":"","sources":["../../src/lib/resolve-license-state.ts"],"names":[],"mappings":";;;AAyEA,kDA8DC;AAvID,yDAI4B;AAC5B,6CAA+C;AASlC,QAAA,+BAA+B,GAAG,MAAM,CAAC;AAOzC,QAAA,2BAA2B,GAAG,CAAC,GAAG,MAAM,CAAC;AAoDtD,SAAgB,mBAAmB,CACjC,OAAwB,EACxB,UAAsC,EAAE;IAExC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,oBAAoB,IAAI,uCAA+B,CAAC;IAC7E,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,CAAC;QACR,IAAI,GAAG,mCAA2B,EAClC,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,0CAA0C,mCAA2B,cAAc,IAAI,EAAE,CAC1F,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAG3B,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,WAAW,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CACjB,qDAAqD,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,GAAG,UAAU,CAAC;IAC5C,MAAM,aAAa,GACjB,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,0CAAuB,CAAC;IAEtE,MAAM,UAAU,GAAG,iBAAiB,CAClC,GAAG,EACH,IAAI,EACJ,WAAW,EACX,aAAa,CACd,CAAC;IACF,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,WAAW;QACvB,CAAC,CAAC,wCAAqB,CAAC,UAAU;QAClC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO;QACL,MAAM;QACN,KAAK;QACL,WAAW;QACX,WAAW;QACX,aAAa;QACb,qBAAqB,EACnB,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC3C,GAAG,GAAG,OAAO,CAAC,qBAAqB;QACrC,aAAa,EAAE,GAAG;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAW,EACX,IAAY,EACZ,WAA0B,EAC1B,aAA4B;IAE5B,IAAI,WAAW,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,wCAAqB,CAAC,KAAK,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;QAC9B,OAAO,wCAAqB,CAAC,KAAK,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;QAChC,OAAO,wCAAqB,CAAC,KAAK,CAAC;IACrC,CAAC;IACD,OAAO,wCAAqB,CAAC,UAAU,CAAC;AAC1C,CAAC;AAQD,SAAS,sBAAsB,CAC7B,OAAsB,EACtB,UAAiC;IAEjC,IACE,OAAO,KAAK,gCAAa,CAAC,MAAM;QAChC,UAAU,KAAK,wCAAqB,CAAC,KAAK,EAC1C,CAAC;QACD,OAAO,gCAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAUD,SAAS,iBAAiB,CACxB,UAAiC,EACjC,OAAsB;IAEtB,OAAO,OAAO,KAAK,gCAAa,CAAC,MAAM;QACrC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,wCAAqB,CAAC,UAAU,CAAC;AACvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/license-verifier",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Offline verification of a Xema license — Ed25519 JWS against an embedded public key, lifecycle resolution and entitlement evaluation. Zero dependencies, Node built-ins only, so it runs in the CLI from a bare checkout and in the air-gap installer on a disconnected box.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@types/node": "25.2.3",
|
|
25
25
|
"prettier": "3.6.2",
|
|
26
26
|
"typescript": "5.9.3",
|
|
27
|
-
"@xemahq/license-contracts": "0.1.
|
|
27
|
+
"@xemahq/license-contracts": "0.1.1"
|
|
28
28
|
},
|
|
29
29
|
"exports": {
|
|
30
30
|
".": {
|