flashq 0.3.3 → 0.3.5

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 (47) hide show
  1. package/dist/client/connection.d.ts +114 -9
  2. package/dist/client/connection.d.ts.map +1 -1
  3. package/dist/client/connection.js +163 -64
  4. package/dist/client/connection.js.map +1 -1
  5. package/dist/client/methods/core.d.ts.map +1 -1
  6. package/dist/client/methods/core.js +20 -78
  7. package/dist/client/methods/core.js.map +1 -1
  8. package/dist/client/methods/jobs.d.ts.map +1 -1
  9. package/dist/client/methods/jobs.js +3 -2
  10. package/dist/client/methods/jobs.js.map +1 -1
  11. package/dist/client/reconnect.d.ts +100 -0
  12. package/dist/client/reconnect.d.ts.map +1 -0
  13. package/dist/client/reconnect.js +154 -0
  14. package/dist/client/reconnect.js.map +1 -0
  15. package/dist/client/tcp/handler.d.ts +106 -0
  16. package/dist/client/tcp/handler.d.ts.map +1 -0
  17. package/dist/client/tcp/handler.js +155 -0
  18. package/dist/client/tcp/handler.js.map +1 -0
  19. package/dist/client/tcp/index.d.ts +5 -0
  20. package/dist/client/tcp/index.d.ts.map +1 -0
  21. package/dist/client/tcp/index.js +14 -0
  22. package/dist/client/tcp/index.js.map +1 -0
  23. package/dist/client/validation.d.ts +120 -0
  24. package/dist/client/validation.d.ts.map +1 -0
  25. package/dist/client/validation.js +153 -0
  26. package/dist/client/validation.js.map +1 -0
  27. package/dist/constants.d.ts +67 -0
  28. package/dist/constants.d.ts.map +1 -0
  29. package/dist/constants.js +79 -0
  30. package/dist/constants.js.map +1 -0
  31. package/dist/index.d.ts +4 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +37 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/queue.d.ts +16 -1
  36. package/dist/queue.d.ts.map +1 -1
  37. package/dist/queue.js +3 -0
  38. package/dist/queue.js.map +1 -1
  39. package/dist/utils/retry.d.ts +1 -1
  40. package/dist/utils/retry.d.ts.map +1 -1
  41. package/dist/utils/retry.js +11 -10
  42. package/dist/utils/retry.js.map +1 -1
  43. package/dist/worker.d.ts +1 -1
  44. package/dist/worker.d.ts.map +1 -1
  45. package/dist/worker.js +29 -32
  46. package/dist/worker.js.map +1 -1
  47. package/package.json +1 -1
@@ -1,11 +1,9 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import type { ClientOptions } from '../types';
3
3
  import { Logger } from '../utils/logger';
4
- export declare const MAX_JOB_DATA_SIZE: number;
5
- export declare const MAX_BATCH_SIZE = 1000;
6
- export declare function validateQueueName(queue: string): void;
7
- export declare function validateJobDataSize(data: unknown): void;
8
- type ConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'closed';
4
+ import type { ConnectionState } from './reconnect';
5
+ export { MAX_JOB_DATA_SIZE, MAX_BATCH_SIZE, validateQueueName, validateJobDataSize, mapJobToPayload, } from './validation';
6
+ export type { JobPayload } from './validation';
9
7
  /** Client options with required fields except hooks */
