@bman654/clodex 2.11.1 → 2.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -362,7 +362,12 @@ clodex --version # version
362
362
  avoid near-immediate termination; the 1h/6h ceilings allow deliberately long
363
363
  calls without leaving stalls attached indefinitely. At either deadline,
364
364
  clodex aborts the SDK call; cancellation is cooperative, so a provider
365
- transport that ignores the abort signal can settle later. These are
365
+ transport that ignores the abort signal can settle later. clodex also asks
366
+ the provider to stop as soon as the client that made the request goes away —
367
+ a Ctrl-C, a killed agent, or a closed browser — instead of waiting for a
368
+ deadline, whether the answer had started arriving or not. The same
369
+ cooperative limit applies: clodex stops relaying and requests cancellation,
370
+ but cannot guarantee the provider stops generating. These are
366
371
  server-side limits, and callers may stop sooner. Claude Code currently
367
372
  defaults to about 180s of downstream byte silence in proxy mode and 300s in
368
373
  endpoint mode, with
@@ -379,11 +384,16 @@ clodex --version # version
379
384
  … backoff, so a shorter idle timeout automatically lowers both. The ceiling
380
385
  is `5` at the default timeout and can rise to `10` at the maximum. Larger
381
386
  integers clamp with a one-time warning that names the active idle timeout.
382
- On a genuinely unavailable provider, five retries can add roughly 62s of
383
- fallback backoff instead of the SDK default's roughly 6s; the longer wait is
384
- deliberate so transient failures have more time to recover. Provider
385
- `retry-after` hints and time spent in failed attempts can mean fewer retries
386
- start before a streaming idle deadline; the shared abort signal still
387
+ Without a retry hint, five retries can add roughly 62s of fallback
388
+ backoff instead of the SDK default's roughly 6s, giving a transiently
389
+ unavailable provider more time to recover. When OpenAI explicitly states an
390
+ acceptable delay for a WebSocket throttle, clodex gives that value to the
391
+ SDK instead of its fallback schedule. Clodex's existing 5s default remains a
392
+ client-facing hint for upgrade 403s and WebSocket connection-limit errors
393
+ that state no delay; it does not replace the SDK's fallback. Other hintless
394
+ 429s also retain the fallback schedule. Provider `retry-after` hints and time
395
+ spent in failed attempts can mean fewer retries start before a streaming idle
396
+ deadline; the shared abort signal still
387
397
  interrupts backoff when that deadline fires. If a deadline interrupts a
388
398
  retry delay, clodex preserves the provider failure that prompted the retry;
389
399
  if a currently active call is silent, clodex reports the timeout instead.
@@ -407,10 +417,17 @@ clodex --version # version
407
417
  burst of parallel work less likely to trip OpenAI's own rate limit. (In the
408
418
  traffic we sampled, the rejections clustered in the busiest minutes; that the
409
419
  rate is what triggers them is a reasonable reading of that, not something we
410
- can prove.) A follow-up turn that can reuse the connection it already has is
411
- never delayed by this;
420
+ can prove.) A follow-up turn that already has a connection it can reuse when
421
+ it arrives is never delayed by this;
412
422
  what goes through the limiter is work that needs a *new* connection — a first
413
- turn, a conversation that branched, or several agents running at once. The
423
+ turn, a conversation that branched, or several agents running at once. If a
424
+ turn that is waiting its place in the queue finds, on being let through, that
425
+ a connection has freed up and is carrying exactly the conversation it is
426
+ continuing, it picks that one up instead of opening another. That is
427
+ uncommon — it needs another turn to finish inside the few seconds this one
428
+ spends waiting AND to have been on the same conversation history — so treat
429
+ it as an edge taken when it appears, not as agents routinely sharing
430
+ connections. The
414
431
  default is 60 new connections a minute, with an allowance of 10 opened back
415
432
  to back after a quiet spell.
416
433
  **This is a real throughput ceiling, not a brief pause.** One new connection