{"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"}