@proteinjs/conversation 1.7.0 → 1.7.2
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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.7.2](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.7.1...@proteinjs/conversation@1.7.2) (2024-08-06)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* making sure all streams get destroyed in all input stream end scenarios ([ab2da7d](https://github.com/proteinjs/conversation/commit/ab2da7dfbc42a0bccae73db9ab49da8c1a01b61b))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [1.7.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.6.1...@proteinjs/conversation@1.7.0) (2024-08-05)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiStreamProcessor.d.ts","sourceRoot":"","sources":["../../src/OpenAiStreamProcessor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAU,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAA6C,MAAM,QAAQ,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,qBAAqB;IAW9B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW,CAAC;IAftB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,oBAAoB,CAAgD;IAC5E,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAuD;IAC9E,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAW;gBAG7B,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAChC,WAAW,EAAE,CACnB,SAAS,EAAE,6BAA6B,EAAE,EAC1C,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,EACtB,QAAQ,EAAE,QAAQ,EACV,WAAW,CAAC,yBAAa;IASnC;;OAEG;IACH,eAAe,IAAI,QAAQ;IAI3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"OpenAiStreamProcessor.d.ts","sourceRoot":"","sources":["../../src/OpenAiStreamProcessor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAU,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAA6C,MAAM,QAAQ,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,qBAAqB;IAW9B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW,CAAC;IAftB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,oBAAoB,CAAgD;IAC5E,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAuD;IAC9E,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAW;gBAG7B,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAChC,WAAW,EAAE,CACnB,SAAS,EAAE,6BAA6B,EAAE,EAC1C,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,EACtB,QAAQ,EAAE,QAAQ,EACV,WAAW,CAAC,yBAAa;IASnC;;OAEG;IACH,eAAe,IAAI,QAAQ;IAI3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;OAIG;YACW,eAAe;CA4B9B"}
|
|
@@ -93,14 +93,17 @@ var OpenAiStreamProcessor = /** @class */ (function () {
|
|
|
93
93
|
}
|
|
94
94
|
else if (((_f = chunk.choices[0]) === null || _f === void 0 ? void 0 : _f.finish_reason) === 'stop') {
|
|
95
95
|
_this.outputStream.push(null);
|
|
96
|
+
_this.destroyStreams();
|
|
96
97
|
}
|
|
97
98
|
else if (((_g = chunk.choices[0]) === null || _g === void 0 ? void 0 : _g.finish_reason) === 'length') {
|
|
98
99
|
_this.logger.warn("The maximum number of tokens specified in the request was reached");
|
|
99
100
|
_this.outputStream.push(null);
|
|
101
|
+
_this.destroyStreams();
|
|
100
102
|
}
|
|
101
103
|
else if (((_h = chunk.choices[0]) === null || _h === void 0 ? void 0 : _h.finish_reason) === 'content_filter') {
|
|
102
104
|
_this.logger.error("Content was omitted due to a flag from OpenAI's content filters");
|
|
103
105
|
_this.outputStream.push(null);
|
|
106
|
+
_this.destroyStreams();
|
|
104
107
|
}
|
|
105
108
|
callback();
|
|
106
109
|
}
|
|
@@ -117,7 +120,9 @@ var OpenAiStreamProcessor = /** @class */ (function () {
|
|
|
117
120
|
OpenAiStreamProcessor.prototype.destroyStreams = function (error) {
|
|
118
121
|
this.inputStream.destroy();
|
|
119
122
|
this.controlStream.destroy();
|
|
120
|
-
|
|
123
|
+
if (error) {
|
|
124
|
+
this.outputStream.emit('error', error);
|
|
125
|
+
}
|
|
121
126
|
this.outputStream.destroy();
|
|
122
127
|
};
|
|
123
128
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiStreamProcessor.js","sourceRoot":"","sources":["../../src/OpenAiStreamProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wCAAmD;AAEnD,iCAA6E;AAE7E;;;;GAIG;AACH;IASE,+BACE,WAAwC,EAChC,WAGc,EACtB,QAAkB,EACV,WAAyB;QALzB,gBAAW,GAAX,WAAW,CAGG;QAEd,gBAAW,GAAX,WAAW,CAAc;QAd3B,yBAAoB,GAA6C,EAAE,CAAC;QACpE,sBAAiB,GAAG,CAAC,CAAC;QACtB,oBAAe,GAAkD,IAAI,CAAC;QAc5E,IAAI,CAAC,MAAM,GAAG,IAAI,aAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,iBAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAW,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,+CAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,mDAAmB,GAA3B;QAAA,
|
|
1
|
+
{"version":3,"file":"OpenAiStreamProcessor.js","sourceRoot":"","sources":["../../src/OpenAiStreamProcessor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/conversation",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"publishConfig": {
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
"ts-jest": "^29.1.1"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@proteinjs/util": "1.
|
|
32
|
-
"@proteinjs/util-node": "1.
|
|
31
|
+
"@proteinjs/util": "1.4.0",
|
|
32
|
+
"@proteinjs/util-node": "1.4.0",
|
|
33
33
|
"fs-extra": "11.1.1",
|
|
34
34
|
"openai": "4.52.0",
|
|
35
35
|
"readline-sync": "1.4.10",
|
|
36
36
|
"tiktoken": "1.0.15",
|
|
37
37
|
"typescript": "5.2.2"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "25e709a3fa1d63393e4b0011ea0bb1779ec3067a"
|
|
40
40
|
}
|
|
@@ -65,12 +65,15 @@ export class OpenAiStreamProcessor {
|
|
|
65
65
|
this.handleToolCalls();
|
|
66
66
|
} else if (chunk.choices[0]?.finish_reason === 'stop') {
|
|
67
67
|
this.outputStream.push(null);
|
|
68
|
+
this.destroyStreams();
|
|
68
69
|
} else if (chunk.choices[0]?.finish_reason === 'length') {
|
|
69
70
|
this.logger.warn(`The maximum number of tokens specified in the request was reached`);
|
|
70
71
|
this.outputStream.push(null);
|
|
72
|
+
this.destroyStreams();
|
|
71
73
|
} else if (chunk.choices[0]?.finish_reason === 'content_filter') {
|
|
72
74
|
this.logger.error(`Content was omitted due to a flag from OpenAI's content filters`);
|
|
73
75
|
this.outputStream.push(null);
|
|
76
|
+
this.destroyStreams();
|
|
74
77
|
}
|
|
75
78
|
callback();
|
|
76
79
|
} catch (error: any) {
|
|
@@ -84,10 +87,12 @@ export class OpenAiStreamProcessor {
|
|
|
84
87
|
/**
|
|
85
88
|
* Destroy all streams used by `OpenAiStreamProcessor`
|
|
86
89
|
*/
|
|
87
|
-
private destroyStreams(error
|
|
90
|
+
private destroyStreams(error?: Error) {
|
|
88
91
|
this.inputStream.destroy();
|
|
89
92
|
this.controlStream.destroy();
|
|
90
|
-
|
|
93
|
+
if (error) {
|
|
94
|
+
this.outputStream.emit('error', error);
|
|
95
|
+
}
|
|
91
96
|
this.outputStream.destroy();
|
|
92
97
|
}
|
|
93
98
|
|