@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 (_f) {
70
- switch (_f.label) {
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 = _f.sent();
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
- _f.label = 2;
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 = _f.sent(), done = _a.done, value = _a.value;
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
- _f.label = 4;
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
- _f.label = 5;
131
+ _g.label = 5;
126
132
  case 5:
127
- _f.trys.push([5, 8, , 9]);
133
+ _g.trys.push([5, 8, , 9]);
128
134
  data = JSON.parse(jsonStr);
129
- content = (_e = (_d = (_c = data.choices) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.delta) === null || _e === void 0 ? void 0 : _e.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
- _f.sent();
134
- _f.label = 7;
139
+ _g.sent();
140
+ _g.label = 7;
135
141
  case 7: return [3 /*break*/, 9];
136
142
  case 8:
137
- err_1 = _f.sent();
143
+ err_1 = _g.sent();
138
144
  console.error('Failed to parse chunk:', jsonStr);
139
145
  return [3 /*break*/, 9];
140
146
  case 9:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longline/aqua-ui",
3
- "version": "1.0.198",
3
+ "version": "1.0.199",
4
4
  "description": "AquaUI",
5
5
  "author": "Alexander van Oostenrijk / Longline Environment",
6
6
  "license": "Commercial",