Files
Claude-Code-Monitor/client/src/lib/remoteDataEvents.ts
T
nntrivi2001 57dc91585d feat: Claude Code Monitor — lanes, pipelines and a merged workspace
Internal SmartGift build of a Claude Code monitoring dashboard.

Lanes: a durable unit of parallel agent work, one per working directory,
tracked across session restarts. Managed lanes are git worktrees the
dashboard provisions and can reset or remove behind a three-check destroy
guard and a counted preflight; adopted lanes are directories you already
own and are never destroyable.

Pipelines: a lane moves through pipeline stages. A stage the agent declares
with evidence renders green; a stage inferred from the tool-event stream
renders dashed amber and never counts as done. Detection is forward-only
within a 30-minute window, and never writes the declared stage.

Workspace: one page at /run with a lane grid, the selected lane's pipeline,
and a full Claude console behind a disclosure.
2026-07-30 14:39:03 +07:00

24 lines
881 B
TypeScript

/**
* @file Helpers for WebSocket messages that signal remote SSH sources finished
* syncing and scoped stats (sessions, costs, analytics) should refetch.
* @author Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>
*/
import type { ImportProgressMessage, RemoteSourceStatusPayload, WSMessage } from "./types";
/**
* True when a WebSocket message means remote-imported data may have changed and
* pages should refetch API data (not merely show a sync spinner).
*/
export function isRemoteDataRefreshMessage(msg: WSMessage): boolean {
if (msg.type === "remote_data.updated") return true;
if (msg.type === "remote_source.status") {
return (msg.data as RemoteSourceStatusPayload).status === "ok";
}
if (msg.type === "import.progress") {
const d = msg.data as ImportProgressMessage;
return d.phase === "complete" && d.source === "remote";
}
return false;
}