( params: EnvLessBridgeParams, )
| 153 | * as a generic "initialization failed" state. |
| 154 | */ |
| 155 | export async function initEnvLessBridgeCore( |
| 156 | params: EnvLessBridgeParams, |
| 157 | ): Promise<ReplBridgeHandle | null> { |
| 158 | const { |
| 159 | baseUrl, |
| 160 | orgUUID, |
| 161 | title, |
| 162 | getAccessToken, |
| 163 | onAuth401, |
| 164 | toSDKMessages, |
| 165 | initialHistoryCap, |
| 166 | initialMessages, |
| 167 | onInboundMessage, |
| 168 | onUserMessage, |
| 169 | onPermissionResponse, |
| 170 | onInterrupt, |
| 171 | onSetModel, |
| 172 | onSetMaxThinkingTokens, |
| 173 | onSetPermissionMode, |
| 174 | onStateChange, |
| 175 | outboundOnly, |
| 176 | tags, |
| 177 | } = params |
| 178 | |
| 179 | const cfg = await getEnvLessBridgeConfig() |
| 180 | |
| 181 | // ── 1. Create session (POST /v1/code/sessions, no env_id) ─────────────── |
| 182 | const accessToken = getAccessToken() |
| 183 | if (!accessToken) { |
| 184 | logForDebugging('[remote-bridge] No OAuth token') |
| 185 | return null |
| 186 | } |
| 187 | |
| 188 | const createdSessionId = await withRetry( |
| 189 | () => |
| 190 | createCodeSession(baseUrl, accessToken, title, cfg.http_timeout_ms, tags), |
| 191 | 'createCodeSession', |
| 192 | cfg, |
| 193 | ) |
| 194 | if (!createdSessionId) { |
| 195 | onStateChange?.('failed', 'Session creation failed — see debug log') |
| 196 | logBridgeSkip('v2_session_create_failed', undefined, true) |
| 197 | return null |
| 198 | } |
| 199 | const sessionId: string = createdSessionId |
| 200 | logForDebugging(`[remote-bridge] Created session ${sessionId}`) |
| 201 | logForDiagnosticsNoPII('info', 'bridge_repl_v2_session_created') |
| 202 | |
| 203 | // ── 2. Fetch bridge credentials (POST /bridge → worker_jwt, expires_in, api_base_url) ── |
| 204 | const credentials = await withRetry( |
| 205 | () => |
| 206 | fetchRemoteCredentials( |
| 207 | sessionId, |
| 208 | baseUrl, |
| 209 | accessToken, |
| 210 | cfg.http_timeout_ms, |
| 211 | ), |
| 212 | 'fetchRemoteCredentials', |
no test coverage detected