tradeblocks-mcp 2.2.4 → 2.2.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.
@@ -6,7 +6,7 @@ import {
6
6
  syncAllBlocks,
7
7
  syncBlock,
8
8
  upsertSyncMetadata
9
- } from "./chunk-O6FQQRJV.js";
9
+ } from "./chunk-UGHXXLLR.js";
10
10
  import "./chunk-MIVAK2ZU.js";
11
11
  import "./chunk-PWM4JHGO.js";
12
12
  import "./chunk-KRHCV4RF.js";
@@ -21,4 +21,4 @@ export {
21
21
  syncBlock,
22
22
  upsertSyncMetadata
23
23
  };
24
- //# sourceMappingURL=sync-AAV7BGOE.js.map
24
+ //# sourceMappingURL=sync-OPFBFM2P.js.map
@@ -27,7 +27,7 @@ import {
27
27
  upgradeToReadWrite,
28
28
  upsertMarketImportMetadata,
29
29
  upsertProfile
30
- } from "./chunk-O6FQQRJV.js";
30
+ } from "./chunk-UGHXXLLR.js";
31
31
  import "./chunk-MIVAK2ZU.js";
32
32
  import "./chunk-PWM4JHGO.js";
33
33
  import "./chunk-KRHCV4RF.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tradeblocks-mcp",
3
- "version": "2.2.4",
3
+ "version": "2.2.5",
4
4
  "description": "MCP server for options trade analysis",
5
5
  "author": "David Romeo <davidmromeo@gmail.com>",
6
6
  "type": "module",
@@ -808,14 +808,18 @@ async function getConnection(dataDir) {
808
808
  if (isLockError(errorMessage)) {
809
809
  const recovered = await tryRecoverLockByTerminatingStaleProcess(errorMessage, dbPath, forceRecovery);
810
810
  if (recovered) {
811
- try {
812
- return await openReadWriteConnection(dbPath, threads, memoryLimit);
813
- } catch (recoveryError) {
814
- resetConnectionState();
815
- const recoveryMessage = recoveryError instanceof Error ? recoveryError.message : String(recoveryError);
816
- throw new Error(
817
- `Failed to initialize DuckDB at ${dbPath} after lock recovery: ${recoveryMessage}`
818
- );
811
+ for (let attempt = 0; attempt < 3; attempt++) {
812
+ await new Promise((r) => setTimeout(r, 500 * (attempt + 1)));
813
+ try {
814
+ return await openReadWriteConnection(dbPath, threads, memoryLimit);
815
+ } catch (retryError) {
816
+ const retryMsg = retryError instanceof Error ? retryError.message : String(retryError);
817
+ if (attempt < 2 && isLockError(retryMsg)) continue;
818
+ resetConnectionState();
819
+ throw new Error(
820
+ `Failed to initialize DuckDB at ${dbPath} after lock recovery: ${retryMsg}`
821
+ );
822
+ }
819
823
  }
820
824
  }
821
825
  }
@@ -858,8 +862,8 @@ async function closeConnection() {
858
862
  async function upgradeToReadWrite(dataDir, options) {
859
863
  if (connectionMode === "read_write" && connection) return connection;
860
864
  await closeConnection();
861
- const maxRetries = 2;
862
- const retryDelayMs = 500;
865
+ const maxRetries = 4;
866
+ const retryDelayMs = 1e3;
863
867
  let lastError = null;
864
868
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
865
869
  try {
@@ -26481,4 +26485,4 @@ decimal.js/decimal.mjs:
26481
26485
  * MIT Licence
26482
26486
  *)
26483
26487
  */
26484
- //# sourceMappingURL=chunk-TDKK4QFM.js.map
26488
+ //# sourceMappingURL=chunk-RM33HDCX.js.map