@askexenow/exe-os 0.8.42 → 0.8.43
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/dist/bin/cli.js +15 -1
- package/dist/bin/exe-boot.js +15 -1
- package/dist/bin/exe-cloud.js +15 -1
- package/dist/bin/exe-gateway.js +15 -1
- package/dist/bin/exe-link.js +19 -1
- package/dist/bin/exe-new-employee.js +19 -1
- package/dist/bin/setup.js +15 -1
- package/dist/hooks/ingest-worker.js +19 -1
- package/dist/hooks/prompt-ingest-worker.js +19 -1
- package/dist/hooks/response-ingest-worker.js +19 -1
- package/dist/hooks/summary-worker.js +19 -1
- package/dist/lib/cloud-sync.js +19 -1
- package/dist/lib/license.js +15 -1
- package/dist/mcp/server.js +15 -1
- package/dist/tui/App.js +15 -1
- package/package.json +1 -1
package/dist/bin/cli.js
CHANGED
|
@@ -4805,7 +4805,21 @@ function getCacheAgeMs() {
|
|
|
4805
4805
|
}
|
|
4806
4806
|
}
|
|
4807
4807
|
async function checkLicense() {
|
|
4808
|
-
|
|
4808
|
+
let key = loadLicense();
|
|
4809
|
+
if (!key) {
|
|
4810
|
+
try {
|
|
4811
|
+
const configPath = path11.join(EXE_AI_DIR, "config.json");
|
|
4812
|
+
if (existsSync10(configPath)) {
|
|
4813
|
+
const raw = JSON.parse(readFileSync6(configPath, "utf8"));
|
|
4814
|
+
const cloud = raw.cloud;
|
|
4815
|
+
if (cloud?.apiKey) {
|
|
4816
|
+
key = cloud.apiKey;
|
|
4817
|
+
saveLicense(key);
|
|
4818
|
+
}
|
|
4819
|
+
}
|
|
4820
|
+
} catch {
|
|
4821
|
+
}
|
|
4822
|
+
}
|
|
4809
4823
|
if (!key) return FREE_LICENSE;
|
|
4810
4824
|
const cached = await getCachedLicense();
|
|
4811
4825
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/bin/exe-boot.js
CHANGED
|
@@ -2532,7 +2532,21 @@ function getCacheAgeMs() {
|
|
|
2532
2532
|
}
|
|
2533
2533
|
}
|
|
2534
2534
|
async function checkLicense() {
|
|
2535
|
-
|
|
2535
|
+
let key = loadLicense();
|
|
2536
|
+
if (!key) {
|
|
2537
|
+
try {
|
|
2538
|
+
const configPath = path9.join(EXE_AI_DIR, "config.json");
|
|
2539
|
+
if (existsSync8(configPath)) {
|
|
2540
|
+
const raw = JSON.parse(readFileSync7(configPath, "utf8"));
|
|
2541
|
+
const cloud = raw.cloud;
|
|
2542
|
+
if (cloud?.apiKey) {
|
|
2543
|
+
key = cloud.apiKey;
|
|
2544
|
+
saveLicense(key);
|
|
2545
|
+
}
|
|
2546
|
+
}
|
|
2547
|
+
} catch {
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2536
2550
|
if (!key) return FREE_LICENSE;
|
|
2537
2551
|
const cached = await getCachedLicense();
|
|
2538
2552
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/bin/exe-cloud.js
CHANGED
|
@@ -373,7 +373,21 @@ function getCacheAgeMs() {
|
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
375
|
async function checkLicense() {
|
|
376
|
-
|
|
376
|
+
let key = loadLicense();
|
|
377
|
+
if (!key) {
|
|
378
|
+
try {
|
|
379
|
+
const configPath = path4.join(EXE_AI_DIR, "config.json");
|
|
380
|
+
if (existsSync4(configPath)) {
|
|
381
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
382
|
+
const cloud = raw.cloud;
|
|
383
|
+
if (cloud?.apiKey) {
|
|
384
|
+
key = cloud.apiKey;
|
|
385
|
+
saveLicense(key);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
} catch {
|
|
389
|
+
}
|
|
390
|
+
}
|
|
377
391
|
if (!key) return FREE_LICENSE;
|
|
378
392
|
const cached = await getCachedLicense();
|
|
379
393
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/bin/exe-gateway.js
CHANGED
|
@@ -3064,7 +3064,21 @@ function getCacheAgeMs() {
|
|
|
3064
3064
|
}
|
|
3065
3065
|
}
|
|
3066
3066
|
async function checkLicense() {
|
|
3067
|
-
|
|
3067
|
+
let key = loadLicense();
|
|
3068
|
+
if (!key) {
|
|
3069
|
+
try {
|
|
3070
|
+
const configPath = path5.join(EXE_AI_DIR, "config.json");
|
|
3071
|
+
if (existsSync5(configPath)) {
|
|
3072
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
3073
|
+
const cloud = raw.cloud;
|
|
3074
|
+
if (cloud?.apiKey) {
|
|
3075
|
+
key = cloud.apiKey;
|
|
3076
|
+
saveLicense(key);
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
} catch {
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3068
3082
|
if (!key) return FREE_LICENSE;
|
|
3069
3083
|
const cached = await getCachedLicense();
|
|
3070
3084
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/bin/exe-link.js
CHANGED
|
@@ -477,6 +477,10 @@ function loadLicense() {
|
|
|
477
477
|
return null;
|
|
478
478
|
}
|
|
479
479
|
}
|
|
480
|
+
function saveLicense(apiKey) {
|
|
481
|
+
mkdirSync(EXE_AI_DIR, { recursive: true });
|
|
482
|
+
writeFileSync(LICENSE_PATH, apiKey.trim(), { encoding: "utf8", mode: 384 });
|
|
483
|
+
}
|
|
480
484
|
async function verifyLicenseJwt(token) {
|
|
481
485
|
try {
|
|
482
486
|
const key = await importSPKI(LICENSE_PUBLIC_KEY_PEM, LICENSE_JWT_ALG);
|
|
@@ -566,7 +570,21 @@ function getCacheAgeMs() {
|
|
|
566
570
|
}
|
|
567
571
|
}
|
|
568
572
|
async function checkLicense() {
|
|
569
|
-
|
|
573
|
+
let key = loadLicense();
|
|
574
|
+
if (!key) {
|
|
575
|
+
try {
|
|
576
|
+
const configPath = path4.join(EXE_AI_DIR, "config.json");
|
|
577
|
+
if (existsSync4(configPath)) {
|
|
578
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
579
|
+
const cloud = raw.cloud;
|
|
580
|
+
if (cloud?.apiKey) {
|
|
581
|
+
key = cloud.apiKey;
|
|
582
|
+
saveLicense(key);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
} catch {
|
|
586
|
+
}
|
|
587
|
+
}
|
|
570
588
|
if (!key) return FREE_LICENSE;
|
|
571
589
|
const cached = await getCachedLicense();
|
|
572
590
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
|
@@ -1306,6 +1306,10 @@ function loadLicense() {
|
|
|
1306
1306
|
return null;
|
|
1307
1307
|
}
|
|
1308
1308
|
}
|
|
1309
|
+
function saveLicense(apiKey) {
|
|
1310
|
+
mkdirSync(EXE_AI_DIR, { recursive: true });
|
|
1311
|
+
writeFileSync(LICENSE_PATH, apiKey.trim(), { encoding: "utf8", mode: 384 });
|
|
1312
|
+
}
|
|
1309
1313
|
async function verifyLicenseJwt(token) {
|
|
1310
1314
|
try {
|
|
1311
1315
|
const key = await importSPKI(LICENSE_PUBLIC_KEY_PEM, LICENSE_JWT_ALG);
|
|
@@ -1396,7 +1400,21 @@ function getCacheAgeMs() {
|
|
|
1396
1400
|
}
|
|
1397
1401
|
}
|
|
1398
1402
|
async function checkLicense() {
|
|
1399
|
-
|
|
1403
|
+
let key = loadLicense();
|
|
1404
|
+
if (!key) {
|
|
1405
|
+
try {
|
|
1406
|
+
const configPath = path3.join(EXE_AI_DIR, "config.json");
|
|
1407
|
+
if (existsSync3(configPath)) {
|
|
1408
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
1409
|
+
const cloud = raw.cloud;
|
|
1410
|
+
if (cloud?.apiKey) {
|
|
1411
|
+
key = cloud.apiKey;
|
|
1412
|
+
saveLicense(key);
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
} catch {
|
|
1416
|
+
}
|
|
1417
|
+
}
|
|
1400
1418
|
if (!key) return FREE_LICENSE;
|
|
1401
1419
|
const cached = await getCachedLicense();
|
|
1402
1420
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/bin/setup.js
CHANGED
|
@@ -841,7 +841,21 @@ function getCacheAgeMs() {
|
|
|
841
841
|
}
|
|
842
842
|
}
|
|
843
843
|
async function checkLicense() {
|
|
844
|
-
|
|
844
|
+
let key = loadLicense();
|
|
845
|
+
if (!key) {
|
|
846
|
+
try {
|
|
847
|
+
const configPath = path5.join(EXE_AI_DIR, "config.json");
|
|
848
|
+
if (existsSync5(configPath)) {
|
|
849
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
850
|
+
const cloud = raw.cloud;
|
|
851
|
+
if (cloud?.apiKey) {
|
|
852
|
+
key = cloud.apiKey;
|
|
853
|
+
saveLicense(key);
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
} catch {
|
|
857
|
+
}
|
|
858
|
+
}
|
|
845
859
|
if (!key) return FREE_LICENSE;
|
|
846
860
|
const cached = await getCachedLicense();
|
|
847
861
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
|
@@ -1773,6 +1773,10 @@ function loadLicense() {
|
|
|
1773
1773
|
return null;
|
|
1774
1774
|
}
|
|
1775
1775
|
}
|
|
1776
|
+
function saveLicense(apiKey) {
|
|
1777
|
+
mkdirSync2(EXE_AI_DIR, { recursive: true });
|
|
1778
|
+
writeFileSync(LICENSE_PATH, apiKey.trim(), { encoding: "utf8", mode: 384 });
|
|
1779
|
+
}
|
|
1776
1780
|
async function verifyLicenseJwt(token) {
|
|
1777
1781
|
try {
|
|
1778
1782
|
const key = await importSPKI(LICENSE_PUBLIC_KEY_PEM, LICENSE_JWT_ALG);
|
|
@@ -1862,7 +1866,21 @@ function getCacheAgeMs() {
|
|
|
1862
1866
|
}
|
|
1863
1867
|
}
|
|
1864
1868
|
async function checkLicense() {
|
|
1865
|
-
|
|
1869
|
+
let key = loadLicense();
|
|
1870
|
+
if (!key) {
|
|
1871
|
+
try {
|
|
1872
|
+
const configPath = path8.join(EXE_AI_DIR, "config.json");
|
|
1873
|
+
if (existsSync7(configPath)) {
|
|
1874
|
+
const raw = JSON.parse(readFileSync5(configPath, "utf8"));
|
|
1875
|
+
const cloud = raw.cloud;
|
|
1876
|
+
if (cloud?.apiKey) {
|
|
1877
|
+
key = cloud.apiKey;
|
|
1878
|
+
saveLicense(key);
|
|
1879
|
+
}
|
|
1880
|
+
}
|
|
1881
|
+
} catch {
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1866
1884
|
if (!key) return FREE_LICENSE;
|
|
1867
1885
|
const cached = await getCachedLicense();
|
|
1868
1886
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
|
@@ -2396,6 +2396,10 @@ function loadLicense() {
|
|
|
2396
2396
|
return null;
|
|
2397
2397
|
}
|
|
2398
2398
|
}
|
|
2399
|
+
function saveLicense(apiKey) {
|
|
2400
|
+
mkdirSync2(EXE_AI_DIR, { recursive: true });
|
|
2401
|
+
writeFileSync(LICENSE_PATH, apiKey.trim(), { encoding: "utf8", mode: 384 });
|
|
2402
|
+
}
|
|
2399
2403
|
async function verifyLicenseJwt(token) {
|
|
2400
2404
|
try {
|
|
2401
2405
|
const key = await importSPKI(LICENSE_PUBLIC_KEY_PEM, LICENSE_JWT_ALG);
|
|
@@ -2486,7 +2490,21 @@ function getCacheAgeMs() {
|
|
|
2486
2490
|
}
|
|
2487
2491
|
}
|
|
2488
2492
|
async function checkLicense() {
|
|
2489
|
-
|
|
2493
|
+
let key = loadLicense();
|
|
2494
|
+
if (!key) {
|
|
2495
|
+
try {
|
|
2496
|
+
const configPath = path6.join(EXE_AI_DIR, "config.json");
|
|
2497
|
+
if (existsSync5(configPath)) {
|
|
2498
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
2499
|
+
const cloud = raw.cloud;
|
|
2500
|
+
if (cloud?.apiKey) {
|
|
2501
|
+
key = cloud.apiKey;
|
|
2502
|
+
saveLicense(key);
|
|
2503
|
+
}
|
|
2504
|
+
}
|
|
2505
|
+
} catch {
|
|
2506
|
+
}
|
|
2507
|
+
}
|
|
2490
2508
|
if (!key) return FREE_LICENSE;
|
|
2491
2509
|
const cached = await getCachedLicense();
|
|
2492
2510
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
|
@@ -1963,6 +1963,10 @@ function loadLicense() {
|
|
|
1963
1963
|
return null;
|
|
1964
1964
|
}
|
|
1965
1965
|
}
|
|
1966
|
+
function saveLicense(apiKey) {
|
|
1967
|
+
mkdirSync2(EXE_AI_DIR, { recursive: true });
|
|
1968
|
+
writeFileSync(LICENSE_PATH, apiKey.trim(), { encoding: "utf8", mode: 384 });
|
|
1969
|
+
}
|
|
1966
1970
|
async function verifyLicenseJwt(token) {
|
|
1967
1971
|
try {
|
|
1968
1972
|
const key = await importSPKI(LICENSE_PUBLIC_KEY_PEM, LICENSE_JWT_ALG);
|
|
@@ -2052,7 +2056,21 @@ function getCacheAgeMs() {
|
|
|
2052
2056
|
}
|
|
2053
2057
|
}
|
|
2054
2058
|
async function checkLicense() {
|
|
2055
|
-
|
|
2059
|
+
let key = loadLicense();
|
|
2060
|
+
if (!key) {
|
|
2061
|
+
try {
|
|
2062
|
+
const configPath = path7.join(EXE_AI_DIR, "config.json");
|
|
2063
|
+
if (existsSync6(configPath)) {
|
|
2064
|
+
const raw = JSON.parse(readFileSync4(configPath, "utf8"));
|
|
2065
|
+
const cloud = raw.cloud;
|
|
2066
|
+
if (cloud?.apiKey) {
|
|
2067
|
+
key = cloud.apiKey;
|
|
2068
|
+
saveLicense(key);
|
|
2069
|
+
}
|
|
2070
|
+
}
|
|
2071
|
+
} catch {
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2056
2074
|
if (!key) return FREE_LICENSE;
|
|
2057
2075
|
const cached = await getCachedLicense();
|
|
2058
2076
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
|
@@ -1764,6 +1764,10 @@ function loadLicense() {
|
|
|
1764
1764
|
return null;
|
|
1765
1765
|
}
|
|
1766
1766
|
}
|
|
1767
|
+
function saveLicense(apiKey) {
|
|
1768
|
+
mkdirSync2(EXE_AI_DIR, { recursive: true });
|
|
1769
|
+
writeFileSync(LICENSE_PATH, apiKey.trim(), { encoding: "utf8", mode: 384 });
|
|
1770
|
+
}
|
|
1767
1771
|
async function verifyLicenseJwt(token) {
|
|
1768
1772
|
try {
|
|
1769
1773
|
const key = await importSPKI(LICENSE_PUBLIC_KEY_PEM, LICENSE_JWT_ALG);
|
|
@@ -1853,7 +1857,21 @@ function getCacheAgeMs() {
|
|
|
1853
1857
|
}
|
|
1854
1858
|
}
|
|
1855
1859
|
async function checkLicense() {
|
|
1856
|
-
|
|
1860
|
+
let key = loadLicense();
|
|
1861
|
+
if (!key) {
|
|
1862
|
+
try {
|
|
1863
|
+
const configPath = path6.join(EXE_AI_DIR, "config.json");
|
|
1864
|
+
if (existsSync6(configPath)) {
|
|
1865
|
+
const raw = JSON.parse(readFileSync4(configPath, "utf8"));
|
|
1866
|
+
const cloud = raw.cloud;
|
|
1867
|
+
if (cloud?.apiKey) {
|
|
1868
|
+
key = cloud.apiKey;
|
|
1869
|
+
saveLicense(key);
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
} catch {
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1857
1875
|
if (!key) return FREE_LICENSE;
|
|
1858
1876
|
const cached = await getCachedLicense();
|
|
1859
1877
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/lib/cloud-sync.js
CHANGED
|
@@ -297,6 +297,10 @@ function loadLicense() {
|
|
|
297
297
|
return null;
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
|
+
function saveLicense(apiKey) {
|
|
301
|
+
mkdirSync(EXE_AI_DIR, { recursive: true });
|
|
302
|
+
writeFileSync(LICENSE_PATH, apiKey.trim(), { encoding: "utf8", mode: 384 });
|
|
303
|
+
}
|
|
300
304
|
async function verifyLicenseJwt(token) {
|
|
301
305
|
try {
|
|
302
306
|
const key = await importSPKI(LICENSE_PUBLIC_KEY_PEM, LICENSE_JWT_ALG);
|
|
@@ -387,7 +391,21 @@ function getCacheAgeMs() {
|
|
|
387
391
|
}
|
|
388
392
|
}
|
|
389
393
|
async function checkLicense() {
|
|
390
|
-
|
|
394
|
+
let key = loadLicense();
|
|
395
|
+
if (!key) {
|
|
396
|
+
try {
|
|
397
|
+
const configPath = path3.join(EXE_AI_DIR, "config.json");
|
|
398
|
+
if (existsSync3(configPath)) {
|
|
399
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
400
|
+
const cloud = raw.cloud;
|
|
401
|
+
if (cloud?.apiKey) {
|
|
402
|
+
key = cloud.apiKey;
|
|
403
|
+
saveLicense(key);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
} catch {
|
|
407
|
+
}
|
|
408
|
+
}
|
|
391
409
|
if (!key) return FREE_LICENSE;
|
|
392
410
|
const cached = await getCachedLicense();
|
|
393
411
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/lib/license.js
CHANGED
|
@@ -269,7 +269,21 @@ function getCacheAgeMs() {
|
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
async function checkLicense() {
|
|
272
|
-
|
|
272
|
+
let key = loadLicense();
|
|
273
|
+
if (!key) {
|
|
274
|
+
try {
|
|
275
|
+
const configPath = path2.join(EXE_AI_DIR, "config.json");
|
|
276
|
+
if (existsSync2(configPath)) {
|
|
277
|
+
const raw = JSON.parse(readFileSync2(configPath, "utf8"));
|
|
278
|
+
const cloud = raw.cloud;
|
|
279
|
+
if (cloud?.apiKey) {
|
|
280
|
+
key = cloud.apiKey;
|
|
281
|
+
saveLicense(key);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
} catch {
|
|
285
|
+
}
|
|
286
|
+
}
|
|
273
287
|
if (!key) return FREE_LICENSE;
|
|
274
288
|
const cached = await getCachedLicense();
|
|
275
289
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/mcp/server.js
CHANGED
|
@@ -3455,7 +3455,21 @@ function getCacheAgeMs() {
|
|
|
3455
3455
|
}
|
|
3456
3456
|
}
|
|
3457
3457
|
async function checkLicense() {
|
|
3458
|
-
|
|
3458
|
+
let key = loadLicense();
|
|
3459
|
+
if (!key) {
|
|
3460
|
+
try {
|
|
3461
|
+
const configPath = path10.join(EXE_AI_DIR, "config.json");
|
|
3462
|
+
if (existsSync8(configPath)) {
|
|
3463
|
+
const raw = JSON.parse(readFileSync6(configPath, "utf8"));
|
|
3464
|
+
const cloud = raw.cloud;
|
|
3465
|
+
if (cloud?.apiKey) {
|
|
3466
|
+
key = cloud.apiKey;
|
|
3467
|
+
saveLicense(key);
|
|
3468
|
+
}
|
|
3469
|
+
}
|
|
3470
|
+
} catch {
|
|
3471
|
+
}
|
|
3472
|
+
}
|
|
3459
3473
|
if (!key) return FREE_LICENSE;
|
|
3460
3474
|
const cached = await getCachedLicense();
|
|
3461
3475
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/dist/tui/App.js
CHANGED
|
@@ -1443,7 +1443,21 @@ function getCacheAgeMs() {
|
|
|
1443
1443
|
}
|
|
1444
1444
|
}
|
|
1445
1445
|
async function checkLicense() {
|
|
1446
|
-
|
|
1446
|
+
let key = loadLicense();
|
|
1447
|
+
if (!key) {
|
|
1448
|
+
try {
|
|
1449
|
+
const configPath = path2.join(EXE_AI_DIR, "config.json");
|
|
1450
|
+
if (existsSync3(configPath)) {
|
|
1451
|
+
const raw = JSON.parse(readFileSync3(configPath, "utf8"));
|
|
1452
|
+
const cloud = raw.cloud;
|
|
1453
|
+
if (cloud?.apiKey) {
|
|
1454
|
+
key = cloud.apiKey;
|
|
1455
|
+
saveLicense(key);
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
} catch {
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1447
1461
|
if (!key) return FREE_LICENSE;
|
|
1448
1462
|
const cached = await getCachedLicense();
|
|
1449
1463
|
if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
|
package/package.json
CHANGED