Skip to content

index

The intent client's host-agnostic capture + transport runtime — the live half of what the retired dev overlay carved out for its two hosts (copied here in the overlay retirement; the original is deleted — read it in git history).

The discipline every module keeps: a DOM-free, framework-free core (a state machine, an algorithm, a batching loop) with the thin browser edge injected as a dependency (PcmSource, VideoSamplerDeps.captureFrame, WireDeps), so the cores run in plain Node under Vitest with a fake edge and the real edge is supplied only in a live tab. Losing that split makes this untestable — keep it.

This root entry is the shared substrate; the jobs ride subpath entries:

  • ./locator — the component locator (screenshot-rect → components → source, off the source-processor stamps)
  • ./talk — the audio stack: mic → PCM (AudioWorklet), REST segments, realtime PCM streaming, TTS playback with barge-in, offline transcriber
  • ./video — the screen-share frame sampler over a warm capture stream
  • ./selection — the "select on the page, then ask about it" watcher
  • ./wire — the per-thread socket: batched event log, shots/audio/PCM uploads, lowered echoes merged back in
  • ./thread — the host-agnostic intent-thread adapter over ./protocol's socket client

Interfaces

Type Aliases

Variables

Functions

References

ACTOR_STORAGE_KEY

Re-exports ACTOR_STORAGE_KEY


ClientMeta

Re-exports ClientMeta


collectClientMeta

Re-exports collectClientMeta


CollectClientMetaOptions

Re-exports CollectClientMetaOptions


getInstrumentation

Re-exports getInstrumentation


PageInstrumentation

Re-exports PageInstrumentation


pageTabRecord

Re-exports pageTabRecord


PageTabRecord

Re-exports PageTabRecord