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

Function evict

packages/app/src/context/server-session.ts:384–418  ·  view source on GitHub ↗
(sessionIDs: string[])

Source from the content-addressed store, hash-verified

382 }
383
384 const evict = (sessionIDs: string[]) => {
385 if (sessionIDs.length === 0) return
386 const evicted = new Set(sessionIDs)
387 for (const [partID, item] of deltaBases) {
388 if (evicted.has(item.sessionID)) deltaBases.delete(partID)
389 }
390 sessionIDs.forEach((sessionID) => {
391 generations.delete(sessionID)
392 clearOptimistic(sessionID)
393 requests.delete(sessionID)
394 inflight.delete(sessionID)
395 inflightDiff.delete(sessionID)
396 inflightTodo.delete(sessionID)
397 messageLoads.delete(sessionID)
398 pendingParts.delete(sessionID)
399 orphanParts.delete(sessionID)
400 removedMessages.delete(sessionID)
401 })
402 setData(
403 produce((draft) => {
404 dropSessionCaches(draft, sessionIDs)
405 }),
406 )
407 setMeta(
408 produce((draft) => {
409 for (const sessionID of sessionIDs) {
410 delete draft.limit[sessionID]
411 delete draft.cursor[sessionID]
412 delete draft.complete[sessionID]
413 delete draft.loading[sessionID]
414 delete draft.at[sessionID]
415 }
416 }),
417 )
418 }
419
420 const protectedSessions = () =>
421 new Set([

Callers 2

touchFunction · 0.70
applyFunction · 0.70

Calls 4

dropSessionCachesFunction · 0.90
clearOptimisticFunction · 0.85
protectedSessionsFunction · 0.85
deleteMethod · 0.45

Tested by

no test coverage detected