- Name
lines- Kind
- parameter
- Type
readonly LogStreamLine[]- Requirement
- required
DocsAPI referenceUI machineslog-stream
log-stream machine
The public state machine contract for @grassroot/ui-machines/log-stream. The machine owns behaviour; the matching headless layer owns composition.
@grassroot/ui-machines/log-stream
Package
Service example
log-stream.tsts
import { createService } from "@grassroot/statechart";import { logStreamMachine } from "@grassroot/ui-machines/log-stream"; const service = createService(logStreamMachine, { input: {} });service.start();service.send({ type: "…" });service.stop();28 of 28
Exports
appendLogStreamLine
functionLocal duplicate of oracle `appendLogLine` — stamp is required (no clock).
appendLogStreamLinets
declare function appendLogStreamLine(lines: readonly LogStreamLine[], source: readonly LogStreamEntry[], index: number, maxLines: number, stamp: () => string): LogStreamSeedResult;Name
Kind
Type
Requirement
linesparameter
readonly LogStreamLine[]required
sourceparameter
readonly LogStreamEntry[]required
indexparameter
numberrequired
maxLinesparameter
numberrequired
stampparameter
() => stringrequired
returnreturn value
LogStreamSeedResultn/a
- Name
source- Kind
- parameter
- Type
readonly LogStreamEntry[]- Requirement
- required
- Name
index- Kind
- parameter
- Type
number- Requirement
- required
- Name
maxLines- Kind
- parameter
- Type
number- Requirement
- required
- Name
stamp- Kind
- parameter
- Type
() => string- Requirement
- required
- Name
return- Kind
- return value
- Type
LogStreamSeedResult- Requirement
- n/a
createLogStreamFilter
functionLocal duplicate of oracle `createLogLevelFilter`.
createLogStreamFilterts
declare function createLogStreamFilter(): LogStreamFilterMap;Name
Kind
Type
Requirement
returnreturn value
LogStreamFilterMapn/a
- Name
return- Kind
- return value
- Type
LogStreamFilterMap- Requirement
- n/a
LOG_STREAM_DEFAULT_FILTERSts
export declare const LOG_STREAM_DEFAULT_FILTERS: true;LOG_STREAM_DEFAULT_INTERVAL_MSts
export declare const LOG_STREAM_DEFAULT_INTERVAL_MS: 1900;LOG_STREAM_DEFAULT_MAX_LINESts
export declare const LOG_STREAM_DEFAULT_MAX_LINES: 60;LOG_STREAM_DEFAULT_PAUSEDts
export declare const LOG_STREAM_DEFAULT_PAUSED: false;LOG_STREAM_DEFAULT_PREFILLts
export declare const LOG_STREAM_DEFAULT_PREFILL: 8;LOG_STREAM_LEVELS
valueLOG_STREAM_LEVELSts
export declare const LOG_STREAM_LEVELS: readonly ["INFO", "WARN", "ERR", "OK", "DBG"];LOG_STREAM_TICK_KEY
valueLOG_STREAM_TICK_KEYts
export declare const LOG_STREAM_TICK_KEY: "log-stream.tick";LogStreamCommand
typeLogStreamCommandts
type LogStreamCommand = (CommandObject & { readonly type: "SCROLL_TO_END";}) | (CommandObject & { readonly type: "PAUSED_CHANGE_REQUEST"; readonly paused: boolean;}) | ScheduleCommand<LogStreamEvent> | CancelCommand;LogStreamContext
typeLogStreamContextts
type LogStreamContext = { readonly mode: BindingMode; readonly seeded: boolean; readonly lines: readonly LogStreamLine[]; readonly nextIndex: number; readonly filters: LogStreamFilterMap;};Name
Kind
Type
Requirement
filtersproperty
LogStreamFilterMaprequired
linesproperty
readonly LogStreamLine[]required
modeproperty
BindingModerequired
nextIndexproperty
numberrequired
seededproperty
booleanrequired
- Name
filters- Kind
- property
- Type
LogStreamFilterMap- Requirement
- required
- Name
lines- Kind
- property
- Type
readonly LogStreamLine[]- Requirement
- required
- Name
mode- Kind
- property
- Type
BindingMode- Requirement
- required
- Name
nextIndex- Kind
- property
- Type
number- Requirement
- required
- Name
seeded- Kind
- property
- Type
boolean- Requirement
- required
LogStreamDiagnosticCodes
valueLogStreamDiagnosticCodests
export declare const LogStreamDiagnosticCodes: readonly DiagnosticCatalogueEntry[];LogStreamEntry
typeLogStreamEntryts
type LogStreamEntry = { readonly level: LogStreamLevel; readonly message: string; readonly ts?: string;};Name
Kind
Type
Requirement
levelproperty
LogStreamLevelrequired
messageproperty
stringrequired
tsproperty
stringoptional
- Name
level- Kind
- property
- Type
LogStreamLevel- Requirement
- required
- Name
message- Kind
- property
- Type
string- Requirement
- required
- Name
ts- Kind
- property
- Type
string- Requirement
- optional
LogStreamEvent
typeLogStreamEventts
type LogStreamEvent = { readonly type: "START"; readonly stamps: readonly string[];} | { readonly type: "TICK"; readonly stamp: string;} | { readonly type: "TICK_DUE";} | { readonly type: "PAUSE";} | { readonly type: "RESUME";} | { readonly type: "FILTER_TOGGLE"; readonly level: LogStreamLevel;};LogStreamFilterMap
typeLogStreamFilterMapts
type LogStreamFilterMap = { readonly [K in LogStreamLevel]: boolean; };LogStreamInput
typeLogStreamInputts
type LogStreamInput = { readonly source?: readonly LogStreamEntry[]; readonly intervalMs?: number; readonly prefill?: number; readonly maxLines?: number; /** Chip UI enabled. When false, FILTER_TOGGLE is a no-op. */ readonly filters?: boolean; /** S12 paused binding. Defined → controlled; omitted → uncontrolled false. */ readonly paused?: boolean;};Name
Kind
Type
Requirement
Description
filtersproperty
booleanoptional
Chip UI enabled. When false, FILTER_TOGGLE is a no-op.
intervalMsproperty
numberoptional
—
maxLinesproperty
numberoptional
—
pausedproperty
booleanoptional
S12 paused binding. Defined → controlled; omitted → uncontrolled false.
prefillproperty
numberoptional
—
sourceproperty
readonly LogStreamEntry[]optional
—
- Name
filters- Kind
- property
- Type
boolean- Requirement
- optional
- Description
- Chip UI enabled. When false, FILTER_TOGGLE is a no-op.
- Name
intervalMs- Kind
- property
- Type
number- Requirement
- optional
- Description
- —
- Name
maxLines- Kind
- property
- Type
number- Requirement
- optional
- Description
- —
- Name
paused- Kind
- property
- Type
boolean- Requirement
- optional
- Description
- S12 paused binding. Defined → controlled; omitted → uncontrolled false.
- Name
prefill- Kind
- property
- Type
number- Requirement
- optional
- Description
- —
- Name
source- Kind
- property
- Type
readonly LogStreamEntry[]- Requirement
- optional
- Description
- —
LogStreamLevel
typeLogStreamLevelts
type LogStreamLevel = (typeof LOG_STREAM_LEVELS)[number];LogStreamLine
typeLogStreamLinets
type LogStreamLine = { readonly level: LogStreamLevel; readonly message: string; readonly ts: string;};Name
Kind
Type
Requirement
levelproperty
LogStreamLevelrequired
messageproperty
stringrequired
tsproperty
stringrequired
- Name
level- Kind
- property
- Type
LogStreamLevel- Requirement
- required
- Name
message- Kind
- property
- Type
string- Requirement
- required
- Name
ts- Kind
- property
- Type
string- Requirement
- required
logStreamMachine
valuelogStreamMachinets
export declare const logStreamMachine: LogStreamMachine;LogStreamMachine
typeLogStreamMachinets
type LogStreamMachine = Machine<LogStreamInput, LogStreamStateValue, LogStreamContext, LogStreamEvent, LogStreamCommand>;logStreamReplaySequence
valuelogStreamReplaySequencets
export declare const logStreamReplaySequence: readonly LogStreamEvent[];LogStreamSeedResult
typeLogStreamSeedResultts
type LogStreamSeedResult = { readonly lines: readonly LogStreamLine[]; readonly nextIndex: number;};Name
Kind
Type
Requirement
linesproperty
readonly LogStreamLine[]required
nextIndexproperty
numberrequired
- Name
lines- Kind
- property
- Type
readonly LogStreamLine[]- Requirement
- required
- Name
nextIndex- Kind
- property
- Type
number- Requirement
- required
logStreamSelectors
valuelogStreamSelectorsts
export declare const logStreamSelectors: { paused: (snapshot: LogStreamSnapshot) => boolean; running: (snapshot: LogStreamSnapshot) => boolean; lines: (snapshot: LogStreamSnapshot) => readonly LogStreamLine[]; nextIndex: (snapshot: LogStreamSnapshot) => number; filters: (snapshot: LogStreamSnapshot) => LogStreamFilterMap; visible: (snapshot: LogStreamSnapshot, filtersEnabled?: boolean) => LogStreamLine[]; mode: (snapshot: LogStreamSnapshot) => BindingMode;};Name
Kind
Type
Requirement
filtersproperty
(snapshot: LogStreamSnapshot) => LogStreamFilterMaprequired
linesproperty
(snapshot: LogStreamSnapshot) => readonly LogStreamLine[]required
modeproperty
(snapshot: LogStreamSnapshot) => BindingModerequired
nextIndexproperty
(snapshot: LogStreamSnapshot) => numberrequired
pausedproperty
(snapshot: LogStreamSnapshot) => booleanrequired
runningproperty
(snapshot: LogStreamSnapshot) => booleanrequired
visibleproperty
(snapshot: LogStreamSnapshot, filtersEnabled?: boolean) => LogStreamLine[]required
- Name
filters- Kind
- property
- Type
(snapshot: LogStreamSnapshot) => LogStreamFilterMap- Requirement
- required
- Name
lines- Kind
- property
- Type
(snapshot: LogStreamSnapshot) => readonly LogStreamLine[]- Requirement
- required
- Name
mode- Kind
- property
- Type
(snapshot: LogStreamSnapshot) => BindingMode- Requirement
- required
- Name
nextIndex- Kind
- property
- Type
(snapshot: LogStreamSnapshot) => number- Requirement
- required
- Name
paused- Kind
- property
- Type
(snapshot: LogStreamSnapshot) => boolean- Requirement
- required
- Name
running- Kind
- property
- Type
(snapshot: LogStreamSnapshot) => boolean- Requirement
- required
- Name
visible- Kind
- property
- Type
(snapshot: LogStreamSnapshot, filtersEnabled?: boolean) => LogStreamLine[]- Requirement
- required
LogStreamSnapshot
typeLogStreamSnapshotts
type LogStreamSnapshot = Snapshot<LogStreamStateValue, LogStreamContext>;LogStreamStateValue
typeLogStreamStateValuets
type LogStreamStateValue = "running" | "paused";seedLogStreamLines
functionLocal duplicate of oracle `seedLogLines` — stamp is required (no clock).
seedLogStreamLinests
declare function seedLogStreamLines(source: readonly LogStreamEntry[], prefill: number, maxLines: number, stamp: () => string): LogStreamSeedResult;Name
Kind
Type
Requirement
sourceparameter
readonly LogStreamEntry[]required
prefillparameter
numberrequired
maxLinesparameter
numberrequired
stampparameter
() => stringrequired
returnreturn value
LogStreamSeedResultn/a
- Name
source- Kind
- parameter
- Type
readonly LogStreamEntry[]- Requirement
- required
- Name
prefill- Kind
- parameter
- Type
number- Requirement
- required
- Name
maxLines- Kind
- parameter
- Type
number- Requirement
- required
- Name
stamp- Kind
- parameter
- Type
() => string- Requirement
- required
- Name
return- Kind
- return value
- Type
LogStreamSeedResult- Requirement
- n/a
toggleLogStreamFilter
functionLocal duplicate of oracle `toggleLogLevelFilter`.
toggleLogStreamFilterts
declare function toggleLogStreamFilter(active: LogStreamFilterMap, level: LogStreamLevel): LogStreamFilterMap;Name
Kind
Type
Requirement
activeparameter
LogStreamFilterMaprequired
levelparameter
LogStreamLevelrequired
returnreturn value
LogStreamFilterMapn/a
- Name
active- Kind
- parameter
- Type
LogStreamFilterMap- Requirement
- required
- Name
level- Kind
- parameter
- Type
LogStreamLevel- Requirement
- required
- Name
return- Kind
- return value
- Type
LogStreamFilterMap- Requirement
- n/a
visibleLogStreamLines
functionLocal duplicate of oracle `visibleLogLines`.
visibleLogStreamLinests
declare function visibleLogStreamLines(lines: readonly LogStreamLine[], active: LogStreamFilterMap): LogStreamLine[];Name
Kind
Type
Requirement
linesparameter
readonly LogStreamLine[]required
activeparameter
LogStreamFilterMaprequired
returnreturn value
LogStreamLine[]n/a
- Name
lines- Kind
- parameter
- Type
readonly LogStreamLine[]- Requirement
- required
- Name
active- Kind
- parameter
- Type
LogStreamFilterMap- Requirement
- required
- Name
return- Kind
- return value
- Type
LogStreamLine[]- Requirement
- n/a