sol e3bd6c52dd feat: Phase 2 — session monitor, lifecycle, watcher manager
Phase 2 (Session Monitor + Lifecycle):
- src/session-monitor.js: polls sessions.json every 2s for new/ended sessions
  - Detects agents via transcriptDir subdirectory scan
  - Resolves channelId/rootPostId from session key format
  - Emits session-added/session-removed events
  - Handles multi-agent environments
  - Falls back to defaultChannel for non-MM sessions
- src/watcher-manager.js: top-level orchestrator
  - Starts session-monitor, status-watcher, health-server
  - Creates/updates Mattermost status posts on session events
  - Sub-agent linking: children embedded in parent status
  - Offset persistence (save/restore lastOffset on restart)
  - Post recovery on restart (search channel history for marker)
  - SIGTERM/SIGINT graceful shutdown: mark all boxes interrupted
  - CLI: node watcher-manager.js start|stop|status
  - MAX_ACTIVE_SESSIONS enforcement

Integration tests:
- test/integration/session-monitor.test.js: 14 tests
  - Session detection, removal, multi-agent, malformed JSON handling
- test/integration/status-watcher.test.js: 13 tests
  - JSONL parsing, tool_call/result pairs, idle detection, offset recovery

All 86 tests pass (59 unit + 27 integration). make check clean.
2026-03-07 17:32:28 +00:00
2026-02-23 17:14:33 +00:00

OpenClaw Live Status Tool

A lightweight CLI tool for OpenClaw agents to provide "Antigravity-style" live status updates in Mattermost channels (and others) without spamming.

Features

  • Live Updates: Create a single message and update it repeatedly.
  • Sub-Agent Support: Works in clean environments via embedded config or CLI flags.
  • Cross-Channel: Supports dynamic channel targeting via --channel.
  • One-Click Install: Updates binaries, skills, and agent protocols automatically.

Installation

Run the interactive installer wizard:

./install.sh

Usage

# Create a new status box
ID=$(live-status create "Initializing...")

# Update the status box
live-status update $ID "Working..."
Description
No description provided
Readme 12 MiB
2026-03-15 11:20:52 +01:00
Languages
JavaScript 71%
TypeScript 10.7%
Go 9.4%
Shell 3.5%
CSS 3.5%
Other 1.9%