Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.5 kB · 36 lines
TypeScript
at main
12345678910111213141516171819202122232425262728293031323334353637import { updateSessionBridgeId } from '../utils/concurrentSessions.js'import type { ReplBridgeHandle } from './replBridge.js'import { toCompatSessionId } from './sessionIdCompat.js'
/** * Global pointer to the active REPL bridge handle, so callers outside * useReplBridge's React tree (tools, slash commands) can invoke handle methods * like subscribePR. Same one-bridge-per-process justification as bridgeDebug.ts * — the handle's closure captures the sessionId and getAccessToken that created * the session, and re-deriving those independently (BriefTool/upload.ts pattern) * risks staging/prod token divergence. * * Set from useReplBridge.tsx when init completes; cleared on teardown. */
let handle: ReplBridgeHandle | null = null
export function setReplBridgeHandle(h: ReplBridgeHandle | null): void { handle = h // Publish (or clear) our bridge session ID in the session record so other // local peers can dedup us out of their bridge list — local is preferred. void updateSessionBridgeId(getSelfBridgeCompatId() ?? null).catch(() => {})}
export function getReplBridgeHandle(): ReplBridgeHandle | null { return handle}
/** * Our own bridge session ID in the session_* compat format the API returns * in /v1/sessions responses — or undefined if bridge isn't connected. */export function getSelfBridgeCompatId(): string | undefined { const h = getReplBridgeHandle() return h ? toCompatSessionId(h.bridgeSessionId) : undefined}