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>
071e661649Julius Marminge committed on 10/22/2026, 5:49:49 AM· committed by Julius Marmingeparentd868b62

Checks

All checks passed
7 files changedLine totals unavailable