Skip to content

Add Cloudflare AI Gateway and Workers AI providers (v1.12.1) - #3015

Draft
pridemusvaire wants to merge 145 commits into
RooCodeInc:developfrom
pridemusvaire:feat/cloudflare-inference-providers-v1.12.1
Draft

pridemusvaire wants to merge 145 commits into
RooCodeInc:developfrom
pridemusvaire:feat/cloudflare-inference-providers-v1.12.1

Conversation

@pridemusvaire

Copy link
Copy Markdown
Contributor

Summary

Rebases the Cloudflare AI Gateway and Workers AI inference providers onto Roomote v1.12.1.

This is the same overlay as #2809 / #1276, now on the current release so self-hosted deploys can pull 1.10–1.12 (including #2952 JOB_AUTH on bullmq) without dropping Cloudflare.

The two providers stay independent on the existing inference-gateway path. GLM 5.3 / 5.3 Flash stay mapped on the Cloudflare catalogs.

Test plan

  • @roomote/types inference-gateway, opencode-provider-config, model-provider-config, task-models (170 tests)
  • @roomote/cloud-agents opencode-runtime + non-task-provider-usage (118 tests)
  • @roomote/worker agent-home (90 tests)
  • @roomote/api inference-gateway (79 tests)
  • check-types on types, cloud-agents, worker, api
  • Self-host upgrade on the FleetCast box to v1.12.1-cf1276, keep the Cloudflare Tunnel override, confirm /health and Workers AI credentials still resolve

Supersedes the v1.9.4 overlay in #2809.

mrubens and others added 30 commits July 10, 2026 19:40
…CodeInc#299)

SlackSetupExperience's intro screen owns the step action buttons, and it
is skipped when the Slack config is already saved (savedSatisfied). But
StepAuthEnvVars's providerOwnsActions check was missing the matching
!savedSatisfied clause, so revisiting the auth step with saved Slack
credentials rendered the value form with no action button at all,
stranding the user on the page.

Align providerOwnsActions with the intro guard and add a regression
test for the saved-Slack revisit path.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Hotfix-only cut from main with the RooCodeInc#299 Slack setup Continue fix.
…-continue

[Chore] Release Roomote 0.4.2 hotfix for saved Slack continue
Drop the reverted analytics Model group-by line and document
notification destination and homepage dump-flash fixes now included
on release/v0.5.0.
Merge latest develop (RooCodeInc#370, RooCodeInc#371), document the Blaxel Compose --wait
fix on the existing 0.5.0 notes, remove the shipping pending changeset,
and quiet residual oxlint/ESLint friction from that merge.
mrubens and others added 25 commits September 9, 2026 12:18
…odeInc#2559)

OpenAI gpt-5.x models fill every optional list_skills argument, so an exact-name
lookup arrived with both scope IDs set and was rejected by the bridge schema.
The bare catch then reported 'The requested skill catalog is unavailable.' on
every call, which made models conclude the catalog was down.

- Treat null as absent for list_skills and load_skill on every Fast host, not
  only inside task sandboxes.
- Prefer environmentId when both scope IDs are given, and ignore a continuation
  offset without an exact name, instead of rejecting the call.
- Report the zod issues for invalid arguments and log other failures.
- Degrade a failing Settings or repository source to a catalog warning so
  packaged and instance skills still load.

Co-authored-by: Matt Rubens <2600+mrubens@users.noreply.github.com>
…ence-auth-1.8.1

[Fix] Release Roomote 1.8.1 for Azure inference and Fast skills
…el-history-1.8.2

Hotfix Roomote 1.8.2: restore Slack channel history reads
Keeps the two providers independent on the existing inference-gateway path, and maps GLM 5.3 / 5.3 Flash on the Cloudflare catalogs now that Workers AI hosts them.
@roomote-community

roomote-community Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

1 issue outstanding. See task

  • packages/cloud-agents/src/server/opencode-runtime.ts:175 does not apply the Cloudflare provider overlay when OPENCODE_CONFIG_CONTENT is configured, breaking non-task inference for those deployments.
  • packages/cloud-agents/src/server/opencode-runtime.ts:421 rewrites Cloudflare model IDs for registration but not for the custom-config reasoning merge, so native Fast sessions ignore configured reasoning for AI Gateway Workers AI models.

Reviewed 4088626

Comment thread packages/cloud-agents/src/server/opencode-runtime.ts
Helper inference skipped the Cloudflare overlay whenever OPENCODE_CONFIG_CONTENT was set, so Fast/custom-config deployments kept OpenCode's default AI Gateway catalog instead of Roomote's /ai/v1 credentials.
)
.map(toBedrockMantleRuntimeModelId);
.map((modelId) =>
rewriteCloudflareOpenCodeModelId(toBedrockMantleRuntimeModelId(modelId)),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mergeBedrockRegistrationsIntoConfigContent rewrites this role ID to cloudflare-ai-gateway/@cf/..., but the subsequent mergeReasoningIntoConfigContent still reads the raw R_*_MODEL values. For native Fast sessions with custom config and a cloudflare-ai-gateway/workers-ai/@cf/... model, it writes reasoningEffort under models["workers-ai/@cf/..."] while both the registered provider and prompt use @cf/...; the configured role reasoning is therefore ignored. Apply the same Cloudflare rewrite in mergeReasoningIntoConfigContent (and add the custom-config Fast case).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants