UNPKG

@mastra/core

Version:
1 lines 4.59 kB
{"version":3,"file":"output-helpers-BxsqfJ0U.cjs","names":[],"sources":["../src/stream/aisdk/v5/output-helpers.ts"],"sourcesContent":["import type {\n StepResult,\n ToolSet,\n StaticToolCall,\n StaticToolResult,\n DynamicToolCall,\n DynamicToolResult,\n} from '@internal/ai-sdk-v5';\nimport type { StepTripwireData } from '../../types';\n\n// ContentPart is not exported from ai, so we derive it from StepResult\ntype ContentPart<TOOLS extends ToolSet> = StepResult<TOOLS>['content'][number];\nexport class DefaultStepResult<TOOLS extends ToolSet> implements StepResult<TOOLS> {\n readonly content: StepResult<TOOLS>['content'];\n readonly finishReason: StepResult<TOOLS>['finishReason'];\n readonly usage: StepResult<TOOLS>['usage'];\n readonly warnings: StepResult<TOOLS>['warnings'];\n readonly request: StepResult<TOOLS>['request'];\n readonly response: StepResult<TOOLS>['response'];\n readonly providerMetadata: StepResult<TOOLS>['providerMetadata'];\n /** Tripwire data if this step was rejected by a processor */\n readonly tripwire?: StepTripwireData;\n\n constructor({\n content,\n finishReason,\n usage,\n warnings,\n request,\n response,\n providerMetadata,\n tripwire,\n }: {\n content: StepResult<TOOLS>['content'];\n finishReason: StepResult<TOOLS>['finishReason'];\n usage: StepResult<TOOLS>['usage'];\n warnings: StepResult<TOOLS>['warnings'];\n request: StepResult<TOOLS>['request'];\n response: StepResult<TOOLS>['response'];\n providerMetadata: StepResult<TOOLS>['providerMetadata'];\n tripwire?: StepTripwireData;\n }) {\n this.content = content;\n this.finishReason = finishReason;\n this.usage = usage;\n this.warnings = warnings;\n this.request = request;\n this.response = response;\n this.providerMetadata = providerMetadata;\n this.tripwire = tripwire;\n }\n\n get text() {\n // Return empty string if this step was rejected by a tripwire\n if (this.tripwire) {\n return '';\n }\n return this.content\n .filter(part => part.type === 'text')\n .map(part => part.text)\n .join('');\n }\n\n get reasoning() {\n return this.content.filter(part => part.type === 'reasoning');\n }\n\n get reasoningText() {\n return this.reasoning.length === 0 ? undefined : this.reasoning.map(part => part.text).join('');\n }\n\n get files() {\n return this.content.filter(part => part.type === 'file').map(part => part.file);\n }\n\n get sources(): Extract<ContentPart<TOOLS>, { type: 'source' }>[] {\n return this.content.filter(part => part.type === 'source');\n }\n\n get toolCalls() {\n return this.content.filter(part => part.type === 'tool-call');\n }\n\n get staticToolCalls() {\n return this.toolCalls.filter((toolCall): toolCall is StaticToolCall<TOOLS> => toolCall.dynamic === false);\n }\n\n get dynamicToolCalls() {\n return this.toolCalls.filter((toolCall): toolCall is DynamicToolCall => toolCall.dynamic === true);\n }\n\n get toolResults() {\n return this.content.filter(part => part.type === 'tool-result');\n }\n\n get staticToolResults() {\n return this.toolResults.filter((toolResult): toolResult is StaticToolResult<TOOLS> => toolResult.dynamic === false);\n }\n\n get dynamicToolResults() {\n return this.toolResults.filter((toolResult): toolResult is DynamicToolResult => toolResult.dynamic === true);\n }\n}\n"],"mappings":";AAYA,IAAa,oBAAb,MAAmF;CACjF;CACA;CACA;CACA;CACA;CACA;CACA;;CAEA;CAEA,YAAY,EACV,SACA,cACA,OACA,UACA,SACA,UACA,kBACA,YAUC;EACD,KAAK,UAAU;EACf,KAAK,eAAe;EACpB,KAAK,QAAQ;EACb,KAAK,WAAW;EAChB,KAAK,UAAU;EACf,KAAK,WAAW;EAChB,KAAK,mBAAmB;EACxB,KAAK,WAAW;CAClB;CAEA,IAAI,OAAO;EAET,IAAI,KAAK,UACP,OAAO;EAET,OAAO,KAAK,QACT,QAAO,SAAQ,KAAK,SAAS,MAAM,CAAC,CACpC,KAAI,SAAQ,KAAK,IAAI,CAAC,CACtB,KAAK,EAAE;CACZ;CAEA,IAAI,YAAY;EACd,OAAO,KAAK,QAAQ,QAAO,SAAQ,KAAK,SAAS,WAAW;CAC9D;CAEA,IAAI,gBAAgB;EAClB,OAAO,KAAK,UAAU,WAAW,IAAI,KAAA,IAAY,KAAK,UAAU,KAAI,SAAQ,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE;CAChG;CAEA,IAAI,QAAQ;EACV,OAAO,KAAK,QAAQ,QAAO,SAAQ,KAAK,SAAS,MAAM,CAAC,CAAC,KAAI,SAAQ,KAAK,IAAI;CAChF;CAEA,IAAI,UAA6D;EAC/D,OAAO,KAAK,QAAQ,QAAO,SAAQ,KAAK,SAAS,QAAQ;CAC3D;CAEA,IAAI,YAAY;EACd,OAAO,KAAK,QAAQ,QAAO,SAAQ,KAAK,SAAS,WAAW;CAC9D;CAEA,IAAI,kBAAkB;EACpB,OAAO,KAAK,UAAU,QAAQ,aAAgD,SAAS,YAAY,KAAK;CAC1G;CAEA,IAAI,mBAAmB;EACrB,OAAO,KAAK,UAAU,QAAQ,aAA0C,SAAS,YAAY,IAAI;CACnG;CAEA,IAAI,cAAc;EAChB,OAAO,KAAK,QAAQ,QAAO,SAAQ,KAAK,SAAS,aAAa;CAChE;CAEA,IAAI,oBAAoB;EACtB,OAAO,KAAK,YAAY,QAAQ,eAAsD,WAAW,YAAY,KAAK;CACpH;CAEA,IAAI,qBAAqB;EACvB,OAAO,KAAK,YAAY,QAAQ,eAAgD,WAAW,YAAY,IAAI;CAC7G;AACF"}