@qbraid-core/chat 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <img align="right" width="100" alt="qbraid" src="https://qbraid-static.s3.amazonaws.com/logos/qbraid.png">
2
2
 
3
- # [@qbraid-core/chat](https://qbraid.github.io/qbraid-core-js/modules/chat.html)
3
+ # [@qbraid-core/chat](https://qbraid.github.io/qbraid-core-js/modules/_qbraid-core_chat.html)
4
4
 
5
5
  [![Stable][preview-stability]](https://qbraid.github.io/qbraid-core-js/#launch-stages)
6
6
  [![npm](https://img.shields.io/npm/v/@qbraid-core/chat?color=blue)](https://npm.im/@qbraid-core/chat)
@@ -2,6 +2,6 @@ import { QbraidSession, QbraidClient } from '@qbraid-core/base';
2
2
  import { ChatModel, ChatResponse } from './types';
3
3
  export declare class ChatClient extends QbraidClient {
4
4
  constructor(session?: QbraidSession);
5
- createMessage(prompt: string, model?: string): Promise<ChatResponse>;
5
+ createMessage(prompt: string, model?: string, stream?: boolean): Promise<ChatResponse | string>;
6
6
  getModels(): Promise<ChatModel[]>;
7
7
  }
@@ -8,12 +8,34 @@ class ChatClient extends base_1.QbraidClient {
8
8
  constructor(session) {
9
9
  super(session);
10
10
  }
11
- async createMessage(prompt, model = 'gpt-4o-mini') {
11
+ async createMessage(prompt, model = 'gpt-4o-mini', stream = false) {
12
12
  const response = await this.session.client.post('/chat', {
13
13
  prompt,
14
14
  model,
15
+ stream,
16
+ }, {
17
+ responseType: stream ? 'stream' : 'json',
15
18
  });
16
- return response.data;
19
+ // stream: false, return type: ChatResponse
20
+ // stream: true, return type: string
21
+ if (stream) {
22
+ return new Promise((resolve, reject) => {
23
+ let data = '';
24
+ response.data.on('data', (chunk) => {
25
+ data += chunk.toString();
26
+ });
27
+ response.data.on('end', () => {
28
+ console.log('Stream ended');
29
+ resolve(data);
30
+ });
31
+ response.data.on('error', (err) => {
32
+ reject(err);
33
+ });
34
+ });
35
+ }
36
+ else {
37
+ return response.data;
38
+ }
17
39
  }
18
40
  async getModels() {
19
41
  const response = await this.session.client.get('/chat/models');
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,uBAAuB;;;AAEvB,4CAAgE;AAIhE,MAAa,UAAW,SAAQ,mBAAY;IAC1C,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,KAAK,GAAG,aAAa;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAe,OAAO,EAAE;YACrE,MAAM;YACN,KAAK;SACN,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAc,cAAc,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AAjBD,gCAiBC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,uBAAuB;;;AAEvB,4CAAgE;AAIhE,MAAa,UAAW,SAAQ,mBAAY;IAC1C,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,QAAgB,aAAa,EAC7B,SAAkB,KAAK;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAC7C,OAAO,EACP;YACE,MAAM;YACN,KAAK;YACL,MAAM;SACP,EACD;YACE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;SACzC,CACF,CAAC;QACF,2CAA2C;QAC3C,oCAAoC;QAEpC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACzC,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBACvC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAc,cAAc,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF;AA/CD,gCA+CC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qbraid-core/chat",
3
3
  "description": "Client for the qBraid AI Chat service.",
4
- "version": "0.6.0",
4
+ "version": "0.8.0",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
7
7
  "author": "qBraid Development Team",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "homepage": "https://qbraid.github.io/qbraid-core-js/modules/chat.html",
34
34
  "dependencies": {
35
- "@qbraid-core/base": "0.6.0"
35
+ "@qbraid-core/base": "0.8.0"
36
36
  },
37
37
  "scripts": {
38
38
  "clean": "rimraf dist tsconfig.tsbuildinfo src/*.d.ts src/*.js",