picoclaw/pkg/providers
BeaconCat aeba8f7142 feat(providers): add streaming reasoning_content and multimodal media support
- openai_compat: extract reasoning_content from streaming SSE deltas,
  benefiting providers like DeepSeek, Mimo, and Kimi that return
  chain-of-thought content in streamed chunks

Media handling refactor (addresses review feedback):
- agent: centralize video/audio inline decisions in resolveMediaRefs
  with provider capability gating via VideoCapable/AudioCapable interfaces
- agent: add mediaInlinePolicy + mediaInlinePolicyFromProvider() to probe
  provider capabilities before encoding media as data URLs
- agent: add size guard via encodeMediaToDataURL (respects MaxMediaSize)
- providers: add VideoCapable and AudioCapable interfaces (same pattern as
  ThinkingCapable/NativeSearchCapable)
- openai_compat: implement SupportsVideo/SupportsAudio for Mimo, Qwen,
  OpenAI (host and providerName detection)
- httpapi: delegate SupportsVideo/SupportsAudio through HTTPProvider
- httpapi: GeminiProvider declares video + audio support
- common: add video_url serialization in SerializeMessages (now reachable
  via the centralized pipeline); fix missing continue after audio branch
- Tests for capability detection, inline policy, oversized media skip,
  and provider-unsupported media fallback to path tags
2026-05-04 12:02:42 +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 feat(providers): add streaming reasoning_content and multimodal media support 2026-05-04 12:02:42 +08:00
httpapi feat(providers): add streaming reasoning_content and multimodal media support 2026-05-04 12:02:42 +08:00
messageutil fix(messageutil): remove dead code 2026-04-24 22:16:18 +08:00
oauth feat(tool): tool schema semplification 2026-04-27 21:10:30 +02:00
openai_compat feat(providers): add streaming reasoning_content and multimodal media support 2026-05-04 12:02:42 +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 feat(tool): tool schema semplification 2026-04-27 21:10:30 +02:00
factory_provider_test.go feat(tool): tool schema semplification 2026-04-27 21:10:30 +02: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
tool_schema_transform.go feat(tool): tool schema semplification 2026-04-27 21:10:30 +02:00
tool_schema_transform_test.go fix test 2026-04-27 21:18:19 +02: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(providers): add streaming reasoning_content and multimodal media support 2026-05-04 12:02:42 +08:00