Skip to content

feat!: remove dead couch account channel - #30

Merged
vreshch merged 1 commit into
masterfrom
feature/drop-couch
Aug 9, 2026
Merged

feat!: remove dead couch account channel#30
vreshch merged 1 commit into
masterfrom
feature/drop-couch

Conversation

@vreshch

@vreshch vreshch commented Aug 9, 2026

Copy link
Copy Markdown
Member

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}.ts and their tests; the whole couch export block in index.ts; channelForVault, VaultChannel, CouchVaultResolution, parseCouchVault and the couch fields on SyncResolution; the couch cases in resolve-host.test.ts and 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 were couch-sync.ts and couch-token.ts. With those gone it was a public type with no caller in this package and none in the estate - resolve-host.ts has always had its own FetchJson. Verified across all 14 repos before cutting: the only other FetchLike is 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/FetchLike in the estate was @agentage/cli's src/sync/couch/manager.ts, which is being deleted in the parallel CLI sweep - after that nothing anywhere imports a removed symbol.

Verified

npm run verify green. Tests 165 -> 120 (4 couch test files plus the 6 couch cases in resolve-host.test.ts; no surviving code lost a test). git grep -i couch returns nothing. A clean npm run clean && npm run build produces no dist/channel/couch-* and dist/index.d.ts declares no Couch* symbol.

Part of the estate-wide sweep: auth#18, obsidian-sync#107, dashboard#36, web#472, auth#19, and the CLI in flight.

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.
@vreshch
vreshch merged commit 9475c12 into master Aug 9, 2026
1 check passed
@vreshch
vreshch deleted the feature/drop-couch branch August 9, 2026 14:16
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.

1 participant