Skip to content

Class: TerminationMonitor

Prefactor TypeScript SDK


Prefactor TypeScript SDK / @prefactor/core / TerminationMonitor

Defined in: packages/core/src/monitoring/termination-monitor.ts:22

Monitors a p2 agent instance for external termination.

Primary detection: the transport calls detectTermination() whenever a span create or finish response contains a control signal. This is fast (detected on the next span API response) and has zero overhead.

Fallback detection: slow polling at pollIntervalMs (default 30s) covers idle agents that are not actively emitting spans.

get signal(): AbortSignal

Defined in: packages/core/src/monitoring/termination-monitor.ts:94

AbortSignal


get terminated(): boolean

Defined in: packages/core/src/monitoring/termination-monitor.ts:98

boolean

new TerminationMonitor(httpClient, getAgentInstanceId, pollIntervalMs?): TerminationMonitor

Defined in: packages/core/src/monitoring/termination-monitor.ts:37

HttpRequester

() => string | null

number = 30_000

TerminationMonitor

detectTermination(reason): void

Defined in: packages/core/src/monitoring/termination-monitor.ts:47

Primary termination path — called by the transport when a span response contains a control signal. No polling latency.

string | null

void


sync(): void

Defined in: packages/core/src/monitoring/termination-monitor.ts:57

Drives the fallback poll lifecycle. Call periodically (e.g., every 1s) to start or stop polling based on whether an agent instance ID is known.

void


onTerminated(callback): () => void

Defined in: packages/core/src/monitoring/termination-monitor.ts:87

TerminationCallback

(): void

void


reset(): void

Defined in: packages/core/src/monitoring/termination-monitor.ts:107

Resets the monitor for a new agent run. Clears terminated state, creates a fresh AbortSignal, and stops any in-progress fallback polling. Registered callbacks are preserved.

void


destroy(): void

Defined in: packages/core/src/monitoring/termination-monitor.ts:117

void