Skip to content

feat(cli): add governed OpenRouter AI Gateway kits - #69

Merged
Baziar merged 4 commits into
mainfrom
feature/openrouter-gateway-adapter
Sep 21, 2026
Merged

Baziar merged 4 commits into
mainfrom
feature/openrouter-gateway-adapter

Conversation

@Baziar

@Baziar Baziar commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Add first-class AI Gateway Create kits gateway.openrouter.typescript (@openrouter/sdk 1.3.11) and gateway.openrouter.python (openrouter 1.2.11): server-owned, pinned, fail-closed policy, no live model calls during Create, Attach unsupported, Go SDK excluded while beta.
  • Keep this surface distinct from Agent Framework. Generated contracts.consumes comes from the kit gatewayId. Doctor and the workspace model keep framework openrouter, kind gateway, archetype service, and the authored node or python runtime. Setuptools src-layout packages are not blocked for a missing src/__init__.py when a nested package already has one.
  • Qualification is one OS job for both adapters. Sparse workspace-run init receipts (errorCategory: unknown, exit 1, missing npm/pip excerpt) classify as registry infrastructure and retry once. Windows temp teardown retries EBUSY. The qualification workflow parses cleanly. Authority stays source-ready — this merge does not mark the surface qualified or stable.

Test plan

  • packages/cli typecheck, lint, format, and git diff --check
  • Model gateway tests: policy, registry, version-discovery, qualification, generated-projects, workspace-lifecycle (including the sparse-registry case), and Doctor/model identity for both kits
  • Sequential Create of both kits; lifecycle install fails closed on a registry outage as QUALIFICATION_INFRA, not product green
  • Model Gateway Qualification on this SHA: PR Linux job and workflow_dispatch qualification_mode=full (Linux, macOS, Windows), all green
  • No OPENROUTER_API_KEY in qualification jobs, and no stable / qualified / release-ready claim in this PR

Introduce OpenRouter TypeScript and Python as first-class AI Gateway
projects without treating gateways as agent frameworks.

Generate pinned, server-owned starters with fail-closed provider-policy
validation, cross-language semantic parity, secret-safe error handling,
stream cleanup, deterministic offline smoke tests, and Workspai
workspace lifecycle integration.

Keep Go excluded while its SDK remains beta. Cross-platform
qualification and release admission remain pending.
reject: false,
timeout: input.timeoutMs,
})
: execa(input.finalCommand, [], {
@Baziar
Baziar merged commit 8738e15 into main Sep 21, 2026
50 checks passed
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.

2 participants