@clawlabz/clawnetwork 0.1.14 → 0.1.16

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/index.ts CHANGED
@@ -2394,11 +2394,46 @@ export default function register(api: OpenClawApi) {
2394
2394
  // Check if already running (e.g. from a previous detached start)
2395
2395
  const state = isNodeRunning()
2396
2396
  if (state.running) {
2397
- api.logger?.info?.(`[clawnetwork] node already running (pid=${state.pid}), skipping node start`)
2397
+ api.logger?.info?.(`[clawnetwork] node already running (pid=${state.pid})`)
2398
+
2399
+ // Check if a newer binary is available on GitHub — if so, download + restart
2400
+ if (cfg.autoDownload) {
2401
+ try {
2402
+ const binary = findBinary()
2403
+ const runningVersion = binary ? getBinaryVersion(binary) : null
2404
+ if (runningVersion) {
2405
+ // Fetch latest version from GitHub
2406
+ let latestVersion: string | null = null
2407
+ try {
2408
+ const res = await fetch(`https://api.github.com/repos/${GITHUB_REPO}/releases/latest`)
2409
+ if (res.ok) {
2410
+ const data = await res.json() as Record<string, unknown>
2411
+ if (typeof data.tag_name === 'string') latestVersion = data.tag_name.replace(/^v/, '')
2412
+ }
2413
+ } catch { /* network error, skip */ }
2414
+
2415
+ if (latestVersion && isVersionOlder(runningVersion, latestVersion)) {
2416
+ api.logger?.info?.(`[clawnetwork] node ${runningVersion} → ${latestVersion} available, upgrading...`)
2417
+ stopNodeProcess(api)
2418
+ await sleep(3_000)
2419
+ try {
2420
+ const newBinary = await downloadBinary(api)
2421
+ initNode(newBinary, cfg.network, api)
2422
+ startNodeProcess(newBinary, cfg, api)
2423
+ api.logger?.info?.(`[clawnetwork] node upgraded to ${latestVersion} and restarted`)
2424
+ } catch (e: unknown) {
2425
+ api.logger?.warn?.(`[clawnetwork] auto-upgrade failed: ${(e as Error).message}, restarting old binary`)
2426
+ startNodeProcess(binary, cfg, api)
2427
+ }
2428
+ }
2429
+ }
2430
+ } catch (e: unknown) {
2431
+ api.logger?.warn?.(`[clawnetwork] upgrade check failed: ${(e as Error).message}`)
2432
+ }
2433
+ }
2434
+
2398
2435
  startHealthCheck(cfg, api)
2399
- // Start UI dashboard (may have been lost on gateway restart)
2400
2436
  startUiServer(cfg, api)
2401
- // Still need to ensure heartbeat loop is running (may have been lost on gateway restart)
2402
2437
  const wallet = ensureWallet(cfg.network, api)
2403
2438
  await sleep(5_000)
2404
2439
  await autoRegisterMiner(cfg, wallet, api)
@@ -2,7 +2,7 @@
2
2
  "id": "clawnetwork",
3
3
  "name": "ClawNetwork Node",
4
4
  "description": "Run a ClawNetwork blockchain node inside OpenClaw. Every agent is a node.",
5
- "version": "0.1.14",
5
+ "version": "0.1.16",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawlabz/clawnetwork",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "Run a ClawNetwork blockchain node inside OpenClaw. Every agent is a blockchain node.",
5
5
  "type": "module",
6
6
  "license": "MIT",