flashq 0.3.4 → 0.3.6

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 (51) hide show
  1. package/dist/client/connection.d.ts +3 -1
  2. package/dist/client/connection.d.ts.map +1 -1
  3. package/dist/client/connection.js +18 -15
  4. package/dist/client/connection.js.map +1 -1
  5. package/dist/client/index.d.ts +2 -0
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +4 -0
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/client/methods/core.d.ts.map +1 -1
  10. package/dist/client/methods/core.js +22 -79
  11. package/dist/client/methods/core.js.map +1 -1
  12. package/dist/client/methods/jobs.d.ts +18 -0
  13. package/dist/client/methods/jobs.d.ts.map +1 -1
  14. package/dist/client/methods/jobs.js +29 -2
  15. package/dist/client/methods/jobs.js.map +1 -1
  16. package/dist/client/reconnect.d.ts.map +1 -1
  17. package/dist/client/reconnect.js +4 -1
  18. package/dist/client/reconnect.js.map +1 -1
  19. package/dist/client/tcp/handler.d.ts +44 -4
  20. package/dist/client/tcp/handler.d.ts.map +1 -1
  21. package/dist/client/tcp/handler.js +76 -10
  22. package/dist/client/tcp/handler.js.map +1 -1
  23. package/dist/client/tcp/index.d.ts +1 -1
  24. package/dist/client/tcp/index.d.ts.map +1 -1
  25. package/dist/client/tcp/index.js +2 -1
  26. package/dist/client/tcp/index.js.map +1 -1
  27. package/dist/client/validation.d.ts +43 -0
  28. package/dist/client/validation.d.ts.map +1 -1
  29. package/dist/client/validation.js +43 -2
  30. package/dist/client/validation.js.map +1 -1
  31. package/dist/constants.d.ts +67 -0
  32. package/dist/constants.d.ts.map +1 -0
  33. package/dist/constants.js +79 -0
  34. package/dist/constants.js.map +1 -0
  35. package/dist/index.d.ts +5 -3
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +37 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/queue.d.ts +16 -1
  40. package/dist/queue.d.ts.map +1 -1
  41. package/dist/queue.js +3 -0
  42. package/dist/queue.js.map +1 -1
  43. package/dist/utils/retry.d.ts +1 -1
  44. package/dist/utils/retry.d.ts.map +1 -1
  45. package/dist/utils/retry.js +11 -10
  46. package/dist/utils/retry.js.map +1 -1
  47. package/dist/worker.d.ts +54 -3
  48. package/dist/worker.d.ts.map +1 -1
  49. package/dist/worker.js +40 -32
  50. package/dist/worker.js.map +1 -1
  51. package/package.json +1 -1
@@ -12,6 +12,8 @@ exports.getProgress = getProgress;
12
12
  exports.log = log;
13
13
  exports.getLogs = getLogs;
14
14
  exports.heartbeat = heartbeat;
15
+ exports.partial = partial;
16
+ const constants_1 = require("../../constants");
15
17
  /**
16
18
  * Get a job with its current state.
17
19
  *
@@ -93,8 +95,8 @@ async function getResult(client, jobId) {
93
95
  * ```
94
96
  */
