feat: dual-generation Remote seam for dsh 0.1.2-alpha.1 (0.0.3) - #9
Merged
Conversation
master removed connection.api and moved the settings/llm remotes onto
traced remote.<ns> Cordis services with positional signatures, a
renamed providers list, and a slim {ok,value}|{ok,error} envelope.
wire.ts probes the new services first, adapts their shapes back to
the legacy face, and falls back to connection.api on the published
rc line. Registration defers onto cordis internal/service arrivals
and never throws: a synchronous apply lands inside master's
sequential mount window (settings before llm); the probe names the
awaited namespace in either mount order; a throwing section mount
is contained and unsubscribes instead of escaping into cordis's
unguarded dispatch or bricking the web shell.
Live lanes follow the web login gate (full token URL, 303 cookie
exchange, forgiving pre-auth fallback); the integration lane fetches
the advertised rev-keyed combo URLs.
Verified: 213/218 hermetic, wire.ts 100% on every coverage metric;
integration + functional lanes green on the real 0.1.2-alpha.1
master checkout. Served bundle 56,510 bytes.
chore(release): 0.0.3
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
dsh master (0.1.2-alpha.1) removed
connection.apiand moved the settings/llm remotes onto tracedremote.<ns>Cordis services with positional signatures (settings.mutate(ns, ops, expectedRevision)), a renamedllm.listConfigurableProviders, hoistedllm.discoverModels(settingsNs, …), and a slim{ok, value} | {ok, error}envelope. This plugin's client face therefore failed at runtime (the page could never load providers).src/client/wire.tsprobes the newremote.<ns>services first and adapts their shapes back to the legacy face; on the published npm line (rc.7–0.1.1-rc.2) it returnsconnection.apiunchanged. Page logic speaks one face either way.internal/servicearrivals and never throws: master mounts namespaces sequentially (settings before llm), so a synchronous apply lands inside the mount window and previously bricked the whole web shell. The probe names the awaited namespace in either mount order; a throwing section mount is contained (logged once, latch held, listener unsubscribed).Verification
wire.ts100% statements/lines/functions/branches.Single squashed commit; merges as one entry on main. Release 0.0.3 tags at the merge point.