MCPcopy
hub / github.com/codeaashu/claude-code / generateAwaySummary

Function generateAwaySummary

src/services/awaySummary.ts:29–74  ·  view source on GitHub ↗
(
  messages: readonly Message[],
  signal: AbortSignal,
)

Source from the content-addressed store, hash-verified

27 * Returns null on abort, empty transcript, or error.
28 */
29export async function generateAwaySummary(
30 messages: readonly Message[],
31 signal: AbortSignal,
32): Promise<string | null> {
33 if (messages.length === 0) {
34 return null
35 }
36
37 try {
38 const memory = await getSessionMemoryContent()
39 const recent = messages.slice(-RECENT_MESSAGE_WINDOW)
40 recent.push(createUserMessage({ content: buildAwaySummaryPrompt(memory) }))
41 const response = await queryModelWithoutStreaming({
42 messages: recent,
43 systemPrompt: asSystemPrompt([]),
44 thinkingConfig: { type: 'disabled' },
45 tools: [],
46 signal,
47 options: {
48 getToolPermissionContext: async () => getEmptyToolPermissionContext(),
49 model: getSmallFastModel(),
50 toolChoice: undefined,
51 isNonInteractiveSession: false,
52 hasAppendSystemPrompt: false,
53 agents: [],
54 querySource: 'away_summary',
55 mcpTools: [],
56 skipCacheWrite: true,
57 },
58 })
59
60 if (response.isApiErrorMessage) {
61 logForDebugging(
62 `[awaySummary] API error: ${getAssistantMessageText(response)}`,
63 )
64 return null
65 }
66 return getAssistantMessageText(response)
67 } catch (err) {
68 if (err instanceof APIUserAbortError || signal.aborted) {
69 return null
70 }
71 logForDebugging(`[awaySummary] generation failed: ${err}`)
72 return null
73 }
74}
75

Callers 1

generateFunction · 0.85

Calls 10

getSessionMemoryContentFunction · 0.85
createUserMessageFunction · 0.85
buildAwaySummaryPromptFunction · 0.85
asSystemPromptFunction · 0.85
getSmallFastModelFunction · 0.85
logForDebuggingFunction · 0.85
getAssistantMessageTextFunction · 0.85
pushMethod · 0.45

Tested by

no test coverage detected