MCPcopy
hub / github.com/codeaashu/claude-code / createBridgeSession

Function createBridgeSession

src/bridge/createSession.ts:34–180  ·  view source on GitHub ↗
({
  environmentId,
  title,
  events,
  gitRepoUrl,
  branch,
  signal,
  baseUrl: baseUrlOverride,
  getAccessToken,
  permissionMode,
}: {
  environmentId: string
  title?: string
  events: SessionEvent[]
  gitRepoUrl: string | null
  branch: string
  signal: AbortSignal
  baseUrl?: string
  getAccessToken?: () => string | undefined
  permissionMode?: string
})

Source from the content-addressed store, hash-verified

32 * Returns the session ID on success, or null if creation fails (non-fatal).
33 */
34export async function createBridgeSession({
35 environmentId,
36 title,
37 events,
38 gitRepoUrl,
39 branch,
40 signal,
41 baseUrl: baseUrlOverride,
42 getAccessToken,
43 permissionMode,
44}: {
45 environmentId: string
46 title?: string
47 events: SessionEvent[]
48 gitRepoUrl: string | null
49 branch: string
50 signal: AbortSignal
51 baseUrl?: string
52 getAccessToken?: () => string | undefined
53 permissionMode?: string
54}): Promise<string | null> {
55 const { getClaudeAIOAuthTokens } = await import('../utils/auth.js')
56 const { getOrganizationUUID } = await import('../services/oauth/client.js')
57 const { getOauthConfig } = await import('../constants/oauth.js')
58 const { getOAuthHeaders } = await import('../utils/teleport/api.js')
59 const { parseGitHubRepository } = await import('../utils/detectRepository.js')
60 const { getDefaultBranch } = await import('../utils/git.js')
61 const { getMainLoopModel } = await import('../utils/model/model.js')
62 const { default: axios } = await import('axios')
63
64 const accessToken =
65 getAccessToken?.() ?? getClaudeAIOAuthTokens()?.accessToken
66 if (!accessToken) {
67 logForDebugging('[bridge] No access token for session creation')
68 return null
69 }
70
71 const orgUUID = await getOrganizationUUID()
72 if (!orgUUID) {
73 logForDebugging('[bridge] No org UUID for session creation')
74 return null
75 }
76
77 // Build git source and outcome context
78 let gitSource: GitSource | null = null
79 let gitOutcome: GitOutcome | null = null
80
81 if (gitRepoUrl) {
82 const { parseGitRemote } = await import('../utils/detectRepository.js')
83 const parsed = parseGitRemote(gitRepoUrl)
84 if (parsed) {
85 const { host, owner, name } = parsed
86 const revision = branch || (await getDefaultBranch()) || undefined
87 gitSource = {
88 type: 'git_repository',
89 url: `https://${host}/${owner}/${name}`,
90 revision,
91 }

Callers 3

initReplBridgeFunction · 0.85
bridgeMainFunction · 0.85
runBridgeHeadlessFunction · 0.85

Calls 12

getAccessTokenFunction · 0.85
logForDebuggingFunction · 0.85
getOrganizationUUIDFunction · 0.85
parseGitRemoteFunction · 0.85
getDefaultBranchFunction · 0.85
parseGitHubRepositoryFunction · 0.85
getMainLoopModelFunction · 0.85
getOAuthHeadersFunction · 0.85
getOauthConfigFunction · 0.85
extractErrorDetailFunction · 0.85
postMethod · 0.80
errorMessageFunction · 0.50

Tested by

no test coverage detected