@echoclaw/echo-0g 1.2.5 → 1.2.6
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/commands/onboard/steps/gateway.js +1 -1
- package/dist/commands/onboard/steps/gateway.js.map +1 -1
- package/dist/commands/onboard/steps/monitor.d.ts.map +1 -1
- package/dist/commands/onboard/steps/monitor.js +96 -3
- package/dist/commands/onboard/steps/monitor.js.map +1 -1
- package/package.json +1 -1
|
@@ -42,7 +42,7 @@ async function run(state) {
|
|
|
42
42
|
writeStderr(colors.warn(" Running inside a container — cannot restart gateway from here."));
|
|
43
43
|
writeStderr("");
|
|
44
44
|
writeStderr(" After onboarding, exit the container and run from the host:");
|
|
45
|
-
writeStderr(colors.bold(" docker compose restart"));
|
|
45
|
+
writeStderr(colors.bold(" docker compose -f ~/openclaw/docker-compose.yml restart"));
|
|
46
46
|
writeStderr("");
|
|
47
47
|
writeStderr(" Then re-enter the container and restore the monitor:");
|
|
48
48
|
writeStderr(colors.bold(" echo0g 0g-compute monitor start --from-state --daemon"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,4DAA4D;AAE5D,SAAS,iBAAiB;IACxB,IAAI,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,4DAA4D;AAE5D,SAAS,MAAM,CAAC,MAAoB;IAClC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,KAAmB;IACpC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAExC,sDAAsD;IACtD,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;QAC7F,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,WAAW,CAAC,+DAA+D,CAAC,CAAC;QAC7E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/monitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/monitor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,WAAW,EAA0B,MAAM,aAAa,CAAC;AAwOrF,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { existsSync, readFileSync, openSync, mkdirSync, closeSync } from "node:fs";
|
|
1
|
+
import { existsSync, readFileSync, openSync, mkdirSync, closeSync, unlinkSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
4
|
import inquirer from "inquirer";
|
|
5
|
-
import { ZG_COMPUTE_DIR, ZG_MONITOR_PID_FILE, ZG_MONITOR_LOG_FILE, ZG_MONITOR_STATE_FILE } from "../../../0g-compute/constants.js";
|
|
5
|
+
import { ZG_COMPUTE_DIR, ZG_MONITOR_PID_FILE, ZG_MONITOR_LOG_FILE, ZG_MONITOR_STATE_FILE, ZG_MONITOR_SHUTDOWN_FILE } from "../../../0g-compute/constants.js";
|
|
6
|
+
import { loadComputeState } from "../../../0g-compute/readiness.js";
|
|
6
7
|
import { getSkillHooksEnv } from "../../../openclaw/config.js";
|
|
7
8
|
import { writeStderr } from "../../../utils/output.js";
|
|
8
9
|
import { colors } from "../../../utils/ui.js";
|
|
@@ -44,8 +45,25 @@ function detect(state) {
|
|
|
44
45
|
return { configured: true, summary: `Monitor running (PID ${pid})` };
|
|
45
46
|
}
|
|
46
47
|
async function run(state) {
|
|
48
|
+
// Recover provider from existing state if step 6 was skipped
|
|
47
49
|
if (!state.selectedProvider) {
|
|
48
|
-
|
|
50
|
+
const computeState = loadComputeState();
|
|
51
|
+
if (computeState?.activeProvider) {
|
|
52
|
+
state.selectedProvider = computeState.activeProvider;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (!state.selectedProvider && existsSync(ZG_MONITOR_STATE_FILE)) {
|
|
56
|
+
try {
|
|
57
|
+
const monState = JSON.parse(readFileSync(ZG_MONITOR_STATE_FILE, "utf-8"));
|
|
58
|
+
const candidate = monState.providers?.[0]?.trim();
|
|
59
|
+
if (candidate) {
|
|
60
|
+
state.selectedProvider = candidate;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch { /* ignore unreadable state file */ }
|
|
64
|
+
}
|
|
65
|
+
if (!state.selectedProvider) {
|
|
66
|
+
return { action: "failed", message: "No provider found. Complete the 0G Compute step first." };
|
|
49
67
|
}
|
|
50
68
|
if (!state.webhooksConfigured) {
|
|
51
69
|
writeStderr(colors.warn(" ⚠ Notifications not configured — monitor will check balance but cannot send alerts."));
|
|
@@ -61,6 +79,81 @@ async function run(state) {
|
|
|
61
79
|
if (!startMonitor) {
|
|
62
80
|
return { action: "skipped", message: "Monitor not started" };
|
|
63
81
|
}
|
|
82
|
+
// Stop existing monitor if running (same pattern as `0g-compute monitor stop`)
|
|
83
|
+
if (existsSync(ZG_MONITOR_PID_FILE)) {
|
|
84
|
+
const oldPid = parseInt(readFileSync(ZG_MONITOR_PID_FILE, "utf-8").trim(), 10);
|
|
85
|
+
let alive = false;
|
|
86
|
+
try {
|
|
87
|
+
process.kill(oldPid, 0);
|
|
88
|
+
alive = true;
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
if (err?.code !== "ESRCH") {
|
|
92
|
+
// EPERM or unexpected — cannot manage this process
|
|
93
|
+
return { action: "failed", message: `Cannot stop existing monitor (PID ${oldPid}): ${err?.code ?? err}` };
|
|
94
|
+
}
|
|
95
|
+
// ESRCH = dead process, stale pidfile — clean up below
|
|
96
|
+
}
|
|
97
|
+
if (alive) {
|
|
98
|
+
writeStderr(colors.muted(` Stopping existing monitor (PID ${oldPid})...`));
|
|
99
|
+
// SIGTERM
|
|
100
|
+
try {
|
|
101
|
+
process.kill(oldPid, "SIGTERM");
|
|
102
|
+
}
|
|
103
|
+
catch { /* ignore */ }
|
|
104
|
+
// Wait up to 5s (poll every 500ms)
|
|
105
|
+
const deadline1 = Date.now() + 5000;
|
|
106
|
+
while (Date.now() < deadline1) {
|
|
107
|
+
await new Promise(r => setTimeout(r, 500));
|
|
108
|
+
try {
|
|
109
|
+
process.kill(oldPid, 0);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
alive = false;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Fallback: shutdown file, wait up to 10s (poll every 1s)
|
|
117
|
+
if (alive) {
|
|
118
|
+
writeFileSync(ZG_MONITOR_SHUTDOWN_FILE, String(Date.now()), "utf-8");
|
|
119
|
+
const deadline2 = Date.now() + 10000;
|
|
120
|
+
while (Date.now() < deadline2) {
|
|
121
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
122
|
+
try {
|
|
123
|
+
process.kill(oldPid, 0);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
alive = false;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Last resort: SIGKILL
|
|
132
|
+
if (alive) {
|
|
133
|
+
try {
|
|
134
|
+
process.kill(oldPid, "SIGKILL");
|
|
135
|
+
}
|
|
136
|
+
catch { /* ignore */ }
|
|
137
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
138
|
+
// Hard verification — refuse to start new monitor if old one won't die
|
|
139
|
+
try {
|
|
140
|
+
process.kill(oldPid, 0);
|
|
141
|
+
return { action: "failed", message: `Could not stop existing monitor (PID ${oldPid}). Stop it manually before reconfiguring.` };
|
|
142
|
+
}
|
|
143
|
+
catch { /* dead now */ }
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Clean up stale files
|
|
147
|
+
try {
|
|
148
|
+
unlinkSync(ZG_MONITOR_PID_FILE);
|
|
149
|
+
}
|
|
150
|
+
catch { /* ignore */ }
|
|
151
|
+
try {
|
|
152
|
+
if (existsSync(ZG_MONITOR_SHUTDOWN_FILE))
|
|
153
|
+
unlinkSync(ZG_MONITOR_SHUTDOWN_FILE);
|
|
154
|
+
}
|
|
155
|
+
catch { /* ignore */ }
|
|
156
|
+
}
|
|
64
157
|
const { mode } = await inquirer.prompt([{
|
|
65
158
|
type: "list",
|
|
66
159
|
name: "mode",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/monitor.ts"],"names":[],"mappings":"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"}
|