@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
1 lines • 3.25 kB
Source Map (JSON)
{"version":3,"sources":["../src/tools/stream.ts"],"names":["WritableStream"],"mappings":";;;;;AAIO,IAAM,UAAA,GAAN,cAAyBA,kBAAA,CAAwB;AAAA,EAC9C,MAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EAER,WAAA,CACE;AAAA,IACE,MAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,KAOF,OAAA,EACA;AACA,IAAA,KAAA,CAAM;AAAA,MACJ,MAAM,MAAM,KAAA,EAAY;AACtB,QAAA,MAAM,WAAA,EAAY,CAAE,MAAA,CAAO,KAAK,CAAA;AAAA,MAClC;AAAA,KACD,CAAA;AAED,IAAA,MAAM,IAAA,GAAO,IAAA;AACb,IAAA,SAAS,WAAA,GAAc;AACrB,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AACZ,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA,EAEA,MAAc,OAAO,IAAA,EAAW;AAC9B,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,MAAM,KAAK,OAAA,CAAQ;AAAA,QACjB,IAAA,EAAM,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,OAAA,CAAA;AAAA,QACpB,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,IAAA,EAAM,MAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,MAAA,EAAQ,IAAA;AAAA,UACR,GAAI,IAAA,CAAK,MAAA,KAAW,eAAA,GAChB;AAAA,YACE,OAAO,IAAA,CAAK,KAAA;AAAA,YACZ,UAAU,IAAA,CAAK;AAAA,WACjB,GACA;AAAA,YACE,CAAC,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,MAAA,CAAQ,GAAG,IAAA,CAAK,MAAA;AAAA,YAC/B,CAAC,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,IAAA,CAAM,GAAG,IAAA,CAAK;AAAA;AAC/B;AACN,OACD,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,IAAA,EAAW;AACrB,IAAA,MAAM,IAAA,CAAK,OAAO,IAAI,CAAA;AAAA,EACxB;AAAA,EAEA,MAAM,OAAmC,IAAA,EAAgE;AACvG,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,MAAM,IAAA,CAAK,QAAQ,IAAI,CAAA;AAAA,IACzB;AAAA,EACF;AACF","file":"chunk-KJBMTK5B.cjs","sourcesContent":["import { WritableStream } from 'node:stream/web';\nimport type { DataChunkType } from '../stream/types';\nimport type { OutputWriter } from '../workflows';\n\nexport class ToolStream extends WritableStream<unknown> {\n private prefix: string;\n private callId: string;\n private name: string;\n private runId: string;\n private writeFn?: OutputWriter;\n\n constructor(\n {\n prefix,\n callId,\n name,\n runId,\n }: {\n prefix: string;\n callId: string;\n name: string;\n runId: string;\n },\n writeFn?: OutputWriter,\n ) {\n super({\n async write(chunk: any) {\n await getInstance()._write(chunk);\n },\n });\n\n const self = this;\n function getInstance() {\n return self;\n }\n\n this.prefix = prefix;\n this.callId = callId;\n this.name = name;\n this.runId = runId;\n this.writeFn = writeFn;\n }\n\n private async _write(data: any) {\n if (this.writeFn) {\n await this.writeFn({\n type: `${this.prefix}-output`,\n runId: this.runId,\n from: 'USER',\n payload: {\n output: data,\n ...(this.prefix === 'workflow-step'\n ? {\n runId: this.runId,\n stepName: this.name,\n }\n : {\n [`${this.prefix}CallId`]: this.callId,\n [`${this.prefix}Name`]: this.name,\n }),\n },\n });\n }\n }\n\n async write(data: any) {\n await this._write(data);\n }\n\n async custom<T extends { type: string }>(data: T extends { type: `data-${string}` } ? DataChunkType : T) {\n if (this.writeFn) {\n await this.writeFn(data);\n }\n }\n}\n"]}