@pairsystems/goodmem-client 1.0.1-beta.2 → 1.0.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/dist/client.js +15 -0
- package/dist/index.js +1 -0
- package/dist/streaming.js +649 -0
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -11,6 +11,7 @@ var _MemoriesApi = _interopRequireDefault(require("./api/MemoriesApi.js"));
|
|
|
11
11
|
var _SpacesApi = _interopRequireDefault(require("./api/SpacesApi.js"));
|
|
12
12
|
var _SystemApi = _interopRequireDefault(require("./api/SystemApi.js"));
|
|
13
13
|
var _UsersApi = _interopRequireDefault(require("./api/UsersApi.js"));
|
|
14
|
+
var _streaming = require("./streaming.js");
|
|
14
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
16
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
16
17
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
@@ -44,6 +45,9 @@ var Client = exports.Client = /*#__PURE__*/function () {
|
|
|
44
45
|
this._spacesApi = new _SpacesApi["default"](this._apiClient);
|
|
45
46
|
this._systemApi = new _SystemApi["default"](this._apiClient);
|
|
46
47
|
this._usersApi = new _UsersApi["default"](this._apiClient);
|
|
48
|
+
|
|
49
|
+
// Initialize streaming client
|
|
50
|
+
this._streamingClient = new _streaming.StreamingClient(this._apiClient);
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
/**
|
|
@@ -156,5 +160,16 @@ var Client = exports.Client = /*#__PURE__*/function () {
|
|
|
156
160
|
value: function getUsersApi() {
|
|
157
161
|
return this._usersApi;
|
|
158
162
|
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Gets the Streaming Client for memory streaming operations.
|
|
166
|
+
*
|
|
167
|
+
* @returns {StreamingClient} The StreamingClient instance
|
|
168
|
+
*/
|
|
169
|
+
}, {
|
|
170
|
+
key: "getStreamingClient",
|
|
171
|
+
value: function getStreamingClient() {
|
|
172
|
+
return this._streamingClient;
|
|
173
|
+
}
|
|
159
174
|
}]);
|
|
160
175
|
}();
|
package/dist/index.js
CHANGED
|
@@ -339,4 +339,5 @@ var _RerankersApi = _interopRequireDefault(require("./api/RerankersApi"));
|
|
|
339
339
|
var _SpacesApi = _interopRequireDefault(require("./api/SpacesApi"));
|
|
340
340
|
var _SystemApi = _interopRequireDefault(require("./api/SystemApi"));
|
|
341
341
|
var _UsersApi = _interopRequireDefault(require("./api/UsersApi"));
|
|
342
|
+
var _streaming = require("./streaming.js");
|
|
342
343
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
@@ -0,0 +1,649 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StreamingClient = exports.StreamError = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
9
|
+
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
10
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
11
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
12
|
+
function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }
|
|
13
|
+
function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
|
|
14
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
15
|
+
function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } }
|
|
16
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
17
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
18
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
19
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
20
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
21
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
22
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
|
|
23
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
24
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
25
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
26
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
27
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
28
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
29
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
30
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
31
|
+
function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
32
|
+
function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(r) { var n = this.s["return"]; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, "throw": function _throw(r) { var n = this.s["return"]; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
|
|
33
|
+
function _awaitAsyncGenerator(e) { return new _OverloadYield(e, 0); }
|
|
34
|
+
function _wrapAsyncGenerator(e) { return function () { return new AsyncGenerator(e.apply(this, arguments)); }; }
|
|
35
|
+
function AsyncGenerator(e) { var r, t; function resume(r, t) { try { var n = e[r](t), o = n.value, u = o instanceof _OverloadYield; Promise.resolve(u ? o.v : o).then(function (t) { if (u) { var i = "return" === r ? "return" : "next"; if (!o.k || t.done) return resume(i, t); t = e[i](t).value; } settle(n.done ? "return" : "normal", t); }, function (e) { resume("throw", e); }); } catch (e) { settle("throw", e); } } function settle(e, n) { switch (e) { case "return": r.resolve({ value: n, done: !0 }); break; case "throw": r.reject(n); break; default: r.resolve({ value: n, done: !1 }); } (r = r.next) ? resume(r.key, r.arg) : t = null; } this._invoke = function (e, n) { return new Promise(function (o, u) { var i = { key: e, arg: n, resolve: o, reject: u, next: null }; t ? t = t.next = i : (r = t = i, resume(e, n)); }); }, "function" != typeof e["return"] && (this["return"] = void 0); }
|
|
36
|
+
AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; }, AsyncGenerator.prototype.next = function (e) { return this._invoke("next", e); }, AsyncGenerator.prototype["throw"] = function (e) { return this._invoke("throw", e); }, AsyncGenerator.prototype["return"] = function (e) { return this._invoke("return", e); };
|
|
37
|
+
function _OverloadYield(e, d) { this.v = e, this.k = d; }
|
|
38
|
+
/**
|
|
39
|
+
* GoodMem JavaScript Streaming Client
|
|
40
|
+
*
|
|
41
|
+
* This module provides streaming support for memory retrieval operations,
|
|
42
|
+
* ported from the Go client implementation.
|
|
43
|
+
*
|
|
44
|
+
* @module StreamingClient
|
|
45
|
+
* @version 1.0.0
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* StreamingClient provides streaming support for memory retrieval operations
|
|
49
|
+
*/
|
|
50
|
+
var StreamingClient = exports.StreamingClient = /*#__PURE__*/function () {
|
|
51
|
+
/**
|
|
52
|
+
* Creates a new streaming client instance
|
|
53
|
+
* @param {ApiClient} client - The main API client instance
|
|
54
|
+
*/
|
|
55
|
+
function StreamingClient(client) {
|
|
56
|
+
_classCallCheck(this, StreamingClient);
|
|
57
|
+
this.client = client;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Streaming formats supported by the client
|
|
62
|
+
* @readonly
|
|
63
|
+
* @enum {string}
|
|
64
|
+
*/
|
|
65
|
+
return _createClass(StreamingClient, [{
|
|
66
|
+
key: "retrieveMemoryStream",
|
|
67
|
+
value: (
|
|
68
|
+
/**
|
|
69
|
+
* Starts streaming memory retrieval
|
|
70
|
+
* @param {AbortSignal} signal - Abort signal for cancellation
|
|
71
|
+
* @param {MemoryStreamRequest} request - The streaming request parameters
|
|
72
|
+
* @returns {Promise<AsyncIterableIterator<MemoryStreamResponse>>} Async iterator of streaming events
|
|
73
|
+
*/
|
|
74
|
+
function () {
|
|
75
|
+
var _retrieveMemoryStream = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(signal, request) {
|
|
76
|
+
var baseURL, endpoint, params, fullURL, headers, response, errorText;
|
|
77
|
+
return _regenerator().w(function (_context) {
|
|
78
|
+
while (1) switch (_context.n) {
|
|
79
|
+
case 0:
|
|
80
|
+
if (request) {
|
|
81
|
+
_context.n = 1;
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
throw new Error('Request cannot be null');
|
|
85
|
+
case 1:
|
|
86
|
+
if (request.message) {
|
|
87
|
+
_context.n = 2;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
throw new Error('Message is required');
|
|
91
|
+
case 2:
|
|
92
|
+
if (!request.format) {
|
|
93
|
+
request.format = StreamingClient.StreamingFormat.NDJSON;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Build URL and query parameters
|
|
97
|
+
baseURL = this.client.basePath || 'http://localhost:8080';
|
|
98
|
+
endpoint = "".concat(baseURL, "/v1/memories:retrieve");
|
|
99
|
+
params = new URLSearchParams();
|
|
100
|
+
params.append('message', request.message);
|
|
101
|
+
if (request.spaceIds && request.spaceIds.length > 0) {
|
|
102
|
+
params.append('spaceIds', request.spaceIds.join(','));
|
|
103
|
+
}
|
|
104
|
+
if (request.requestedSize !== undefined) {
|
|
105
|
+
params.append('requestedSize', request.requestedSize.toString());
|
|
106
|
+
}
|
|
107
|
+
if (request.fetchMemory !== undefined) {
|
|
108
|
+
params.append('fetchMemory', request.fetchMemory.toString());
|
|
109
|
+
}
|
|
110
|
+
if (request.fetchMemoryContent !== undefined) {
|
|
111
|
+
params.append('fetchMemoryContent', request.fetchMemoryContent.toString());
|
|
112
|
+
}
|
|
113
|
+
if (request.generateAbstract !== undefined) {
|
|
114
|
+
params.append('generateAbstract', request.generateAbstract.toString());
|
|
115
|
+
}
|
|
116
|
+
fullURL = "".concat(endpoint, "?").concat(params.toString()); // Set appropriate headers
|
|
117
|
+
headers = {
|
|
118
|
+
'Accept': request.format === StreamingClient.StreamingFormat.SSE ? 'text/event-stream' : 'application/x-ndjson'
|
|
119
|
+
}; // Add authentication headers
|
|
120
|
+
if (this.client.defaultHeaders) {
|
|
121
|
+
Object.assign(headers, this.client.defaultHeaders);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Make the fetch request
|
|
125
|
+
_context.n = 3;
|
|
126
|
+
return fetch(fullURL, {
|
|
127
|
+
method: 'GET',
|
|
128
|
+
headers: headers,
|
|
129
|
+
signal: signal
|
|
130
|
+
});
|
|
131
|
+
case 3:
|
|
132
|
+
response = _context.v;
|
|
133
|
+
if (response.ok) {
|
|
134
|
+
_context.n = 5;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
_context.n = 4;
|
|
138
|
+
return response.text();
|
|
139
|
+
case 4:
|
|
140
|
+
errorText = _context.v;
|
|
141
|
+
throw new StreamError(errorText, response.status);
|
|
142
|
+
case 5:
|
|
143
|
+
if (!(request.format === StreamingClient.StreamingFormat.SSE)) {
|
|
144
|
+
_context.n = 6;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
return _context.a(2, this._processSSEStream(response));
|
|
148
|
+
case 6:
|
|
149
|
+
return _context.a(2, this._processNDJSONStream(response));
|
|
150
|
+
case 7:
|
|
151
|
+
return _context.a(2);
|
|
152
|
+
}
|
|
153
|
+
}, _callee, this);
|
|
154
|
+
}));
|
|
155
|
+
function retrieveMemoryStream(_x, _x2) {
|
|
156
|
+
return _retrieveMemoryStream.apply(this, arguments);
|
|
157
|
+
}
|
|
158
|
+
return retrieveMemoryStream;
|
|
159
|
+
}()
|
|
160
|
+
/**
|
|
161
|
+
* Processes NDJSON streaming response
|
|
162
|
+
* @private
|
|
163
|
+
* @param {Response} response - The fetch response
|
|
164
|
+
* @returns {AsyncIterableIterator<MemoryStreamResponse>} Async iterator of events
|
|
165
|
+
*/
|
|
166
|
+
)
|
|
167
|
+
}, {
|
|
168
|
+
key: "_processNDJSONStream",
|
|
169
|
+
value: function _processNDJSONStream(response) {
|
|
170
|
+
return _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
171
|
+
var reader, decoder, buffer, _yield$_awaitAsyncGen, done, value, lines, _iterator2, _step2, line, event, _event, _t, _t2, _t3;
|
|
172
|
+
return _regenerator().w(function (_context2) {
|
|
173
|
+
while (1) switch (_context2.n) {
|
|
174
|
+
case 0:
|
|
175
|
+
reader = response.body.getReader();
|
|
176
|
+
decoder = new TextDecoder();
|
|
177
|
+
buffer = '';
|
|
178
|
+
_context2.p = 1;
|
|
179
|
+
case 2:
|
|
180
|
+
if (!true) {
|
|
181
|
+
_context2.n = 15;
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
_context2.n = 3;
|
|
185
|
+
return _awaitAsyncGenerator(reader.read());
|
|
186
|
+
case 3:
|
|
187
|
+
_yield$_awaitAsyncGen = _context2.v;
|
|
188
|
+
done = _yield$_awaitAsyncGen.done;
|
|
189
|
+
value = _yield$_awaitAsyncGen.value;
|
|
190
|
+
if (!done) {
|
|
191
|
+
_context2.n = 4;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
return _context2.a(3, 15);
|
|
195
|
+
case 4:
|
|
196
|
+
buffer += decoder.decode(value, {
|
|
197
|
+
stream: true
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
// Process complete lines
|
|
201
|
+
lines = buffer.split('\n');
|
|
202
|
+
buffer = lines.pop() || ''; // Keep the last incomplete line
|
|
203
|
+
_iterator2 = _createForOfIteratorHelper(lines);
|
|
204
|
+
_context2.p = 5;
|
|
205
|
+
_iterator2.s();
|
|
206
|
+
case 6:
|
|
207
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
208
|
+
_context2.n = 11;
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
line = _step2.value;
|
|
212
|
+
if (!line.trim()) {
|
|
213
|
+
_context2.n = 10;
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
_context2.p = 7;
|
|
217
|
+
event = JSON.parse(line);
|
|
218
|
+
_context2.n = 8;
|
|
219
|
+
return event;
|
|
220
|
+
case 8:
|
|
221
|
+
_context2.n = 10;
|
|
222
|
+
break;
|
|
223
|
+
case 9:
|
|
224
|
+
_context2.p = 9;
|
|
225
|
+
_t = _context2.v;
|
|
226
|
+
// Skip invalid JSON lines
|
|
227
|
+
console.warn('Failed to parse JSON line:', line, _t);
|
|
228
|
+
case 10:
|
|
229
|
+
_context2.n = 6;
|
|
230
|
+
break;
|
|
231
|
+
case 11:
|
|
232
|
+
_context2.n = 13;
|
|
233
|
+
break;
|
|
234
|
+
case 12:
|
|
235
|
+
_context2.p = 12;
|
|
236
|
+
_t2 = _context2.v;
|
|
237
|
+
_iterator2.e(_t2);
|
|
238
|
+
case 13:
|
|
239
|
+
_context2.p = 13;
|
|
240
|
+
_iterator2.f();
|
|
241
|
+
return _context2.f(13);
|
|
242
|
+
case 14:
|
|
243
|
+
_context2.n = 2;
|
|
244
|
+
break;
|
|
245
|
+
case 15:
|
|
246
|
+
if (!buffer.trim()) {
|
|
247
|
+
_context2.n = 19;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
_context2.p = 16;
|
|
251
|
+
_event = JSON.parse(buffer);
|
|
252
|
+
_context2.n = 17;
|
|
253
|
+
return _event;
|
|
254
|
+
case 17:
|
|
255
|
+
_context2.n = 19;
|
|
256
|
+
break;
|
|
257
|
+
case 18:
|
|
258
|
+
_context2.p = 18;
|
|
259
|
+
_t3 = _context2.v;
|
|
260
|
+
console.warn('Failed to parse final JSON:', buffer, _t3);
|
|
261
|
+
case 19:
|
|
262
|
+
_context2.p = 19;
|
|
263
|
+
reader.releaseLock();
|
|
264
|
+
return _context2.f(19);
|
|
265
|
+
case 20:
|
|
266
|
+
return _context2.a(2);
|
|
267
|
+
}
|
|
268
|
+
}, _callee2, null, [[16, 18], [7, 9], [5, 12, 13, 14], [1,, 19, 20]]);
|
|
269
|
+
}))();
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Processes Server-Sent Events streaming response
|
|
274
|
+
* @private
|
|
275
|
+
* @param {Response} response - The fetch response
|
|
276
|
+
* @returns {AsyncIterableIterator<MemoryStreamResponse>} Async iterator of events
|
|
277
|
+
*/
|
|
278
|
+
}, {
|
|
279
|
+
key: "_processSSEStream",
|
|
280
|
+
value: function _processSSEStream(response) {
|
|
281
|
+
var _this = this;
|
|
282
|
+
return _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
283
|
+
var reader, decoder, buffer, _yield$_awaitAsyncGen2, done, value, events, _iterator3, _step3, eventText, event, _event2, _t4;
|
|
284
|
+
return _regenerator().w(function (_context3) {
|
|
285
|
+
while (1) switch (_context3.n) {
|
|
286
|
+
case 0:
|
|
287
|
+
reader = response.body.getReader();
|
|
288
|
+
decoder = new TextDecoder();
|
|
289
|
+
buffer = '';
|
|
290
|
+
_context3.p = 1;
|
|
291
|
+
case 2:
|
|
292
|
+
if (!true) {
|
|
293
|
+
_context3.n = 12;
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
_context3.n = 3;
|
|
297
|
+
return _awaitAsyncGenerator(reader.read());
|
|
298
|
+
case 3:
|
|
299
|
+
_yield$_awaitAsyncGen2 = _context3.v;
|
|
300
|
+
done = _yield$_awaitAsyncGen2.done;
|
|
301
|
+
value = _yield$_awaitAsyncGen2.value;
|
|
302
|
+
if (!done) {
|
|
303
|
+
_context3.n = 4;
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
return _context3.a(3, 12);
|
|
307
|
+
case 4:
|
|
308
|
+
buffer += decoder.decode(value, {
|
|
309
|
+
stream: true
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
// Process complete events (separated by double newlines)
|
|
313
|
+
events = buffer.split('\n\n');
|
|
314
|
+
buffer = events.pop() || ''; // Keep the last incomplete event
|
|
315
|
+
_iterator3 = _createForOfIteratorHelper(events);
|
|
316
|
+
_context3.p = 5;
|
|
317
|
+
_iterator3.s();
|
|
318
|
+
case 6:
|
|
319
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
320
|
+
_context3.n = 8;
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
eventText = _step3.value;
|
|
324
|
+
if (!eventText.trim()) {
|
|
325
|
+
_context3.n = 7;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
event = _this._parseSSEEvent(eventText);
|
|
329
|
+
if (!event) {
|
|
330
|
+
_context3.n = 7;
|
|
331
|
+
break;
|
|
332
|
+
}
|
|
333
|
+
_context3.n = 7;
|
|
334
|
+
return event;
|
|
335
|
+
case 7:
|
|
336
|
+
_context3.n = 6;
|
|
337
|
+
break;
|
|
338
|
+
case 8:
|
|
339
|
+
_context3.n = 10;
|
|
340
|
+
break;
|
|
341
|
+
case 9:
|
|
342
|
+
_context3.p = 9;
|
|
343
|
+
_t4 = _context3.v;
|
|
344
|
+
_iterator3.e(_t4);
|
|
345
|
+
case 10:
|
|
346
|
+
_context3.p = 10;
|
|
347
|
+
_iterator3.f();
|
|
348
|
+
return _context3.f(10);
|
|
349
|
+
case 11:
|
|
350
|
+
_context3.n = 2;
|
|
351
|
+
break;
|
|
352
|
+
case 12:
|
|
353
|
+
if (!buffer.trim()) {
|
|
354
|
+
_context3.n = 13;
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
_event2 = _this._parseSSEEvent(buffer);
|
|
358
|
+
if (!_event2) {
|
|
359
|
+
_context3.n = 13;
|
|
360
|
+
break;
|
|
361
|
+
}
|
|
362
|
+
_context3.n = 13;
|
|
363
|
+
return _event2;
|
|
364
|
+
case 13:
|
|
365
|
+
_context3.p = 13;
|
|
366
|
+
reader.releaseLock();
|
|
367
|
+
return _context3.f(13);
|
|
368
|
+
case 14:
|
|
369
|
+
return _context3.a(2);
|
|
370
|
+
}
|
|
371
|
+
}, _callee3, null, [[5, 9, 10, 11], [1,, 13, 14]]);
|
|
372
|
+
}))();
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Parses a single SSE event
|
|
377
|
+
* @private
|
|
378
|
+
* @param {string} eventText - The raw SSE event text
|
|
379
|
+
* @returns {MemoryStreamResponse|null} Parsed event or null if invalid
|
|
380
|
+
*/
|
|
381
|
+
}, {
|
|
382
|
+
key: "_parseSSEEvent",
|
|
383
|
+
value: function _parseSSEEvent(eventText) {
|
|
384
|
+
var lines = eventText.split('\n');
|
|
385
|
+
var eventType = '';
|
|
386
|
+
var data = '';
|
|
387
|
+
var _iterator4 = _createForOfIteratorHelper(lines),
|
|
388
|
+
_step4;
|
|
389
|
+
try {
|
|
390
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
391
|
+
var line = _step4.value;
|
|
392
|
+
if (line.startsWith('event:')) {
|
|
393
|
+
eventType = line.substring(6).trim();
|
|
394
|
+
} else if (line.startsWith('data:')) {
|
|
395
|
+
data = line.substring(5).trim();
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
// Skip close events and events without data
|
|
400
|
+
} catch (err) {
|
|
401
|
+
_iterator4.e(err);
|
|
402
|
+
} finally {
|
|
403
|
+
_iterator4.f();
|
|
404
|
+
}
|
|
405
|
+
if (eventType === 'close' || !data) {
|
|
406
|
+
return null;
|
|
407
|
+
}
|
|
408
|
+
try {
|
|
409
|
+
return JSON.parse(data);
|
|
410
|
+
} catch (parseError) {
|
|
411
|
+
console.warn('Failed to parse SSE event data:', data, parseError);
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Provides a simplified interface for memory streaming
|
|
418
|
+
* @param {AbortSignal} signal - Abort signal for cancellation
|
|
419
|
+
* @param {string} message - The search message
|
|
420
|
+
* @param {string[]} spaceIds - Array of space IDs to search
|
|
421
|
+
* @returns {Promise<AsyncIterableIterator<MemoryStreamResponse>>} Async iterator of streaming events
|
|
422
|
+
*/
|
|
423
|
+
}, {
|
|
424
|
+
key: "retrieveMemoryStreamSimple",
|
|
425
|
+
value: (function () {
|
|
426
|
+
var _retrieveMemoryStreamSimple = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(signal, message, spaceIds) {
|
|
427
|
+
var request;
|
|
428
|
+
return _regenerator().w(function (_context4) {
|
|
429
|
+
while (1) switch (_context4.n) {
|
|
430
|
+
case 0:
|
|
431
|
+
request = {
|
|
432
|
+
message: message,
|
|
433
|
+
spaceIds: spaceIds,
|
|
434
|
+
format: StreamingClient.StreamingFormat.NDJSON
|
|
435
|
+
};
|
|
436
|
+
return _context4.a(2, this.retrieveMemoryStream(signal, request));
|
|
437
|
+
}
|
|
438
|
+
}, _callee4, this);
|
|
439
|
+
}));
|
|
440
|
+
function retrieveMemoryStreamSimple(_x3, _x4, _x5) {
|
|
441
|
+
return _retrieveMemoryStreamSimple.apply(this, arguments);
|
|
442
|
+
}
|
|
443
|
+
return retrieveMemoryStreamSimple;
|
|
444
|
+
}()
|
|
445
|
+
/**
|
|
446
|
+
* Collects all streaming results into an array
|
|
447
|
+
* @param {AbortSignal} signal - Abort signal for cancellation
|
|
448
|
+
* @param {AsyncIterableIterator<MemoryStreamResponse>} stream - The streaming iterator
|
|
449
|
+
* @returns {Promise<MemoryStreamResponse[]>} Array of all streaming events
|
|
450
|
+
*/
|
|
451
|
+
)
|
|
452
|
+
}, {
|
|
453
|
+
key: "streamWithTimeout",
|
|
454
|
+
value: (
|
|
455
|
+
/**
|
|
456
|
+
* Provides streaming with a timeout
|
|
457
|
+
* @param {string} message - The search message
|
|
458
|
+
* @param {string[]} spaceIds - Array of space IDs to search
|
|
459
|
+
* @param {number} timeoutMs - Timeout in milliseconds
|
|
460
|
+
* @returns {Promise<MemoryStreamResponse[]>} Array of streaming events
|
|
461
|
+
*/
|
|
462
|
+
function () {
|
|
463
|
+
var _streamWithTimeout = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(message, spaceIds, timeoutMs) {
|
|
464
|
+
var controller, timeoutId, stream, results, _t5;
|
|
465
|
+
return _regenerator().w(function (_context5) {
|
|
466
|
+
while (1) switch (_context5.n) {
|
|
467
|
+
case 0:
|
|
468
|
+
controller = new AbortController();
|
|
469
|
+
timeoutId = setTimeout(function () {
|
|
470
|
+
return controller.abort();
|
|
471
|
+
}, timeoutMs);
|
|
472
|
+
_context5.p = 1;
|
|
473
|
+
_context5.n = 2;
|
|
474
|
+
return this.retrieveMemoryStreamSimple(controller.signal, message, spaceIds);
|
|
475
|
+
case 2:
|
|
476
|
+
stream = _context5.v;
|
|
477
|
+
_context5.n = 3;
|
|
478
|
+
return StreamingClient.collectStreamResults(controller.signal, stream);
|
|
479
|
+
case 3:
|
|
480
|
+
results = _context5.v;
|
|
481
|
+
clearTimeout(timeoutId);
|
|
482
|
+
return _context5.a(2, results);
|
|
483
|
+
case 4:
|
|
484
|
+
_context5.p = 4;
|
|
485
|
+
_t5 = _context5.v;
|
|
486
|
+
clearTimeout(timeoutId);
|
|
487
|
+
if (!(_t5.name === 'AbortError' || _t5.message === 'Operation was aborted')) {
|
|
488
|
+
_context5.n = 5;
|
|
489
|
+
break;
|
|
490
|
+
}
|
|
491
|
+
throw new Error('Streaming operation timed out');
|
|
492
|
+
case 5:
|
|
493
|
+
throw _t5;
|
|
494
|
+
case 6:
|
|
495
|
+
return _context5.a(2);
|
|
496
|
+
}
|
|
497
|
+
}, _callee5, this, [[1, 4]]);
|
|
498
|
+
}));
|
|
499
|
+
function streamWithTimeout(_x6, _x7, _x8) {
|
|
500
|
+
return _streamWithTimeout.apply(this, arguments);
|
|
501
|
+
}
|
|
502
|
+
return streamWithTimeout;
|
|
503
|
+
}())
|
|
504
|
+
}], [{
|
|
505
|
+
key: "collectStreamResults",
|
|
506
|
+
value: (function () {
|
|
507
|
+
var _collectStreamResults = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(signal, stream) {
|
|
508
|
+
var results, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, event, _t6, _t7;
|
|
509
|
+
return _regenerator().w(function (_context6) {
|
|
510
|
+
while (1) switch (_context6.n) {
|
|
511
|
+
case 0:
|
|
512
|
+
results = [];
|
|
513
|
+
_context6.p = 1;
|
|
514
|
+
_iteratorAbruptCompletion = false;
|
|
515
|
+
_didIteratorError = false;
|
|
516
|
+
_context6.p = 2;
|
|
517
|
+
_iterator = _asyncIterator(stream);
|
|
518
|
+
case 3:
|
|
519
|
+
_context6.n = 4;
|
|
520
|
+
return _iterator.next();
|
|
521
|
+
case 4:
|
|
522
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context6.v).done)) {
|
|
523
|
+
_context6.n = 7;
|
|
524
|
+
break;
|
|
525
|
+
}
|
|
526
|
+
event = _step.value;
|
|
527
|
+
if (!(signal && signal.aborted)) {
|
|
528
|
+
_context6.n = 5;
|
|
529
|
+
break;
|
|
530
|
+
}
|
|
531
|
+
throw new Error('Operation was aborted');
|
|
532
|
+
case 5:
|
|
533
|
+
results.push(event);
|
|
534
|
+
case 6:
|
|
535
|
+
_iteratorAbruptCompletion = false;
|
|
536
|
+
_context6.n = 3;
|
|
537
|
+
break;
|
|
538
|
+
case 7:
|
|
539
|
+
_context6.n = 9;
|
|
540
|
+
break;
|
|
541
|
+
case 8:
|
|
542
|
+
_context6.p = 8;
|
|
543
|
+
_t6 = _context6.v;
|
|
544
|
+
_didIteratorError = true;
|
|
545
|
+
_iteratorError = _t6;
|
|
546
|
+
case 9:
|
|
547
|
+
_context6.p = 9;
|
|
548
|
+
_context6.p = 10;
|
|
549
|
+
if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
|
|
550
|
+
_context6.n = 11;
|
|
551
|
+
break;
|
|
552
|
+
}
|
|
553
|
+
_context6.n = 11;
|
|
554
|
+
return _iterator["return"]();
|
|
555
|
+
case 11:
|
|
556
|
+
_context6.p = 11;
|
|
557
|
+
if (!_didIteratorError) {
|
|
558
|
+
_context6.n = 12;
|
|
559
|
+
break;
|
|
560
|
+
}
|
|
561
|
+
throw _iteratorError;
|
|
562
|
+
case 12:
|
|
563
|
+
return _context6.f(11);
|
|
564
|
+
case 13:
|
|
565
|
+
return _context6.f(9);
|
|
566
|
+
case 14:
|
|
567
|
+
_context6.n = 17;
|
|
568
|
+
break;
|
|
569
|
+
case 15:
|
|
570
|
+
_context6.p = 15;
|
|
571
|
+
_t7 = _context6.v;
|
|
572
|
+
if (!(_t7.name === 'AbortError' || _t7.message === 'Operation was aborted')) {
|
|
573
|
+
_context6.n = 16;
|
|
574
|
+
break;
|
|
575
|
+
}
|
|
576
|
+
throw _t7;
|
|
577
|
+
case 16:
|
|
578
|
+
throw _t7;
|
|
579
|
+
case 17:
|
|
580
|
+
return _context6.a(2, results);
|
|
581
|
+
}
|
|
582
|
+
}, _callee6, null, [[10,, 11, 13], [2, 8, 9, 14], [1, 15]]);
|
|
583
|
+
}));
|
|
584
|
+
function collectStreamResults(_x9, _x0) {
|
|
585
|
+
return _collectStreamResults.apply(this, arguments);
|
|
586
|
+
}
|
|
587
|
+
return collectStreamResults;
|
|
588
|
+
}())
|
|
589
|
+
}]);
|
|
590
|
+
}();
|
|
591
|
+
/**
|
|
592
|
+
* Request parameters for streaming memory retrieval
|
|
593
|
+
* @typedef {Object} MemoryStreamRequest
|
|
594
|
+
* @property {string} message - The search message
|
|
595
|
+
* @property {string[]} [spaceIds] - Array of space IDs to search
|
|
596
|
+
* @property {number} [requestedSize] - Maximum number of results to return
|
|
597
|
+
* @property {boolean} [fetchMemory] - Whether to fetch memory content
|
|
598
|
+
* @property {boolean} [fetchMemoryContent] - Whether to fetch memory content details
|
|
599
|
+
* @property {boolean} [generateAbstract] - Whether to generate abstract
|
|
600
|
+
* @property {string} [format] - Streaming format (ndjson or sse)
|
|
601
|
+
*/
|
|
602
|
+
/**
|
|
603
|
+
* Streaming response event
|
|
604
|
+
* @typedef {Object} MemoryStreamResponse
|
|
605
|
+
* @property {Object} [resultSetBoundary] - Result set boundary information
|
|
606
|
+
* @property {StreamRetrievedItem} [retrievedItem] - Retrieved item data
|
|
607
|
+
* @property {Object} [abstractReply] - Abstract reply data
|
|
608
|
+
* @property {Object} [memoryDefinition] - Memory definition data
|
|
609
|
+
* @property {Object} [status] - Status information
|
|
610
|
+
*/
|
|
611
|
+
/**
|
|
612
|
+
* Retrieved item in streaming format
|
|
613
|
+
* @typedef {Object} StreamRetrievedItem
|
|
614
|
+
* @property {Object} [memory] - Memory data
|
|
615
|
+
* @property {StreamChunkReference} [chunk] - Chunk reference data
|
|
616
|
+
*/
|
|
617
|
+
/**
|
|
618
|
+
* Chunk reference with relevance score
|
|
619
|
+
* @typedef {Object} StreamChunkReference
|
|
620
|
+
* @property {string} resultSetId - Result set identifier
|
|
621
|
+
* @property {Object} chunk - Chunk data
|
|
622
|
+
* @property {number} memoryIndex - Memory index
|
|
623
|
+
* @property {number} relevanceScore - Relevance score
|
|
624
|
+
*/
|
|
625
|
+
/**
|
|
626
|
+
* Error that occurred during streaming
|
|
627
|
+
*/
|
|
628
|
+
_defineProperty(StreamingClient, "StreamingFormat", {
|
|
629
|
+
NDJSON: 'ndjson',
|
|
630
|
+
SSE: 'sse'
|
|
631
|
+
});
|
|
632
|
+
var StreamError = exports.StreamError = /*#__PURE__*/function (_Error) {
|
|
633
|
+
/**
|
|
634
|
+
* Creates a new StreamError
|
|
635
|
+
* @param {string} message - Error message
|
|
636
|
+
* @param {number} code - HTTP status code
|
|
637
|
+
*/
|
|
638
|
+
function StreamError(message, code) {
|
|
639
|
+
var _this2;
|
|
640
|
+
_classCallCheck(this, StreamError);
|
|
641
|
+
_this2 = _callSuper(this, StreamError, ["Streaming error (code ".concat(code, "): ").concat(message)]);
|
|
642
|
+
_this2.name = 'StreamError';
|
|
643
|
+
_this2.code = code;
|
|
644
|
+
_this2.message = message;
|
|
645
|
+
return _this2;
|
|
646
|
+
}
|
|
647
|
+
_inherits(StreamError, _Error);
|
|
648
|
+
return _createClass(StreamError);
|
|
649
|
+
}(/*#__PURE__*/_wrapNativeSuper(Error)); // Export the classes and types
|