π File detail
utils/peerAddress.ts
π― Use case
This file lives under βutils/β, which covers cross-cutting helpers (shell, tempfiles, settings, messages, process input, β¦). On the API surface it exposes parseAddress β mainly functions, hooks, or classes. What the file header says: Peer address parsing β kept separate from peerRegistry.ts so that SendMessageTool can import parseAddress without transitively loading the bridge (axios) and UDS (fs, net) modules at tool-enumeration time.
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
Peer address parsing β kept separate from peerRegistry.ts so that SendMessageTool can import parseAddress without transitively loading the bridge (axios) and UDS (fs, net) modules at tool-enumeration time.
π€ Exports (heuristic)
parseAddress
π₯οΈ Source preview
/**
* Peer address parsing β kept separate from peerRegistry.ts so that
* SendMessageTool can import parseAddress without transitively loading
* the bridge (axios) and UDS (fs, net) modules at tool-enumeration time.
*/
/** Parse a URI-style address into scheme + target. */
export function parseAddress(to: string): {
scheme: 'uds' | 'bridge' | 'other'
target: string
} {
if (to.startsWith('uds:')) return { scheme: 'uds', target: to.slice(4) }
if (to.startsWith('bridge:')) return { scheme: 'bridge', target: to.slice(7) }
// Legacy: old-code UDS senders emit bare socket paths in from=; route them
// through the UDS branch so replies aren't silently dropped into teammate
// routing. (No bare-session-ID fallback β bridge messaging is new enough
// that no old senders exist, and the prefix would hijack teammate names
// like session_manager.)
if (to.startsWith('/')) return { scheme: 'uds', target: to }
return { scheme: 'other', target: to }
}