diff --git a/src/agents/harness/hook-history.ts b/src/agents/harness/hook-history.ts new file mode 100644 index 00000000000..19f52630509 --- /dev/null +++ b/src/agents/harness/hook-history.ts @@ -0,0 +1,21 @@ +export const MAX_AGENT_HOOK_HISTORY_MESSAGES = 100; + +export function limitAgentHookHistoryMessages( + messages: readonly unknown[], + maxMessages = MAX_AGENT_HOOK_HISTORY_MESSAGES, +): unknown[] { + if (maxMessages <= 0) { + return []; + } + return messages.slice(-maxMessages); +} + +export function buildAgentHookConversationMessages(params: { + historyMessages?: readonly unknown[]; + currentTurnMessages?: readonly unknown[]; +}): unknown[] { + return [ + ...limitAgentHookHistoryMessages(params.historyMessages ?? []), + ...(params.currentTurnMessages ?? []), + ]; +}