@memberjunction/server 0.9.183 → 0.9.186

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/build.log.json CHANGED
@@ -244,5 +244,14 @@
244
244
  },
245
245
  {
246
246
  "buildTime": "2024-02-21T07:23:50.1514539-06:00"
247
+ },
248
+ {
249
+ "buildTime": "2024-02-21T17:40:34.1812895-06:00"
250
+ },
251
+ {
252
+ "buildTime": "2024-02-22T17:31:24.8332718-06:00"
253
+ },
254
+ {
255
+ "buildTime": "2024-02-23T13:08:08.8267699-06:00"
247
256
  }
248
257
  ]
@@ -11,9 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
14
  var AskSkipResolver_1;
18
15
  Object.defineProperty(exports, "__esModule", { value: true });
19
16
  exports.AskSkipResolver = exports.AskSkipResultType = void 0;
@@ -23,14 +20,11 @@ const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider
23
20
  const data_context_1 = require("@memberjunction/data-context");
24
21
  const data_context_server_1 = require("@memberjunction/data-context-server");
25
22
  (0, data_context_server_1.LoadDataContextItemsServer)();
26
- const axios_1 = __importDefault(require("axios"));
27
- const zlib_1 = __importDefault(require("zlib"));
28
- const util_1 = require("util");
29
- const gzip = (0, util_1.promisify)(zlib_1.default.gzip);
30
23
  const PushStatusResolver_1 = require("../generic/PushStatusResolver");
31
24
  const config_1 = require("../config");
32
25
  const type_graphql_2 = require("type-graphql");
33
26
  const global_1 = require("@memberjunction/global");
27
+ const util_1 = require("../util");
34
28
  var SkipResponsePhase;
35
29
  (function (SkipResponsePhase) {
36
30
  SkipResponsePhase["ClarifyingQuestion"] = "clarifying_question";
@@ -84,6 +78,7 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
84
78
  const dataContext = new data_context_1.DataContext();
85
79
  await dataContext.Load(DataContextId, dataSource, true, user);
86
80
  const input = {
81
+ scriptText: ScriptText,
87
82
  messages: [],
88
83
  conversationID: '',
89
84
  dataContext: (0, global_1.CopyScalarsAndArrays)(dataContext),
@@ -92,7 +87,32 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
92
87
  entities: [],
93
88
  queries: [],
94
89
  };
95
- return this.HandleSkipRequest(input, '', user, dataSource, 0, userPayload, pubSub, md, null, null, dataContext, null);
90
+ (0, core_1.LogStatus)(` >>> Sending request to Skip API: ${config_1.___skipAPIurl}`);
91
+ const response = await (0, util_1.sendPostRequest)(config_1.___skipAPIurl, input, true, null);
92
+ if (response && response.length > 0) {
93
+ const apiResponse = response[response.length - 1];
94
+ (0, core_1.LogStatus)(` Skip API response: ${apiResponse.responsePhase}`);
95
+ return {
96
+ Success: true,
97
+ Status: 'OK',
98
+ ResponsePhase: SkipResponsePhase.AnalysisComplete,
99
+ ConversationId: 0,
100
+ UserMessageConversationDetailId: 0,
101
+ AIMessageConversationDetailId: 0,
102
+ Result: JSON.stringify(apiResponse)
103
+ };
104
+ }
105
+ else {
106
+ return {
107
+ Success: false,
108
+ Status: 'Error',
109
+ Result: `Report Refresh failed`,
110
+ ResponsePhase: SkipResponsePhase.AnalysisComplete,
111
+ ConversationId: 0,
112
+ UserMessageConversationDetailId: 0,
113
+ AIMessageConversationDetailId: 0,
114
+ };
115
+ }
96
116
  }
97
117
  async ExecuteAskSkipAnalysisQuery(UserQuestion, ConversationId, { dataSource, userPayload }, pubSub, DataContextId) {
98
118
  const md = new core_1.Metadata();
@@ -110,14 +130,6 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
110
130
  entities: this.BuildSkipEntities(),
111
131
  queries: this.BuildSkipQueries(),
112
132
  };
113
- pubSub.publish(PushStatusResolver_1.PUSH_STATUS_UPDATES_TOPIC, {
114
- message: JSON.stringify({
115
- type: 'AskSkip',
116
- status: 'OK',
117
- message: 'I will be happy to help and will start by analyzing your request...',
118
- }),
119
- sessionId: userPayload.sessionId,
120
- });
121
133
  return this.HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity);
