export commandFingerprint + fast-fail defaults + commandWithEnvExports
Sub-batch 1/N of the reboot cutover branch. Foundation moves — convoy's
reconcile loop needs identical shape for the wire-format freeze.
- src/sessions.ts: commandFingerprint() flips from internal to export;
docstring pins the wire-format contract (16-char lowercase hex of
SHA-256 of command + \0 + args.join(\0)).
- src/client-api.ts: re-exports commandFingerprint,
DEFAULT_FAST_FAIL_WINDOW_SEC, DEFAULT_FAST_FAIL_LIMIT. Also exports
commandWithEnvExports from ptyfile.ts (already had readPtyFile —
convoy reads pty.toml verbatim per spec §4 and needs both).
Cutover-branch commit; does NOT merge until the reboot moment.
Corresponding pty-side deletes (classifyFlapping, respawnPermanent,
gc STEP-2, --fast-fail-* flags, pty up/down) come in subsequent commits
on this branch.