MCPcopy Create free account
hub / github.com/ByBrawe/opencode-loop / sessionStatusType

Function sessionStatusType

src/index.js:828–860  ·  view source on GitHub ↗
(client, sessionID, directory, options = {})

Source from the content-addressed store, hash-verified

826 if (ordered.length === 0)
827 return "unknown";
828 const tail = ordered.at(-1);
829 const info = tail?.info || tail;
830 if (!info || info.role !== "assistant")
831 return "incomplete";
832 const completed = Number(info?.time?.completed || 0);
833 const created = Number(info?.time?.created || 0);
834 if (!Number.isFinite(completed) || completed <= 0)
835 return "incomplete";
836 const startedAt = Number(active?.startedAt || 0);
837 if (startedAt > 0 && completed < startedAt && (!Number.isFinite(created) || created < startedAt))
838 return "incomplete";
839 const relevant = ordered.filter((message) => {
840 const candidate = message?.info || message || {};
841 if (candidate.role !== "assistant")
842 return false;
843 if (startedAt <= 0)
844 return true;
845 const candidateCreated = Number(candidate?.time?.created || 0);
846 const candidateCompleted = Number(candidate?.time?.completed || 0);
847 return candidateCreated >= startedAt || candidateCompleted >= startedAt;
848 });
849 return relevant.some(assistantMessageHasMeaningfulActivity) ? "completed" : "empty";
850}
851async function resolveCompactionModel(directory, client, sessionID, preferredModel) {
852 const preferred = normalizedModelRef(preferredModel);
853 if (preferred)
854 return preferred;
855 const cached = normalizedModelRef(getSessionExecutionContext(sessionID)?.model);
856 if (cached)
857 return cached;
858 const captured = await captureSessionExecutionContext(client, sessionID);
859 const capturedModel = normalizedModelRef(captured?.model);
860 if (capturedModel)
861 return capturedModel;
862 const messages = await readRecentSessionMessages(client, sessionID, directory);
863 for (const message of orderedSessionMessages(messages).reverse()) {

Callers 1

sessionIsIdleFunction · 0.85

Calls 3

nowFunction · 0.85
readLiveSessionStatusFunction · 0.85
staleActiveRunFunction · 0.85

Tested by

no test coverage detected