diff --git a/src/config/sessions/session-accessor.ts b/src/config/sessions/session-accessor.ts index 66d112e39307..5ba94f3c9a9b 100644 --- a/src/config/sessions/session-accessor.ts +++ b/src/config/sessions/session-accessor.ts @@ -47,8 +47,6 @@ import { updateSqliteSessionLastRoute, loadExactSqliteSessionEntry, loadLatestSqliteAssistantText, - loadLatestSqliteAssistantMessage, - loadLatestSqliteMessage, loadSqliteSessionEntry, loadSqliteTranscriptEvents, loadSqliteTranscriptEventsSync, @@ -329,16 +327,6 @@ export type LatestTranscriptAssistantText = { timestamp?: number; }; -export type LatestTranscriptAssistantMessage = { - id?: string; - message: unknown; -}; - -export type LatestTranscriptMessage = { - id?: string; - message: unknown; -}; - export type SessionTranscriptWriteLockAccessorContext = { appendMessage: ( options: TranscriptMessageAppendOptions, @@ -2370,22 +2358,6 @@ export function readLatestTranscriptAssistantText( return loadLatestSqliteAssistantText(scope, options); } -/** Reads the latest assistant message payload without materializing the whole transcript. */ -export function readLatestTranscriptAssistantMessage( - scope: SessionTranscriptReadScope, - options: { includeTranscriptOnlyOpenClawAssistant?: boolean } = {}, -): LatestTranscriptAssistantMessage | undefined { - return loadLatestSqliteAssistantMessage(scope, options); -} - -/** Reads the latest transcript message payload without materializing the whole transcript. */ -export function readLatestTranscriptMessage( - scope: SessionTranscriptReadScope, - options: { includeTranscriptOnlyOpenClawAssistant?: boolean } = {}, -): LatestTranscriptMessage | undefined { - return loadLatestSqliteMessage(scope, options); -} - /** * Appends one transcript message with message-id generation and optional * idempotency lookup. The returned message is the redacted persisted value. diff --git a/src/config/sessions/transcript-append.test-support.ts b/src/config/sessions/transcript-append.test-support.ts index f8b71fac1869..80b4fdeba341 100644 --- a/src/config/sessions/transcript-append.test-support.ts +++ b/src/config/sessions/transcript-append.test-support.ts @@ -27,10 +27,7 @@ import { streamSessionTranscriptLinesReverse, } from "./transcript-stream.js"; import { isCanonicalSessionTranscriptEntry } from "./transcript-tree.js"; -import { - resolveOwnedSessionTranscriptWriteLockRunner, - type OwnedSessionTranscriptPublishedEntry, -} from "./transcript-write-context.js"; +import { resolveOwnedSessionTranscriptWriteLockRunner } from "./transcript-write-context.js"; import { CURRENT_SESSION_VERSION } from "./version.js"; const SESSION_MANAGER_APPEND_MAX_BYTES = 8 * 1024 * 1024; @@ -425,13 +422,6 @@ export type AppendSessionTranscriptMessageResult = { appended: boolean; }; -export type SessionTranscriptAppendTransactionContext = { - appendEvent: (event: unknown) => Promise; - appendMessage: ( - params: Omit, "config" | "transcriptPath">, - ) => Promise | undefined>; -}; - function isTranscriptAgentMessage(value: unknown): value is AgentMessage { return ( typeof value === "object" && @@ -511,57 +501,6 @@ export async function appendSessionTranscriptMessageWithOwnedWriteLock return await activeLockRunner(() => appendSessionTranscriptMessageLocked(params)); } -/** - * Runs a group of transcript appends through one append queue and write lock. - */ -export async function runSessionTranscriptAppendTransaction( - params: Pick, - run: (context: SessionTranscriptAppendTransactionContext) => Promise | T, -): Promise { - const publishedEntries: OwnedSessionTranscriptPublishedEntry[] = []; - const runTransaction = async (): Promise => - await run({ - appendEvent: async (event) => { - const result = await appendSessionTranscriptEventLocked({ - config: params.config, - event, - transcriptPath: params.transcriptPath, - }); - publishedEntries.push({ kind: "serialized", serialized: result.serializedEntry }); - }, - appendMessage: async (messageParams) => { - const result = await appendSessionTranscriptMessageLocked({ - ...messageParams, - config: params.config, - onHeaderCreated: (header) => { - publishedEntries.push({ kind: "header", serialized: header }); - }, - transcriptPath: params.transcriptPath, - }); - if (result?.appended === true) { - publishedEntries.push({ kind: "id", id: result.messageId }); - } - return result; - }, - }); - const activeLockRunner = resolveOwnedSessionTranscriptWriteLockRunner({ - sessionFile: params.transcriptPath, - }); - if (activeLockRunner) { - return await activeLockRunner( - () => withSessionTranscriptAppendQueue(params.transcriptPath, runTransaction), - { - publishOwnedWrite: true, - resolvePublishedEntries: () => publishedEntries, - resolvePublishedEntriesAfterFailure: () => publishedEntries, - }, - ); - } - return await withSessionTranscriptAppendQueue(params.transcriptPath, () => - withSessionTranscriptWriteLock(params, runTransaction), - ); -} - type AppendSessionTranscriptEventParams = { config?: OpenClawConfig; event: unknown;