95
97
  async function finished(client, jobId, timeout) {
96
- const waitTimeout = timeout ?? 30000;
97
- const requestTimeout = waitTimeout + 5000;
98
+ const waitTimeout = timeout ?? constants_1.DEFAULT_FINISHED_TIMEOUT;
99
+ const requestTimeout = waitTimeout + constants_1.CLIENT_TIMEOUT_BUFFER;
98
100
  const response = await client.send({
99
101
  cmd: 'WAITJOB',
100
102
  id: jobId,
@@ -259,4 +261,29 @@ async function heartbeat(client, jobId) {
259
261
  job_id: jobId,
260
262
  });
261
263
  }
264
+ /**
265
+ * Send a partial result for streaming jobs.
266
+ * Emits a "partial" event that can be subscribed via SSE/WebSocket.
267
+ *
268
+ * @param client - FlashQ client instance
269
+ * @param jobId - Job ID (must be in processing)
270
+ * @param data - Partial result data
271
+ * @param index - Optional chunk index for ordering
272
+ *
273
+ * @example
274
+ * ```typescript
275
+ * // LLM token streaming
276
+ * for await (const token of llm.generate(prompt)) {
277
+ * await client.partial(job.id, { token });
278
+ * }
279
+ * ```
280
+ */
281
+ async function partial(client, jobId, data, index) {
282
+ await client.send({
283
+ cmd: 'PARTIAL',
284
+ id: jobId,
285
+ data,
286
+ index,
287
+ });
288
+ }
262
289
  //# sourceMappingURL=jobs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/client/methods/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/client/methods/jobs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reconnect.d.ts","sourceRoot":"","sources":["../../src/client/reconnect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,sCAAsC;AACtC,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,YAAY,GACZ,WAAW,GACX,cAAc,GACd,QAAQ,CAAC;AAEb,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB;IASzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAK;IACrB,8CAA8C;IAC9C,OAAO,CAAC,KAAK,CAA8C;IAC3D,yCAAyC;IACzC,OAAO,CAAC,SAAS,CAAS;gBAGP,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY;IAGxC;;;;;;;;OAQG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IASvC;;;;OAIG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAgC9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzF"}
1
+ {"version":3,"file":"reconnect.d.ts","sourceRoot":"","sources":["../../src/client/reconnect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,sCAAsC;AACtC,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,YAAY,GACZ,WAAW,GACX,cAAc,GACd,QAAQ,CAAC;AAEb,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB;IASzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAK;IACrB,8CAA8C;IAC9C,OAAO,CAAC,KAAK,CAA8C;IAC3D,yCAAyC;IACzC,OAAO,CAAC,SAAS,CAAS;gBAGP,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY;IAGxC;;;;;;;;OAQG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IASvC;;;;OAIG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAmC9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzF"}
@@ -79,7 +79,10 @@ class ReconnectManager {
79
79
  }
80
80
  this.attempts++;
81
81
  const delay = this.calculateDelay(this.attempts);
82
- this.logger.info('Scheduling reconnection', { attempt: this.attempts, delay: Math.round(delay) });
82
+ this.logger.info('Scheduling reconnection', {
83
+ attempt: this.attempts,
84
+ delay: Math.round(delay),
85
+ });
83
86
  this.emitter.emit('reconnecting', { attempt: this.attempts, delay });
84
87
  this.timer = setTimeout(async () => {
85
88
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../src/client/reconnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../src/client/reconnect.ts"],"names":[],"mappings":"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"}
@@ -51,16 +51,31 @@ export declare class JsonBufferHandler {
51
51
  *
52
52
  * Each message is framed with a 4-byte big-endian length prefix
53
53
  * followed by the MessagePack-encoded payload.
54
+ *
55
+ * Uses chunked accumulation for O(n) performance instead of
56
+ * O(n²) from Buffer.concat on every append.
54
57
  */
55
58
  export declare class BinaryBufferHandler {
56
- /** Accumulated binary data */
59
+ /** Accumulated binary chunks waiting to be joined */
60
+ private chunks;
61
+ /** Total length of all chunks */
62
+ private totalLength;
63
+ /** Consolidated buffer for frame extraction */
57
64
  private buffer;
58
65
  /**
59
66
  * Appends new data to the buffer.
60
67
  *
68
+ * Chunks are accumulated and only consolidated when extracting frames,
69
+ * avoiding O(n²) performance from repeated Buffer.concat calls.
70
+ *
61
71
  * @param data - Raw data from socket
62
72
  */
63
73
  append(data: Buffer): void;
74
+ /**
75
+ * Consolidates accumulated chunks into a single buffer.
76
+ * Only called when extracting frames.
77
+ */
78
+ private consolidate;
64
79
  /**
65
80
  * Extracts all complete frames from the buffer.
66
81
  *
@@ -91,16 +106,41 @@ export declare function encodeCommand(command: Record<string, unknown>, reqId: s
91
106
  */
92
107
  export declare function parseJsonResponse(line: string): Record<string, unknown> | null;
93
108
  /**
94
- * Generates a unique request ID.
109
+ * Generates unique request IDs for a client instance.
95
110
  *
96
- * Format: "r{incrementing number}"
111
+ * Each instance has its own counter to avoid conflicts in multi-client scenarios.
112
+ * Includes a unique prefix based on timestamp and random value for global uniqueness.
113
+ */
114
+ export declare class RequestIdGenerator {
115
+ private counter;
116
+ private readonly prefix;
117
+ constructor();
118
+ /**
119
+ * Generates a unique request ID.
120
+ *
121
+ * Format: "{prefix}-{incrementing number}"
122
+ *
123
+ * @returns Unique request ID string
124
+ */
125
+ generate(): string;
126
+ /**
127
+ * Resets the counter.
128
+ * Primarily used for testing.
129
+ */
130
+ reset(): void;
131
+ }
132
+ /**
133
+ * Generates a unique request ID using the default generator.
97
134
  *
135
+ * @deprecated Use RequestIdGenerator instance for multi-client scenarios
98
136
  * @returns Unique request ID string
99
137
  */
100
138
  export declare function generateRequestId(): string;
101
139
  /**
102
- * Resets the request ID counter.
140
+ * Resets the default request ID counter.
103
141
  * Primarily used for testing.
142
+ *
143
+ * @deprecated Use RequestIdGenerator instance for multi-client scenarios
104
144
  */
105
145
  export declare function resetRequestIdCounter(): void;
106
146
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,4BAA4B;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAgB;IAC9B,uCAAuC;IACvC,OAAO,CAAC,SAAS,CAAM;IAEvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInC;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM,EAAE;IAWxB;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,8BAA8B;IAC9B,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI1B;;;;;;OAMG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAgB1C;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAM9E;AAKD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,4BAA4B;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAgB;IAC9B,uCAAuC;IACvC,OAAO,CAAC,SAAS,CAAM;IAEvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInC;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM,EAAE;IAWxB;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAgB;IAC9B,iCAAiC;IACjC,OAAO,CAAC,WAAW,CAAK;IACxB,+CAA+C;IAC/C,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B;;;OAGG;IACH,OAAO,CAAC,WAAW;IAgBnB;;;;;;OAMG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAkB1C;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAM9E;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;IAOhC;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd;AAKD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -6,7 +6,7 @@
6
6
  * for both JSON (newline-delimited) and binary (MessagePack) protocols.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BinaryBufferHandler = exports.JsonBufferHandler = void 0;
9
+ exports.RequestIdGenerator = exports.BinaryBufferHandler = exports.JsonBufferHandler = void 0;
10
10
  exports.encodeCommand = encodeCommand;
11
11
  exports.parseJsonResponse = parseJsonResponse;
12
12
  exports.generateRequestId = generateRequestId;
@@ -61,17 +61,47 @@ exports.JsonBufferHandler = JsonBufferHandler;
61
61
  *
62
62
  * Each message is framed with a 4-byte big-endian length prefix
63
63
  * followed by the MessagePack-encoded payload.
64
+ *
65
+ * Uses chunked accumulation for O(n) performance instead of
66
+ * O(n²) from Buffer.concat on every append.
64
67
  */
65
68
  class BinaryBufferHandler {
66
- /** Accumulated binary data */
69
+ /** Accumulated binary chunks waiting to be joined */
70
+ chunks = [];
71
+ /** Total length of all chunks */
72
+ totalLength = 0;
73
+ /** Consolidated buffer for frame extraction */
67
74
  buffer = Buffer.alloc(0);
68
75
  /**
69
76
  * Appends new data to the buffer.
70
77
  *
78
+ * Chunks are accumulated and only consolidated when extracting frames,
79
+ * avoiding O(n²) performance from repeated Buffer.concat calls.
80
+ *
71
81
  * @param data - Raw data from socket
72
82
  */
73
83
  append(data) {
74
- this.buffer = Buffer.concat([this.buffer, data]);
84
+ this.chunks.push(data);
85
+ this.totalLength += data.length;
86
+ }
87
+ /**
88
+ * Consolidates accumulated chunks into a single buffer.
89
+ * Only called when extracting frames.
90
+ */
91
+ consolidate() {
92
+ if (this.chunks.length === 0)
93
+ return;
94
+ // Concat all chunks at once (single allocation)
95
+ const newData = Buffer.concat(this.chunks, this.totalLength);
96
+ this.chunks.length = 0;
97
+ this.totalLength = 0;
98
+ // Append to existing buffer if any remainder exists
99
+ if (this.buffer.length > 0) {
100
+ this.buffer = Buffer.concat([this.buffer, newData]);
101
+ }
102
+ else {
103
+ this.buffer = newData;
104
+ }
75
105
  }
76
106
  /**
77
107
  * Extracts all complete frames from the buffer.
@@ -81,6 +111,7 @@ class BinaryBufferHandler {
81
111
  * @returns Array of decoded message objects
82
112
  */
83
113
  extractFrames() {
114
+ this.consolidate();
84
115
  const frames = [];
85
116
  while (this.buffer.length >= 4) {
86
117
  const len = this.buffer.readUInt32BE(0);
@@ -96,6 +127,8 @@ class BinaryBufferHandler {
96
127
  * Resets the buffer state.
97
128
  */
98
129
  reset() {
130
+ this.chunks.length = 0;
131
+ this.totalLength = 0;
99
132
  this.buffer = Buffer.alloc(0);
100
133
  }
101
134
  }
@@ -133,23 +166,56 @@ function parseJsonResponse(line) {
133
166
  return null;
134
167
  }
135
168
  }
136
- /** Counter for generating unique request IDs */
137
- let requestIdCounter = 0;
138
169
  /**
139
- * Generates a unique request ID.
170
+ * Generates unique request IDs for a client instance.
140
171
  *
141
- * Format: "r{incrementing number}"
172
+ * Each instance has its own counter to avoid conflicts in multi-client scenarios.
173
+ * Includes a unique prefix based on timestamp and random value for global uniqueness.
174
+ */
175
+ class RequestIdGenerator {
176
+ counter = 0;
177
+ prefix;
178
+ constructor() {
179
+ // Create unique prefix: timestamp + random to ensure uniqueness across instances
180
+ this.prefix = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 6)}`;
181
+ }
182
+ /**
183
+ * Generates a unique request ID.
184
+ *
185
+ * Format: "{prefix}-{incrementing number}"
186
+ *
187
+ * @returns Unique request ID string
188
+ */
189
+ generate() {
190
+ return `${this.prefix}-${++this.counter}`;
191
+ }
192
+ /**
193
+ * Resets the counter.
194
+ * Primarily used for testing.
195
+ */
196
+ reset() {
197
+ this.counter = 0;
198
+ }
199
+ }
200
+ exports.RequestIdGenerator = RequestIdGenerator;
201
+ /** Default generator for backward compatibility */
202
+ const defaultGenerator = new RequestIdGenerator();
203
+ /**
204
+ * Generates a unique request ID using the default generator.
142
205
  *
206
+ * @deprecated Use RequestIdGenerator instance for multi-client scenarios
143
207
  * @returns Unique request ID string
144
208
  */
145
209
  function generateRequestId() {
146
- return `r${++requestIdCounter}`;
210
+ return defaultGenerator.generate();
147
211
  }
148
212
  /**
149
- * Resets the request ID counter.
213
+ * Resets the default request ID counter.
150
214
  * Primarily used for testing.
215
+ *
216
+ * @deprecated Use RequestIdGenerator instance for multi-client scenarios
151
217
  */
152
218
  function resetRequestIdCounter() {
153
- requestIdCounter = 0;
219
+ defaultGenerator.reset();
154
220
  }
155
221
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/client/tcp/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/client/tcp/handler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * TCP protocol module exports.
3
3
  */
4
- export { type PendingRequest, JsonBufferHandler, BinaryBufferHandler, encodeCommand, parseJsonResponse, generateRequestId, resetRequestIdCounter, } from './handler';
4
+ export { type PendingRequest, JsonBufferHandler, BinaryBufferHandler, RequestIdGenerator, encodeCommand, parseJsonResponse, generateRequestId, resetRequestIdCounter, } from './handler';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,cAAc,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,cAAc,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,WAAW,CAAC"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resetRequestIdCounter = exports.generateRequestId = exports.parseJsonResponse = exports.encodeCommand = exports.BinaryBufferHandler = exports.JsonBufferHandler = void 0;
3
+ exports.resetRequestIdCounter = exports.generateRequestId = exports.parseJsonResponse = exports.encodeCommand = exports.RequestIdGenerator = exports.BinaryBufferHandler = exports.JsonBufferHandler = void 0;
4
4
  /**
5
5
  * TCP protocol module exports.
6
6
  */
7
7
  var handler_1 = require("./handler");
8
8
  Object.defineProperty(exports, "JsonBufferHandler", { enumerable: true, get: function () { return handler_1.JsonBufferHandler; } });
9
9
  Object.defineProperty(exports, "BinaryBufferHandler", { enumerable: true, get: function () { return handler_1.BinaryBufferHandler; } });
10
+ Object.defineProperty(exports, "RequestIdGenerator", { enumerable: true, get: function () { return handler_1.RequestIdGenerator; } });
10
11
  Object.defineProperty(exports, "encodeCommand", { enumerable: true, get: function () { return handler_1.encodeCommand; } });
11
12
  Object.defineProperty(exports, "parseJsonResponse", { enumerable: true, get: function () { return handler_1.parseJsonResponse; } });
12
13
  Object.defineProperty(exports, "generateRequestId", { enumerable: true, get: function () { return handler_1.generateRequestId; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,qCAQmB;AANjB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,wGAAA,aAAa,OAAA;AACb,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AACjB,gHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,qCASmB;AAPjB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,6GAAA,kBAAkB,OAAA;AAClB,wGAAA,aAAa,OAAA;AACb,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AACjB,gHAAA,qBAAqB,OAAA"}
@@ -4,6 +4,7 @@
4
4
  * Provides validation functions for queue names, job data sizes,
5
5
  * and batch operation limits.
6
6
  */
7
+ import type { PushOptions } from '../types';
7
8
  /** Maximum allowed job data size in bytes (1MB) */
8
9
  export declare const MAX_JOB_DATA_SIZE: number;
9
10
  /** Maximum number of jobs per batch operation */
@@ -74,4 +75,46 @@ export declare function validateJobId(jobId: number): void;
74
75
  * @throws ValidationError if timeout is out of bounds
75
76
  */
76
77
  export declare function validateTimeout(timeout: number, min?: number, max?: number): void;
78
+ /**
79
+ * Server-side job payload structure.
80
+ * This is the format expected by the flashQ server.
81
+ */
82
+ export interface JobPayload<T = unknown> {
83
+ data: T;
84
+ priority: number;
85
+ delay?: number;
86
+ ttl?: number;
87
+ timeout?: number;
88
+ max_attempts?: number;
89
+ backoff?: number;
90
+ unique_key?: string;
91
+ depends_on?: number[];
92
+ tags?: string[];
93
+ lifo: boolean;
94
+ remove_on_complete: boolean;
95
+ remove_on_fail: boolean;
96
+ stall_timeout?: number;
97
+ debounce_id?: string;
98
+ debounce_ttl?: number;
99
+ job_id?: string;
100
+ keep_completed_age?: number;
101
+ keep_completed_count?: number;
102
+ group_id?: string;
103
+ }
104
+ /**
105
+ * Maps PushOptions to server payload format.
106
+ *
107
+ * This is the single source of truth for option-to-payload mapping,
108
+ * eliminating duplication across push, pushBatch, and pushBatchSafe.
109
+ *
110
+ * @param data - Job data payload
111
+ * @param options - Push options
112
+ * @returns Server-compatible job payload
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * const payload = mapJobToPayload({ email: 'test@example.com' }, { priority: 10 });
117
+ * ```
118
+ */
119
+ export declare function mapJobToPayload<T>(data: T, options?: PushOptions): JobPayload<T>;
77
120
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/client/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,QAAc,CAAC;AAE7C,iDAAiD;AACjD,eAAO,MAAM,cAAc,OAAO,CAAC;AAKnC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAUrD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAQvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAI,EAAE,GAAG,SAAS,GAAG,IAAI,CAO5E"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/client/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAO5C,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,QAAqB,CAAC;AAEpD,iDAAiD;AACjD,eAAO,MAAM,cAAc,OAAkB,CAAC;AAK9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAUrD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAQvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAI,EAAE,GAAG,SAAS,GAAG,IAAI,CAI5E;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,WAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,CAuBpF"}
@@ -12,11 +12,13 @@ exports.validateJobDataSize = validateJobDataSize;
12
12
  exports.validateBatchSize = validateBatchSize;
13
13
  exports.validateJobId = validateJobId;
14
14
  exports.validateTimeout = validateTimeout;
15
+ exports.mapJobToPayload = mapJobToPayload;
15
16
  const errors_1 = require("../errors");
17
+ const constants_1 = require("../constants");
16
18
  /** Maximum allowed job data size in bytes (1MB) */
17
- exports.MAX_JOB_DATA_SIZE = 1024 * 1024;
19
+ exports.MAX_JOB_DATA_SIZE = constants_1.MAX_JOB_DATA_SIZE;
18
20
  /** Maximum number of jobs per batch operation */
19
- exports.MAX_BATCH_SIZE = 1000;
21
+ exports.MAX_BATCH_SIZE = constants_1.MAX_BATCH_SIZE;
20
22
  /** Regex pattern for valid queue names: alphanumeric, underscore, hyphen, dot (1-256 chars) */
21
23
  const QUEUE_NAME_REGEX = /^[a-zA-Z0-9_.-]{1,256}$/;
22
24
  /**
@@ -109,4 +111,43 @@ function validateTimeout(timeout, min = 0, max = 600000) {
109
111
  throw new errors_1.ValidationError(`Timeout ${timeout}ms out of bounds (${min}-${max}ms)`, 'timeout');
110
112
  }
111
113
  }
114
+ /**
115
+ * Maps PushOptions to server payload format.
116
+ *
117
+ * This is the single source of truth for option-to-payload mapping,
118
+ * eliminating duplication across push, pushBatch, and pushBatchSafe.
119
+ *
120
+ * @param data - Job data payload
121
+ * @param options - Push options
122
+ * @returns Server-compatible job payload
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const payload = mapJobToPayload({ email: 'test@example.com' }, { priority: 10 });
127
+ * ```
128
+ */
129
+ function mapJobToPayload(data, options = {}) {
130
+ return {
131
+ data,
132
+ priority: options.priority ?? constants_1.DEFAULT_JOB_PRIORITY,
133
+ delay: options.delay,
134
+ ttl: options.ttl,
135
+ timeout: options.timeout,
136
+ max_attempts: options.max_attempts,
137
+ backoff: options.backoff,
138
+ unique_key: options.unique_key,
139
+ depends_on: options.depends_on,
140
+ tags: options.tags,
141
+ lifo: options.lifo ?? false,
142
+ remove_on_complete: options.remove_on_complete ?? false,
143
+ remove_on_fail: options.remove_on_fail ?? false,
144
+ stall_timeout: options.stall_timeout,
145
+ debounce_id: options.debounce_id,
146
+ debounce_ttl: options.debounce_ttl,
147
+ job_id: options.jobId,
148
+ keep_completed_age: options.keepCompletedAge,
149
+ keep_completed_count: options.keepCompletedCount,
150
+ group_id: options.group_id,
151
+ };
152
+ }
112
153
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/client/validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgCH,8CAUC;AAiBD,kDAQC;AAeD,8CAOC;AAQD,sCAIC;AAUD,0CAOC;AApHD,sCAA4C;AAE5C,mDAAmD;AACtC,QAAA,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,iDAAiD;AACpC,QAAA,cAAc,GAAG,IAAI,CAAC;AAEnC,+FAA+F;AAC/F,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,wBAAe,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,wBAAe,CACvB,wBAAwB,KAAK,gDAAgD,EAC7E,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,IAAI,GAAG,yBAAiB,EAAE,CAAC;QAC7B,MAAM,IAAI,wBAAe,CACvB,kBAAkB,IAAI,wBAAwB,yBAAiB,SAAS,EACxE,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAAC,KAAa,EAAE,SAAiB;IAChE,IAAI,KAAK,GAAG,sBAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,wBAAe,CACvB,SAAS,SAAS,UAAU,KAAK,kBAAkB,sBAAc,GAAG,EACpE,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,wBAAe,CAAC,mBAAmB,KAAK,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM;IACpE,IAAI,OAAO,GAAG,GAAG,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QACnC,MAAM,IAAI,wBAAe,CACvB,WAAW,OAAO,qBAAqB,GAAG,IAAI,GAAG,KAAK,EACtD,SAAS,CACV,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/client/validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAsCH,8CAUC;AAiBD,kDAQC;AAeD,8CAOC;AAQD,sCAIC;AAUD,0CAIC;AA4CD,0CAuBC;AA1LD,sCAA4C;AAE5C,4CAIsB;AAEtB,mDAAmD;AACtC,QAAA,iBAAiB,GAAG,6BAAkB,CAAC;AAEpD,iDAAiD;AACpC,QAAA,cAAc,GAAG,0BAAe,CAAC;AAE9C,+FAA+F;AAC/F,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,wBAAe,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,wBAAe,CACvB,wBAAwB,KAAK,gDAAgD,EAC7E,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,IAAI,GAAG,yBAAiB,EAAE,CAAC;QAC7B,MAAM,IAAI,wBAAe,CACvB,kBAAkB,IAAI,wBAAwB,yBAAiB,SAAS,EACxE,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,iBAAiB,CAAC,KAAa,EAAE,SAAiB;IAChE,IAAI,KAAK,GAAG,sBAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,wBAAe,CACvB,SAAS,SAAS,UAAU,KAAK,kBAAkB,sBAAc,GAAG,EACpE,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,wBAAe,CAAC,mBAAmB,KAAK,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM;IACpE,IAAI,OAAO,GAAG,GAAG,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QACnC,MAAM,IAAI,wBAAe,CAAC,WAAW,OAAO,qBAAqB,GAAG,IAAI,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AA6BD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,eAAe,CAAI,IAAO,EAAE,UAAuB,EAAE;IACnE,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,gCAAoB;QAClD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK;QAC3B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;QACvD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;QAC/C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,kBAAkB,EAAE,OAAO,CAAC,gBAAgB;QAC5C,oBAAoB,EAAE,OAAO,CAAC,kBAAkB;QAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * SDK Constants
3
+ *
4
+ * Centralized configuration constants to avoid magic numbers
5
+ * and ensure consistency across the codebase.
6
+ */
7
+ /** Maximum allowed job data size in bytes (1MB) */
8
+ export declare const MAX_JOB_DATA_SIZE: number;
9
+ /** Maximum number of jobs per batch operation */
10
+ export declare const MAX_BATCH_SIZE = 1000;
11
+ /** Maximum queue name length */
12
+ export declare const MAX_QUEUE_NAME_LENGTH = 256;
13
+ /** Default connection timeout in ms */
14
+ export declare const DEFAULT_CONNECTION_TIMEOUT = 5000;
15
+ /** Default server-side pull timeout in ms */
16
+ export declare const DEFAULT_PULL_TIMEOUT = 60000;
17
+ /** Additional client timeout buffer over server timeout */
18
+ export declare const CLIENT_TIMEOUT_BUFFER = 5000;
19
+ /** Default job completion wait timeout in ms */
20
+ export declare const DEFAULT_FINISHED_TIMEOUT = 30000;
21
+ /** Default worker concurrency */
22
+ export declare const DEFAULT_WORKER_CONCURRENCY = 10;
23
+ /** Default worker batch size */
24
+ export declare const DEFAULT_WORKER_BATCH_SIZE = 100;
25
+ /** Worker pull timeout for responsive shutdown (ms) */
26
+ export declare const WORKER_PULL_TIMEOUT = 500;
27
+ /** Worker error retry delay (ms) */
28
+ export declare const WORKER_ERROR_RETRY_DELAY = 1000;
29
+ /** Default graceful shutdown timeout (ms) */
30
+ export declare const DEFAULT_CLOSE_TIMEOUT = 30000;
31
+ /** Worker job completion check interval (ms) */
32
+ export declare const WORKER_JOB_CHECK_INTERVAL = 50;
33
+ /** Default initial reconnect delay in ms */
34
+ export declare const DEFAULT_RECONNECT_DELAY = 1000;
35
+ /** Default max reconnect delay in ms */
36
+ export declare const DEFAULT_MAX_RECONNECT_DELAY = 30000;
37
+ /** Default max reconnect attempts (0 = infinite) */
38
+ export declare const DEFAULT_MAX_RECONNECT_ATTEMPTS = 10;
39
+ /** Reconnect jitter factor (0.3 = 30% of base delay) */
40
+ export declare const RECONNECT_JITTER_FACTOR = 0.3;
41
+ /** Default retry max attempts */
42
+ export declare const DEFAULT_RETRY_MAX_ATTEMPTS = 3;
43
+ /** Default retry initial delay in ms */
44
+ export declare const DEFAULT_RETRY_INITIAL_DELAY = 100;
45
+ /** Default retry max delay in ms */
46
+ export declare const DEFAULT_RETRY_MAX_DELAY = 5000;
47
+ /** Default backoff multiplier */
48
+ export declare const DEFAULT_BACKOFF_MULTIPLIER = 2;
49
+ /** Jitter range factor (0.25 = ±25%) */
50
+ export declare const RETRY_JITTER_FACTOR = 0.25;
51
+ /** Default compression enabled state */
52
+ export declare const DEFAULT_COMPRESSION_ENABLED = false;
53
+ /** Default minimum payload size to compress in bytes */
54
+ export declare const DEFAULT_COMPRESSION_THRESHOLD = 1024;
55
+ /** Default max queued requests during disconnect */
56
+ export declare const DEFAULT_MAX_QUEUED_REQUESTS = 100;
57
+ /** Default job priority */
58
+ export declare const DEFAULT_JOB_PRIORITY = 0;
59
+ /** Default stall detection timeout in ms */
60
+ export declare const DEFAULT_STALL_TIMEOUT = 30000;
61
+ /** Default TCP port */
62
+ export declare const DEFAULT_TCP_PORT = 6789;
63
+ /** Default HTTP port */
64
+ export declare const DEFAULT_HTTP_PORT = 6790;
65
+ /** Default host */
66
+ export declare const DEFAULT_HOST = "localhost";
67
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,QAAc,CAAC;AAE7C,iDAAiD;AACjD,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,gCAAgC;AAChC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAIzC,uCAAuC;AACvC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,6CAA6C;AAC7C,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,gDAAgD;AAChD,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAI9C,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,gCAAgC;AAChC,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,oCAAoC;AACpC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,gDAAgD;AAChD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAI5C,4CAA4C;AAC5C,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAI3C,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,oCAAoC;AACpC,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAIxC,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,wDAAwD;AACxD,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAIlD,oDAAoD;AACpD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAI/C,2BAA2B;AAC3B,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAI3C,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,wBAAwB;AACxB,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,mBAAmB;AACnB,eAAO,MAAM,YAAY,cAAc,CAAC"}