122
134
  }
123
135
  BuildSkipQueries() {
@@ -349,16 +361,20 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
349
361
  }
350
362
  }
351
363
  async HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity) {
352
- (0, core_1.LogStatus)(`Sending request to Skip API: ${config_1.___skipAPIurl}`);
353
- const compressedPayload = await gzip(Buffer.from(JSON.stringify(input)));
354
- const response = await axios_1.default.post(config_1.___skipAPIurl, compressedPayload, {
355
- headers: {
356
- 'Content-Type': 'application/json',
357
- 'Content-Encoding': 'gzip'
358
- }
364
+ (0, core_1.LogStatus)(` >>> Sending request to Skip API: ${config_1.___skipAPIurl}`);
365
+ const response = await (0, util_1.sendPostRequest)(config_1.___skipAPIurl, input, true, null, (message) => {
366
+ if (message.type === 'status_update')
367
+ pubSub.publish(PushStatusResolver_1.PUSH_STATUS_UPDATES_TOPIC, {
368
+ message: JSON.stringify({
369
+ type: 'AskSkip',
370
+ status: 'OK',
371
+ message: message.value.messages[0].content
372
+ }),
373
+ sessionId: userPayload.sessionId,
374
+ });
359
375
  });
360
- if (response.status === 200) {
361
- const apiResponse = response.data;
376
+ if (response && response.length > 0) {
377
+ const apiResponse = response[response.length - 1].value;
362
378
  (0, core_1.LogStatus)(` Skip API response: ${apiResponse.responsePhase}`);
363
379
  this.PublishApiResponseUserUpdateMessage(apiResponse, userPayload, pubSub);
364
380
  if (apiResponse.responsePhase === 'data_request') {
@@ -404,7 +420,6 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
404
420
  sUserMessage = 'I have completed the analysis, the results will be available momentarily.';
405
421
  break;
406
422
  case 'clarifying_question':
407
- sUserMessage = 'I have a clarifying question for you, please see review our chat so you can provide me a little more info.';
408
423
  break;
409
424
  }
410
425
  pubSub.publish(PushStatusResolver_1.PUSH_STATUS_UPDATES_TOPIC, {
@@ -1 +1 @@
1
- {"version":3,"file":"AskSkipResolver.js","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AskSkipResolver.js","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"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"}
package/dist/util.js ADDED
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendPostRequest = void 0;
4
+ const http_1 = require("http");
5
+ const https_1 = require("https");
6
+ const zlib_1 = require("zlib");
7
+ const util_1 = require("util");
8
+ const url_1 = require("url");
9
+ const gzip = (0, util_1.promisify)(zlib_1.gzip);
10
+ async function sendPostRequest(url, payload, useCompression, headers, streamCallback) {
11
+ return new Promise(async (resolve, reject) => {
12
+ const { protocol, hostname, port, pathname } = new url_1.URL(url);
13
+ let data;
14
+ if (useCompression) {
15
+ try {
16
+ data = await gzip(Buffer.from(JSON.stringify(payload)));
17
+ headers = headers || {};
18
+ headers['Content-Encoding'] = 'gzip';
19
+ }
20
+ catch (error) {
21
+ return reject(error);
22
+ }
23
+ }
24
+ else {
25
+ data = Buffer.from(JSON.stringify(payload));
26
+ }
27
+ const options = {
28
+ hostname,
29
+ port: port || (protocol === 'https:' ? 443 : 80),
30
+ path: pathname,
31
+ method: 'POST',
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ ...headers
35
+ }
36
+ };
37
+ const request = protocol === 'https:' ? https_1.request : http_1.request;
38
+ const jsonObjects = [];
39
+ let buffer = '';
40
+ const req = request(options, (res) => {
41
+ const gunzip = (0, zlib_1.createGunzip)();
42
+ const stream = res.headers['content-encoding'] === 'gzip' ? res.pipe(gunzip) : res;
43
+ stream.on('data', (chunk) => {
44
+ buffer += chunk;
45
+ let boundary;
46
+ while ((boundary = buffer.indexOf('\n')) !== -1) {
47
+ const jsonString = buffer.substring(0, boundary);
48
+ buffer = buffer.substring(boundary + 1);
49
+ try {
50
+ const jsonObject = JSON.parse(jsonString);
51
+ jsonObjects.push(jsonObject);
52
+ streamCallback?.(jsonObject);
53
+ }
54
+ catch (e) {
55
+ }
56
+ }
57
+ });
58
+ stream.on('end', () => {
59
+ if (buffer.trim()) {
60
+ try {
61
+ const jsonObject = JSON.parse(buffer.trim());
62
+ jsonObjects.push(jsonObject);
63
+ streamCallback?.(jsonObject);
64
+ }
65
+ catch (e) {
66
+ }
67
+ }
68
+ resolve(jsonObjects);
69
+ });
70
+ });
71
+ req.on('error', (e) => {
72
+ reject(e);
73
+ });
74
+ req.write(data);
75
+ req.end();
76
+ });
77
+ }
78
+ exports.sendPostRequest = sendPostRequest;
79
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "0.9.183",
3
+ "version": "0.9.186",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.ts",
@@ -22,15 +22,15 @@
22
22
  "@apollo/server": "^4.9.1",
23
23
  "@graphql-tools/utils": "^10.0.1",
24
24
  "@memberjunction/ai": "^0.9.136",
25
- "@memberjunction/aiengine": "^0.9.28",
26
- "@memberjunction/core": "^0.9.147",
27
- "@memberjunction/core-entities": "^0.9.130",
28
- "@memberjunction/data-context": "^0.9.17",
29
- "@memberjunction/data-context-server": "^0.9.13",
25
+ "@memberjunction/aiengine": "^0.9.29",
26
+ "@memberjunction/core": "^0.9.148",
27
+ "@memberjunction/core-entities": "^0.9.131",
28
+ "@memberjunction/data-context": "^0.9.19",
29
+ "@memberjunction/data-context-server": "^0.9.15",
30
30
  "@memberjunction/global": "^0.9.135",
31
- "@memberjunction/queue": "^0.9.148",
32
- "@memberjunction/sqlserver-dataprovider": "^0.9.158",
33
- "@memberjunction/skip-types": "^0.9.32",
31
+ "@memberjunction/queue": "^0.9.149",
32
+ "@memberjunction/sqlserver-dataprovider": "^0.9.159",
33
+ "@memberjunction/skip-types": "^0.9.35",
34
34
  "@types/cors": "^2.8.13",
35
35
  "@types/jsonwebtoken": "^8.5.9",
36
36
  "@types/node": "^18.11.14",
@@ -6,12 +6,12 @@ import { DataContext } from '@memberjunction/data-context'
6
6
  import { LoadDataContextItemsServer } from '@memberjunction/data-context-server';
7
7
  LoadDataContextItemsServer(); // prevent tree shaking since the DataContextItemServer class is not directly referenced in this file or otherwise statically instantiated, so it could be removed by the build process
8
8
 
9
- import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo, SkipQueryInfo } from '@memberjunction/skip-types';
10
- import axios from 'axios';
11
- import zlib from 'zlib';
12
- import { promisify } from 'util';
13
- // Convert zlib.gzip into a promise-returning function
14
- const gzip = promisify(zlib.gzip);
9
+ import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo, SkipQueryInfo, SkipAPIRunScriptRequest } from '@memberjunction/skip-types';
10
+ // import axios from 'axios';
11
+ // import zlib from 'zlib';
12
+ // import { promisify } from 'util';
13
+ // // Convert zlib.gzip into a promise-returning function
14
+ // const gzip = promisify(zlib.gzip);
15
15
 
16
16
  import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver';
17
17
  import { ConversationDetailEntity, ConversationEntity, DataContextEntity, DataContextItemEntity, UserNotificationEntity } from '@memberjunction/core-entities';
@@ -21,6 +21,7 @@ import { ___skipAPIOrgId, ___skipAPIurl, mj_core_schema } from '../config';
21
21
 
22
22
  import { registerEnumType } from "type-graphql";
23
23
  import { MJGlobal, CopyScalarsAndArrays } from '@memberjunction/global';
24
+ import { sendPostRequest } from '../util';
24
25
 
25
26
 
26
27
  enum SkipResponsePhase {
@@ -81,7 +82,8 @@ export class AskSkipResolver {
81
82
  if (!user) throw new Error(`User ${userPayload.email} not found in UserCache`);
82
83
  const dataContext: DataContext = new DataContext();
83
84
  await dataContext.Load(DataContextId, dataSource, true, user);
84
- const input: SkipAPIRequest = {
85
+ const input: SkipAPIRunScriptRequest = {
86
+ scriptText: ScriptText,
85
87
  messages: [], // not needed for this request
86
88
  conversationID: '', // not needed for this request
87
89
  dataContext: <DataContext>CopyScalarsAndArrays(dataContext), // we are casting this to DataContext as we're pushing this to the Skip API, and we don't want to send the real DataContext object, just a copy of the scalar and array properties
@@ -90,7 +92,48 @@ export class AskSkipResolver {
90
92
  entities: [], // not needed for this request
91
93
  queries: [], // not needed for this request
92
94
  };
93
- return this.HandleSkipRequest(input, '',user,dataSource,0,userPayload, pubSub, md, null, null, dataContext, null)
95
+
96
+ LogStatus(` >>> Sending request to Skip API: ${___skipAPIurl}`)
97
+
98
+ const response = await sendPostRequest(___skipAPIurl, input, true, null);
99
+ // // Convert JSON payload to a Buffer and compress it
100
+ // const compressedPayload = await gzip(Buffer.from(JSON.stringify(input)));
101
+
102
+ // Send the compressed payload with Axios
103
+ // const response = await axios.post(___skipAPIurl, compressedPayload, {
104
+ // headers: {
105
+ // 'Content-Type': 'application/json',
106
+ // 'Content-Encoding': 'gzip'
107
+ // }
108
+ // });
109
+
110
+
111
+ if (response && response.length > 0) {
112
+ // the last object in the response array is the final response from the Skip API
113
+ const apiResponse = <SkipAPIResponse>response[response.length - 1];
114
+ // const apiResponse = <SkipAPIResponse>response.data;
115
+ LogStatus(` Skip API response: ${apiResponse.responsePhase}`)
116
+ return {
117
+ Success: true,
118
+ Status: 'OK',
119
+ ResponsePhase: SkipResponsePhase.AnalysisComplete,
120
+ ConversationId: 0,
121
+ UserMessageConversationDetailId: 0,
122
+ AIMessageConversationDetailId: 0,
123
+ Result: JSON.stringify(apiResponse)
124
+ };
125
+ }
126
+ else {
127
+ return {
128
+ Success: false,
129
+ Status: 'Error',
130
+ Result: `Report Refresh failed`,
131
+ ResponsePhase: SkipResponsePhase.AnalysisComplete,
132
+ ConversationId: 0,
133
+ UserMessageConversationDetailId: 0,
134
+ AIMessageConversationDetailId: 0,
135
+ };
136
+ }
94
137
  }
95
138
 
96
139
  @Query(() => AskSkipResultType)
@@ -120,15 +163,6 @@ export class AskSkipResolver {
120
163
  queries: this.BuildSkipQueries(),
121
164
  };
122
165
 
123
- pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
124
- message: JSON.stringify({
125
- type: 'AskSkip',
126
- status: 'OK',
127
- message: 'I will be happy to help and will start by analyzing your request...',
128
- }),
129
- sessionId: userPayload.sessionId,
130
- });
131
-
132
166
  return this.HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity);
133
167
  }
134
168
 
@@ -403,21 +437,35 @@ export class AskSkipResolver {
403
437
  ConversationId: number, userPayload: UserPayload, pubSub: PubSubEngine, md: Metadata,
404
438
  convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity,
405
439
  dataContext: DataContext, dataContextEntity: DataContextEntity): Promise<AskSkipResultType> {
406
- LogStatus(`Sending request to Skip API: ${___skipAPIurl}`)
407
-
408
- // Convert JSON payload to a Buffer and compress it
409
- const compressedPayload = await gzip(Buffer.from(JSON.stringify(input)));
410
-
411
- // Send the compressed payload with Axios
412
- const response = await axios.post(___skipAPIurl, compressedPayload, {
413
- headers: {
414
- 'Content-Type': 'application/json',
415
- 'Content-Encoding': 'gzip'
416
- }
440
+ LogStatus(` >>> Sending request to Skip API: ${___skipAPIurl}`)
441
+
442
+ const response = await sendPostRequest(___skipAPIurl, input, true, null, (message) => {
443
+ if (message.type==='status_update')
444
+ pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
445
+ message: JSON.stringify({
446
+ type: 'AskSkip',
447
+ status: 'OK',
448
+ message: message.value.messages[0].content
449
+ }),
450
+ sessionId: userPayload.sessionId,
451
+ });
417
452
  });
418
453
 
419
- if (response.status === 200) {
420
- const apiResponse = <SkipAPIResponse>response.data;
454
+ // // Convert JSON payload to a Buffer and compress it
455
+ // const compressedPayload = await gzip(Buffer.from(JSON.stringify(input)));
456
+
457
+ // // Send the compressed payload with Axios
458
+ // const response = await axios.post(___skipAPIurl, compressedPayload, {
459
+ // headers: {
460
+ // 'Content-Type': 'application/json',
461
+ // 'Content-Encoding': 'gzip'
462
+ // }
463
+ // });
464
+
465
+ if (response && response.length > 0) { // response.status === 200) {
466
+ // the last object in the response array is the final response from the Skip API
467
+ const apiResponse = <SkipAPIResponse>response[response.length - 1].value;
468
+ //const apiResponse = <SkipAPIResponse>response.data;
421
469
  LogStatus(` Skip API response: ${apiResponse.responsePhase}`)
422
470
  this.PublishApiResponseUserUpdateMessage(apiResponse, userPayload, pubSub);
423
471
 
@@ -469,7 +517,8 @@ export class AskSkipResolver {
469
517
  sUserMessage = 'I have completed the analysis, the results will be available momentarily.';
470
518
  break;
471
519
  case 'clarifying_question':
472
- sUserMessage = 'I have a clarifying question for you, please see review our chat so you can provide me a little more info.';
520
+ // don't send an update because the actual message will happen and show up in the UI, so this is redundant
521
+ //sUserMessage = 'I have a clarifying question for you, please see review our chat so you can provide me a little more info.';
473
522
  break;
474
523
  }
475
524
 
package/src/util.ts ADDED
@@ -0,0 +1,95 @@
1
+ import { request as httpRequest } from 'http';
2
+ import { request as httpsRequest } from 'https';
3
+ import { gzip as gzipCallback, createGunzip } from 'zlib';
4
+ import { promisify } from 'util';
5
+ import { URL } from 'url';
6
+
7
+ const gzip = promisify(gzipCallback);
8
+
9
+ type StreamCallback = (jsonObject: any) => void;
10
+
11
+ /**
12
+ * Utility function to handle HTTP/HTTPS requests with optional compression, custom headers, and streaming response callback for JSON objects.
13
+ * This function accumulates data chunks and parses complete JSON objects, assuming newline-delimited JSON in the stream.
14
+ *
15
+ * @param {string} url - The URL to which the request is sent.
16
+ * @param {any} payload - The payload to be sent with the request.
17
+ * @param {boolean} useCompression - Flag to determine if payload compression should be used.
18
+ * @param {Record<string, string> | null} headers - Custom headers for the request. Can be null.
19
+ * @param {StreamCallback} [streamCallback] - Optional callback for handling streaming JSON objects.
20
+ * @returns {Promise<any[]>} - A promise that resolves to an array of all JSON objects received during the streaming process.
21
+ */
22
+ export async function sendPostRequest(url: string, payload: any, useCompression: boolean, headers: Record<string, string> | null, streamCallback?: StreamCallback): Promise<any[]> {
23
+ return new Promise(async (resolve, reject) => {
24
+ const { protocol, hostname, port, pathname } = new URL(url);
25
+ let data;
26
+ if (useCompression) {
27
+ try {
28
+ data = await gzip(Buffer.from(JSON.stringify(payload)));
29
+ headers = headers || {}; // Ensure headers is an object
30
+ headers['Content-Encoding'] = 'gzip';
31
+ } catch (error) {
32
+ return reject(error);
33
+ }
34
+ } else {
35
+ data = Buffer.from(JSON.stringify(payload));
36
+ }
37
+
38
+ const options = {
39
+ hostname,
40
+ port: port || (protocol === 'https:' ? 443 : 80),
41
+ path: pathname,
42
+ method: 'POST',
43
+ headers: {
44
+ 'Content-Type': 'application/json',
45
+ ...headers
46
+ }
47
+ };
48
+
49
+ const request = protocol === 'https:' ? httpsRequest : httpRequest;
50
+ const jsonObjects: any[] = [];
51
+ let buffer = '';
52
+
53
+ const req = request(options, (res) => {
54
+ const gunzip = createGunzip();
55
+ const stream = res.headers['content-encoding'] === 'gzip' ? res.pipe(gunzip) : res;
56
+
57
+ stream.on('data', (chunk) => {
58
+ buffer += chunk;
59
+ let boundary;
60
+ while ((boundary = buffer.indexOf('\n')) !== -1) {
61
+ const jsonString = buffer.substring(0, boundary);
62
+ buffer = buffer.substring(boundary + 1);
63
+ try {
64
+ const jsonObject = JSON.parse(jsonString);
65
+ jsonObjects.push(jsonObject);
66
+ streamCallback?.(jsonObject);
67
+ } catch (e) {
68
+ // Handle JSON parse error for cases of malformed JSON objects
69
+ }
70
+ }
71
+ });
72
+
73
+ stream.on('end', () => {
74
+ // Attempt to parse any remaining data in buffer in case it's a complete JSON object
75
+ if (buffer.trim()) {
76
+ try {
77
+ const jsonObject = JSON.parse(buffer.trim());
78
+ jsonObjects.push(jsonObject);
79
+ streamCallback?.(jsonObject);
80
+ } catch (e) {
81
+ // Handle JSON parse error for the last chunk
82
+ }
83
+ }
84
+ resolve(jsonObjects);
85
+ });
86
+ });
87
+
88
+ req.on('error', (e) => {
89
+ reject(e);
90
+ });
91
+
92
+ req.write(data);
93
+ req.end();
94
+ });
95
+ }