picoclaw/pkg/providers
Thomas Beaudouin d9e643f472 fix: enable ChatGPT subscription (OAuth) in picoclaw
## Summary
- Always use chatgpt.com/backend-api/codex for OAuth/auth_method=token providers
- Handle response.output_text.delta streaming for Codex backend (fixes empty responses)
- Add PICOCLAW_CODEX_HTTP_DEBUG env var for opt-in HTTP request/response logging
- Simplify: remove ShouldUseCodexBackend (always returned true)

## Problem
- ChatGPT Plus subscriptions use OAuth tokens, which only work on chatgpt.com backend
- The Codex backend returns streaming text in response.output_text.delta events, but picoclaw
  was only parsing response.completed.output (which can be empty)
- This caused empty responses even when the model was generating text
2026-04-26 22:36:26 +08:00
..
anthropic Deduplicate further functions 2026-04-23 05:50:37 +00:00
anthropic_messages Deduplicate further functions 2026-04-23 05:50:37 +00:00
azure feat: add userAgent config for ModelConfig (#2242) 2026-04-02 11:44:13 +08:00
bedrock fix test and lint in web (#2219) 2026-03-31 15:50:55 +08:00
cli Feat(channels): unify animated tool feedback across chat channels and Pico (#2622) 2026-04-23 10:35:50 +08:00
common Revert deduplication 2026-04-23 05:50:38 +00:00
httpapi fix(reasoning): persist canonical history for DeepSeek and web chat 2026-04-24 21:45:41 +08:00
messageutil fix(messageutil): remove dead code 2026-04-24 22:16:18 +08:00
oauth fix: enable ChatGPT subscription (OAuth) in picoclaw 2026-04-26 22:36:26 +08:00
openai_compat fix(reasoning): persist canonical history for DeepSeek and web chat 2026-04-24 21:45:41 +08:00
openai_responses_common Deduplicate ParseDataAudioURL function 2026-04-23 05:50:37 +00:00
protocoltypes feat(agent): migrate tool prompts to capability slots 2026-04-24 19:36:46 +08:00
cli_facade.go refactor(providers): reorganize provider packages and facades 2026-04-17 12:42:03 +08:00
cli_factory_test.go refactor(providers): reorganize provider packages and facades 2026-04-17 12:42:03 +08:00
cooldown.go style: fix gofmt formatting in cooldown files 2026-02-13 12:26:44 -03:00
cooldown_test.go refactor(modernize): apply safe modernize fixes 2026-02-27 16:35:07 +08:00
error_classifier.go fix(network): classify timeout errors as FailoverTimeout 2026-04-16 22:00:13 +08:00
error_classifier_test.go fix(network): classify timeout errors as FailoverTimeout 2026-04-16 22:00:13 +08:00
facade_compat_test.go fix(providers,tools): address linter issues after reorg 2026-04-17 14:16:18 +08:00
factory.go refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
factory_provider.go fix: enable ChatGPT subscription (OAuth) in picoclaw 2026-04-26 22:36:26 +08:00
factory_provider_test.go refactor: support explicit provider field in model list entries (#2609) 2026-04-22 11:28:47 +08:00
factory_test.go refactor: seperate security.yml for store keys 2026-03-22 01:55:00 +08:00
fallback.go feat(model): llm rate limiting (#2198) 2026-04-02 19:26:26 +08:00
fallback_multikey_test.go feat(model): llm rate limiting (#2198) 2026-04-02 19:26:26 +08:00
fallback_test.go refactor(tests): extract common logic for fallback error handling into a helper function 2026-04-16 22:45:31 +08:00
httpapi_facade.go refactor(providers): reorganize provider packages and facades 2026-04-17 12:42:03 +08:00
legacy_provider.go refactor Config to add Version and migratable 2026-03-12 13:52:55 +08:00
model_ref.go feat(provider): add Alibaba Coding Plan and regional Qwen endpoints (#1748) 2026-03-19 22:07:30 +08:00
model_ref_test.go feat(provider): add Alibaba Coding Plan and regional Qwen endpoints (#1748) 2026-03-19 22:07:30 +08:00
oauth_facade.go refactor(providers): reorganize provider packages and facades 2026-04-17 12:42:03 +08:00
ratelimiter.go feat(model): llm rate limiting (#2198) 2026-04-02 19:26:26 +08:00
ratelimiter_test.go feat(model): llm rate limiting (#2198) 2026-04-02 19:26:26 +08:00
toolcall_utils_test.go Feat(channels): unify animated tool feedback across chat channels and Pico (#2622) 2026-04-23 10:35:50 +08:00
types.go feat(web): download files on frontend (#2563) 2026-04-22 11:28:04 +08:00