(context: ProcessUserInputContext)
| 146 | } |
| 147 | |
| 148 | async function buildCacheSafeParams(context: ProcessUserInputContext): Promise<CacheSafeParams> { |
| 149 | const forkContextMessages = getMessagesAfterCompactBoundary(stripInProgressAssistantMessage(context.messages)); |
| 150 | const saved = getLastCacheSafeParams(); |
| 151 | if (saved) { |
| 152 | return { |
| 153 | systemPrompt: saved.systemPrompt, |
| 154 | userContext: saved.userContext, |
| 155 | systemContext: saved.systemContext, |
| 156 | toolUseContext: context, |
| 157 | forkContextMessages, |
| 158 | }; |
| 159 | } |
| 160 | const [rawSystemPrompt, userContext, systemContext] = await Promise.all([ |
| 161 | getSystemPrompt(context.options.tools, context.options.mainLoopModel, [], context.options.mcpClients), |
| 162 | getUserContext(), |
| 163 | getSystemContext(), |
| 164 | ]); |
| 165 | return { |
| 166 | systemPrompt: asSystemPrompt(rawSystemPrompt), |
| 167 | userContext, |
| 168 | systemContext, |
| 169 | toolUseContext: context, |
| 170 | forkContextMessages, |
| 171 | }; |
| 172 | } |
| 173 | |
| 174 | export async function call( |
| 175 | onDone: LocalJSXCommandOnDone, |
no test coverage detected