MCPcopy Create free account
hub / github.com/freecodexyz/free-code / captureAPIRequest

Function captureAPIRequest

src/utils/log.ts:331–352  ·  view source on GitHub ↗
(
  params: BetaMessageStreamParams,
  querySource?: QuerySource,
)

Source from the content-addressed store, hash-verified

329 * Captures the last API request for inclusion in bug reports.
330 */
331export function captureAPIRequest(
332 params: BetaMessageStreamParams,
333 querySource?: QuerySource,
334): void {
335 // startsWith, not exact match — users with non-default output styles get
336 // variants like 'repl_main_thread:outputStyle:Explanatory' (querySource.ts).
337 if (!querySource || !querySource.startsWith('repl_main_thread')) {
338 return
339 }
340
341 // Store params WITHOUT messages to avoid retaining the entire conversation
342 // for all users. Messages are already persisted to the transcript file and
343 // available via React state.
344 const { messages, ...paramsWithoutMessages } = params
345 setLastAPIRequest(paramsWithoutMessages)
346 // For ant users only: also keep a reference to the final messages array so
347 // /share's serialized_conversation.json captures the exact post-compaction,
348 // CLAUDE.md-injected payload the API received. Overwritten each turn;
349 // dumpPrompts.ts already holds 5 full request bodies for ants, so this is
350 // not a new retention class.
351 setLastAPIRequestMessages(process.env.USER_TYPE === 'ant' ? messages : null)
352}
353
354/**
355 * Reset error log state for testing purposes only.

Callers 1

queryModelFunction · 0.85

Calls 2

setLastAPIRequestFunction · 0.85

Tested by

no test coverage detected