strip null bytes from log messages before db insert
PostgreSQL rejects strings containing null bytes (0x00) with
CharacterNotInRepertoireError. When flows accidentally log binary data
that contains null bytes, the server crashes instead of storing the log.
Strips null bytes from the message and name fields before inserting,
so the log record is still preserved minus the offending bytes.
Fixes #19292
feat(cli): migrate flow-run command to cyclopts (wave 3b)
Native cyclopts implementation of all flow-run subcommands: inspect,
ls, delete, cancel, retry, logs, execute. Includes the
_get_flow_run_by_id_or_name helper for retry-by-name support.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat(cli): migrate flow command to cyclopts (wave 3a)
Native cyclopts implementation of `flow ls` and `flow serve` with
deferred imports for all heavy dependencies.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>