MCPcopy Create free account
hub / github.com/bearlyai/OpenADE / extractClaudePlanText

Function extractClaudePlanText

projects/openade-module/src/hyperplan.ts:405–422  ·  view source on GitHub ↗
(rawMessages: Array<Record<string, unknown>>)

Source from the content-addressed store, hash-verified

403}
404
405function extractClaudePlanText(rawMessages: Array<Record<string, unknown>>): string | null {
406 for (let index = rawMessages.length - 1; index >= 0; index--) {
407 const message = rawMessages[index].message as Record<string, unknown>
408 if (message.type === "result" && typeof message.result === "string" && message.result.length > 0) return message.result
409 }
410 for (let index = rawMessages.length - 1; index >= 0; index--) {
411 const message = rawMessages[index].message as Record<string, unknown>
412 if (message.type !== "assistant") continue
413 const nested = typeof message.message === "object" && message.message !== null ? (message.message as Record<string, unknown>) : {}
414 const content = Array.isArray(nested.content) ? nested.content : []
415 const textParts = content
416 .filter((block): block is Record<string, unknown> => typeof block === "object" && block !== null)
417 .filter((block) => block.type === "text" && typeof block.text === "string")
418 .map((block) => block.text as string)
419 if (textParts.length > 0) return textParts.join("\n")
420 }
421 return null
422}
423
424function extractCodexPlanText(rawMessages: Array<Record<string, unknown>>): string | null {
425 const textParts: string[] = []

Callers 1

extractOpenADEPlanTextFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected