A retried POST /v1/auth/rotate loses the replacement token because the
presented token is already in grace, and a retried webhook registration
creates duplicates. Only idempotent methods now retry. Add
previous_token_grace_until to RotateApiTokenResponse and percent-encode
the agent id in request paths.
Claude-Session: https://claude.ai/code/session_01Agoc9bRVE9KL7mmWtey9Vq
Share one request, decode, and error path across the client, public
endpoints, and export download; align types with the Backend contract
and split types_api.go.
Claude-Session: https://claude.ai/code/session_01Agoc9bRVE9KL7mmWtey9Vq
- Remove PreviousTokenGraceUntil from RotateApiTokenResponse
- Update comments and CLI flag descriptions
- Remove grace period test from integration test
- Update README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>