podwatch 1.1.9 → 1.2.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/dist/hooks/lifecycle.d.ts +2 -0
- package/dist/hooks/lifecycle.d.ts.map +1 -1
- package/dist/hooks/lifecycle.js +39 -2
- package/dist/hooks/lifecycle.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -64
- package/dist/index.js.map +1 -1
- package/dist/memory-watcher.d.ts +2 -0
- package/dist/memory-watcher.d.ts.map +1 -1
- package/dist/memory-watcher.js +48 -1
- package/dist/memory-watcher.js.map +1 -1
- package/dist/transmitter.d.ts +6 -0
- package/dist/transmitter.d.ts.map +1 -1
- package/dist/transmitter.js +84 -16
- package/dist/transmitter.js.map +1 -1
- package/dist/updater.d.ts +70 -47
- package/dist/updater.d.ts.map +1 -1
- package/dist/updater.js +340 -220
- package/dist/updater.js.map +1 -1
- package/lib/installer.js +54 -6
- package/openclaw.plugin.json +27 -9
- package/package.json +2 -2
package/dist/transmitter.js
CHANGED
|
@@ -48,12 +48,27 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
48
48
|
})();
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
exports.transmitter = void 0;
|
|
51
|
-
|
|
51
|
+
exports.setPluginVersion = setPluginVersion;
|
|
52
52
|
const fs = __importStar(require("node:fs"));
|
|
53
53
|
const path = __importStar(require("node:path"));
|
|
54
54
|
const os = __importStar(require("node:os"));
|
|
55
|
-
//
|
|
56
|
-
|
|
55
|
+
// Lazy version read — avoids sync I/O at module level
|
|
56
|
+
let _pluginVersion = null;
|
|
57
|
+
function getPluginVersion() {
|
|
58
|
+
if (_pluginVersion !== null)
|
|
59
|
+
return _pluginVersion;
|
|
60
|
+
try {
|
|
61
|
+
_pluginVersion = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json"), "utf-8")).version;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
_pluginVersion = "0.0.0";
|
|
65
|
+
}
|
|
66
|
+
return _pluginVersion;
|
|
67
|
+
}
|
|
68
|
+
/** Allow register() to inject the version so we never need to read from disk. */
|
|
69
|
+
function setPluginVersion(version) {
|
|
70
|
+
_pluginVersion = version;
|
|
71
|
+
}
|
|
57
72
|
// ---------------------------------------------------------------------------
|
|
58
73
|
// State
|
|
59
74
|
// ---------------------------------------------------------------------------
|
|
@@ -69,6 +84,9 @@ const MAX_BUFFER_SIZE = 1_000;
|
|
|
69
84
|
const BUFFER_TARGET_SIZE = 900;
|
|
70
85
|
// --- Trial expired flag ---
|
|
71
86
|
let trialExpired = false;
|
|
87
|
+
// --- Shared rate limiter state (respected by flush, pulse, budget sync) ---
|
|
88
|
+
let rateLimitedUntil = 0; // timestamp (ms) — skip all HTTP until this time
|
|
89
|
+
const NON_RETRYABLE_4XX = new Set([400, 401, 403, 404, 422]);
|
|
72
90
|
const recentCredentialAccesses = [];
|
|
73
91
|
const CREDENTIAL_ACCESS_WINDOW_MS = 60_000; // 60 seconds
|
|
74
92
|
// --- Known tools tracking ---
|
|
@@ -85,7 +103,24 @@ function getAuditLogPath() {
|
|
|
85
103
|
return path.join(os.homedir(), ".openclaw", "extensions", "podwatch", "audit.log");
|
|
86
104
|
}
|
|
87
105
|
const AUDIT_LOG_MAX_BYTES = 1_048_576; // 1 MB
|
|
106
|
+
let auditLogPending = false;
|
|
107
|
+
const auditLogQueue = [];
|
|
88
108
|
function writeAuditLog(reason, eventCount, events) {
|
|
109
|
+
auditLogQueue.push({ reason, eventCount, events });
|
|
110
|
+
if (!auditLogPending) {
|
|
111
|
+
auditLogPending = true;
|
|
112
|
+
// Defer to microtask so we don't block the hot path (especially on 429 storms)
|
|
113
|
+
queueMicrotask(drainAuditLogQueue);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function drainAuditLogQueue() {
|
|
117
|
+
auditLogPending = false;
|
|
118
|
+
while (auditLogQueue.length > 0) {
|
|
119
|
+
const item = auditLogQueue.shift();
|
|
120
|
+
writeAuditLogSync(item.reason, item.eventCount, item.events);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function writeAuditLogSync(reason, eventCount, events) {
|
|
89
124
|
try {
|
|
90
125
|
const logPath = getAuditLogPath();
|
|
91
126
|
const logDir = path.dirname(logPath);
|
|
@@ -403,12 +438,21 @@ function transformEvents(events) {
|
|
|
403
438
|
return transformed;
|
|
404
439
|
});
|
|
405
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Send a batch of events. Returns:
|
|
443
|
+
* - true → batch consumed (success or non-retryable error — remove from buffer)
|
|
444
|
+
* - false → transient error (keep events in buffer for retry)
|
|
445
|
+
*/
|
|
406
446
|
async function sendBatch(events) {
|
|
407
447
|
if (!config)
|
|
408
448
|
return false;
|
|
449
|
+
// Respect shared rate limit
|
|
450
|
+
if (Date.now() < rateLimitedUntil) {
|
|
451
|
+
return false; // keep events in buffer, try later
|
|
452
|
+
}
|
|
409
453
|
const payload = {
|
|
410
454
|
events: transformEvents(events),
|
|
411
|
-
pluginVersion:
|
|
455
|
+
pluginVersion: getPluginVersion(),
|
|
412
456
|
};
|
|
413
457
|
try {
|
|
414
458
|
const response = await fetch(`${config.endpoint}/events`, {
|
|
@@ -422,7 +466,8 @@ async function sendBatch(events) {
|
|
|
422
466
|
});
|
|
423
467
|
if (response.ok) {
|
|
424
468
|
retryBackoffMs = 1_000;
|
|
425
|
-
|
|
469
|
+
rateLimitedUntil = 0;
|
|
470
|
+
// Parse response body for budget state
|
|
426
471
|
try {
|
|
427
472
|
const body = (await response.json());
|
|
428
473
|
// Budget state updates
|
|
@@ -435,15 +480,6 @@ async function sendBatch(events) {
|
|
|
435
480
|
cachedBudget.dailySpend = cachedBudget.dailyLimit;
|
|
436
481
|
}
|
|
437
482
|
}
|
|
438
|
-
// Urgent update signal — bypass 24h cooldown
|
|
439
|
-
if (body.update?.urgent && typeof body.update.version === "string") {
|
|
440
|
-
const logger = {
|
|
441
|
-
info: (msg) => console.log(msg),
|
|
442
|
-
warn: (msg) => console.warn(msg),
|
|
443
|
-
error: (msg) => console.error(msg),
|
|
444
|
-
};
|
|
445
|
-
void (0, updater_js_1.handleUrgentUpdate)(body.update.version, logger);
|
|
446
|
-
}
|
|
447
483
|
}
|
|
448
484
|
catch {
|
|
449
485
|
// Response may not be JSON — that's fine
|
|
@@ -456,13 +492,33 @@ async function sendBatch(events) {
|
|
|
456
492
|
console.warn("[podwatch] Trial expired (402) — event transmission disabled. Visit podwatch.app to upgrade.");
|
|
457
493
|
return true; // consume the batch (don't retry)
|
|
458
494
|
}
|
|
459
|
-
//
|
|
460
|
-
if (response.status
|
|
495
|
+
// 429 — rate limited. KEEP events in buffer for retry.
|
|
496
|
+
if (response.status === 429) {
|
|
497
|
+
const retryAfterHeader = response.headers?.get?.("Retry-After");
|
|
498
|
+
let retryAfterMs = retryBackoffMs * 2;
|
|
499
|
+
if (retryAfterHeader) {
|
|
500
|
+
const retryAfterSec = parseInt(retryAfterHeader, 10);
|
|
501
|
+
if (!isNaN(retryAfterSec) && retryAfterSec > 0) {
|
|
502
|
+
retryAfterMs = retryAfterSec * 1_000;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
// Cap at 5 minutes for rate limiting
|
|
506
|
+
retryAfterMs = Math.min(retryAfterMs, 300_000);
|
|
507
|
+
rateLimitedUntil = Date.now() + retryAfterMs;
|
|
508
|
+
retryBackoffMs = Math.min(retryBackoffMs * 2, MAX_BACKOFF_MS);
|
|
509
|
+
console.warn(`[podwatch] Rate limited (429) — retrying in ${Math.round(retryAfterMs / 1000)}s. ` +
|
|
510
|
+
`${events.length} events kept in buffer.`);
|
|
511
|
+
writeAuditLog("rate_limited_429", events.length, events);
|
|
512
|
+
return false; // KEEP events in buffer
|
|
513
|
+
}
|
|
514
|
+
// Non-retryable 4xx — client error, drop events + audit log
|
|
515
|
+
if (NON_RETRYABLE_4XX.has(response.status)) {
|
|
461
516
|
console.error(`[podwatch] API ${response.status}: dropping ${events.length} events`);
|
|
462
517
|
writeAuditLog(`http_${response.status}`, events.length, events);
|
|
463
518
|
retryBackoffMs = 1_000;
|
|
464
519
|
return true; // Don't retry client errors
|
|
465
520
|
}
|
|
521
|
+
// Other 4xx/5xx — transient, retry
|
|
466
522
|
console.error(`[podwatch] API ${response.status}: will retry ${events.length} events`);
|
|
467
523
|
return false;
|
|
468
524
|
}
|
|
@@ -527,6 +583,9 @@ const BUDGET_SYNC_MAX_SILENT_FAILURES = 3; // Only warn after N consecutive fail
|
|
|
527
583
|
async function syncBudget() {
|
|
528
584
|
if (!config)
|
|
529
585
|
return;
|
|
586
|
+
// Respect shared rate limit
|
|
587
|
+
if (Date.now() < rateLimitedUntil)
|
|
588
|
+
return;
|
|
530
589
|
try {
|
|
531
590
|
const response = await fetch(`${config.endpoint}/budget-status`, {
|
|
532
591
|
method: "GET",
|
|
@@ -583,6 +642,7 @@ exports.transmitter = {
|
|
|
583
642
|
retryCount = 0;
|
|
584
643
|
flushInProgress = false;
|
|
585
644
|
trialExpired = false;
|
|
645
|
+
rateLimitedUntil = 0;
|
|
586
646
|
activateTs = Date.now();
|
|
587
647
|
knownTools.clear();
|
|
588
648
|
recentCredentialAccesses.length = 0;
|
|
@@ -757,5 +817,13 @@ exports.transmitter = {
|
|
|
757
817
|
get isTrialExpired() {
|
|
758
818
|
return trialExpired;
|
|
759
819
|
},
|
|
820
|
+
/** Whether we are currently rate-limited (429). Used by pulse and budget sync. */
|
|
821
|
+
get isRateLimited() {
|
|
822
|
+
return Date.now() < rateLimitedUntil;
|
|
823
|
+
},
|
|
824
|
+
/** Get rate limit expiry timestamp (for testing). */
|
|
825
|
+
get rateLimitedUntilTs() {
|
|
826
|
+
return rateLimitedUntil;
|
|
827
|
+
},
|
|
760
828
|
};
|
|
761
829
|
//# sourceMappingURL=transmitter.js.map
|
package/dist/transmitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transmitter.js","sourceRoot":"","sources":["../src/transmitter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,6CAAkD;AAClD,4CAA8B;AAC9B,gDAAkC;AAClC,4CAA8B;AAC9B,2EAA2E;AAC3E,MAAM,cAAc,GAClB,IAAI,CAAC,KAAK,CACR,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAEvE,CAAC,OAAO,CAAC;AAEV,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,IAAI,MAAM,GAA6B,IAAI,CAAC;AAC5C,IAAI,MAAM,GAAoB,EAAE,CAAC;AACjC,IAAI,UAAU,GAA0C,IAAI,CAAC;AAC7D,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,6BAA6B;AAC7B,IAAI,YAAY,GAAG,KAAK,CAAC;AASzB,MAAM,wBAAwB,GAAuB,EAAE,CAAC;AACxD,MAAM,2BAA2B,GAAG,MAAM,CAAC,CAAC,aAAa;AAEzD,+BAA+B;AAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AACrC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,0BAA0B;AAe9C,IAAI,YAAY,GAAwB,IAAI,CAAC;AAC7C,IAAI,eAAe,GAA0C,IAAI,CAAC;AAClE,MAAM,uBAAuB,GAAG,OAAO,CAAC,CAAC,mDAAmD;AAE5F,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,OAAO;AAE9C,SAAS,aAAa,CAAC,MAAc,EAAE,UAAkB,EAAE,MAAuB;IAChF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,+CAA+C;QAC/C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;gBACtC,4CAA4C;gBAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC5C,mEAAmE;gBACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,MAAM;YACN,UAAU;YACV,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACtC,CAAC,CAAC;QACH,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1D,4DAA4D;QAC5D,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;GAEG;AACH,SAAS,eAAe,CAAC,KAAoB;IAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,OAAO,CAAC;QACjB,KAAK,gBAAgB;YACnB,OAAO,SAAS,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,eAAe,CAAC;QACzB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,eAAe;YAClB,OAAO,SAAS,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC9B,MAAM;QACR,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACtE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,CAAC,aAAa;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;YACjE,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAClE,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACvF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;YAClG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,KAAK,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACzD,MAAM;QACR,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACzD,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACjH,MAAM;QACR,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,cAAc,kBAAkB,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YACtG,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC9D,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACtG,CAAC;YACD,IAAI,KAAK,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,SAAS,WAAW,YAAY,YAAY,UAAU,CAAC,CAAC;YACnE,MAAM;QACR,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,IAAI,KAAK,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3E,IAAI,KAAK,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,iBAAiB,WAAW,CAAC,CAAC;YACzF,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAoB;IAC1C,2EAA2E;IAC3E,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC,WAA+D,CAAC;IAC/E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACzC,yEAAyE;IACzE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QACnF,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAC5D,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAC9D,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,aAAa,CAAC;IAChF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CAAC,UAAkB;IACtD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,oCAAoC;IACpC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAoB;IAC1C,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAuB,CAAC;IAC/E,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAoB;IAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAc,IAAI,QAAQ,CAAC;AACpG,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAuB;IAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,WAAW,GAA4B;YAC3C,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;YAChF,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;YAC3C,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC;YAChC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC;YACpC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC;YACpC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC;YAClC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;YAC9B,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC;SACnC,CAAC;QAEF,4CAA4C;QAC5C,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;YAAE,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YAAE,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACvF,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;YAAE,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAC1F,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;YAAE,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QACnG,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;YAAE,WAAW,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACtG,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;YAAE,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpF,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI;YAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9D,+DAA+D;QAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,cAAc,GAA4B,EAAE,CAAC;YACnD,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;gBAAE,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAC7F,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;gBAAE,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACvF,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;gBAAE,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAC7F,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;gBAAE,cAAc,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACnG,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;gBAAE,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAClE,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,QAAQ,GAAG,cAAc,CAAC;QACpF,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACnD,MAAM,QAAQ,GAA4B,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,QAAQ,CAAC,MAAM,GAAI,KAAK,CAAC,MAAgB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACxG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,OAAO,GAAI,KAAK,CAAC,OAAiB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3I,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;gBAAE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YACpF,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;gBAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACvF,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;gBAAE,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxE,CAAC;QAED,2DAA2D;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxD,WAAW,CAAC,QAAQ,GAAG;gBACrB,GAAG,CAAE,WAAW,CAAC,QAAoC,IAAI,EAAE,CAAC;gBAC5D,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;YAAE,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC7F,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;YAAE,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAE7F,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAuB;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;QAC/B,aAAa,EAAE,cAAc;KAC9B,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,SAAS,EAAE;YACxD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aACzC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,cAAc,GAAG,KAAK,CAAC;YAEvB,+DAA+D;YAC/D,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIlC,CAAC;gBAEF,uBAAuB;gBACvB,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC3E,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACvC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC9C,CAAC;oBACD,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpE,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;wBAC/C,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACnE,MAAM,MAAM,GAAG;wBACb,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;wBACvC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;wBACxC,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;qBAC3C,CAAC;oBACF,KAAK,IAAA,+BAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wDAAwD;QACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,8FAA8F,CAC/F,CAAC;YACF,OAAO,IAAI,CAAC,CAAC,kCAAkC;QACjD,CAAC;QAED,oDAAoD;QACpD,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,cAAc,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;YACrF,aAAa,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChE,cAAc,GAAG,KAAK,CAAC;YACvB,OAAO,IAAI,CAAC,CAAC,4BAA4B;QAC3C,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,gBAAgB,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,KAAK,UAAU,OAAO;IACpB,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO;IAE9D,uDAAuD;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IAED,eAAe,GAAG,IAAI,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5B,cAAc,GAAG,KAAK,CAAC;YACvB,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,UAAU,EAAE,CAAC;YACb,+CAA+C;YAC/C,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;gBAC9B,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC5B,cAAc,GAAG,KAAK,CAAC;gBACvB,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QACT,eAAe,GAAG,KAAK,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;GAIG;AACH,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAC3B,MAAM,+BAA+B,GAAG,CAAC,CAAC,CAAC,yCAAyC;AAEpF,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,gBAAgB,EAAE;YAC/D,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aACzC;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAQlC,CAAC;YACF,YAAY,GAAG;gBACb,KAAK,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChE,YAAY,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvE,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrE,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrE,YAAY,EAAE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3E,YAAY,EAAE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3E,eAAe,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI;gBAC9C,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;gBAC5C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;aACvB,CAAC;YACF,kBAAkB,GAAG,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,kBAAkB,EAAE,CAAC;YACrB,IAAI,kBAAkB,KAAK,+BAA+B,EAAE,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;YAC1H,CAAC;YACD,OAAO;QACT,CAAC;QAED,kBAAkB,EAAE,CAAC;QACrB,IAAI,kBAAkB,IAAI,+BAA+B,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,kBAAkB,EAAE,CAAC;QACrB,IAAI,kBAAkB,IAAI,+BAA+B,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAEjE,QAAA,WAAW,GAAG;IACzB,KAAK,CAAC,GAAsB;QAC1B,MAAM,GAAG,GAAG,CAAC;QACb,MAAM,GAAG,EAAE,CAAC;QACZ,cAAc,GAAG,KAAK,CAAC;QACvB,UAAU,GAAG,CAAC,CAAC;QACf,eAAe,GAAG,KAAK,CAAC;QACxB,YAAY,GAAG,KAAK,CAAC;QACrB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,YAAY,GAAG,IAAI,CAAC;QACpB,kBAAkB,GAAG,CAAC,CAAC;QAEvB,IAAI,UAAU;YAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1C,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACvE,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1E,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,oBAAoB;QACpB,KAAK,UAAU,EAAE,CAAC;QAClB,IAAI,eAAe;YAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACpD,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAChF,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;YACzF,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAoB;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnB,4EAA4E;QAC5E,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAErD,wDAAwD;YACxD,MAAM,kBAAkB,GAAa,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,IAAI,kBAAkB,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChF,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,MAAM,OAAO,GAAoB,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE,CAAC,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,uCAAuC,OAAO,CAAC,MAAM,oBAAoB,kBAAkB,GAAG,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAChD,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,IAAI;QACF,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1B,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,aAAa,CAAC,eAAe,CAAC,CAAC;YAC/B,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,QAAQ;QACZ,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,sDAAsD;IACtD,0EAA0E;IAE1E,6CAA6C;IAC7C,oBAAoB,CAAC,QAAgB,EAAE,MAA+B;QACpE,MAAM,IAAI,GACR,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC;YAChD,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC;YAC1D,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC;YACtD,SAAS,CAAC;QAEZ,wBAAwB,CAAC,IAAI,CAAC;YAC5B,QAAQ;YACR,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CAAC,CAAC;QAEH,oBAAoB;QACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,kFAAkF;IAClF,yBAAyB,CAAC,SAAiB;QACzC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC;QAC9C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,+EAA+E;IAC/E,yBAAyB,CAAC,SAAiB;QACzC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC;QAC9C,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED,wBAAwB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,2BAA2B,CAAC;QACxD,OAAO,wBAAwB,CAAC,MAAM,GAAG,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;YACvF,wBAAwB,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,kDAAkD;IAClD,0EAA0E;IAE1E,4CAA4C;IAC5C,WAAW,CAAC,QAAgB;QAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,kFAAkF;IAClF,cAAc,CAAC,QAAgB;QAC7B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,UAAU,CAAC,IAAI,GAAG,oBAAoB,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CACV,sCAAsC,oBAAoB,+CAA+C,CAC1G,CAAC;YACF,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,mBAAmB;QACjB,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,0EAA0E;IAC1E,eAAe;IACf,0EAA0E;IAE1E,iEAAiE;IACjE,eAAe;QACb,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,eAAe;QACnB,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;IAED,kFAAkF;IAClF,wBAAwB,CAAC,QAA0D;QACjF,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3C,YAAY,CAAC,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5E,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;YAC/C,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACpD,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,cAAc;IACd,0EAA0E;IAE1E,qDAAqD;IACrD,IAAI,aAAa;QACf,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,uDAAuD;IACvD,IAAI,cAAc;QAChB,OAAO,UAAU,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,+CAA+C;IAC/C,IAAI,cAAc;QAChB,OAAO,YAAY,CAAC;IACtB,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"transmitter.js","sourceRoot":"","sources":["../src/transmitter.ts"],"names":[],"mappings":"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"}
|
package/dist/updater.d.ts
CHANGED
|
@@ -3,17 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* On plugin startup (called from register()), schedules a non-blocking update
|
|
5
5
|
* check after a 30-second delay. If a new version is available on npm (or the
|
|
6
|
-
* Podwatch dashboard fallback), it downloads
|
|
7
|
-
* extensions directory, writes a restart sentinel
|
|
8
|
-
* restart via the OS service manager (systemd / launchctl).
|
|
6
|
+
* Podwatch dashboard fallback), it downloads the tarball via fetch(), verifies
|
|
7
|
+
* integrity, extracts to the extensions directory, and writes a restart sentinel.
|
|
9
8
|
*
|
|
10
9
|
* Safety:
|
|
11
10
|
* - 30s startup delay (don't slow boot)
|
|
12
11
|
* - 24-hour cooldown between checks (cached in a local file)
|
|
13
12
|
* - 5s timeout on all HTTP requests
|
|
14
|
-
* - 120s timeout on npm pack command
|
|
15
13
|
* - All errors caught — never bricks the running plugin
|
|
16
|
-
* -
|
|
14
|
+
* - Rollback: backs up old dist/ before replacing, restores on extraction failure
|
|
15
|
+
* - Plugin NEVER restarts its host — only writes restart sentinel
|
|
16
|
+
* - Auto-update defaults to ON (set autoUpdate: false to disable)
|
|
17
|
+
* - No handleUrgentUpdate — removed as remote code execution vector
|
|
17
18
|
*/
|
|
18
19
|
export declare const AUTO_UPDATE_CACHE_FILE: string;
|
|
19
20
|
/**
|
|
@@ -22,17 +23,10 @@ export declare const AUTO_UPDATE_CACHE_FILE: string;
|
|
|
22
23
|
*/
|
|
23
24
|
export declare function resolveStateDir(): string;
|
|
24
25
|
/**
|
|
25
|
-
*
|
|
26
|
+
* Read the installed plugin version from disk (extensions dir package.json).
|
|
27
|
+
* Returns null if the file can't be read.
|
|
26
28
|
*/
|
|
27
|
-
export declare function
|
|
28
|
-
/**
|
|
29
|
-
* Resolve the launchd label for the gateway.
|
|
30
|
-
*/
|
|
31
|
-
export declare function resolveGatewayLaunchAgentLabel(profile: string | undefined): string;
|
|
32
|
-
/**
|
|
33
|
-
* Normalize a systemd unit name. Appends .service if missing.
|
|
34
|
-
*/
|
|
35
|
-
export declare function normalizeSystemdUnit(raw: string | undefined, profile: string | undefined): string;
|
|
29
|
+
export declare function getInstalledVersion(): string | null;
|
|
36
30
|
/**
|
|
37
31
|
* Compare two semver-like version strings.
|
|
38
32
|
* Returns positive if remote > local, negative if local > remote, 0 if equal.
|
|
@@ -52,6 +46,8 @@ export interface UpdateCheckResult {
|
|
|
52
46
|
source: "npm" | "dashboard";
|
|
53
47
|
/** SRI integrity hash (e.g. "sha512-<base64>") from npm registry or dashboard. */
|
|
54
48
|
integrityHash?: string;
|
|
49
|
+
/** Direct tarball URL from npm registry (for fetch-based download). */
|
|
50
|
+
tarballUrl?: string;
|
|
55
51
|
}
|
|
56
52
|
/**
|
|
57
53
|
* Check for a newer version. Tries npm registry first, then dashboard API.
|
|
@@ -91,6 +87,19 @@ export declare function parseSriHash(sri: string): {
|
|
|
91
87
|
* - Legacy hex format: plain hex SHA-256 string (from dashboard fallback)
|
|
92
88
|
*/
|
|
93
89
|
export declare function verifyTarballIntegrity(tarballPath: string, expectedHash: string): IntegrityResult;
|
|
90
|
+
/**
|
|
91
|
+
* Back up the existing dist/ directory before replacing it.
|
|
92
|
+
* Returns the backup path, or null if no dist/ exists.
|
|
93
|
+
*/
|
|
94
|
+
export declare function backupDist(extensionsDir: string): string | null;
|
|
95
|
+
/**
|
|
96
|
+
* Restore dist/ from backup after a failed extraction.
|
|
97
|
+
*/
|
|
98
|
+
export declare function restoreFromBackup(extensionsDir: string, backupDir: string): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Clean up backup after successful extraction.
|
|
101
|
+
*/
|
|
102
|
+
export declare function cleanupBackup(backupDir: string): void;
|
|
94
103
|
export interface UpdateResult {
|
|
95
104
|
success: boolean;
|
|
96
105
|
stdout?: string;
|
|
@@ -100,26 +109,34 @@ export interface UpdateResult {
|
|
|
100
109
|
tarballPath?: string;
|
|
101
110
|
}
|
|
102
111
|
/**
|
|
103
|
-
* Download the
|
|
104
|
-
*
|
|
112
|
+
* Download the podwatch tarball via fetch() from the npm registry URL.
|
|
113
|
+
* No shell commands needed — pure HTTP download.
|
|
105
114
|
*/
|
|
106
|
-
export declare function downloadTarball(): UpdateResult & {
|
|
115
|
+
export declare function downloadTarball(version?: string, tarballUrl?: string): Promise<UpdateResult & {
|
|
107
116
|
tmpDir?: string;
|
|
108
|
-
}
|
|
117
|
+
}>;
|
|
109
118
|
/**
|
|
110
119
|
* Install from a previously downloaded tarball by extracting to the extensions dir.
|
|
120
|
+
* Includes rollback: backs up old dist/ before extraction, restores on failure.
|
|
111
121
|
*/
|
|
112
122
|
export declare function installFromTarball(tarballPath: string): UpdateResult;
|
|
113
123
|
/**
|
|
114
|
-
* Download and install the latest podwatch plugin via
|
|
124
|
+
* Download and install the latest podwatch plugin via fetch + extract.
|
|
115
125
|
* Legacy single-step function — delegates to downloadTarball + installFromTarball.
|
|
116
|
-
*
|
|
117
|
-
* Steps:
|
|
118
|
-
* 1. `npm pack podwatch` in a temp dir to get the tarball
|
|
119
|
-
* 2. Clean old dist in the extensions directory
|
|
120
|
-
* 3. Extract tarball contents to ~/.openclaw/extensions/podwatch/
|
|
121
126
|
*/
|
|
122
127
|
export declare function executeUpdate(): UpdateResult;
|
|
128
|
+
export interface VerifyDistResult {
|
|
129
|
+
ok: boolean;
|
|
130
|
+
error?: string;
|
|
131
|
+
signal?: string;
|
|
132
|
+
timedOut?: boolean;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Verify that the newly installed dist/index.js is loadable.
|
|
136
|
+
* Tries to require() the entry point — if it throws, the new code is broken.
|
|
137
|
+
* Returns a detailed result indicating success or failure reason.
|
|
138
|
+
*/
|
|
139
|
+
export declare function verifyNewDist(extensionsDir: string): VerifyDistResult;
|
|
123
140
|
/**
|
|
124
141
|
* Wait for an idle window before proceeding with a gateway restart.
|
|
125
142
|
*
|
|
@@ -141,12 +158,16 @@ export interface RestartResult {
|
|
|
141
158
|
tried: string[];
|
|
142
159
|
}
|
|
143
160
|
/**
|
|
144
|
-
* Trigger a gateway restart using the OS service manager
|
|
145
|
-
*
|
|
161
|
+
* Trigger a gateway restart using the OS service manager.
|
|
162
|
+
*
|
|
163
|
+
* Safety improvements over original:
|
|
164
|
+
* - Only called AFTER verifyNewDist() confirms the new code loads
|
|
165
|
+
* - Only called AFTER integrity verification passed
|
|
166
|
+
* - Only called AFTER rollback backup is in place
|
|
167
|
+
* - Single attempt — if restart fails, logs error and moves on (no retry loop)
|
|
146
168
|
*
|
|
147
|
-
* Linux: systemctl --user restart <unit>
|
|
169
|
+
* Linux: systemctl --user restart <unit>
|
|
148
170
|
* macOS: launchctl kickstart -k gui/<uid>/<label>
|
|
149
|
-
* Fallback: log a manual restart message
|
|
150
171
|
*/
|
|
151
172
|
export declare function triggerGatewayRestart(logger: {
|
|
152
173
|
info: (msg: string) => void;
|
|
@@ -154,24 +175,23 @@ export declare function triggerGatewayRestart(logger: {
|
|
|
154
175
|
error: (msg: string) => void;
|
|
155
176
|
}): RestartResult;
|
|
156
177
|
export interface UpdateOptions {
|
|
157
|
-
/** Enable auto-update. Default: true
|
|
178
|
+
/** Enable auto-update. Default: true (set to false to disable). */
|
|
158
179
|
autoUpdate?: boolean;
|
|
159
180
|
}
|
|
160
181
|
/**
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* Called by the transmitter when the API response includes { update: { urgent: true } }.
|
|
182
|
+
* Acquire an exclusive update lock. Returns true if acquired, false if
|
|
183
|
+
* another update is already in progress (or the lock is stale and was reclaimed).
|
|
164
184
|
*/
|
|
165
|
-
export declare function
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
185
|
+
export declare function acquireUpdateLock(): boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Release the update lock.
|
|
188
|
+
*/
|
|
189
|
+
export declare function releaseUpdateLock(): void;
|
|
170
190
|
/**
|
|
171
191
|
* Schedule a non-blocking update check 30s after startup.
|
|
172
192
|
* Safe to call synchronously — it sets a timer and returns immediately.
|
|
173
193
|
*
|
|
174
|
-
* Auto-update is
|
|
194
|
+
* Auto-update is ON by default. Set autoUpdate: false in plugin config to disable.
|
|
175
195
|
*
|
|
176
196
|
* @param currentVersion The plugin's current version from package.json
|
|
177
197
|
* @param endpoint The Podwatch API endpoint (for dashboard fallback)
|
|
@@ -184,17 +204,20 @@ export declare function scheduleUpdateCheck(currentVersion: string, endpoint: st
|
|
|
184
204
|
error: (msg: string) => void;
|
|
185
205
|
}, options?: UpdateOptions): void;
|
|
186
206
|
/**
|
|
187
|
-
* Internal: perform the actual update check + install
|
|
207
|
+
* Internal: perform the actual update check + install.
|
|
188
208
|
*
|
|
189
209
|
* Flow:
|
|
190
|
-
* 1. Check autoUpdate opt-
|
|
210
|
+
* 1. Check autoUpdate opt-out (default on; set autoUpdate: false to disable)
|
|
191
211
|
* 2. Respect 24h cooldown
|
|
192
|
-
* 3.
|
|
193
|
-
* 4.
|
|
194
|
-
* 5.
|
|
195
|
-
* 6.
|
|
196
|
-
* 7.
|
|
197
|
-
* 8.
|
|
212
|
+
* 3. Acquire update lock (prevents concurrent updates)
|
|
213
|
+
* 4. Check for newer version (npm → dashboard fallback)
|
|
214
|
+
* 5. Require integrity hash from server (skip if missing)
|
|
215
|
+
* 6. Download tarball via fetch
|
|
216
|
+
* 7. Verify tarball integrity against server hash
|
|
217
|
+
* 8. Extract and install (with rollback on failure)
|
|
218
|
+
* 9. Verify new dist loads; rollback if broken
|
|
219
|
+
* 10. Write restart sentinel (gateway picks it up on next restart)
|
|
220
|
+
* 11. Wait for idle window, then restart gateway
|
|
198
221
|
*/
|
|
199
222
|
export declare function runUpdateCheck(currentVersion: string, endpoint: string, logger: {
|
|
200
223
|
info: (msg: string) => void;
|
package/dist/updater.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
|