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

Function assistantMessageToMessageParam

src/services/api/claude.ts:660–701  ·  view source on GitHub ↗
(
  message: AssistantMessage,
  addCache = false,
  enablePromptCaching: boolean,
  querySource?: QuerySource,
)

Source from the content-addressed store, hash-verified

658}
659
660export function assistantMessageToMessageParam(
661 message: AssistantMessage,
662 addCache = false,
663 enablePromptCaching: boolean,
664 querySource?: QuerySource,
665): MessageParam {
666 if (addCache) {
667 if (typeof message.message.content === 'string') {
668 return {
669 role: 'assistant',
670 content: [
671 {
672 type: 'text',
673 text: message.message.content,
674 ...(enablePromptCaching && {
675 cache_control: getCacheControl({ querySource }),
676 }),
677 },
678 ],
679 }
680 } else {
681 return {
682 role: 'assistant',
683 content: message.message.content.map((_, i) => ({
684 ..._,
685 ...(i === message.message.content.length - 1 &&
686 _.type !== 'thinking' &&
687 _.type !== 'redacted_thinking' &&
688 (feature('CONNECTOR_TEXT') ? !isConnectorTextBlock(_) : true)
689 ? enablePromptCaching
690 ? { cache_control: getCacheControl({ querySource }) }
691 : {}
692 : {}),
693 })),
694 }
695 }
696 }
697 return {
698 role: 'assistant',
699 content: message.message.content,
700 }
701}
702
703export type Options = {
704 getToolPermissionContext: () => Promise<ToolPermissionContext>

Callers 1

addCacheBreakpointsFunction · 0.85

Calls 2

getCacheControlFunction · 0.85
isConnectorTextBlockFunction · 0.85

Tested by

no test coverage detected