Commit Graph

62 Commits

Author SHA1 Message Date
Peter Steinberger 5ebfbbf8d7 fix(plugins): honor per-agent runtime config (#124978)
* fix(plugins): resolve per-agent config through SDK

* test(codex): preserve agent runtime exports

* test(telegram): make default owner explicit

* refactor(plugins): use lightweight agent scope runtime

* fix(codex): preserve multi-agent execution ownership

* chore(plugin-sdk): record approved agent scope exports

* fix(codex): keep scoped sandbox ownership authoritative

* fix(codex): preserve agent scope in native side actions

* fix(ci): avoid counting node check as environment variable
2026-08-17 01:53:08 -07:00
Peter Steinberger 12165769c7 refactor(agents): move OpenRouter failover ownership to its plugin and derive reason schemas from one tuple (#121898)
* refactor(agents): centralize failover ownership and reasons

* test(agents): move OpenRouter failover cases to plugin owner

* fix(agents): preserve prepared provider failover ownership

* test(agents): avoid failover mock shadowing

* fix(agents): preserve provider owner in error copy

* fix(agents): complete provider owner propagation

* chore(plugins): refresh failover type closure hashes
2026-08-11 04:30:18 -07:00
Peter Steinberger 830ab164ef fix(openrouter): isolate custom proxy credentials and transport security (#118773)
* fix(openrouter): confine custom endpoint credentials and transport policy

* test(openrouter): preserve typed fetch arguments in proxy fixtures
2026-08-03 10:32:06 -07:00
Peter Steinberger d92d68ac77 fix(providers): canonicalize model families and stream outcomes (#116998)
* fix(providers): canonicalize live model families and stream finalization

* test(openrouter): use canonical typed stream fixture

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 15:29:26 -07:00
Peter Steinberger 5bfc65d7f4 refactor: remove 3,543 lines of redundant runtime and tests (#115961)
* refactor: remove 3,543 lines of redundant runtime and tests

* refactor: ratchet production environment variable budget
2026-07-29 11:43:41 -04:00
Peter Steinberger eec2c0cc26 refactor(providers): unify lifecycle-safe manifest registration (#114381)
* refactor(providers): canonicalize manifest-driven registration

* fix(zai): eliminate type-only SDK import side effects
2026-07-27 03:20:02 -04:00
Jason (Json) 55cf9523e0 feat: discover models from live provider catalogs (#112412)
* feat: discover models from live provider catalogs

* fix(provider-catalog): satisfy current catalog contracts

* fix(deps): update fast-uri past new advisory

* fix(deps): refresh fast-uri shrinkwraps

* fix(openrouter): satisfy provider catalog lint

* fix(agents): preserve refreshable catalog metadata

* test(agents): keep catalog fallback proof within lint budget

* fix(provider-catalog): honor live model contracts

* fix(minimax): type discovery headers explicitly

* docs(plugin-sdk): define live model discovery contract
2026-07-21 19:29:57 -06:00
Peter Steinberger c7e7ac2728 refactor: remove expired plugin compatibility surfaces (#111451)
* docs(secrets): remove retired web credential paths

* refactor(web): remove retired provider compatibility paths

* refactor(providers): delete retired compatibility routes

* refactor(secrets): remove retired credential aliases

* refactor(plugin-sdk): delete retired compatibility surfaces

* docs(plugin-sdk): remove retired migration guidance

* chore(plugin-sdk): refresh rebased surface budgets

* chore(plugin-sdk): refresh API removal baseline

* refactor(compat): migrate retired internal callers

* chore(plugin-sdk): refresh current-main baselines

* test(config): migrate plugin-owned secret assertions

* test(gateway): narrow plugin secret refs

* fix(plugin-sdk): preserve private boundary type identity

* chore(compat): remove stale sweep references

* chore(lint): lower max-lines budget

* refactor(secrets): remove unused web helper

* build(plugin-sdk): drop removed compat entries

* chore(plugin-sdk): refresh rebased API baseline

* chore(plugin-sdk): use Linux API baseline hash

* fix(plugin-sdk): preserve private bundled build entries

* fix(plugin-sdk): package private runtime facades

* fix(plugins): preserve external credential contracts
2026-07-19 11:04:48 -07:00
Peter Steinberger 0393189243 chore(plugins): gate deprecation hygiene in CI and purge internal deprecated usage (#108261)
* chore(plugins): gate deprecation hygiene in CI and purge internal deprecated usage

* fix(agents): migrate auth-profiles oauth import to OAuthProviderId

* fix(whatsapp): use durability param in delivery-recovery test

* chore(scripts): declare shouldRunDeprecationHygieneChecks in check-changed types

* test(plugins): update runtime-api guard for ssrf policy rename
2026-07-15 04:15:23 -07:00
xingzhou 03558dc008 fix(openrouter): Fusion prompt corrupts boundary emoji in model IDs (#104433)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-11 12:11:36 -07:00
Peter Steinberger 07e2d633cc feat: show auto-detected provider plans and billing (#100520)
* feat(providers): auto-discover usage billing

* feat(ui): show provider plans and billing

* fix(ui): translate provider billing labels
2026-07-06 04:53:09 +01:00
Sally O'Malley 7e12a3326d feat(openrouter): surface Fusion panel config (#93005)
Signed-off-by: sallyom <somalley@redhat.com>
2026-06-14 12:44:49 -04:00
liuhao1024 6314c377bb fix(openrouter): normalize provider-qualified model IDs (#92627)
Normalize provider-qualified OpenRouter model IDs before capability lookup and transport while preserving native OpenRouter namespace IDs.

Fixes #92611.

Co-authored-by: liuhao1024 <sunsky.lau@gmail.com>
2026-06-13 12:05:28 +01:00
kenny b9280d5863 feat: add OpenRouter OAuth login
(cherry picked from commit dccfb60656)
2026-06-09 21:59:56 -07:00
Peter Steinberger 4fa5092cdc docs: document small extension sources 2026-06-04 21:02:07 -04:00
Peter Steinberger 304e2c83c0 chore(lint): enable stricter oxlint rules 2026-05-31 18:59:02 +01:00
rain ad1d8bf990 fix(openrouter): apply strict9 ids to Mistral routes
Fixes #58012.

Applies strict9 replay tool call id sanitization to OpenRouter Mistral-family model routes, including unprefixed Mistral/Codestral/Devstral aliases, while preserving existing passthrough behavior for Gemini and other OpenRouter-backed routes.

Adds focused unit coverage plus a live OpenRouter model catalog test so new Mistral-family routes are checked against the replay policy. Also keeps the current core lint gate green by switching the tool schema cache key sort to a non-mutating sorted array.

Co-authored-by: Pluviobyte <Pluviobyte@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 16:14:32 +01:00
Alex Knight ac69776330 Add OpenRouter provider routing params (#84579)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-20 23:27:34 +10:00
Peter Steinberger f453904165 feat: add fal and OpenRouter music generation (#82789)
* feat: add fal and OpenRouter music generation

* fix: repair music generation CI gates

* chore: refresh proof gate
2026-05-17 02:05:22 +01:00
Peter Steinberger 07df423557 fix(openrouter): honor model tool support metadata 2026-05-10 06:54:57 +01:00
Peter Steinberger 311e4608d1 feat: unify model catalog registration 2026-05-09 02:34:56 -04:00
Vincent Koc 63ebe372e8 fix(openrouter): expose DeepSeek V4 xhigh thinking
Fixes #74788.
2026-05-03 10:51:05 -07:00
Gabriel Kripalani 17ef9ef895 feat(openrouter): add video generation provider (#72700)
Adds OpenRouter video generation via video_generate, with hardened async polling/download handling, docs, and regression coverage.

Validation:
- pnpm test src/plugins/plugin-lookup-table.test.ts src/secrets/target-registry.fast-path.test.ts src/gateway/server-startup-post-attach.test.ts extensions/openrouter/video-generation-provider.test.ts src/video-generation/live-test-helpers.test.ts src/media-generation/provider-capabilities.contract.test.ts src/agents/pi-embedded-helpers/failover-matches.test.ts src/plugins/manifest-metadata-scan.test.ts src/agents/openai-transport-stream.test.ts src/media-understanding/openai-compatible-audio.test.ts src/agents/schema-normalization-runtime-contract.test.ts src/agents/provider-request-config.test.ts src/plugin-sdk/provider-stream.test.ts src/agents/pi-embedded-runner/run/attempt.spawn-workspace.websocket.test.ts -- --reporter=verbose
- OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=0 OPENCLAW_LIVE_VIDEO_GENERATION_MODELS=openrouter/google/veo-3.1-fast pnpm test:live src/video-generation/video-generation.live.test.ts -- --runInBand

Co-authored-by: notamicrodose <gabrielkripalani@me.com>
2026-04-28 10:57:31 +01:00
Peter Steinberger f3528e7755 fix(openrouter): retire stealth model catalog entries 2026-04-27 13:36:49 +01:00
Peter Steinberger d79b9e0af4 fix(openrouter): allow DeepSeek cache-ttl eligibility 2026-04-25 06:38:34 +01:00
Peter Steinberger 7875092f4d feat(openrouter): add tts provider 2026-04-25 04:36:49 +01:00
Gabriel Kripalani 0f026addaa feat: add OpenRouter image generation (#67668)
Adds OpenRouter image generation support for image_generate. Fixes #55066. Thanks @notamicrodose.
2026-04-24 01:39:19 +01:00
Shakker 04ecf284fc fix: use static provider catalogs for model listing 2026-04-22 04:51:38 +01:00
Vincent Koc 791dbf4f9d fix(openrouter): heal stale provider base urls (#68574)
* fix(openrouter): heal stale provider base urls

* chore(changelog): fix openrouter baseurl entry placement

* fix(arcee): keep catalog config optional
2026-04-18 08:42:51 -07:00
Vincent Koc 4c15f1310b fix(plugin-sdk): share canonical replay hook families 2026-04-14 16:34:09 +01:00
Vincent Koc 3f8c6dd341 fix(openrouter): reuse shared replay hooks 2026-04-14 16:15:22 +01:00
Peter Steinberger af62a2c2e4 style: fix extension lint violations 2026-04-06 14:53:55 +01:00
Peter Steinberger be526d6423 refactor: split provider stream sdk seams 2026-04-05 11:19:05 +01:00
Peter Steinberger fb580b551e fix: restore provider and config compatibility checks 2026-04-05 03:47:57 +01:00
Vincent Koc b56517b0ee refactor(providers): tighten family outlier contracts 2026-04-05 11:09:26 +09:00
Peter Steinberger ca200eb480 fix(providers): stabilize runtime normalization hooks 2026-04-04 19:34:56 +01:00
Peter Steinberger fb59b5c461 fix(ci): sync openrouter stream hook seams 2026-04-04 15:09:49 +01:00
Vincent Koc 9cc300be78 fix(ci): restore main follow-up checks 2026-04-04 22:51:31 +09:00
Vincent Koc a6707c2e1f refactor(providers): flatten shared stream hooks 2026-04-04 21:51:58 +09:00
Peter Steinberger 8cf6e4b5df fix(plugin-sdk): unblock gateway test surfaces 2026-04-04 21:02:04 +09:00
Vincent Koc 8f7b02e567 refactor(providers): share openai stream families 2026-04-04 20:29:11 +09:00
Vincent Koc 39d2a719c9 refactor(providers): add family replay and tool hooks 2026-04-04 19:33:31 +09:00
Vincent Koc 0a3211df2d fix(openrouter): gate prompt cache markers by endpoint (#60761)
* fix(openrouter): gate prompt cache markers by endpoint

* test(openrouter): use claude sonnet 4.6 cache model
2026-04-04 19:32:13 +09:00
Vincent Koc ede6d03850 refactor(openrouter): lazy-load provider registration 2026-04-04 14:54:59 +09:00
Peter Steinberger 41243529fb refactor(providers): centralize provider model policy 2026-04-04 06:16:48 +01:00
Vincent Koc 761bd3bbd0 refactor(providers): share passthrough replay helpers 2026-04-04 11:22:41 +09:00
Vincent Koc 30479b4ee0 refactor(providers): compose provider stream wrappers 2026-04-04 11:03:28 +09:00
Josh Lehman 799c6f40aa refactor: move provider replay runtime ownership into plugins (#60126)
* refactor: move provider replay runtime ownership into plugins

* fix(provider-runtime): address review followups

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-03 23:14:37 +09:00
Peter Steinberger edc58a6864 refactor: generalize provider transport hooks 2026-03-29 23:05:58 +09:00
Peter Steinberger b39a7e8073 fix: break plugin-sdk provider barrel recursion 2026-03-27 23:47:04 +00:00