lemon-model 1.2.1 → 1.2.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/README.md +20 -2
- package/dist/buffer/index.d.ts +9 -0
- package/dist/buffer/index.js +26 -0
- package/dist/buffer/index.js.map +1 -0
- package/dist/buffer/network.d.ts +89 -0
- package/dist/buffer/network.js +172 -0
- package/dist/buffer/network.js.map +1 -0
- package/dist/buffer/stream.d.ts +220 -0
- package/dist/buffer/stream.js +563 -0
- package/dist/buffer/stream.js.map +1 -0
- package/dist/buffer/testing.d.ts +56 -0
- package/dist/buffer/testing.js +92 -0
- package/dist/buffer/testing.js.map +1 -0
- package/dist/buffer/token.d.ts +49 -0
- package/dist/buffer/token.js +112 -0
- package/dist/buffer/token.js.map +1 -0
- package/dist/esm/buffer/index.js +10 -0
- package/dist/esm/buffer/index.js.map +1 -0
- package/dist/esm/buffer/network.js +163 -0
- package/dist/esm/buffer/network.js.map +1 -0
- package/dist/esm/buffer/stream.js +554 -0
- package/dist/esm/buffer/stream.js.map +1 -0
- package/dist/esm/buffer/testing.js +88 -0
- package/dist/esm/buffer/testing.js.map +1 -0
- package/dist/esm/buffer/token.js +108 -0
- package/dist/esm/buffer/token.js.map +1 -0
- package/dist/esm/genai/mocks.js +1 -1
- package/dist/esm/genai/transport.js +3 -34
- package/dist/esm/genai/transport.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/socket/websocket.js +212 -0
- package/dist/esm/socket/websocket.js.map +1 -1
- package/dist/genai/mocks.d.ts +1 -1
- package/dist/genai/mocks.js +1 -1
- package/dist/genai/transport.js +3 -34
- package/dist/genai/transport.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/socket/types.d.ts +5 -3
- package/dist/socket/websocket.d.ts +63 -0
- package/dist/socket/websocket.js +216 -1
- package/dist/socket/websocket.js.map +1 -1
- package/package.json +7 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/buffer/testing.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAyE,MAAM,UAAU,CAAC;AACpH,OAAO,EACH,gCAAgC,EAChC,gCAAgC,GAEnC,MAAM,WAAW,CAAC;AA+CnB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,OAAsC,EACD,EAAE;;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GACT,MAAA,OAAO,CAAC,OAAO,mCACf,aAAa,iBACT,EAAE,EAAE,MAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,EAAE,mCAAI,OAAO,CAAC,EAAE,IACzC,OAAO,CAAC,cAAc,EAC3B,CAAC;IACP,MAAM,aAAa,mCACZ,CAAC,MAAA,OAAO,CAAC,aAAa,mCAAI,EAAE,CAAC,KAChC,cAAc,EAAE,MAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,cAAc,mCAAI,MAAA,OAAO,CAAC,cAAc,0CAAE,cAAc,GAClG,CAAC;IACF,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,gCAAgC,CAC7C,OAAO,EACP,KAAK,CAAC,EAAE;QACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EACD,aAAa,CAChB,CAAC;IACF,MAAM,MAAM,GAAG,gCAAgC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAE7E,IAAI;QACA,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,UAAU,CAAC,OAAO,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC;QAE1E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;;YAC5C,IAAI;gBACA,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,MAAK,YAAY,CAAC;aACpD;YAAC,WAAM;gBACJ,OAAO,KAAK,CAAC;aAChB;QACL,CAAC,CAAC,CAAC,MAAM,CAAC;QAEV,OAAO;YACH,MAAM;YACN,UAAU;YACV,QAAQ;YACR,OAAO;YACP,OAAO,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACjC,OAAO,EAAE,UAAU,CAAC,MAAM;gBAC1B,WAAW;gBACX,cAAc;gBACd,YAAY;gBACZ,MAAM,EAAE,MAAM,CAAC,MAAM;aACxB;SACJ,CAAC;KACL;YAAS;QACN,cAAc,EAAE,CAAC;QACjB,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACzC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* class: `TokenBuffer`
|
|
12
|
+
* - manages token buffering with configurable flush strategies
|
|
13
|
+
*/
|
|
14
|
+
export class TokenBuffer {
|
|
15
|
+
constructor(flushCallback, options) {
|
|
16
|
+
var _a, _b, _c, _d, _e, _f;
|
|
17
|
+
this.flushCallback = flushCallback;
|
|
18
|
+
this.tokens = [];
|
|
19
|
+
this.isProcessing = false;
|
|
20
|
+
this.options = {
|
|
21
|
+
flushStrategy: (_a = options === null || options === void 0 ? void 0 : options.flushStrategy) !== null && _a !== void 0 ? _a : 'size',
|
|
22
|
+
bufferMs: (_b = options === null || options === void 0 ? void 0 : options.bufferMs) !== null && _b !== void 0 ? _b : 300,
|
|
23
|
+
maxTokensForTime: (_c = options === null || options === void 0 ? void 0 : options.maxTokensForTime) !== null && _c !== void 0 ? _c : 30,
|
|
24
|
+
bufferSize: (_d = options === null || options === void 0 ? void 0 : options.bufferSize) !== null && _d !== void 0 ? _d : 10,
|
|
25
|
+
maxWaitMs: (_e = options === null || options === void 0 ? void 0 : options.maxWaitMs) !== null && _e !== void 0 ? _e : 300,
|
|
26
|
+
useBuffer: (_f = options === null || options === void 0 ? void 0 : options.useBuffer) !== null && _f !== void 0 ? _f : true,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* add token to buffer
|
|
31
|
+
*/
|
|
32
|
+
add(token) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
if (!this.options.useBuffer) {
|
|
35
|
+
yield this.flushCallback(token);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.tokens.push(token);
|
|
39
|
+
if (this.options.flushStrategy === 'size') {
|
|
40
|
+
// size 전략: 개수 도달하면 flush, 아니면 최대 대기시간 타이머
|
|
41
|
+
if (this.tokens.length >= this.options.bufferSize) {
|
|
42
|
+
yield this.flush();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.scheduleMaxWaitFlush();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// time 전략: 일정 개수 되면 강제 flush, 아니면 시간 타이머
|
|
50
|
+
if (this.tokens.length >= this.options.maxTokensForTime) {
|
|
51
|
+
yield this.flush();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.scheduleTimeFlush();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* flush all buffered tokens
|
|
61
|
+
*/
|
|
62
|
+
flush() {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
if (this.isProcessing || this.tokens.length === 0)
|
|
65
|
+
return;
|
|
66
|
+
this.isProcessing = true;
|
|
67
|
+
this.clearTimer();
|
|
68
|
+
const content = this.tokens.join('');
|
|
69
|
+
this.tokens = [];
|
|
70
|
+
try {
|
|
71
|
+
yield this.flushCallback(content);
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
this.isProcessing = false;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* close buffer and flush remaining tokens
|
|
80
|
+
*/
|
|
81
|
+
close() {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
yield this.flush();
|
|
84
|
+
this.clearTimer();
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
scheduleTimeFlush() {
|
|
88
|
+
if (this.timer)
|
|
89
|
+
return;
|
|
90
|
+
this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
yield this.flush();
|
|
92
|
+
}), this.options.bufferMs);
|
|
93
|
+
}
|
|
94
|
+
scheduleMaxWaitFlush() {
|
|
95
|
+
if (this.timer)
|
|
96
|
+
return;
|
|
97
|
+
this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
yield this.flush();
|
|
99
|
+
}), this.options.maxWaitMs);
|
|
100
|
+
}
|
|
101
|
+
clearTimer() {
|
|
102
|
+
if (this.timer) {
|
|
103
|
+
clearTimeout(this.timer);
|
|
104
|
+
this.timer = undefined;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/buffer/token.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/genai/mocks.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* - Test helpers for exercising `HttpAbstractGenAI` without a live agents API.
|
|
4
4
|
* - `createAgentGenerateFetcher()` routes fetch calls into a controller-like object, and
|
|
5
5
|
* `MockAgentGenerateController` emulates the `/agents/!/generate` `/dump` + transport contract
|
|
6
|
-
*
|
|
6
|
+
* provided by the upstream agent generate controller.
|
|
7
7
|
*
|
|
8
8
|
* @origin eureka-agents-api / src/lib/proxy/mocks.ts (+ `/dump` contract distilled from `AgentAPIController` for F/B-neutral tests)
|
|
9
9
|
* @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
|
|
@@ -16,12 +16,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
16
|
* @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
|
|
17
17
|
*/
|
|
18
18
|
import { createJSONTransport } from '../socket/transport.js';
|
|
19
|
+
import { createFilteredNetwork } from '../socket/websocket.js';
|
|
19
20
|
/** JSONTransport-backed receiver used by `HttpAbstractGenAI` transport mode */
|
|
20
21
|
export class JSONProxyTransportReceiver {
|
|
21
22
|
constructor(network, options = {}) {
|
|
22
23
|
this.network = network;
|
|
23
24
|
this.options = options;
|
|
24
|
-
this.transport = createJSONTransport(
|
|
25
|
+
this.transport = createJSONTransport(createFilteredNetwork(network, isTransportPacketString), options.jsonTransport);
|
|
25
26
|
this.transport.onMessage(data => this.resolve(data));
|
|
26
27
|
this.transport.onError(error => this.reject(error));
|
|
27
28
|
}
|
|
@@ -83,39 +84,7 @@ export class JSONProxyTransportReceiver {
|
|
|
83
84
|
}
|
|
84
85
|
/** create a receiver that filters raw network packets down to JSONTransport frames */
|
|
85
86
|
export const createProxyTransportReceiver = (network, options) => new JSONProxyTransportReceiver(network, options);
|
|
86
|
-
/**
|
|
87
|
-
class TransportPacketNetwork {
|
|
88
|
-
constructor(source) {
|
|
89
|
-
this.source = source;
|
|
90
|
-
}
|
|
91
|
-
get readyState() {
|
|
92
|
-
return this.source.readyState;
|
|
93
|
-
}
|
|
94
|
-
ready() {
|
|
95
|
-
var _a, _b, _c;
|
|
96
|
-
return (_c = (_b = (_a = this.source).ready) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : Promise.resolve();
|
|
97
|
-
}
|
|
98
|
-
send(data) {
|
|
99
|
-
this.source.send(data);
|
|
100
|
-
}
|
|
101
|
-
onMessage(handler) {
|
|
102
|
-
return this.source.onMessage(data => {
|
|
103
|
-
if (!isTransportPacketString(data))
|
|
104
|
-
return;
|
|
105
|
-
handler(data);
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
configure(options) {
|
|
109
|
-
var _a, _b;
|
|
110
|
-
(_b = (_a = this.source).configure) === null || _b === void 0 ? void 0 : _b.call(_a, options);
|
|
111
|
-
}
|
|
112
|
-
onError(handler) {
|
|
113
|
-
return this.source.onError(handler);
|
|
114
|
-
}
|
|
115
|
-
close() {
|
|
116
|
-
this.source.close();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
87
|
+
/** raw predicate: keep only JSONTransport frame strings */
|
|
119
88
|
const isTransportPacketString = (data) => {
|
|
120
89
|
try {
|
|
121
90
|
const packet = JSON.parse(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/genai/transport.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,mBAAmB,EAA6C,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/genai/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -204,6 +204,218 @@ export class BrowserWebSocketNetwork {
|
|
|
204
204
|
this.readyErrorHandler = undefined;
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Adapter that owns the WebSocket it creates.
|
|
209
|
+
*
|
|
210
|
+
* Unlike `BrowserWebSocketNetwork`, `close()` performs an actual socket close. The adapter only
|
|
211
|
+
* handles raw string send/receive, connect timeout, and event mapping; it knows nothing about
|
|
212
|
+
* message parsing, pending settlement, or routing.
|
|
213
|
+
*/
|
|
214
|
+
export class OwnedWebSocketNetwork {
|
|
215
|
+
constructor(options) {
|
|
216
|
+
var _a;
|
|
217
|
+
this.openHandlers = new Set();
|
|
218
|
+
this.messageHandlers = new Set();
|
|
219
|
+
this.errorHandlers = new Set();
|
|
220
|
+
this.closed = false;
|
|
221
|
+
this.hasOpened = false;
|
|
222
|
+
this.handleOpen = () => {
|
|
223
|
+
if (this.closed || this.hasOpened)
|
|
224
|
+
return;
|
|
225
|
+
this.hasOpened = true;
|
|
226
|
+
for (const handler of [...this.openHandlers])
|
|
227
|
+
handler();
|
|
228
|
+
this.openHandlers.clear();
|
|
229
|
+
};
|
|
230
|
+
this.handleMessage = (event) => {
|
|
231
|
+
if (this.closed || typeof event.data !== 'string')
|
|
232
|
+
return;
|
|
233
|
+
for (const handler of [...this.messageHandlers])
|
|
234
|
+
handler(event.data);
|
|
235
|
+
};
|
|
236
|
+
this.handleError = (event) => {
|
|
237
|
+
if (this.closed)
|
|
238
|
+
return;
|
|
239
|
+
for (const handler of [...this.errorHandlers])
|
|
240
|
+
handler(event, { scope: 'ownedWebSocket', network: this });
|
|
241
|
+
};
|
|
242
|
+
this.handleClose = (event) => {
|
|
243
|
+
if (this.closed)
|
|
244
|
+
return;
|
|
245
|
+
for (const handler of [...this.errorHandlers])
|
|
246
|
+
handler(event, { scope: 'ownedWebSocket.close', network: this });
|
|
247
|
+
};
|
|
248
|
+
this.ws = options.socketFactory
|
|
249
|
+
? options.socketFactory({ url: options.url, protocols: options.protocols })
|
|
250
|
+
: createDefaultWebSocket(options);
|
|
251
|
+
this.opened = this.buildOpened((_a = options.connectTimeoutMs) !== null && _a !== void 0 ? _a : 15000);
|
|
252
|
+
this.ws.addEventListener('open', this.handleOpen);
|
|
253
|
+
this.ws.addEventListener('message', this.handleMessage);
|
|
254
|
+
this.ws.addEventListener('error', this.handleError);
|
|
255
|
+
this.ws.addEventListener('close', this.handleClose);
|
|
256
|
+
}
|
|
257
|
+
/** subscribe to the open transition; fires once, immediately if already open */
|
|
258
|
+
onOpen(handler) {
|
|
259
|
+
if (this.closed)
|
|
260
|
+
throw new Error(`@network connection error: closed - ownedWebSocket.onOpen`);
|
|
261
|
+
if (this.hasOpened || this.isOpen()) {
|
|
262
|
+
handler();
|
|
263
|
+
return () => undefined;
|
|
264
|
+
}
|
|
265
|
+
this.openHandlers.add(handler);
|
|
266
|
+
return () => this.openHandlers.delete(handler);
|
|
267
|
+
}
|
|
268
|
+
get readyState() {
|
|
269
|
+
if (this.closed)
|
|
270
|
+
return 'closed';
|
|
271
|
+
if (this.isOpen())
|
|
272
|
+
return 'open';
|
|
273
|
+
if (this.ws.readyState === stateValue(this.ws, 'CLOSING', 2))
|
|
274
|
+
return 'closing';
|
|
275
|
+
if (this.ws.readyState === stateValue(this.ws, 'CLOSED', 3))
|
|
276
|
+
return 'closed';
|
|
277
|
+
return 'connecting';
|
|
278
|
+
}
|
|
279
|
+
ready() {
|
|
280
|
+
if (this.closed)
|
|
281
|
+
return Promise.reject(new Error(`@network connection error: closed - ownedWebSocket.ready`));
|
|
282
|
+
return this.opened;
|
|
283
|
+
}
|
|
284
|
+
send(data) {
|
|
285
|
+
if (this.closed || !this.isOpen()) {
|
|
286
|
+
throw new Error(`@network connection error: ${this.readyState} - ownedWebSocket.send`);
|
|
287
|
+
}
|
|
288
|
+
this.ws.send(data);
|
|
289
|
+
}
|
|
290
|
+
onMessage(handler) {
|
|
291
|
+
if (this.closed)
|
|
292
|
+
throw new Error(`@network connection error: closed - ownedWebSocket.onMessage`);
|
|
293
|
+
this.messageHandlers.add(handler);
|
|
294
|
+
return () => this.messageHandlers.delete(handler);
|
|
295
|
+
}
|
|
296
|
+
configure(_options) {
|
|
297
|
+
// Owned WebSocket transport options are controlled by the runtime.
|
|
298
|
+
}
|
|
299
|
+
onError(handler) {
|
|
300
|
+
this.errorHandlers.add(handler);
|
|
301
|
+
return () => this.errorHandlers.delete(handler);
|
|
302
|
+
}
|
|
303
|
+
close(code, reason) {
|
|
304
|
+
if (this.closed)
|
|
305
|
+
return;
|
|
306
|
+
this.closed = true;
|
|
307
|
+
this.openHandlers.clear();
|
|
308
|
+
this.messageHandlers.clear();
|
|
309
|
+
this.errorHandlers.clear();
|
|
310
|
+
this.ws.removeEventListener('open', this.handleOpen);
|
|
311
|
+
this.ws.removeEventListener('message', this.handleMessage);
|
|
312
|
+
this.ws.removeEventListener('error', this.handleError);
|
|
313
|
+
this.ws.removeEventListener('close', this.handleClose);
|
|
314
|
+
try {
|
|
315
|
+
this.ws.close(code, reason);
|
|
316
|
+
}
|
|
317
|
+
catch (_a) {
|
|
318
|
+
// ignore close errors; the adapter is already detached
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
buildOpened(timeoutMs) {
|
|
322
|
+
if (this.isOpen())
|
|
323
|
+
return Promise.resolve();
|
|
324
|
+
return new Promise((resolve, reject) => {
|
|
325
|
+
let settled = false;
|
|
326
|
+
const timer = timeoutMs > 0
|
|
327
|
+
? setTimeout(() => {
|
|
328
|
+
rejectOnce(new Error(`timeout waiting for WebSocket open: ${timeoutMs}ms`));
|
|
329
|
+
this.close();
|
|
330
|
+
}, timeoutMs)
|
|
331
|
+
: undefined;
|
|
332
|
+
const cleanup = () => {
|
|
333
|
+
if (timer)
|
|
334
|
+
clearTimeout(timer);
|
|
335
|
+
this.ws.removeEventListener('open', onOpen);
|
|
336
|
+
this.ws.removeEventListener('error', onError);
|
|
337
|
+
this.ws.removeEventListener('close', onClose);
|
|
338
|
+
};
|
|
339
|
+
const resolveOnce = () => {
|
|
340
|
+
if (settled)
|
|
341
|
+
return;
|
|
342
|
+
settled = true;
|
|
343
|
+
cleanup();
|
|
344
|
+
resolve();
|
|
345
|
+
};
|
|
346
|
+
const rejectOnce = (error) => {
|
|
347
|
+
if (settled)
|
|
348
|
+
return;
|
|
349
|
+
settled = true;
|
|
350
|
+
cleanup();
|
|
351
|
+
reject(error);
|
|
352
|
+
};
|
|
353
|
+
const onOpen = () => resolveOnce();
|
|
354
|
+
const onError = (event) => rejectOnce(event);
|
|
355
|
+
const onClose = () => rejectOnce(new Error(`WebSocket closed before open`));
|
|
356
|
+
this.ws.addEventListener('open', onOpen, { once: true });
|
|
357
|
+
this.ws.addEventListener('error', onError, { once: true });
|
|
358
|
+
this.ws.addEventListener('close', onClose, { once: true });
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
isOpen() {
|
|
362
|
+
return this.ws.readyState === stateValue(this.ws, 'OPEN', 1);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
/** create an owned WebSocket network adapter */
|
|
366
|
+
export const createOwnedWebSocketNetwork = (options) => new OwnedWebSocketNetwork(options);
|
|
367
|
+
/**
|
|
368
|
+
* Wrap a `NetworkSupportable` so subscribers only see inbound raw strings accepted by `shouldHandleRaw`.
|
|
369
|
+
*
|
|
370
|
+
* Both chatic and proxy share this single boundary mechanism. The predicate only filters inbound
|
|
371
|
+
* `onMessage`; outbound `send` and every other member delegate to the source unchanged.
|
|
372
|
+
*/
|
|
373
|
+
export const createFilteredNetwork = (source, shouldHandleRaw) => new FilteredNetwork(source, shouldHandleRaw);
|
|
374
|
+
/** `NetworkSupportable` decorator that filters inbound raw strings by ownership predicate */
|
|
375
|
+
class FilteredNetwork {
|
|
376
|
+
constructor(source, shouldHandleRaw) {
|
|
377
|
+
this.source = source;
|
|
378
|
+
this.shouldHandleRaw = shouldHandleRaw;
|
|
379
|
+
}
|
|
380
|
+
get readyState() {
|
|
381
|
+
return this.source.readyState;
|
|
382
|
+
}
|
|
383
|
+
ready() {
|
|
384
|
+
var _a, _b, _c;
|
|
385
|
+
return (_c = (_b = (_a = this.source).ready) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : Promise.resolve();
|
|
386
|
+
}
|
|
387
|
+
onOpen(handler) {
|
|
388
|
+
var _a, _b, _c;
|
|
389
|
+
return (_c = (_b = (_a = this.source).onOpen) === null || _b === void 0 ? void 0 : _b.call(_a, handler)) !== null && _c !== void 0 ? _c : (() => undefined);
|
|
390
|
+
}
|
|
391
|
+
send(data) {
|
|
392
|
+
this.source.send(data);
|
|
393
|
+
}
|
|
394
|
+
onMessage(handler) {
|
|
395
|
+
return this.source.onMessage(raw => {
|
|
396
|
+
if (!this.shouldHandleRaw(raw))
|
|
397
|
+
return;
|
|
398
|
+
handler(raw);
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
configure(options) {
|
|
402
|
+
var _a, _b;
|
|
403
|
+
(_b = (_a = this.source).configure) === null || _b === void 0 ? void 0 : _b.call(_a, options);
|
|
404
|
+
}
|
|
405
|
+
onError(handler) {
|
|
406
|
+
return this.source.onError(handler);
|
|
407
|
+
}
|
|
408
|
+
close(code, reason) {
|
|
409
|
+
this.source.close(code, reason);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
const createDefaultWebSocket = (options) => {
|
|
413
|
+
const WS = globalThis.WebSocket;
|
|
414
|
+
if (typeof WS !== 'function') {
|
|
415
|
+
throw new Error(`global WebSocket is not available; provide options.socketFactory`);
|
|
416
|
+
}
|
|
417
|
+
return new WS(options.url, options.protocols);
|
|
418
|
+
};
|
|
207
419
|
const waitWebSocketOpen = (ws, timeoutMs) => {
|
|
208
420
|
if (ws.readyState === stateValue(ws, 'OPEN', 1))
|
|
209
421
|
return Promise.resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/socket/websocket.ts"],"names":[],"mappings":";;;;;;;;;AAiEA,yFAAyF;AACzF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,OAAgB,EAAsB,EAAE;;IACjF,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAc,CAAC;IAC5B,MAAM,UAAU,GAAG;QACf,IAAI,CAAC,YAAY;QACjB,IAAI,CAAC,MAAM;QACX,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY;QACvB,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM;QACjB,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,EAAE;QACrB,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE;QACb,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY;QACvB,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM;QACjB,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE;QACb,IAAI,CAAC,EAAE;KACV,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,EAAwB,EACxB,UAAwC,EAAE,EAC3B,EAAE;;IACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,KAAM,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,4BAA4B,CAAC;IAEhE,MAAM,iBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAEvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GACP,SAAS,GAAG,CAAC;YACT,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACZ,UAAU,CAAC,IAAI,KAAK,CAAC,oDAAoD,SAAS,IAAI,CAAC,CAAC,CAAC;YAC7F,CAAC,EAAE,SAAS,CAAC;YACf,CAAC,CAAC,SAAS,CAAC;QAEpB,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7C,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAE,EAAE;YACzC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,CAAO,KAA8C,EAAE,EAAE;YACvE,IAAI;gBACA,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,GAAG,CAAC,CAAC;gBAC1C,IAAI,YAAY;oBAAE,WAAW,CAAC,YAAY,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,UAAU,CAAC,CAAC,CAAC,CAAC;aACjB;QACL,CAAC,CAAA,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,KAA4C,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAEjG,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,cAAc;YAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAuBhC,YAAoC,EAAwB;QAAxB,OAAE,GAAF,EAAE,CAAsB;QAtB3C,oBAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;QACnD,kBAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;QAIvD,aAAQ,GAAG,KAAK,CAAC;QAER,eAAU,GAAG,GAAS,EAAE,CAAC,SAAS,CAAC;QACnC,kBAAa,GAAG,CAAC,KAA8C,EAAE,EAAE;YAChF,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAC5D,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;gBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC,CAAC;QACe,gBAAW,GAAG,CAAC,KAA4C,EAAE,EAAE;YAC5E,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;gBAAE,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC;QACe,gBAAW,GAAG,CAAC,KAA4C,EAAE,EAAE;YAC5E,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;gBACzC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC;QAGE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YACvB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACnB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,GAAG,EAAE;oBAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC;gBACF,MAAM,OAAO,GAAG,CAAC,KAA4C,EAAE,EAAE;oBAC7D,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC;gBACF,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;gBACjC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QAET,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,IAAW,UAAU;QACjB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,MAAM,CAAC;QACjC,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3E,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YAAE,OAAO,QAAQ,CAAC;QACzE,OAAO,YAAY,CAAC;IACxB,CAAC;IAEM,KAAK;QACR,IAAI,IAAI,CAAC,QAAQ;YACb,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,IAAI,CAAC,IAAY;QACpB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,UAAU,0BAA0B,CAAC,CAAC;SAC5F;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAEM,SAAS,CAAC,OAA8B;QAC3C,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACrG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAEM,SAAS,CAAC,QAA8B;QAC3C,6EAA6E;IACjF,CAAC;IAEM,OAAO,CAAC,OAA2B;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,0EAA0E;IACnE,MAAM;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAEO,MAAM;QACV,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,UAAU,CAAC,GAAkC,EAAE,QAAgB;QACnE,OAAO,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtE,CAAC;IAEO,oBAAoB;QACxB,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzF,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACvC,CAAC;CACJ;AAED,MAAM,iBAAiB,GAAG,CAAC,EAAwB,EAAE,SAAiB,EAAiB,EAAE;IACrF,IAAI,EAAE,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GACP,SAAS,GAAG,CAAC;YACT,CAAC,CAAC,UAAU,CACN,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,uCAAuC,SAAS,IAAI,CAAC,CAAC,EACjF,SAAS,CACZ;YACH,CAAC,CAAC,SAAS,CAAC;QACpB,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,EAAE;YACrB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,KAA4C,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC5E,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACf,EAAwB,EACxB,GAAiD,EACjD,QAAgB,EACV,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhE,MAAM,eAAe,GAAG,CAAO,IAAa,EAAmB,EAAE;IAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,IAAI,YAAY,WAAW;QAAE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAkF,CAAC;IACpG,IAAI,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAA,KAAK,UAAU;QAAE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/G,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAA,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC3B;IAAC,WAAM;QACJ,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/socket/websocket.ts"],"names":[],"mappings":"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"}
|
package/dist/genai/mocks.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* - Test helpers for exercising `HttpAbstractGenAI` without a live agents API.
|
|
4
4
|
* - `createAgentGenerateFetcher()` routes fetch calls into a controller-like object, and
|
|
5
5
|
* `MockAgentGenerateController` emulates the `/agents/!/generate` `/dump` + transport contract
|
|
6
|
-
*
|
|
6
|
+
* provided by the upstream agent generate controller.
|
|
7
7
|
*
|
|
8
8
|
* @origin eureka-agents-api / src/lib/proxy/mocks.ts (+ `/dump` contract distilled from `AgentAPIController` for F/B-neutral tests)
|
|
9
9
|
* @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
|
package/dist/genai/mocks.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* - Test helpers for exercising `HttpAbstractGenAI` without a live agents API.
|
|
5
5
|
* - `createAgentGenerateFetcher()` routes fetch calls into a controller-like object, and
|
|
6
6
|
* `MockAgentGenerateController` emulates the `/agents/!/generate` `/dump` + transport contract
|
|
7
|
-
*
|
|
7
|
+
* provided by the upstream agent generate controller.
|
|
8
8
|
*
|
|
9
9
|
* @origin eureka-agents-api / src/lib/proxy/mocks.ts (+ `/dump` contract distilled from `AgentAPIController` for F/B-neutral tests)
|
|
10
10
|
* @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
|
package/dist/genai/transport.js
CHANGED
|
@@ -19,12 +19,13 @@ exports.createProxyTransportReceiver = exports.JSONProxyTransportReceiver = void
|
|
|
19
19
|
* @copyright (C) 2026 LemonCloud Co Ltd. - All Rights Reserved.
|
|
20
20
|
*/
|
|
21
21
|
const transport_1 = require("../socket/transport");
|
|
22
|
+
const websocket_1 = require("../socket/websocket");
|
|
22
23
|
/** JSONTransport-backed receiver used by `HttpAbstractGenAI` transport mode */
|
|
23
24
|
class JSONProxyTransportReceiver {
|
|
24
25
|
constructor(network, options = {}) {
|
|
25
26
|
this.network = network;
|
|
26
27
|
this.options = options;
|
|
27
|
-
this.transport = (0, transport_1.createJSONTransport)(
|
|
28
|
+
this.transport = (0, transport_1.createJSONTransport)((0, websocket_1.createFilteredNetwork)(network, isTransportPacketString), options.jsonTransport);
|
|
28
29
|
this.transport.onMessage(data => this.resolve(data));
|
|
29
30
|
this.transport.onError(error => this.reject(error));
|
|
30
31
|
}
|
|
@@ -88,39 +89,7 @@ exports.JSONProxyTransportReceiver = JSONProxyTransportReceiver;
|
|
|
88
89
|
/** create a receiver that filters raw network packets down to JSONTransport frames */
|
|
89
90
|
const createProxyTransportReceiver = (network, options) => new JSONProxyTransportReceiver(network, options);
|
|
90
91
|
exports.createProxyTransportReceiver = createProxyTransportReceiver;
|
|
91
|
-
/**
|
|
92
|
-
class TransportPacketNetwork {
|
|
93
|
-
constructor(source) {
|
|
94
|
-
this.source = source;
|
|
95
|
-
}
|
|
96
|
-
get readyState() {
|
|
97
|
-
return this.source.readyState;
|
|
98
|
-
}
|
|
99
|
-
ready() {
|
|
100
|
-
var _a, _b, _c;
|
|
101
|
-
return (_c = (_b = (_a = this.source).ready) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : Promise.resolve();
|
|
102
|
-
}
|
|
103
|
-
send(data) {
|
|
104
|
-
this.source.send(data);
|
|
105
|
-
}
|
|
106
|
-
onMessage(handler) {
|
|
107
|
-
return this.source.onMessage(data => {
|
|
108
|
-
if (!isTransportPacketString(data))
|
|
109
|
-
return;
|
|
110
|
-
handler(data);
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
configure(options) {
|
|
114
|
-
var _a, _b;
|
|
115
|
-
(_b = (_a = this.source).configure) === null || _b === void 0 ? void 0 : _b.call(_a, options);
|
|
116
|
-
}
|
|
117
|
-
onError(handler) {
|
|
118
|
-
return this.source.onError(handler);
|
|
119
|
-
}
|
|
120
|
-
close() {
|
|
121
|
-
this.source.close();
|
|
122
|
-
}
|
|
123
|
-
}
|
|
92
|
+
/** raw predicate: keep only JSONTransport frame strings */
|
|
124
93
|
const isTransportPacketString = (data) => {
|
|
125
94
|
try {
|
|
126
95
|
const packet = JSON.parse(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/genai/transport.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,mDAAqG;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/genai/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB"}
|
package/dist/socket/types.d.ts
CHANGED
|
@@ -52,8 +52,10 @@ export interface NetworkMessageHandler {
|
|
|
52
52
|
export interface NetworkSupportable {
|
|
53
53
|
/** network state */
|
|
54
54
|
readonly readyState: SocketReadyState;
|
|
55
|
-
/**
|
|
55
|
+
/** resolve when ready for send/onMessage; immediately if already open, reject if closed */
|
|
56
56
|
ready?(): Promise<void>;
|
|
57
|
+
/** subscribe to the open transition; fires once, immediately if already open. decorators must delegate */
|
|
58
|
+
onOpen?(handler: () => void): SocketUnsubscribe;
|
|
57
59
|
/** send raw string data over the network */
|
|
58
60
|
send(data: string): void;
|
|
59
61
|
/** subscribe to raw string data delivered from the network */
|
|
@@ -62,8 +64,8 @@ export interface NetworkSupportable {
|
|
|
62
64
|
configure?(options: SocketNetworkOptions): void;
|
|
63
65
|
/** observe asynchronous network delivery errors */
|
|
64
66
|
onError(handler: SocketErrorHandler): SocketUnsubscribe;
|
|
65
|
-
/** close the network permanently */
|
|
66
|
-
close(): void;
|
|
67
|
+
/** close the network permanently (code/reason forwarded when the network owns the socket) */
|
|
68
|
+
close(code?: number, reason?: string): void;
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
71
|
* configurable network conditions for simulated sockets.
|