MCPcopy Create free account
hub / github.com/anomalyco/opencode / resolve

Function resolve

packages/app/src/context/server-session.ts:231–258  ·  view source on GitHub ↗
(sessionID: string, options?: { force?: boolean })

Source from the content-addressed store, hash-verified

229 }
230
231 const resolve = (sessionID: string, options?: { force?: boolean }) => {
232 const cached = data.info[sessionID]
233 if (cached && !options?.force) return Promise.resolve(cached)
234 const pending = requests.get(sessionID)
235 if (pending) return pending
236 const active = generation(sessionID)
237 const request = client.session.get({ sessionID }).then((result) => {
238 if (!result.data) throw new Error(`Session not found: ${sessionID}`)
239 if (generations.get(sessionID) !== active) return result.data
240 return remember(result.data)
241 })
242 requests.set(sessionID, request)
243 const cleanup = () => {
244 if (requests.get(sessionID) === request) requests.delete(sessionID)
245 if (
246 generations.get(sessionID) === active &&
247 !data.info[sessionID] &&
248 !requests.has(sessionID) &&
249 !messageLoads.has(sessionID) &&
250 !inflight.has(sessionID) &&
251 !inflightDiff.has(sessionID) &&
252 !inflightTodo.has(sessionID)
253 )
254 generations.delete(sessionID)
255 }
256 void request.then(cleanup, cleanup)
257 return request
258 }
259
260 const peekLineage = (sessionID: string) => {
261 const session = data.info[sessionID]

Callers 3

syncFunction · 0.70
applyFunction · 0.70
finishFunction · 0.50

Calls 5

rootSessionFunction · 0.90
generationFunction · 0.70
rememberFunction · 0.70
getMethod · 0.65
setMethod · 0.45

Tested by

no test coverage detected