MCPcopy Create free account
hub / github.com/Noumena-Network/code / getBridgeSession

Function getBridgeSession

src/bridge/createSession.ts:205–244  ·  view source on GitHub ↗
(
  sessionId: string,
  opts?: { baseUrl?: string; getAccessToken?: () => string | undefined },
)

Source from the content-addressed store, hash-verified

203 * makes the Sessions API return 404.
204 */
205export async function getBridgeSession(
206 sessionId: string,
207 opts?: { baseUrl?: string; getAccessToken?: () => string | undefined },
208): Promise<{ environment_id?: string; title?: string } | null> {
209 const { default: axios } = await import('axios')
210
211 const headers = await resolveBridgeSessionHeaders({
212 accessTokenOverride: opts?.getAccessToken?.(),
213 operation: 'session fetch',
214 })
215 if (!headers) {
216 return null
217 }
218
219 const url = `${opts?.baseUrl ?? getNoumenaPlatformBaseUrl()}/v1/sessions/${sessionId}`
220 logForDebugging(`[bridge] Fetching session ${sessionId}`)
221
222 let response
223 try {
224 response = await axios.get<{ environment_id?: string; title?: string }>(
225 url,
226 { headers, timeout: 10_000, validateStatus: s => s < 500 },
227 )
228 } catch (err: unknown) {
229 logForDebugging(
230 `[bridge] Session fetch request failed: ${errorMessage(err)}`,
231 )
232 return null
233 }
234
235 if (response.status !== 200) {
236 const detail = extractErrorDetail(response.data)
237 logForDebugging(
238 `[bridge] Session fetch failed with status ${response.status}${detail ? `: ${detail}` : ''}`,
239 )
240 return null
241 }
242
243 return response.data
244}
245
246/**
247 * Archive a bridge session via POST /v1/sessions/{id}/archive.

Callers 3

fetchSessionTitleFunction · 0.85
bridgeMainFunction · 0.85

Calls 5

extractErrorDetailFunction · 0.85
logForDebuggingFunction · 0.50
errorMessageFunction · 0.50

Tested by

no test coverage detected