10
8
  type ResolvedClientOptions = Required<Omit<ClientOptions, 'hooks'>> & {
11
9
  hooks?: ClientOptions['hooks'];
@@ -17,8 +15,7 @@ export declare class FlashQConnection extends EventEmitter {
17
15
  private connectionState;
18
16
  private authenticated;
19
17
  private pendingRequests;
20
- private bufferChunks;
21
- private bufferRemainder;
18
+ private jsonBuffer;
22
19
  private binaryBuffer;
23
20
  private reconnectAttempts;
24
21
  private reconnectTimer;
@@ -33,14 +30,62 @@ export declare class FlashQConnection extends EventEmitter {
33
30
  constructor(options?: ClientOptions);
34
31
  /** @deprecated Use logger.debug() instead */
35
32
  protected debug(message: string, data?: unknown): void;
36
- /** Call connection hook */
33
+ /**
34
+ * Invokes the connection hook if configured.
35
+ *
36
+ * Creates a ConnectionHookContext and calls the onConnection hook
37
+ * with the appropriate event type. Hook errors are caught and logged
38
+ * to prevent breaking the main flow.
39
+ *
40
+ * @param event - The connection event type
41
+ * @param error - Error object for error events
42
+ * @param attempt - Reconnection attempt number
43
+ */
37
44
  private callConnectionHook;
38
45
  get options(): ResolvedClientOptions;
39
46
  connect(): Promise<void>;
47
+ /**
48
+ * Schedules a reconnection attempt with exponential backoff.
49
+ *
50
+ * Calculates delay using: min(initialDelay * 2^attempt, maxDelay) + jitter
51
+ * Jitter is 0-30% of base delay to prevent thundering herd.
52
+ *
53
+ * Emits 'reconnecting' before attempt and 'reconnected' on success.
54
+ * On failure, recursively schedules next attempt until max reached.
55
+ */
40
56
  private scheduleReconnect;
57
+ /**
58
+ * Sets up event handlers on the TCP socket.
59
+ *
60
+ * Handlers:
61
+ * - 'data': Routes to JSON or binary buffer processor based on protocol
62
+ * - 'close': Triggers disconnect event and schedules reconnection
63
+ * - 'error': Emits error event and calls connection hook
64
+ */
41
65
  private setupSocketHandlers;
66
+ /**
67
+ * Processes the JSON text buffer to extract complete responses.
68
+ *
69
+ * Delegates to JsonBufferHandler for line extraction, then parses
70
+ * each complete line as JSON and passes to handleResponse.
71
+ */
42
72
  private processBuffer;
73
+ /**
74
+ * Processes the binary buffer to extract MessagePack frames.
75
+ *
76
+ * Delegates to BinaryBufferHandler for frame extraction and decoding,
77
+ * then passes each decoded object to handleResponse.
78
+ */
43
79
  private processBinaryBuffer;
80
+ /**
81
+ * Handles a parsed response from the server.
82
+ *
83
+ * Matches response.reqId to pending request, clears timeout,
84
+ * and resolves/rejects the promise. Server errors are parsed
85
+ * into typed FlashQError subclasses.
86
+ *
87
+ * @param response - Parsed response object with reqId
88
+ */
44
89
  private handleResponse;
45
90
  close(): Promise<void>;
46
91
  /** Get number of queued requests */
@@ -50,12 +95,72 @@ export declare class FlashQConnection extends EventEmitter {
50
95
  ping(): Promise<boolean>;
51
96
  auth(token: string): Promise<void>;
52
97
  send<T>(command: Record<string, unknown>, customTimeout?: number): Promise<T>;
98
+ /**
99
+ * Internal send implementation without retry wrapper.
100
+ *
101
+ * Routes to queueRequest if disconnecting with queue enabled,
102
+ * waits for reconnection if in progress, then delegates to
103
+ * sendTcp or sendHttp based on protocol configuration.
104
+ *
105
+ * @param command - Command object to send
106
+ * @param customTimeout - Optional timeout override
107
+ * @returns Promise resolving to response
108
+ */
53
109
  private doSend;
110
+ /**
111
+ * Waits for an in-progress reconnection to complete.
112
+ *
113
+ * Listens for 'reconnected' or 'reconnect_failed' events.
114
+ * Times out after options.timeout milliseconds.
115
+ *
116
+ * @returns Promise that resolves when reconnected
117
+ * @throws ConnectionError on timeout or reconnection failure
118
+ */
54
119
  private waitForReconnection;
120
+ /**
121
+ * Queues a request for later execution after reconnection.
122
+ *
123
+ * Used when queueOnDisconnect is enabled and connection is lost.
124
+ * Requests are stored and replayed in order when reconnected.
125
+ *
126
+ * @param command - Command to queue
127
+ * @param customTimeout - Optional timeout for when request is eventually sent
128
+ * @returns Promise that resolves when request completes after reconnection
129
+ * @throws ConnectionError if queue is full
130
+ */
55
131
  private queueRequest;
132
+ /**
133
+ * Processes all queued requests after successful reconnection.
134
+ *
135
+ * Sends each queued request in order, resolving or rejecting
136
+ * the original promises. Clears the queue before processing
137
+ * to handle any new requests that may be queued during replay.
138
+ */
56
139
  private processRequestQueue;
140
+ /**
141
+ * Sends a command over the TCP socket.
142
+ *
143
+ * Handles request ID generation, optional compression,
144
+ * timeout management, and protocol serialization (JSON or MessagePack).
145
+ *
146
+ * @param command - Command object to send
147
+ * @param customTimeout - Optional timeout override in milliseconds
148
+ * @returns Promise resolving to typed response
149
+ * @throws ConnectionError if not connected
150
+ * @throws TimeoutError if request times out
151
+ */
57
152
  private sendTcp;
153
+ /**
154
+ * Sends a command via HTTP REST API.
155
+ *
156
+ * Converts the command to appropriate HTTP method and URL,
157
+ * handles authentication headers, and parses the JSON response.
158
+ *
159
+ * @param command - Command object to convert to HTTP request
160
+ * @param customTimeout - Optional timeout override in milliseconds
161
+ * @returns Promise resolving to typed response
162
+ * @throws TimeoutError if request times out
163
+ */
58
164
  private sendHttp;
59
165
  }
60
- export {};
61
166
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAWxE,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAKxD,eAAO,MAAM,iBAAiB,QAAc,CAAC;AAC7C,eAAO,MAAM,cAAc,OAAO,CAAC;AAKnC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAUrD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAQvD;AAeD,KAAK,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;AAS/F,uDAAuD;AACvD,KAAK,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG;IACpE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAEjB;IACF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,GAAE,aAAkB;IA2DvC,6CAA6C;IAC7C,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAItD,2BAA2B;IAC3B,OAAO,CAAC,kBAAkB;IAiB1B,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE9B,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,cAAc;IAuBhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B,oCAAoC;IACpC,qBAAqB,IAAI,MAAM;IAI/B,WAAW,IAAI,OAAO;IAGtB,kBAAkB,IAAI,eAAe;IAI/B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;YAqBrE,MAAM;YAeN,mBAAmB;IAsBjC,OAAO,CAAC,YAAY;YAiBN,mBAAmB;YAenB,OAAO;YA6EP,QAAQ;CA0BvB"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAKxE,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAwBxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB/C,uDAAuD;AACvD,KAAK,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG;IACpE,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAEjB;IACF,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,GAAE,aAAkB;IA2DvC,6CAA6C;IAC7C,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAItD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAiB1B,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE9B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAqCzB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAuBhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B,oCAAoC;IACpC,qBAAqB,IAAI,MAAM;IAI/B,WAAW,IAAI,OAAO;IAGtB,kBAAkB,IAAI,eAAe;IAI/B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBnF;;;;;;;;;;OAUG;YACW,MAAM;IAepB;;;;;;;;OAQG;YACW,mBAAmB;IAsBjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;;;;OAMG;YACW,mBAAmB;IAejC;;;;;;;;;;;OAWG;YACW,OAAO;IA6ErB;;;;;;;;;;OAUG;YACW,QAAQ;CA0BvB"}
@@ -33,48 +33,46 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.FlashQConnection = exports.MAX_BATCH_SIZE = exports.MAX_JOB_DATA_SIZE = void 0;
37
- exports.validateQueueName = validateQueueName;
38
- exports.validateJobDataSize = validateJobDataSize;
36
+ exports.FlashQConnection = exports.mapJobToPayload = exports.validateJobDataSize = exports.validateQueueName = exports.MAX_BATCH_SIZE = exports.MAX_JOB_DATA_SIZE = void 0;
39
37
  /**
40
38
  * Connection management for FlashQ client.
39
+ *
40
+ * This module provides the core connection layer that handles:
41
+ * - TCP socket connections with auto-reconnect
42
+ * - HTTP fallback for environments without raw socket support
43
+ * - Binary (MessagePack) and JSON protocol support
44
+ * - Request queueing during disconnection
45
+ * - Compression for large payloads
46
+ *
47
+ * @module client/connection
41
48
  */
42
49
  const net = __importStar(require("net"));
43
50
  const zlib = __importStar(require("zlib"));
44
51
  const util_1 = require("util");
45
52
  const events_1 = require("events");
46
- const msgpack_1 = require("@msgpack/msgpack");
47
53
  const request_1 = require("./http/request");
48
54
  const response_1 = require("./http/response");
49
55
  const errors_1 = require("../errors");
50
56
  const retry_1 = require("../utils/retry");
51
57
  const logger_1 = require("../utils/logger");
52
58
  const hooks_1 = require("../hooks");
59
+ const msgpack_1 = require("@msgpack/msgpack");
60
+ const constants_1 = require("../constants");
61
+ const tcp_1 = require("./tcp");
62
+ // Re-export validation utilities for backward compatibility
63
+ var validation_1 = require("./validation");
64
+ Object.defineProperty(exports, "MAX_JOB_DATA_SIZE", { enumerable: true, get: function () { return validation_1.MAX_JOB_DATA_SIZE; } });
65
+ Object.defineProperty(exports, "MAX_BATCH_SIZE", { enumerable: true, get: function () { return validation_1.MAX_BATCH_SIZE; } });
66
+ Object.defineProperty(exports, "validateQueueName", { enumerable: true, get: function () { return validation_1.validateQueueName; } });
67
+ Object.defineProperty(exports, "validateJobDataSize", { enumerable: true, get: function () { return validation_1.validateJobDataSize; } });
68
+ Object.defineProperty(exports, "mapJobToPayload", { enumerable: true, get: function () { return validation_1.mapJobToPayload; } });
53
69
  const gzip = (0, util_1.promisify)(zlib.gzip);
54
- exports.MAX_JOB_DATA_SIZE = 1024 * 1024;
55
- exports.MAX_BATCH_SIZE = 1000;
56
- const QUEUE_NAME_REGEX = /^[a-zA-Z0-9_.-]{1,256}$/;
57
- let requestIdCounter = 0;
58
- const generateReqId = () => `r${++requestIdCounter}`;
59
- function validateQueueName(queue) {
60
- if (!queue || typeof queue !== 'string') {
61
- throw new errors_1.ValidationError('Queue name is required', 'queue');
62
- }
63
- if (!QUEUE_NAME_REGEX.test(queue)) {
64
- throw new errors_1.ValidationError(`Invalid queue name: "${queue}". Must be alphanumeric, _, -, . (1-256 chars)`, 'queue');
65
- }
66
- }
67
- function validateJobDataSize(data) {
68
- const size = JSON.stringify(data).length;
69
- if (size > exports.MAX_JOB_DATA_SIZE) {
70
- throw new errors_1.ValidationError(`Job data size (${size} bytes) exceeds max (${exports.MAX_JOB_DATA_SIZE} bytes)`, 'data');
71
- }
72
- }
70
+ /** Default retry configuration */
73
71
  const DEFAULT_RETRY_CONFIG = {
74
72
  enabled: false,
75
- maxRetries: 3,
76
- initialDelay: 100,
77
- maxDelay: 5000,
73
+ maxRetries: constants_1.DEFAULT_RETRY_MAX_ATTEMPTS,
74
+ initialDelay: constants_1.DEFAULT_RETRY_INITIAL_DELAY,
75
+ maxDelay: constants_1.DEFAULT_RETRY_MAX_DELAY,
78
76
  };
79
77
  class FlashQConnection extends events_1.EventEmitter {
80
78
  _options;
@@ -83,9 +81,8 @@ class FlashQConnection extends events_1.EventEmitter {
83
81
  connectionState = 'disconnected';
84
82
  authenticated = false;
85
83
  pendingRequests = new Map();
86
- bufferChunks = [];
87
- bufferRemainder = '';
88
- binaryBuffer = Buffer.alloc(0);
84
+ jsonBuffer = new tcp_1.JsonBufferHandler();
85
+ binaryBuffer = new tcp_1.BinaryBufferHandler();
89
86
  reconnectAttempts = 0;
90
87
  reconnectTimer = null;
91
88
  manualClose = false;
@@ -105,26 +102,26 @@ class FlashQConnection extends events_1.EventEmitter {
105
102
  prefix: 'flashQ',
106
103
  });
107
104
  this._options = {
108
- host: options.host ?? 'localhost',
109
- port: options.port ?? 6789,
110
- httpPort: options.httpPort ?? 6790,
105
+ host: options.host ?? constants_1.DEFAULT_HOST,
106
+ port: options.port ?? constants_1.DEFAULT_TCP_PORT,
107
+ httpPort: options.httpPort ?? constants_1.DEFAULT_HTTP_PORT,
111
108
  socketPath: options.socketPath ?? '',
112
109
  token: options.token ?? '',
113
- timeout: options.timeout ?? 5000,
110
+ timeout: options.timeout ?? constants_1.DEFAULT_CONNECTION_TIMEOUT,
114
111
  useHttp: options.useHttp ?? false,
115
112
  useBinary: options.useBinary ?? false,
116
113
  autoReconnect: options.autoReconnect ?? true,
117
- maxReconnectAttempts: options.maxReconnectAttempts ?? 10,
118
- reconnectDelay: options.reconnectDelay ?? 1000,
119
- maxReconnectDelay: options.maxReconnectDelay ?? 30000,
114
+ maxReconnectAttempts: options.maxReconnectAttempts ?? constants_1.DEFAULT_MAX_RECONNECT_ATTEMPTS,
115
+ reconnectDelay: options.reconnectDelay ?? constants_1.DEFAULT_RECONNECT_DELAY,
116
+ maxReconnectDelay: options.maxReconnectDelay ?? constants_1.DEFAULT_MAX_RECONNECT_DELAY,
120
117
  debug: options.debug ?? false,
121
118
  logLevel: logLevel,
122
119
  retry: options.retry ?? false,
123
120
  queueOnDisconnect: options.queueOnDisconnect ?? false,
124
- maxQueuedRequests: options.maxQueuedRequests ?? 100,
121
+ maxQueuedRequests: options.maxQueuedRequests ?? constants_1.DEFAULT_MAX_QUEUED_REQUESTS,
125
122
  trackRequestIds: options.trackRequestIds ?? false,
126
123
  compression: options.compression ?? false,
127
- compressionThreshold: options.compressionThreshold ?? 1024,
124
+ compressionThreshold: options.compressionThreshold ?? constants_1.DEFAULT_COMPRESSION_THRESHOLD,
128
125
  hooks: options.hooks,
129
126
  };
130
127
  // Parse retry config
@@ -155,7 +152,17 @@ class FlashQConnection extends events_1.EventEmitter {
155
152
  debug(message, data) {
156
153
  this.logger.debug(message, data);
157
154
  }
158
- /** Call connection hook */
155
+ /**
156
+ * Invokes the connection hook if configured.
157
+ *
158
+ * Creates a ConnectionHookContext and calls the onConnection hook
159
+ * with the appropriate event type. Hook errors are caught and logged
160
+ * to prevent breaking the main flow.
161
+ *
162
+ * @param event - The connection event type
163
+ * @param error - Error object for error events
164
+ * @param attempt - Reconnection attempt number
165
+ */
159
166
  callConnectionHook(event, error, attempt) {
160
167
  const hooks = this._options.hooks;
161
168
  if (!hooks?.onConnection)
@@ -236,6 +243,15 @@ class FlashQConnection extends events_1.EventEmitter {
236
243
  });
237
244
  });
238
245
  }
246
+ /**
247
+ * Schedules a reconnection attempt with exponential backoff.
248
+ *
249
+ * Calculates delay using: min(initialDelay * 2^attempt, maxDelay) + jitter
250
+ * Jitter is 0-30% of base delay to prevent thundering herd.
251
+ *
252
+ * Emits 'reconnecting' before attempt and 'reconnected' on success.
253
+ * On failure, recursively schedules next attempt until max reached.
254
+ */
239
255
  scheduleReconnect() {
240
256
  if (this.manualClose || !this._options.autoReconnect)
241
257
  return;
@@ -247,7 +263,7 @@ class FlashQConnection extends events_1.EventEmitter {
247
263
  this.connectionState = 'reconnecting';
248
264
  this.reconnectAttempts++;
249
265
  const baseDelay = Math.min(this._options.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1), this._options.maxReconnectDelay);
250
- const delay = baseDelay + Math.random() * 0.3 * baseDelay;
266
+ const delay = baseDelay + Math.random() * constants_1.RECONNECT_JITTER_FACTOR * baseDelay;
251
267
  this.emit('reconnecting', { attempt: this.reconnectAttempts, delay });
252
268
  this.callConnectionHook('reconnecting', undefined, this.reconnectAttempts);
253
269
  this.reconnectTimer = setTimeout(async () => {
@@ -266,16 +282,24 @@ class FlashQConnection extends events_1.EventEmitter {
266
282
  }
267
283
  }, delay);
268
284
  }
285
+ /**
286
+ * Sets up event handlers on the TCP socket.
287
+ *
288
+ * Handlers:
289
+ * - 'data': Routes to JSON or binary buffer processor based on protocol
290
+ * - 'close': Triggers disconnect event and schedules reconnection
291
+ * - 'error': Emits error event and calls connection hook
292
+ */
269
293
  setupSocketHandlers() {
270
294
  if (!this.socket)
271
295
  return;
272
296
  this.socket.on('data', (data) => {
273
297
  if (this._options.useBinary) {
274
- this.binaryBuffer = Buffer.concat([this.binaryBuffer, data]);
298
+ this.binaryBuffer.append(data);
275
299
  this.processBinaryBuffer();
276
300
  }
277
301
  else {
278
- this.bufferChunks.push(data.toString());
302
+ this.jsonBuffer.append(data);
279
303
  this.processBuffer();
280
304
  }
281
305
  });
@@ -294,15 +318,15 @@ class FlashQConnection extends events_1.EventEmitter {
294
318
  this.callConnectionHook('error', err);
295
319
  });
296
320
  }
