7e2346b8c8
Adds a waiting run state so a flow step can suspend for external input and resume durably — stage A of the durable-agentic-workflow design in #4816. - flow.Await(key, prompt) / flow.AwaitStep(...): a StepFunc that suspends the run. runFrom recognizes the signal, checkpoints the run with status "waiting" (recording what it awaits), and returns cleanly — a suspend is not a failure, and it is not retried or graded. - Flow.ResumeWith(ctx, runID, input): completes the awaited step with the injected input (which becomes that step's output state) and continues from the next step. - Flow.Waiting(ctx): lists suspended runs with their Await metadata. - ResumePending/Pending skip waiting runs — they need input, not a restart. Existing crash-resume (Resume) is unchanged. Additive: no signature or default-behavior changes. Await ergonomics (sentinel-return) are the default proposed in #4816; open to AwaitStep-kind instead if preferred. Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL Co-authored-by: Claude <noreply@anthropic.com>