feat(server): t3_thread_launch takes clientRequestId

A launch had no retry key, so an agent (or another environment calling on
its behalf) that lost the response could only guess whether the thread
was created, and a retry started a second one.

t3_thread_launch now takes an optional clientRequestId. The command,
thread and message ids derive from the caller and the key, and the launch
service already replays a command it accepted, so a retry returns the
first thread. Without a key every launch is new, as before.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
6152622adcJulius Marminge committed on 10/20/2026, 11:06:39 PMparent76d6c7c
7 files changedLine totals unavailable