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.
Files changed (45) hide show
  1. package/README.md +20 -2
  2. package/dist/buffer/index.d.ts +9 -0
  3. package/dist/buffer/index.js +26 -0
  4. package/dist/buffer/index.js.map +1 -0
  5. package/dist/buffer/network.d.ts +89 -0
  6. package/dist/buffer/network.js +172 -0
  7. package/dist/buffer/network.js.map +1 -0
  8. package/dist/buffer/stream.d.ts +220 -0
  9. package/dist/buffer/stream.js +563 -0
  10. package/dist/buffer/stream.js.map +1 -0
  11. package/dist/buffer/testing.d.ts +56 -0
  12. package/dist/buffer/testing.js +92 -0
  13. package/dist/buffer/testing.js.map +1 -0
  14. package/dist/buffer/token.d.ts +49 -0
  15. package/dist/buffer/token.js +112 -0
  16. package/dist/buffer/token.js.map +1 -0
  17. package/dist/esm/buffer/index.js +10 -0
  18. package/dist/esm/buffer/index.js.map +1 -0
  19. package/dist/esm/buffer/network.js +163 -0
  20. package/dist/esm/buffer/network.js.map +1 -0
  21. package/dist/esm/buffer/stream.js +554 -0
  22. package/dist/esm/buffer/stream.js.map +1 -0
  23. package/dist/esm/buffer/testing.js +88 -0
  24. package/dist/esm/buffer/testing.js.map +1 -0
  25. package/dist/esm/buffer/token.js +108 -0
  26. package/dist/esm/buffer/token.js.map +1 -0
  27. package/dist/esm/genai/mocks.js +1 -1
  28. package/dist/esm/genai/transport.js +3 -34
  29. package/dist/esm/genai/transport.js.map +1 -1
  30. package/dist/esm/index.js +1 -0
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/socket/websocket.js +212 -0
  33. package/dist/esm/socket/websocket.js.map +1 -1
  34. package/dist/genai/mocks.d.ts +1 -1
  35. package/dist/genai/mocks.js +1 -1
  36. package/dist/genai/transport.js +3 -34
  37. package/dist/genai/transport.js.map +1 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/socket/types.d.ts +5 -3
  42. package/dist/socket/websocket.d.ts +63 -0
  43. package/dist/socket/websocket.js +216 -1
  44. package/dist/socket/websocket.js.map +1 -1
  45. package/package.json +7 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/buffer/testing.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -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
- * that `eureka-agents-api`'s `AgentAPIController.doPostGenerate()` provides.
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(new TransportPacketNetwork(network), options.jsonTransport);
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
- /** network wrapper that lets JSONTransport see only transport packet strings */
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":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/genai/transport.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -12,4 +12,5 @@ export * from './types/index.js';
12
12
  export * from './cores/index.js';
13
13
  export * from './socket/index.js';
14
14
  export * from './genai/index.js';
15
+ export * from './buffer/index.js';
15
16
  //# sourceMappingURL=index.js.map
@@ -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":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/socket/websocket.ts"],"names":[],"mappings":"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"}
@@ -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
- * that `eureka-agents-api`'s `AgentAPIController.doPostGenerate()` provides.
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.
@@ -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
- * that `eureka-agents-api`'s `AgentAPIController.doPostGenerate()` provides.
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.
@@ -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)(new TransportPacketNetwork(network), options.jsonTransport);
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
- /** network wrapper that lets JSONTransport see only transport packet strings */
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;AAyBrG,+EAA+E;AAC/E,MAAa,0BAA0B;IAInC,YACqB,OAA2B,EAC3B,UAA4C,EAAE;QAD9C,YAAO,GAAP,OAAO,CAAoB;QAC3B,YAAO,GAAP,OAAO,CAAuC;QAE/D,IAAI,CAAC,SAAS,GAAG,IAAA,+BAAmB,EAAI,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACpG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACU,IAAI,CAAC,WAAmB,EAAE,IAA4B;;YAC/D,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,WAAW,GAAG,CAAC,CAAC;YACrG,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;gBAC/C,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,mCAAI,KAAM,CAAC;gBACnD,MAAM,KAAK,GACP,SAAS,GAAG,CAAC;oBACT,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;wBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,WAAW,6BAA6B,CAAC,CAAC,CAAC;oBACnF,CAAC,EAAE,SAAS,CAAC;oBACf,CAAC,CAAC,SAAS,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,IAAI;gBACA,MAAM,IAAI,EAAE,CAAC;aAChB;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClB;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAED,oDAAoD;IAC7C,MAAM;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAEO,OAAO,CAAC,IAAO;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK;YAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,MAAM,CAAC,KAAU;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK;YAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACJ;AAhED,gEAgEC;AAED,sFAAsF;AAC/E,MAAM,4BAA4B,GAAG,CACxC,OAA2B,EAC3B,OAA0C,EACb,EAAE,CAAC,IAAI,0BAA0B,CAAI,OAAO,EAAE,OAAO,CAAC,CAAC;AAH3E,QAAA,4BAA4B,gCAG+C;AAExF,gFAAgF;AAChF,MAAM,sBAAsB;IACxB,YAAoC,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAElE,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK;;QACR,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,EAAC,KAAK,kDAAI,mCAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IAEM,IAAI,CAAC,IAAY;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,OAA8B;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,SAAS,CAAC,OAA6B;;QAC1C,MAAA,MAAA,IAAI,CAAC,MAAM,EAAC,SAAS,mDAAG,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,OAAO,CAAC,OAA2B;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACJ;AAED,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAW,EAAE;IACtD,IAAI;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiC,CAAC;QAChE,OAAO,CACH,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,eAAe;YAChC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,YAAY;YAC7B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,eAAe;YAChC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,YAAY,CAChC,CAAC;KACL;IAAC,WAAM;QACJ,OAAO,KAAK,CAAC;KAChB;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/genai/transport.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,3 +12,4 @@ export * from './types';
12
12
  export * from './cores';
13
13
  export * from './socket';
14
14
  export * from './genai';
15
+ export * from './buffer';
package/dist/index.js CHANGED
@@ -28,4 +28,5 @@ __exportStar(require("./types"), exports);
28
28
  __exportStar(require("./cores"), exports);
29
29
  __exportStar(require("./socket"), exports);
30
30
  __exportStar(require("./genai"), exports);
31
+ __exportStar(require("./buffer"), exports);
31
32
  //# sourceMappingURL=index.js.map
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"}
@@ -52,8 +52,10 @@ export interface NetworkMessageHandler {
52
52
  export interface NetworkSupportable {
53
53
  /** network state */
54
54
  readonly readyState: SocketReadyState;
55
- /** wait until this network is ready for send/onMessage usage */
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.