@@ -99,20 +99,31 @@ export class Pipe {
9999 this . request = new Request ( { apiKey : options . apiKey , baseUrl} ) ;
100100 }
101101
102- async generateText (
103- options : GenerateOptions ,
104- ) : Promise < GenerateNonStreamResponse > {
105- return this . request . post < GenerateNonStreamResponse > ( {
106- endpoint : '/beta/generate' ,
102+ async generateText ( options : GenerateOptions ) : Promise < GenerateResponse > {
103+ return this . request . post < GenerateResponse > ( {
104+ endpoint : options . chat ? '/beta/chat' : '/beta/generate' ,
107105 body : { ...options , stream : false } ,
108- stream : false ,
109106 } ) ;
110107 }
111108
112- async streamText ( options : StreamOptions ) : Promise < StreamResponse > {
113- return this . request . post < StreamResponse > ( {
114- endpoint : options . chat ? '/beta/chat' : '/beta/generate' ,
109+ async streamText ( options : StreamOptions ) : Promise < GenerateStreamResponse > {
110+ return this . request . post < GenerateStreamResponse > ( {
111+ endpoint : '/beta/generate' ,
115112 body : { ...options , stream : true } ,
113+ stream : true , // TODO: @ahmadbilaldev - why we need to add here as well?
116114 } ) ;
117115 }
118116}
117+
118+ /**
119+ * Print stream to standard output (console).
120+ * @param stream The stream to print
121+ */
122+ export const printStreamToStdout = async (
123+ stream : StreamText ,
124+ ) : Promise < void > => {
125+ for await ( const chunk of stream ) {
126+ const textPart = chunk . choices [ 0 ] ?. delta ?. content || '' ;
127+ process . stdout . write ( textPart ) ;
128+ }
129+ } ;
0 commit comments