Repository navigation
feat: reach a System One gateway of your own through TYPESAFE_BASE_URL - #17
Merged
Merged
Conversation
A gateway that speaks POST /v1/systemone is the proxy case the TypeSafe SDK already has: the key in TYPESAFE_API_KEY, the address in TYPESAFE_BASE_URL, TYPESAFE_DEFAULT_MODEL when the model id differs. Document it as such instead of adding a parallel provider, and make the path first-class: - setup offers "Other System One gateway" when asking which host a pasted key is for, asks for the URL and model, and stores the three variables together; an unusable URL stores nothing. - TYPESAFE_BASE_URL is validated before any request (absolute http(s), no credentials, query or fragment, not ending in /v1/systemone). Failures are a configuration problem in doctor and setup and never echo the value. Supersedes #16, keeping its goal and dropping the separate JEV_CODE_* variable set, the custom retry default, and the unrelated ignore-file changes.
This was referenced Oct 7, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Makes a System One gateway of your own a first-class setup path, by treating it as what it already is: the proxy case the TypeSafe SDK knows. The gateway's key goes in
TYPESAFE_API_KEY, its address inTYPESAFE_BASE_URL, and its model id inTYPESAFE_DEFAULT_MODELwhen it is notjev-latest. No new variables, and nothing new to carry into harness configs.This supersedes #16, which proposed the same goal through a separate
customprovider with its ownJEV_CODE_*variables. Thanks to @monanklynx for raising it and for the thorough spec.setupoffers "Other System One gateway" when it asks which host a pasted key is for, then asks for the URL and the model and stores the three variables together. An unusable URL stores nothing.TYPESAFE_BASE_URLis checked before any request: an absolutehttp(s)URL with no credentials, query, or fragment, stopping before/v1/systemone. A bad value is a configuration problem indoctorandsetup, and the value is never echoed.doctoralso shows a malformed override when no key is set yet..env.example, and--helpget a line each.Kept from #16: any System One gateway works, its key never borrows another host's, setup can take it interactively, the URL is validated without leaking it.
Left out: the parallel variable set, the zero-retry default for one kind of host, the display name (doctor labels a gateway as a TypeSafe-keyed proxy and says where requests go, as proxies already do), and the unrelated ignore-file changes.
How to verify
Checklist
npm run checkpassesCHANGELOG.mdentry under Unreleased