Skip to content

TtyReadable

Defined in: packages/core/src/kernel/types.ts:410

A terminal-backed Readable with completion registration capability. Implemented by ldisc stdin — allows the shell to self-discover and register tab completion without boot-path injection.

  • Readable

readonly isTty: true

Defined in: packages/core/src/kernel/types.ts:411

True when this stream is backed by a terminal device (line discipline). Shell uses this to decide whether to write PS1 prompt itself.

Readable.isTty

[asyncIterator](): AsyncIterator<string>

Defined in: packages/core/src/kernel/types.ts:378

AsyncIterator<string>

Readable.[asyncIterator]


read(count?, signal?): Promise<Uint8Array<ArrayBufferLike>>

Defined in: packages/core/src/kernel/types.ts:379

number

AbortSignal

Promise<Uint8Array<ArrayBufferLike>>

Readable.read


setCompletionProvider(provider): void

Defined in: packages/core/src/kernel/types.ts:412

CompletionProvider

void


optional tryRead(count?): Uint8Array

Defined in: packages/core/src/kernel/types.ts:398

Return immediately with buffered data, or empty Uint8Array if nothing available. Synchronous — no waiting.

Semantics:

  • Returns whatever is currently buffered, up to count bytes
  • May return fewer than count bytes (partial data is normal)
  • Empty Uint8Array (byteLength === 0) means “nothing buffered right now” — this is NOT EOF. EOF is signaled by read() resolving to empty.
  • Never blocks, never waits for I/O

Implementation note: intended for platform adapters (nodeTty). Kernel-internal Readable implementations (pipe-backed, fd-backed) SHOULD NOT implement this — doing so would cause readAllStdin to drain pipe content before the WASM program can process it incrementally.

Adapters SHOULD return empty in line mode and only return buffered data in raw mode.

number

Uint8Array

Readable.tryRead