{"version":3,"sources":["../src/tools/stream.ts"],"names":["WritableStream"],"mappings":";;;;;AAEO,IAAM,UAAA,GAAN,cAA4BA,kBAAA,CAAkB;AAAA,EACnD,WAAA,CACE;AAAA,IACE,MAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,KAOF,cAAA,EACA;AACA,IAAA,KAAA,CAAM;AAAA,MACJ,MAAM,MAAM,KAAA,EAAY;AACtB,QAAA,MAAM,MAAA,GAAS,gBAAgB,SAAA,EAAU;AAEzC,QAAA,IAAI;AACF,UAAA,MAAM,QAAQ,KAAA,CAAM;AAAA,YAClB,IAAA,EAAM,GAAG,MAAM,CAAA,OAAA,CAAA;AAAA,YACf,KAAA;AAAA,YACA,IAAA,EAAM,MAAA;AAAA,YACN,OAAA,EAAS;AAAA,cACP,MAAA,EAAQ,KAAA;AAAA,cACR,CAAC,CAAA,EAAG,MAAM,CAAA,MAAA,CAAQ,GAAG,MAAA;AAAA,cACrB,CAAC,CAAA,EAAG,MAAM,CAAA,IAAA,CAAM,GAAG;AAAA;AACrB,WACD,CAAA;AAAA,QACH,CAAA,SAAE;AACA,UAAA,MAAA,EAAQ,WAAA,EAAY;AAAA,QACtB;AAAA,MACF;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,MAAM,IAAA,EAAW;AACrB,IAAA,MAAM,MAAA,GAAS,KAAK,SAAA,EAAU;AAE9B,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,CAAO,MAAM,IAAI,CAAA;AAAA,IACzB,CAAA,SAAE;AACA,MAAA,MAAA,CAAO,WAAA,EAAY;AAAA,IACrB;AAAA,EACF;AACF","file":"chunk-S6MAHT7F.cjs","sourcesContent":["import { WritableStream } from 'stream/web';\n\nexport class ToolStream<T> extends WritableStream<T> {\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    originalStream?: WritableStream,\n  ) {\n    super({\n      async write(chunk: any) {\n        const writer = originalStream?.getWriter();\n\n        try {\n          await writer?.write({\n            type: `${prefix}-output`,\n            runId,\n            from: 'USER',\n            payload: {\n              output: chunk,\n              [`${prefix}CallId`]: callId,\n              [`${prefix}Name`]: name,\n            },\n          });\n        } finally {\n          writer?.releaseLock();\n        }\n      },\n    });\n  }\n\n  async write(data: any) {\n    const writer = this.getWriter();\n\n    try {\n      await writer.write(data);\n    } finally {\n      writer.releaseLock();\n    }\n  }\n}\n"]}