@openclaw-cloud/agent-controller 0.7.8 → 0.8.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/handlers/backup.js +6 -14
- package/dist/handlers/backup.js.map +1 -1
- package/dist/heartbeat.js +22 -12
- package/dist/heartbeat.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/package.json +1 -1
package/dist/handlers/backup.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
|
-
import { createReadStream } from 'node:fs';
|
|
3
2
|
import path from 'node:path';
|
|
4
3
|
import { getWorkspaceDir } from '../workspace.js';
|
|
5
4
|
import { createArchive } from '../utils/archive.js';
|
|
@@ -57,27 +56,20 @@ export function handleBackup(command, api, agentId) {
|
|
|
57
56
|
}
|
|
58
57
|
async function uploadArchive(archivePath, uploadUrl, token, presigned = false) {
|
|
59
58
|
const stat = await fs.stat(archivePath);
|
|
60
|
-
const headers = {
|
|
59
|
+
const headers = {
|
|
60
|
+
'Content-Type': 'application/gzip',
|
|
61
|
+
'Content-Length': String(stat.size),
|
|
62
|
+
};
|
|
61
63
|
if (!presigned && token) {
|
|
62
64
|
headers['Authorization'] = `Bearer ${token}`;
|
|
63
65
|
}
|
|
64
|
-
//
|
|
65
|
-
const
|
|
66
|
-
const body = new ReadableStream({
|
|
67
|
-
start(controller) {
|
|
68
|
-
nodeStream.on('data', (chunk) => controller.enqueue(chunk instanceof Buffer ? chunk : Buffer.from(chunk)));
|
|
69
|
-
nodeStream.on('end', () => controller.close());
|
|
70
|
-
nodeStream.on('error', (err) => controller.error(err));
|
|
71
|
-
},
|
|
72
|
-
cancel() { nodeStream.destroy(); },
|
|
73
|
-
});
|
|
66
|
+
// Read file into buffer — S3 presigned PUT rejects Transfer-Encoding: chunked
|
|
67
|
+
const body = await fs.readFile(archivePath);
|
|
74
68
|
const response = await fetch(uploadUrl, {
|
|
75
69
|
method: presigned ? 'PUT' : 'POST',
|
|
76
70
|
headers,
|
|
77
71
|
body,
|
|
78
72
|
signal: AbortSignal.timeout(UPLOAD_TIMEOUT),
|
|
79
|
-
// @ts-expect-error duplex required for streaming request body in Node.js
|
|
80
|
-
duplex: 'half',
|
|
81
73
|
});
|
|
82
74
|
if (!response.ok) {
|
|
83
75
|
const text = await response.text().catch(() => '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/handlers/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/handlers/backup.ts"],"names":[],"mappings":"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"}
|
package/dist/heartbeat.js
CHANGED
|
@@ -5,9 +5,9 @@ import { debugLog } from './debug.js';
|
|
|
5
5
|
import { selfUpdate } from './commands/self-update.js';
|
|
6
6
|
import { execAsync } from './utils/exec.js';
|
|
7
7
|
const HEARTBEAT_INTERVAL = 30_000;
|
|
8
|
-
const STARTUP_DELAY = 80_000;
|
|
9
8
|
const UPDATE_CHECK_INTERVAL = 24 * 60 * 60 * 1000; // 24h
|
|
10
9
|
const PACKAGE_NAME = '@openclaw-cloud/agent-controller';
|
|
10
|
+
const GATEWAY_STATUS_TIMEOUT = 5_000;
|
|
11
11
|
async function checkForUpdate(currentVersion) {
|
|
12
12
|
if (process.env.NODE_ENV === "test")
|
|
13
13
|
return;
|
|
@@ -22,6 +22,18 @@ async function checkForUpdate(currentVersion) {
|
|
|
22
22
|
// No internet, npm unavailable, or already up to date — silently ignore
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
async function checkGateway() {
|
|
26
|
+
try {
|
|
27
|
+
const output = await execAsync('openclaw gateway status --json', GATEWAY_STATUS_TIMEOUT);
|
|
28
|
+
const parsed = JSON.parse(output);
|
|
29
|
+
const running = parsed.service?.runtime?.status === 'running';
|
|
30
|
+
const rpcOk = parsed.rpc?.ok === true;
|
|
31
|
+
return { running, rpcOk, pid: parsed.service?.runtime?.pid };
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return { running: false, rpcOk: false };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
25
37
|
export async function getLastMessageAt() {
|
|
26
38
|
const stateDir = process.env.OPENCLAW_STATE_DIR?.trim()
|
|
27
39
|
?? path.join(os.homedir(), '.openclaw');
|
|
@@ -53,12 +65,18 @@ function getMetrics() {
|
|
|
53
65
|
};
|
|
54
66
|
}
|
|
55
67
|
export async function publishHeartbeat(opts) {
|
|
68
|
+
const gw = await checkGateway();
|
|
69
|
+
if (!gw.running || !gw.rpcOk) {
|
|
70
|
+
debugLog('heartbeat', 'skipped — gateway not ready', JSON.stringify(gw));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
56
73
|
const payload = {
|
|
57
74
|
type: 'heartbeat',
|
|
58
75
|
agentId: opts.agentId,
|
|
59
76
|
ts: Date.now(),
|
|
60
77
|
version: opts.version,
|
|
61
78
|
metrics: getMetrics(),
|
|
79
|
+
gatewayStatus: gw,
|
|
62
80
|
...(opts.getBoardStatus ? { boardStatus: opts.getBoardStatus() } : {}),
|
|
63
81
|
lastMessageAt: await getLastMessageAt(),
|
|
64
82
|
};
|
|
@@ -74,22 +92,14 @@ export async function publishHeartbeat(opts) {
|
|
|
74
92
|
}
|
|
75
93
|
export function startHeartbeat(opts) {
|
|
76
94
|
const send = () => { publishHeartbeat(opts).catch(() => { }); };
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
startupTimer = null;
|
|
80
|
-
send();
|
|
81
|
-
heartbeatInterval = setInterval(send, HEARTBEAT_INTERVAL);
|
|
82
|
-
}, STARTUP_DELAY);
|
|
83
|
-
let heartbeatInterval = null;
|
|
95
|
+
send();
|
|
96
|
+
const heartbeatInterval = setInterval(send, HEARTBEAT_INTERVAL);
|
|
84
97
|
// Auto-update check: immediately on start, then every 24h
|
|
85
98
|
checkForUpdate(opts.version).catch(() => { });
|
|
86
99
|
const updateInterval = setInterval(() => { checkForUpdate(opts.version).catch(() => { }); }, UPDATE_CHECK_INTERVAL);
|
|
87
100
|
return {
|
|
88
101
|
stop() {
|
|
89
|
-
|
|
90
|
-
clearTimeout(startupTimer);
|
|
91
|
-
if (heartbeatInterval)
|
|
92
|
-
clearInterval(heartbeatInterval);
|
|
102
|
+
clearInterval(heartbeatInterval);
|
|
93
103
|
clearInterval(updateInterval);
|
|
94
104
|
},
|
|
95
105
|
};
|
package/dist/heartbeat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -16,6 +16,11 @@ export interface AgentResponse {
|
|
|
16
16
|
data?: Record<string, unknown>;
|
|
17
17
|
error?: string;
|
|
18
18
|
}
|
|
19
|
+
export interface GatewayStatus {
|
|
20
|
+
running: boolean;
|
|
21
|
+
rpcOk: boolean;
|
|
22
|
+
pid?: number;
|
|
23
|
+
}
|
|
19
24
|
export interface HeartbeatPayload {
|
|
20
25
|
type: 'heartbeat';
|
|
21
26
|
agentId: string;
|
|
@@ -27,6 +32,7 @@ export interface HeartbeatPayload {
|
|
|
27
32
|
uptime: number;
|
|
28
33
|
};
|
|
29
34
|
boardStatus?: BoardState;
|
|
35
|
+
gatewayStatus?: GatewayStatus;
|
|
30
36
|
lastMessageAt?: string | null;
|
|
31
37
|
}
|
|
32
38
|
export interface BoardState {
|