Expand description
Shared helpers used by all block controllers (persistent, subprocess, acp).
Extracted to avoid copy-paste across the four controller files. Each controller keeps only its transport-specific logic (PTY / stream-json / ACP) and delegates the common mechanics here.
ConstantsΒ§
- META_
LAST_ πFAILURE - Block metadata key for the last classified agent failure. Written on every non-zero / in-band-error exit; cleared on clean success. The frontend reads this on pane mount so the recovery banner survives tab switches and page reloads without requiring the WPS event to be received in real time.
- META_
SESSION_ πID - Block metadata key for the persisted agent session ID.
Used by the βMy Agentsβ reattach path on the frontend: after a tab reload
the picker reads
block.meta["agent:sessionid"]and passes it as the--resumevalue so the CLI picks up the prior conversation.
FunctionsΒ§
- apply_
working_ πdir - Expand the working directory, create it if missing, set it on
cmd, and apply all env-var overrides fromenv_vars. - expand_
home_ πdir - Expand a leading
~/or bare~to the userβs home directory. - persist_
last_ πfailure - Persist or clear the last agent failure in block metadata.
- persist_
session_ πid - Persist a newly captured session ID to block metadata and broadcast the
waveobj:updateevent so the frontend reflects the change immediately. - spawn_
health_ πwatchdog - Spawn the health-watchdog background task for a turn.