feat!: remove dead couch account channel - #30
Merged
Conversation
CouchDB was dropped as a sync channel on 2026-07-31; the auth route that minted the per-memory JWT went with it. Every export here was unreachable. The injected-fetch seam (channel/http.ts: FetchLike/FetchInit/FetchResponse) goes too - its only consumers were couch-sync and couch-token, leaving it a public type with no caller in the package and none in the estate. BREAKING CHANGE: removes the CouchSync/CouchState/CouchTokenClient/CouchDoc exports, channelForVault + the couch fields on SyncResolution, and the FetchLike/FetchInit/FetchResponse types.
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.
CouchDB was dropped as a sync channel on 2026-07-31: the auth route that minted the per-memory JWT (
POST /account/couch-token) was deleted then, and git smart-HTTP is the only device channel now. Every couch export in this package has been unreachable since - it could only fail.-1,490 lines.
src/channel/couch-{doc,state,sync,token}.tsand their tests; the whole couch export block inindex.ts;channelForVault,VaultChannel,CouchVaultResolution,parseCouchVaultand the couch fields onSyncResolution; the couch cases inresolve-host.test.tsand the couch section of the README.Also removed, one step beyond the obvious:
src/channel/http.ts- the injected-fetch seam (FetchLike/FetchInit/FetchResponse). Its only consumers werecouch-sync.tsandcouch-token.ts. With those gone it was a public type with no caller in this package and none in the estate -resolve-host.tshas always had its ownFetchJson. Verified across all 14 repos before cutting: the only otherFetchLikeis mcp-catalog's own, unrelated type.Kept:
buildRepoUrl,HostResolver,parseResolution,SyncResolution,FetchJson,Clock- the whole git side, untouched.Breaking
Removes public exports, so consumers pinning a caret range on 0.3.x/0.4.x are unaffected until they bump. The one importer of
CouchSync/FetchLikein the estate was@agentage/cli'ssrc/sync/couch/manager.ts, which is being deleted in the parallel CLI sweep - after that nothing anywhere imports a removed symbol.Verified
npm run verifygreen. Tests 165 -> 120 (4 couch test files plus the 6 couch cases inresolve-host.test.ts; no surviving code lost a test).git grep -i couchreturns nothing. A cleannpm run clean && npm run buildproduces nodist/channel/couch-*anddist/index.d.tsdeclares noCouch*symbol.Part of the estate-wide sweep: auth#18, obsidian-sync#107, dashboard#36, web#472, auth#19, and the CLI in flight.