@askexenow/exe-os 0.9.74 → 0.9.75
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 +4 -3
- package/dist/bin/exe-boot.js +4 -3
- package/dist/bin/exe-cloud.js +4 -3
- package/dist/bin/exe-gateway.js +4 -3
- package/dist/bin/exe-new-employee.js +2 -2
- package/dist/bin/setup.js +4 -3
- package/dist/bin/update.js +4 -3
- package/dist/hooks/summary-worker.js +4 -3
- package/dist/lib/exe-daemon.js +5 -3
- package/dist/lib/license.js +4 -3
- package/dist/mcp/server.js +7 -4
- package/dist/tui/App.js +4 -3
- package/package.json +1 -1
package/dist/bin/cli.js
CHANGED
|
@@ -5825,6 +5825,7 @@ __export(license_exports, {
|
|
|
5825
5825
|
loadDeviceId: () => loadDeviceId,
|
|
5826
5826
|
loadLicense: () => loadLicense,
|
|
5827
5827
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
5828
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
5828
5829
|
saveLicense: () => saveLicense,
|
|
5829
5830
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
5830
5831
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -5910,7 +5911,7 @@ async function getCachedLicense() {
|
|
|
5910
5911
|
return null;
|
|
5911
5912
|
}
|
|
5912
5913
|
}
|
|
5913
|
-
function
|
|
5914
|
+
function readCachedLicenseToken() {
|
|
5914
5915
|
try {
|
|
5915
5916
|
if (!existsSync13(CACHE_PATH)) return null;
|
|
5916
5917
|
const raw = JSON.parse(readFileSync10(CACHE_PATH, "utf8"));
|
|
@@ -5921,7 +5922,7 @@ function readCachedToken() {
|
|
|
5921
5922
|
}
|
|
5922
5923
|
function getRawCachedPlan() {
|
|
5923
5924
|
try {
|
|
5924
|
-
const token =
|
|
5925
|
+
const token = readCachedLicenseToken();
|
|
5925
5926
|
if (!token) return null;
|
|
5926
5927
|
const parts = token.split(".");
|
|
5927
5928
|
if (parts.length !== 3) return null;
|
|
@@ -6188,7 +6189,7 @@ async function assertVpsLicense(opts) {
|
|
|
6188
6189
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
6189
6190
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
6190
6191
|
try {
|
|
6191
|
-
const token =
|
|
6192
|
+
const token = readCachedLicenseToken();
|
|
6192
6193
|
if (token) {
|
|
6193
6194
|
const payloadB64 = token.split(".")[1];
|
|
6194
6195
|
if (payloadB64) {
|
package/dist/bin/exe-boot.js
CHANGED
|
@@ -5022,6 +5022,7 @@ __export(license_exports, {
|
|
|
5022
5022
|
loadDeviceId: () => loadDeviceId,
|
|
5023
5023
|
loadLicense: () => loadLicense,
|
|
5024
5024
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
5025
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
5025
5026
|
saveLicense: () => saveLicense,
|
|
5026
5027
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
5027
5028
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -5107,7 +5108,7 @@ async function getCachedLicense() {
|
|
|
5107
5108
|
return null;
|
|
5108
5109
|
}
|
|
5109
5110
|
}
|
|
5110
|
-
function
|
|
5111
|
+
function readCachedLicenseToken() {
|
|
5111
5112
|
try {
|
|
5112
5113
|
if (!existsSync11(CACHE_PATH)) return null;
|
|
5113
5114
|
const raw = JSON.parse(readFileSync8(CACHE_PATH, "utf8"));
|
|
@@ -5118,7 +5119,7 @@ function readCachedToken() {
|
|
|
5118
5119
|
}
|
|
5119
5120
|
function getRawCachedPlan() {
|
|
5120
5121
|
try {
|
|
5121
|
-
const token =
|
|
5122
|
+
const token = readCachedLicenseToken();
|
|
5122
5123
|
if (!token) return null;
|
|
5123
5124
|
const parts = token.split(".");
|
|
5124
5125
|
if (parts.length !== 3) return null;
|
|
@@ -5385,7 +5386,7 @@ async function assertVpsLicense(opts) {
|
|
|
5385
5386
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
5386
5387
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
5387
5388
|
try {
|
|
5388
|
-
const token =
|
|
5389
|
+
const token = readCachedLicenseToken();
|
|
5389
5390
|
if (token) {
|
|
5390
5391
|
const payloadB64 = token.split(".")[1];
|
|
5391
5392
|
if (payloadB64) {
|
package/dist/bin/exe-cloud.js
CHANGED
|
@@ -3676,6 +3676,7 @@ __export(license_exports, {
|
|
|
3676
3676
|
loadDeviceId: () => loadDeviceId,
|
|
3677
3677
|
loadLicense: () => loadLicense,
|
|
3678
3678
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
3679
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
3679
3680
|
saveLicense: () => saveLicense,
|
|
3680
3681
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
3681
3682
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -3761,7 +3762,7 @@ async function getCachedLicense() {
|
|
|
3761
3762
|
return null;
|
|
3762
3763
|
}
|
|
3763
3764
|
}
|
|
3764
|
-
function
|
|
3765
|
+
function readCachedLicenseToken() {
|
|
3765
3766
|
try {
|
|
3766
3767
|
if (!existsSync7(CACHE_PATH)) return null;
|
|
3767
3768
|
const raw = JSON.parse(readFileSync5(CACHE_PATH, "utf8"));
|
|
@@ -3772,7 +3773,7 @@ function readCachedToken() {
|
|
|
3772
3773
|
}
|
|
3773
3774
|
function getRawCachedPlan() {
|
|
3774
3775
|
try {
|
|
3775
|
-
const token =
|
|
3776
|
+
const token = readCachedLicenseToken();
|
|
3776
3777
|
if (!token) return null;
|
|
3777
3778
|
const parts = token.split(".");
|
|
3778
3779
|
if (parts.length !== 3) return null;
|
|
@@ -4039,7 +4040,7 @@ async function assertVpsLicense(opts) {
|
|
|
4039
4040
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
4040
4041
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
4041
4042
|
try {
|
|
4042
|
-
const token =
|
|
4043
|
+
const token = readCachedLicenseToken();
|
|
4043
4044
|
if (token) {
|
|
4044
4045
|
const payloadB64 = token.split(".")[1];
|
|
4045
4046
|
if (payloadB64) {
|
package/dist/bin/exe-gateway.js
CHANGED
|
@@ -7198,6 +7198,7 @@ __export(license_exports, {
|
|
|
7198
7198
|
loadDeviceId: () => loadDeviceId,
|
|
7199
7199
|
loadLicense: () => loadLicense,
|
|
7200
7200
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
7201
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
7201
7202
|
saveLicense: () => saveLicense,
|
|
7202
7203
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
7203
7204
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -7283,7 +7284,7 @@ async function getCachedLicense() {
|
|
|
7283
7284
|
return null;
|
|
7284
7285
|
}
|
|
7285
7286
|
}
|
|
7286
|
-
function
|
|
7287
|
+
function readCachedLicenseToken() {
|
|
7287
7288
|
try {
|
|
7288
7289
|
if (!existsSync9(CACHE_PATH)) return null;
|
|
7289
7290
|
const raw = JSON.parse(readFileSync6(CACHE_PATH, "utf8"));
|
|
@@ -7294,7 +7295,7 @@ function readCachedToken() {
|
|
|
7294
7295
|
}
|
|
7295
7296
|
function getRawCachedPlan() {
|
|
7296
7297
|
try {
|
|
7297
|
-
const token =
|
|
7298
|
+
const token = readCachedLicenseToken();
|
|
7298
7299
|
if (!token) return null;
|
|
7299
7300
|
const parts = token.split(".");
|
|
7300
7301
|
if (parts.length !== 3) return null;
|
|
@@ -7561,7 +7562,7 @@ async function assertVpsLicense(opts) {
|
|
|
7561
7562
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
7562
7563
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
7563
7564
|
try {
|
|
7564
|
-
const token =
|
|
7565
|
+
const token = readCachedLicenseToken();
|
|
7565
7566
|
if (token) {
|
|
7566
7567
|
const payloadB64 = token.split(".")[1];
|
|
7567
7568
|
if (payloadB64) {
|
|
@@ -3246,7 +3246,7 @@ async function getCachedLicense() {
|
|
|
3246
3246
|
return null;
|
|
3247
3247
|
}
|
|
3248
3248
|
}
|
|
3249
|
-
function
|
|
3249
|
+
function readCachedLicenseToken() {
|
|
3250
3250
|
try {
|
|
3251
3251
|
if (!existsSync6(CACHE_PATH)) return null;
|
|
3252
3252
|
const raw = JSON.parse(readFileSync5(CACHE_PATH, "utf8"));
|
|
@@ -3257,7 +3257,7 @@ function readCachedToken() {
|
|
|
3257
3257
|
}
|
|
3258
3258
|
function getRawCachedPlan() {
|
|
3259
3259
|
try {
|
|
3260
|
-
const token =
|
|
3260
|
+
const token = readCachedLicenseToken();
|
|
3261
3261
|
if (!token) return null;
|
|
3262
3262
|
const parts = token.split(".");
|
|
3263
3263
|
if (parts.length !== 3) return null;
|
package/dist/bin/setup.js
CHANGED
|
@@ -1355,6 +1355,7 @@ __export(license_exports, {
|
|
|
1355
1355
|
loadDeviceId: () => loadDeviceId,
|
|
1356
1356
|
loadLicense: () => loadLicense,
|
|
1357
1357
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
1358
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
1358
1359
|
saveLicense: () => saveLicense,
|
|
1359
1360
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
1360
1361
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -1440,7 +1441,7 @@ async function getCachedLicense() {
|
|
|
1440
1441
|
return null;
|
|
1441
1442
|
}
|
|
1442
1443
|
}
|
|
1443
|
-
function
|
|
1444
|
+
function readCachedLicenseToken() {
|
|
1444
1445
|
try {
|
|
1445
1446
|
if (!existsSync7(CACHE_PATH)) return null;
|
|
1446
1447
|
const raw = JSON.parse(readFileSync4(CACHE_PATH, "utf8"));
|
|
@@ -1451,7 +1452,7 @@ function readCachedToken() {
|
|
|
1451
1452
|
}
|
|
1452
1453
|
function getRawCachedPlan() {
|
|
1453
1454
|
try {
|
|
1454
|
-
const token =
|
|
1455
|
+
const token = readCachedLicenseToken();
|
|
1455
1456
|
if (!token) return null;
|
|
1456
1457
|
const parts = token.split(".");
|
|
1457
1458
|
if (parts.length !== 3) return null;
|
|
@@ -1718,7 +1719,7 @@ async function assertVpsLicense(opts) {
|
|
|
1718
1719
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
1719
1720
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
1720
1721
|
try {
|
|
1721
|
-
const token =
|
|
1722
|
+
const token = readCachedLicenseToken();
|
|
1722
1723
|
if (token) {
|
|
1723
1724
|
const payloadB64 = token.split(".")[1];
|
|
1724
1725
|
if (payloadB64) {
|
package/dist/bin/update.js
CHANGED
|
@@ -135,6 +135,7 @@ __export(license_exports, {
|
|
|
135
135
|
loadDeviceId: () => loadDeviceId,
|
|
136
136
|
loadLicense: () => loadLicense,
|
|
137
137
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
138
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
138
139
|
saveLicense: () => saveLicense,
|
|
139
140
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
140
141
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -220,7 +221,7 @@ async function getCachedLicense() {
|
|
|
220
221
|
return null;
|
|
221
222
|
}
|
|
222
223
|
}
|
|
223
|
-
function
|
|
224
|
+
function readCachedLicenseToken() {
|
|
224
225
|
try {
|
|
225
226
|
if (!existsSync4(CACHE_PATH)) return null;
|
|
226
227
|
const raw = JSON.parse(readFileSync3(CACHE_PATH, "utf8"));
|
|
@@ -231,7 +232,7 @@ function readCachedToken() {
|
|
|
231
232
|
}
|
|
232
233
|
function getRawCachedPlan() {
|
|
233
234
|
try {
|
|
234
|
-
const token =
|
|
235
|
+
const token = readCachedLicenseToken();
|
|
235
236
|
if (!token) return null;
|
|
236
237
|
const parts = token.split(".");
|
|
237
238
|
if (parts.length !== 3) return null;
|
|
@@ -498,7 +499,7 @@ async function assertVpsLicense(opts) {
|
|
|
498
499
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
499
500
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
500
501
|
try {
|
|
501
|
-
const token =
|
|
502
|
+
const token = readCachedLicenseToken();
|
|
502
503
|
if (token) {
|
|
503
504
|
const payloadB64 = token.split(".")[1];
|
|
504
505
|
if (payloadB64) {
|
|
@@ -4668,6 +4668,7 @@ __export(license_exports, {
|
|
|
4668
4668
|
loadDeviceId: () => loadDeviceId,
|
|
4669
4669
|
loadLicense: () => loadLicense,
|
|
4670
4670
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
4671
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
4671
4672
|
saveLicense: () => saveLicense,
|
|
4672
4673
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
4673
4674
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -4753,7 +4754,7 @@ async function getCachedLicense() {
|
|
|
4753
4754
|
return null;
|
|
4754
4755
|
}
|
|
4755
4756
|
}
|
|
4756
|
-
function
|
|
4757
|
+
function readCachedLicenseToken() {
|
|
4757
4758
|
try {
|
|
4758
4759
|
if (!existsSync10(CACHE_PATH)) return null;
|
|
4759
4760
|
const raw = JSON.parse(readFileSync7(CACHE_PATH, "utf8"));
|
|
@@ -4764,7 +4765,7 @@ function readCachedToken() {
|
|
|
4764
4765
|
}
|
|
4765
4766
|
function getRawCachedPlan() {
|
|
4766
4767
|
try {
|
|
4767
|
-
const token =
|
|
4768
|
+
const token = readCachedLicenseToken();
|
|
4768
4769
|
if (!token) return null;
|
|
4769
4770
|
const parts = token.split(".");
|
|
4770
4771
|
if (parts.length !== 3) return null;
|
|
@@ -5031,7 +5032,7 @@ async function assertVpsLicense(opts) {
|
|
|
5031
5032
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
5032
5033
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
5033
5034
|
try {
|
|
5034
|
-
const token =
|
|
5035
|
+
const token = readCachedLicenseToken();
|
|
5035
5036
|
if (token) {
|
|
5036
5037
|
const payloadB64 = token.split(".")[1];
|
|
5037
5038
|
if (payloadB64) {
|
package/dist/lib/exe-daemon.js
CHANGED
|
@@ -9311,7 +9311,7 @@ async function getCachedLicense() {
|
|
|
9311
9311
|
return null;
|
|
9312
9312
|
}
|
|
9313
9313
|
}
|
|
9314
|
-
function
|
|
9314
|
+
function readCachedLicenseToken() {
|
|
9315
9315
|
try {
|
|
9316
9316
|
if (!existsSync15(CACHE_PATH)) return null;
|
|
9317
9317
|
const raw = JSON.parse(readFileSync11(CACHE_PATH, "utf8"));
|
|
@@ -9322,7 +9322,7 @@ function readCachedToken() {
|
|
|
9322
9322
|
}
|
|
9323
9323
|
function getRawCachedPlan() {
|
|
9324
9324
|
try {
|
|
9325
|
-
const token =
|
|
9325
|
+
const token = readCachedLicenseToken();
|
|
9326
9326
|
if (!token) return null;
|
|
9327
9327
|
const parts = token.split(".");
|
|
9328
9328
|
if (parts.length !== 3) return null;
|
|
@@ -29887,6 +29887,7 @@ async function maybeSendUpstream(payload) {
|
|
|
29887
29887
|
const endpoint2 = config2.support?.bugReportEndpoint || process.env.EXE_BUG_REPORT_ENDPOINT || (routerUrl ? `${routerUrl}/v1/support/bug-reports` : "https://askexe.com/v1/support/bug-reports");
|
|
29888
29888
|
const token = config2.support?.bugReportToken || process.env.EXE_BUG_REPORT_TOKEN;
|
|
29889
29889
|
const licenseKey = loadLicense() || process.env.EXE_LICENSE_KEY || config2.cloud?.apiKey;
|
|
29890
|
+
const licenseToken = readCachedLicenseToken();
|
|
29890
29891
|
if (!endpoint2) {
|
|
29891
29892
|
return "not_configured";
|
|
29892
29893
|
}
|
|
@@ -29900,7 +29901,8 @@ async function maybeSendUpstream(payload) {
|
|
|
29900
29901
|
headers: {
|
|
29901
29902
|
"content-type": "application/json",
|
|
29902
29903
|
...token ? { authorization: `Bearer ${token}` } : {},
|
|
29903
|
-
...licenseKey ? { "x-exe-license-key": licenseKey } : {}
|
|
29904
|
+
...licenseKey ? { "x-exe-license-key": licenseKey } : {},
|
|
29905
|
+
...licenseToken ? { "x-exe-license-token": licenseToken } : {}
|
|
29904
29906
|
},
|
|
29905
29907
|
body: JSON.stringify(payload),
|
|
29906
29908
|
signal: AbortSignal.timeout(1e4)
|
package/dist/lib/license.js
CHANGED
|
@@ -212,7 +212,7 @@ async function getCachedLicense() {
|
|
|
212
212
|
return null;
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
-
function
|
|
215
|
+
function readCachedLicenseToken() {
|
|
216
216
|
try {
|
|
217
217
|
if (!existsSync3(CACHE_PATH)) return null;
|
|
218
218
|
const raw = JSON.parse(readFileSync2(CACHE_PATH, "utf8"));
|
|
@@ -223,7 +223,7 @@ function readCachedToken() {
|
|
|
223
223
|
}
|
|
224
224
|
function getRawCachedPlan() {
|
|
225
225
|
try {
|
|
226
|
-
const token =
|
|
226
|
+
const token = readCachedLicenseToken();
|
|
227
227
|
if (!token) return null;
|
|
228
228
|
const parts = token.split(".");
|
|
229
229
|
if (parts.length !== 3) return null;
|
|
@@ -493,7 +493,7 @@ async function assertVpsLicense(opts) {
|
|
|
493
493
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
494
494
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
495
495
|
try {
|
|
496
|
-
const token =
|
|
496
|
+
const token = readCachedLicenseToken();
|
|
497
497
|
if (token) {
|
|
498
498
|
const payloadB64 = token.split(".")[1];
|
|
499
499
|
if (payloadB64) {
|
|
@@ -557,6 +557,7 @@ export {
|
|
|
557
557
|
loadDeviceId,
|
|
558
558
|
loadLicense,
|
|
559
559
|
mirrorLicenseKey,
|
|
560
|
+
readCachedLicenseToken,
|
|
560
561
|
saveLicense,
|
|
561
562
|
startLicenseRevalidation,
|
|
562
563
|
stopLicenseRevalidation,
|
package/dist/mcp/server.js
CHANGED
|
@@ -8010,6 +8010,7 @@ __export(license_exports, {
|
|
|
8010
8010
|
loadDeviceId: () => loadDeviceId,
|
|
8011
8011
|
loadLicense: () => loadLicense,
|
|
8012
8012
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
8013
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
8013
8014
|
saveLicense: () => saveLicense,
|
|
8014
8015
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
8015
8016
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -8095,7 +8096,7 @@ async function getCachedLicense() {
|
|
|
8095
8096
|
return null;
|
|
8096
8097
|
}
|
|
8097
8098
|
}
|
|
8098
|
-
function
|
|
8099
|
+
function readCachedLicenseToken() {
|
|
8099
8100
|
try {
|
|
8100
8101
|
if (!existsSync11(CACHE_PATH)) return null;
|
|
8101
8102
|
const raw = JSON.parse(readFileSync8(CACHE_PATH, "utf8"));
|
|
@@ -8106,7 +8107,7 @@ function readCachedToken() {
|
|
|
8106
8107
|
}
|
|
8107
8108
|
function getRawCachedPlan() {
|
|
8108
8109
|
try {
|
|
8109
|
-
const token =
|
|
8110
|
+
const token = readCachedLicenseToken();
|
|
8110
8111
|
if (!token) return null;
|
|
8111
8112
|
const parts = token.split(".");
|
|
8112
8113
|
if (parts.length !== 3) return null;
|
|
@@ -8373,7 +8374,7 @@ async function assertVpsLicense(opts) {
|
|
|
8373
8374
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
8374
8375
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
8375
8376
|
try {
|
|
8376
|
-
const token =
|
|
8377
|
+
const token = readCachedLicenseToken();
|
|
8377
8378
|
if (token) {
|
|
8378
8379
|
const payloadB64 = token.split(".")[1];
|
|
8379
8380
|
if (payloadB64) {
|
|
@@ -26873,6 +26874,7 @@ async function maybeSendUpstream(payload) {
|
|
|
26873
26874
|
const endpoint2 = config2.support?.bugReportEndpoint || process.env.EXE_BUG_REPORT_ENDPOINT || (routerUrl ? `${routerUrl}/v1/support/bug-reports` : "https://askexe.com/v1/support/bug-reports");
|
|
26874
26875
|
const token = config2.support?.bugReportToken || process.env.EXE_BUG_REPORT_TOKEN;
|
|
26875
26876
|
const licenseKey = loadLicense() || process.env.EXE_LICENSE_KEY || config2.cloud?.apiKey;
|
|
26877
|
+
const licenseToken = readCachedLicenseToken();
|
|
26876
26878
|
if (!endpoint2) {
|
|
26877
26879
|
return "not_configured";
|
|
26878
26880
|
}
|
|
@@ -26886,7 +26888,8 @@ async function maybeSendUpstream(payload) {
|
|
|
26886
26888
|
headers: {
|
|
26887
26889
|
"content-type": "application/json",
|
|
26888
26890
|
...token ? { authorization: `Bearer ${token}` } : {},
|
|
26889
|
-
...licenseKey ? { "x-exe-license-key": licenseKey } : {}
|
|
26891
|
+
...licenseKey ? { "x-exe-license-key": licenseKey } : {},
|
|
26892
|
+
...licenseToken ? { "x-exe-license-token": licenseToken } : {}
|
|
26890
26893
|
},
|
|
26891
26894
|
body: JSON.stringify(payload),
|
|
26892
26895
|
signal: AbortSignal.timeout(1e4)
|
package/dist/tui/App.js
CHANGED
|
@@ -3914,6 +3914,7 @@ __export(license_exports, {
|
|
|
3914
3914
|
loadDeviceId: () => loadDeviceId,
|
|
3915
3915
|
loadLicense: () => loadLicense,
|
|
3916
3916
|
mirrorLicenseKey: () => mirrorLicenseKey,
|
|
3917
|
+
readCachedLicenseToken: () => readCachedLicenseToken,
|
|
3917
3918
|
saveLicense: () => saveLicense,
|
|
3918
3919
|
startLicenseRevalidation: () => startLicenseRevalidation,
|
|
3919
3920
|
stopLicenseRevalidation: () => stopLicenseRevalidation,
|
|
@@ -3999,7 +4000,7 @@ async function getCachedLicense() {
|
|
|
3999
4000
|
return null;
|
|
4000
4001
|
}
|
|
4001
4002
|
}
|
|
4002
|
-
function
|
|
4003
|
+
function readCachedLicenseToken() {
|
|
4003
4004
|
try {
|
|
4004
4005
|
if (!existsSync10(CACHE_PATH)) return null;
|
|
4005
4006
|
const raw = JSON.parse(readFileSync9(CACHE_PATH, "utf8"));
|
|
@@ -4010,7 +4011,7 @@ function readCachedToken() {
|
|
|
4010
4011
|
}
|
|
4011
4012
|
function getRawCachedPlan() {
|
|
4012
4013
|
try {
|
|
4013
|
-
const token =
|
|
4014
|
+
const token = readCachedLicenseToken();
|
|
4014
4015
|
if (!token) return null;
|
|
4015
4016
|
const parts = token.split(".");
|
|
4016
4017
|
if (parts.length !== 3) return null;
|
|
@@ -4277,7 +4278,7 @@ async function assertVpsLicense(opts) {
|
|
|
4277
4278
|
const graceDays = opts?.offlineGraceDays ?? 7;
|
|
4278
4279
|
const graceMs = graceDays * 24 * 60 * 60 * 1e3;
|
|
4279
4280
|
try {
|
|
4280
|
-
const token =
|
|
4281
|
+
const token = readCachedLicenseToken();
|
|
4281
4282
|
if (token) {
|
|
4282
4283
|
const payloadB64 = token.split(".")[1];
|
|
4283
4284
|
if (payloadB64) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askexenow/exe-os",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.75",
|
|
4
4
|
"description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"type": "module",
|