@longline/aqua-ui 1.0.198 → 1.0.199
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.
|
@@ -51,6 +51,11 @@ import { useCallback, useRef } from 'react';
|
|
|
51
51
|
*/
|
|
52
52
|
var useOpenAIStream = function (url) {
|
|
53
53
|
var abortRef = useRef(null);
|
|
54
|
+
// Get CSRF token, if any, from cookie:
|
|
55
|
+
var getCsrfTokenFromCookie = function () {
|
|
56
|
+
var match = document.cookie.match(/XSRF-TOKEN=([^;]+)/);
|
|
57
|
+
return match ? decodeURIComponent(match[1]) : null;
|
|
58
|
+
};
|
|
54
59
|
/**
|
|
55
60
|
* Streams a prompt to a backend AI endpoint and handles streamed chunks.
|
|
56
61
|
*
|
|
@@ -64,10 +69,10 @@ var useOpenAIStream = function (url) {
|
|
|
64
69
|
}
|
|
65
70
|
return __awaiter(void 0, __spreadArray([prompt_1, onText_1], args_1, true), void 0, function (prompt, onText, options) {
|
|
66
71
|
var controller, response, reader, decoder, buffer, isDone, _a, done, value, parts, _b, parts_1, part, jsonStr, data, content, err_1;
|
|
67
|
-
var _c, _d, _e;
|
|
72
|
+
var _c, _d, _e, _f;
|
|
68
73
|
if (options === void 0) { options = { temperature: 0, top_p: 0 }; }
|
|
69
|
-
return __generator(this, function (
|
|
70
|
-
switch (
|
|
74
|
+
return __generator(this, function (_g) {
|
|
75
|
+
switch (_g.label) {
|
|
71
76
|
case 0:
|
|
72
77
|
controller = new AbortController();
|
|
73
78
|
abortRef.current = controller;
|
|
@@ -75,6 +80,7 @@ var useOpenAIStream = function (url) {
|
|
|
75
80
|
method: 'POST',
|
|
76
81
|
headers: {
|
|
77
82
|
'Content-Type': 'application/json',
|
|
83
|
+
'X-CSRF-TOKEN': (_c = getCsrfTokenFromCookie()) !== null && _c !== void 0 ? _c : '',
|
|
78
84
|
'Accept': 'text/event-stream',
|
|
79
85
|
'Connection': 'keep-alive',
|
|
80
86
|
'Cache-Control': 'no-cache, no-transform'
|
|
@@ -87,7 +93,7 @@ var useOpenAIStream = function (url) {
|
|
|
87
93
|
signal: controller.signal
|
|
88
94
|
})];
|
|
89
95
|
case 1:
|
|
90
|
-
response =
|
|
96
|
+
response = _g.sent();
|
|
91
97
|
if (!response.ok) {
|
|
92
98
|
console.error("OpenAI stream request failed: ".concat(response.statusText));
|
|
93
99
|
return [2 /*return*/];
|
|
@@ -100,19 +106,19 @@ var useOpenAIStream = function (url) {
|
|
|
100
106
|
decoder = new TextDecoder('utf-8');
|
|
101
107
|
buffer = '';
|
|
102
108
|
isDone = false;
|
|
103
|
-
|
|
109
|
+
_g.label = 2;
|
|
104
110
|
case 2:
|
|
105
111
|
if (!!isDone) return [3 /*break*/, 11];
|
|
106
112
|
return [4 /*yield*/, reader.read()];
|
|
107
113
|
case 3:
|
|
108
|
-
_a =
|
|
114
|
+
_a = _g.sent(), done = _a.done, value = _a.value;
|
|
109
115
|
if (done)
|
|
110
116
|
return [3 /*break*/, 11];
|
|
111
117
|
buffer += decoder.decode(value, { stream: true });
|
|
112
118
|
parts = buffer.split('\n\n');
|
|
113
119
|
buffer = parts.pop(); // Keep partial data for next chunk
|
|
114
120
|
_b = 0, parts_1 = parts;
|
|
115
|
-
|
|
121
|
+
_g.label = 4;
|
|
116
122
|
case 4:
|
|
117
123
|
if (!(_b < parts_1.length)) return [3 /*break*/, 10];
|
|
118
124
|
part = parts_1[_b];
|
|
@@ -122,19 +128,19 @@ var useOpenAIStream = function (url) {
|
|
|
122
128
|
isDone = true;
|
|
123
129
|
return [3 /*break*/, 10];
|
|
124
130
|
}
|
|
125
|
-
|
|
131
|
+
_g.label = 5;
|
|
126
132
|
case 5:
|
|
127
|
-
|
|
133
|
+
_g.trys.push([5, 8, , 9]);
|
|
128
134
|
data = JSON.parse(jsonStr);
|
|
129
|
-
content = (
|
|
135
|
+
content = (_f = (_e = (_d = data.choices) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.delta) === null || _f === void 0 ? void 0 : _f.content;
|
|
130
136
|
if (!content) return [3 /*break*/, 7];
|
|
131
137
|
return [4 /*yield*/, onText(content)];
|
|
132
138
|
case 6:
|
|
133
|
-
|
|
134
|
-
|
|
139
|
+
_g.sent();
|
|
140
|
+
_g.label = 7;
|
|
135
141
|
case 7: return [3 /*break*/, 9];
|
|
136
142
|
case 8:
|
|
137
|
-
err_1 =
|
|
143
|
+
err_1 = _g.sent();
|
|
138
144
|
console.error('Failed to parse chunk:', jsonStr);
|
|
139
145
|
return [3 /*break*/, 9];
|
|
140
146
|
case 9:
|