mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-01 12:21:25 +00:00
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { normalizeProviderId } from "../agents/model-selection.js";
|
|
import type { SessionEntry } from "../config/sessions.js";
|
|
import {
|
|
CLAUDE_CLI_PROVIDER,
|
|
readClaudeCliSessionMessages,
|
|
resolveClaudeCliBindingSessionId,
|
|
resolveClaudeCliSessionFilePath,
|
|
} from "./cli-session-history.claude.js";
|
|
import { mergeImportedChatHistoryMessages } from "./cli-session-history.merge.js";
|
|
|
|
export {
|
|
mergeImportedChatHistoryMessages,
|
|
readClaudeCliSessionMessages,
|
|
resolveClaudeCliSessionFilePath,
|
|
};
|
|
|
|
export function augmentChatHistoryWithCliSessionImports(params: {
|
|
entry: SessionEntry | undefined;
|
|
provider?: string;
|
|
localMessages: unknown[];
|
|
homeDir?: string;
|
|
}): unknown[] {
|
|
const cliSessionId = resolveClaudeCliBindingSessionId(params.entry);
|
|
if (!cliSessionId) {
|
|
return params.localMessages;
|
|
}
|
|
|
|
const normalizedProvider = normalizeProviderId(params.provider ?? "");
|
|
if (
|
|
normalizedProvider &&
|
|
normalizedProvider !== CLAUDE_CLI_PROVIDER &&
|
|
params.localMessages.length > 0
|
|
) {
|
|
return params.localMessages;
|
|
}
|
|
|
|
const importedMessages = readClaudeCliSessionMessages({
|
|
cliSessionId,
|
|
homeDir: params.homeDir,
|
|
});
|
|
return mergeImportedChatHistoryMessages({
|
|
localMessages: params.localMessages,
|
|
importedMessages,
|
|
});
|
|
}
|