MCPcopy Create free account
hub / github.com/Noumena-Network/code / applyStopHookMessage

Function applyStopHookMessage

src/screens/replMessageSignals.ts:317–369  ·  view source on GitHub ↗
(
  previous: StopHookExecutionState,
  message: Message,
)

Source from the content-addressed store, hash-verified

315}
316
317function applyStopHookMessage(
318 previous: StopHookExecutionState,
319 message: Message,
320): StopHookExecutionState {
321 if (isStopHookProgressMessage(message)) {
322 const toolUseID = message.toolUseID
323 const reset =
324 !toolUseID || toolUseID !== previous.toolUseID
325 ? {
326 toolUseID,
327 hookEvent: message.data.hookEvent,
328 total: 0,
329 completedCount: 0,
330 customMessage: null,
331 commands: [],
332 hasSummary: false,
333 }
334 : previous
335
336 return {
337 ...reset,
338 hookEvent: message.data.hookEvent,
339 total: reset.total + 1,
340 customMessage: reset.customMessage ?? message.data.statusMessage ?? null,
341 commands: [...reset.commands, message.data.command],
342 }
343 }
344
345 if (
346 previous.toolUseID &&
347 message.type === 'system' &&
348 message.subtype === 'stop_hook_summary' &&
349 message.toolUseID === previous.toolUseID
350 ) {
351 return {
352 ...previous,
353 hasSummary: true,
354 }
355 }
356
357 if (
358 previous.toolUseID &&
359 isStopHookAttachmentMessage(message) &&
360 message.attachment.toolUseID === previous.toolUseID
361 ) {
362 return {
363 ...previous,
364 completedCount: previous.completedCount + 1,
365 }
366 }
367
368 return previous
369}
370
371function formatStopHookSpinnerSuffix(
372 state: StopHookExecutionState,

Callers 2

Calls 2

Tested by

no test coverage detected