321
+ /**
322
+ * Processes the JSON text buffer to extract complete responses.
323
+ *
324
+ * Delegates to JsonBufferHandler for line extraction, then parses
325
+ * each complete line as JSON and passes to handleResponse.
326
+ */
297
327
  processBuffer() {
298
- // Join chunks only when processing (more efficient than += on each chunk)
299
- const fullBuffer = this.bufferRemainder + this.bufferChunks.join('');
300
- this.bufferChunks.length = 0; // Clear array without reallocating
301
- const lines = fullBuffer.split('\n');
302
- this.bufferRemainder = lines.pop() ?? '';
328
+ const lines = this.jsonBuffer.extractLines();
303
329
  for (const line of lines) {
304
- if (!line.trim())
305
- continue;
306
330
  try {
307
331
  this.handleResponse(JSON.parse(line));
308
332
  }
@@ -315,24 +339,35 @@ class FlashQConnection extends events_1.EventEmitter {
315
339
  }
316
340
  }
317
341
  }
342
+ /**
343
+ * Processes the binary buffer to extract MessagePack frames.
344
+ *
345
+ * Delegates to BinaryBufferHandler for frame extraction and decoding,
346
+ * then passes each decoded object to handleResponse.
347
+ */
318
348
  processBinaryBuffer() {
319
- while (this.binaryBuffer.length >= 4) {
320
- const len = this.binaryBuffer.readUInt32BE(0);
321
- if (this.binaryBuffer.length < 4 + len)
322
- break;
323
- const frameData = this.binaryBuffer.subarray(4, 4 + len);
324
- this.binaryBuffer = this.binaryBuffer.subarray(4 + len);
325
- try {
326
- this.handleResponse((0, msgpack_1.decode)(frameData));
327
- }
328
- catch (err) {
329
- this.debug('Failed to decode binary response', {
330
- error: err instanceof Error ? err.message : err,
331
- });
332
- this.emit('parse_error', err, frameData);
349
+ try {
350
+ const frames = this.binaryBuffer.extractFrames();
351
+ for (const frame of frames) {
352
+ this.handleResponse(frame);
333
353
  }
334
354
  }
355
+ catch (err) {
356
+ this.debug('Failed to decode binary response', {
357
+ error: err instanceof Error ? err.message : err,
358
+ });
359
+ this.emit('parse_error', err);
360
+ }
335
361
  }
362
+ /**
363
+ * Handles a parsed response from the server.
364
+ *
365
+ * Matches response.reqId to pending request, clears timeout,
366
+ * and resolves/rejects the promise. Server errors are parsed
367
+ * into typed FlashQError subclasses.
368
+ *
369
+ * @param response - Parsed response object with reqId
370
+ */
336
371
  handleResponse(response) {
337
372
  if (!response.reqId) {
338
373
  this.logger.warn('Received response without reqId', response);
@@ -372,6 +407,9 @@ class FlashQConnection extends events_1.EventEmitter {
372
407
  req.reject(new errors_1.ConnectionError('Connection closed', 'CONNECTION_CLOSED'));
373
408
  }
374
409
  this.requestQueue = [];
410
+ // Reset buffers
411
+ this.jsonBuffer.reset();
412
+ this.binaryBuffer.reset();
375
413
  if (this.socket) {
376
414
  this.socket.destroy();
377
415
  this.socket = null;
@@ -423,6 +461,17 @@ class FlashQConnection extends events_1.EventEmitter {
423
461
  }
424
462
  return this.doSend(command, customTimeout);
425
463
  }
464
+ /**
465
+ * Internal send implementation without retry wrapper.
466
+ *
467
+ * Routes to queueRequest if disconnecting with queue enabled,
468
+ * waits for reconnection if in progress, then delegates to
469
+ * sendTcp or sendHttp based on protocol configuration.
470
+ *
471
+ * @param command - Command object to send
472
+ * @param customTimeout - Optional timeout override
473
+ * @returns Promise resolving to response
474
+ */
426
475
  async doSend(command, customTimeout) {
427
476
  // Queue request if disconnected and queueOnDisconnect is enabled
428
477
  if (this.queueOnDisconnect && this.connectionState === 'reconnecting') {
@@ -437,6 +486,15 @@ class FlashQConnection extends events_1.EventEmitter {
437
486
  ? this.sendHttp(command, customTimeout)
438
487
  : this.sendTcp(command, customTimeout);
439
488
  }
489
+ /**
490
+ * Waits for an in-progress reconnection to complete.
491
+ *
492
+ * Listens for 'reconnected' or 'reconnect_failed' events.
493
+ * Times out after options.timeout milliseconds.
494
+ *
495
+ * @returns Promise that resolves when reconnected
496
+ * @throws ConnectionError on timeout or reconnection failure
497
+ */
440
498
  async waitForReconnection() {
441
499
  return new Promise((resolve, reject) => {
442
500
  const timeout = setTimeout(() => {
@@ -458,6 +516,17 @@ class FlashQConnection extends events_1.EventEmitter {
458
516
  this.once('reconnect_failed', onFailed);
459
517
  });
460
518
  }
519
+ /**
520
+ * Queues a request for later execution after reconnection.
521
+ *
522
+ * Used when queueOnDisconnect is enabled and connection is lost.
523
+ * Requests are stored and replayed in order when reconnected.
524
+ *
525
+ * @param command - Command to queue
526
+ * @param customTimeout - Optional timeout for when request is eventually sent
527
+ * @returns Promise that resolves when request completes after reconnection
528
+ * @throws ConnectionError if queue is full
529
+ */
461
530
  queueRequest(command, customTimeout) {
462
531
  if (this.requestQueue.length >= this.maxQueuedRequests) {
463
532
  return Promise.reject(new errors_1.ConnectionError(`Request queue full (max: ${this.maxQueuedRequests})`, 'QUEUE_FULL'));
@@ -472,6 +541,13 @@ class FlashQConnection extends events_1.EventEmitter {
472
541
  });
473
542
  });
474
543
  }
544
+ /**
545
+ * Processes all queued requests after successful reconnection.
546
+ *
547
+ * Sends each queued request in order, resolving or rejecting
548
+ * the original promises. Clears the queue before processing
549
+ * to handle any new requests that may be queued during replay.
550
+ */
475
551
  async processRequestQueue() {
476
552
  if (this.requestQueue.length === 0)
477
553
  return;
@@ -488,11 +564,23 @@ class FlashQConnection extends events_1.EventEmitter {
488
564
  }
489
565
  }
490
566
  }
567
+ /**
568
+ * Sends a command over the TCP socket.
569
+ *
570
+ * Handles request ID generation, optional compression,
571
+ * timeout management, and protocol serialization (JSON or MessagePack).
572
+ *
573
+ * @param command - Command object to send
574
+ * @param customTimeout - Optional timeout override in milliseconds
575
+ * @returns Promise resolving to typed response
576
+ * @throws ConnectionError if not connected
577
+ * @throws TimeoutError if request times out
578
+ */
491
579
  async sendTcp(command, customTimeout) {
492
580
  if (!this.socket || this.connectionState !== 'connected') {
493
581
  throw new errors_1.ConnectionError('Not connected', 'NOT_CONNECTED');
494
582
  }
495
- const reqId = generateReqId();
583
+ const reqId = (0, tcp_1.generateRequestId)();
496
584
  const timeoutMs = customTimeout ?? this._options.timeout;
497
585
  // Set request ID for logger correlation if tracking is enabled
498
586
  if (this.trackRequestIds) {
@@ -560,6 +648,17 @@ class FlashQConnection extends events_1.EventEmitter {
560
648
  this.logger.trace('Command sent', { reqId });
561
649
  });
562
650
  }
651
+ /**
652
+ * Sends a command via HTTP REST API.
653
+ *
654
+ * Converts the command to appropriate HTTP method and URL,
655
+ * handles authentication headers, and parses the JSON response.
656
+ *
657
+ * @param command - Command object to convert to HTTP request
658
+ * @param customTimeout - Optional timeout override in milliseconds
659
+ * @returns Promise resolving to typed response
660
+ * @throws TimeoutError if request times out
661
+ */
563
662
  async sendHttp(command, customTimeout) {
564
663
  const { cmd, ...params } = command;
565
664
  const baseUrl = `http://${this._options.host}:${this._options.httpPort}`;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/client/connection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/client/methods/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAGL,cAAc,EACd,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,GAAG,CAAC,CA6Dd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CAsCnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC,GACrC,OAAO,CAAC,eAAe,CAAC,CA+F1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,GAAG,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAarC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAkBnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAUvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9F"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/client/methods/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAIL,cAAc,EACd,iBAAiB,EAClB,MAAM,eAAe,CAAC;AASvB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,GAAG,CAAC,CA4Cd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC,GACrC,OAAO,CAAC,eAAe,CAAC,CA0E1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,GAAG,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAarC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAqBnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAavF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9F"}