shinjuku-shielded 0.3.61 → 0.3.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/manifest.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schema": "carbon-shielded-wallet/bundle-manifest/v1",
3
3
  "file": "shinjuku-wallet.mjs",
4
- "sha256": "fd8f40cfc0110953e30d8479bfe751545e04952df8faf03b634073d7fd308c78",
5
- "bytes": 12166389,
6
- "sourceCommit": "c40abda927c59b08675a7e8c6067ace24cf24e78",
4
+ "sha256": "d9319f9cc0d4e5deebfa15e1ac35bee0bc4f4ffb95cd4f58e400ee322ac11076",
5
+ "bytes": 12167009,
6
+ "sourceCommit": "ae2f0123e2d006af49b3e33fd15ac30dd0d95222",
7
7
  "sourceDirty": false,
8
8
  "installRecordMatchesLockfile": true,
9
9
  "releaseRule": "valid only when two fresh npm ci --ignore-scripts builds on different OSes give the same sha256; installRecordMatchesLockfile true means every entry npm installed equals its package-lock.json entry and every entry not marked optional, devOptional included, is installed: an optional entry (a package for another platform) may be absent",
@@ -1282,5 +1282,5 @@
1282
1282
  "version": "1.8.0"
1283
1283
  }
1284
1284
  ],
1285
- "publishedAt": "2026-10-22T06:27:33.519Z"
1285
+ "publishedAt": "2026-10-22T06:56:59.253Z"
1286
1286
  }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "shinjuku-shielded",
3
- "version": "0.3.61",
3
+ "version": "0.3.62",
4
4
  "mcpName": "io.github.ShinjukuStaition/shinjuku-mcp",
5
5
  "description": "Shinjuku Shielded, the private x402 facilitator on Solana: the self-custody wallet CLI and its MCP server. Shield, pay, and unshield USDC from any MCP agent, under caps you set.",
6
- "shinjukuRelease": "fd8f40cf",
7
- "shinjukuSha256": "fd8f40cfc0110953e30d8479bfe751545e04952df8faf03b634073d7fd308c78",
6
+ "shinjukuRelease": "d9319f9c",
7
+ "shinjukuSha256": "d9319f9cc0d4e5deebfa15e1ac35bee0bc4f4ffb95cd4f58e400ee322ac11076",
8
8
  "license": "SEE LICENSE IN LICENSE.txt",
9
9
  "author": "Shinjuku Shielded",
10
10
  "homepage": "https://github.com/ShinjukuStaition/shinjuku-mcp#readme",
@@ -124792,6 +124792,17 @@ async function openWalletServer({
124792
124792
  if (typeof tools.warmHistory === "function") tools.warmHistory({ afterBoot: warmDiscover });
124793
124793
  else warmDiscover?.();
124794
124794
  let rootsLanded = Promise.resolve();
124795
+ let toolRootsLanded;
124796
+ const rootsForTools = (install, started) => {
124797
+ let timer;
124798
+ const bound = new Promise((done) => {
124799
+ timer = setTimeout(done, TOOL_ROOTS_WAIT_MS);
124800
+ timer.unref?.();
124801
+ });
124802
+ return Promise.race([Promise.resolve(install).then(() => {
124803
+ }, () => {
124804
+ }), bound]).finally(() => clearTimeout(timer)).then(() => started);
124805
+ };
124795
124806
  if (proofToolsRefresh?.home) {
124796
124807
  let timer;
124797
124808
  const late2 = new Promise((done) => {
@@ -124817,15 +124828,19 @@ async function openWalletServer({
124817
124828
  setFamilyRootResolver(() => void 0);
124818
124829
  return { state: "unproven" };
124819
124830
  };
124820
- const land = Promise.race([install(), late2]).finally(() => clearTimeout(timer)).then((installed) => {
124831
+ const installing = install();
124832
+ const land = Promise.race([installing, late2]).finally(() => clearTimeout(timer)).then((installed) => {
124821
124833
  if (installed.state === "timeout") setFamilyRootResolver(() => void 0);
124822
124834
  if (installed.state !== "none") log(`FAMILY_ROOTS ${installed.state}${installed.seq === void 0 ? "" : ` seq=${installed.seq}`}${installed.count === void 0 ? "" : ` count=${installed.count}`}${installed.code ? ` code=${installed.code}` : ""}`);
124823
124835
  });
124824
124836
  if (!rootsInBackground) await land;
124825
- else rootsLanded = land.catch((error) => {
124826
- setFamilyRootResolver(() => void 0);
124827
- log(`FAMILY_ROOTS failed code=${String(error?.message ?? error).split(/[\s:;(]/, 1)[0]}`);
124828
- });
124837
+ else {
124838
+ rootsLanded = land.catch((error) => {
124839
+ setFamilyRootResolver(() => void 0);
124840
+ log(`FAMILY_ROOTS failed code=${String(error?.message ?? error).split(/[\s:;(]/, 1)[0]}`);
124841
+ });
124842
+ toolRootsLanded = rootsForTools(installing, rootsLanded);
124843
+ }
124829
124844
  } else if (rootsInBackground && cliRootsLate !== void 0) {
124830
124845
  let timer;
124831
124846
  const late2 = new Promise((done) => {
@@ -124838,6 +124853,7 @@ async function openWalletServer({
124838
124853
  setFamilyRootResolver(() => void 0);
124839
124854
  log("FAMILY_ROOTS timeout");
124840
124855
  });
124856
+ toolRootsLanded = rootsForTools(cliRootsLate, rootsLanded);
124841
124857
  }
124842
124858
  if (rootsInBackground) {
124843
124859
  for (let index = 0; index < tools.length; index += 1) {
@@ -124845,7 +124861,7 @@ async function openWalletServer({
124845
124861
  if (ROOTS_FREE_TOOLS.has(tool.name)) continue;
124846
124862
  tools[index] = { ...tool, run: async (...args) => {
124847
124863
  const startedAt = Date.now();
124848
- await rootsLanded;
124864
+ await (toolRootsLanded ?? rootsLanded);
124849
124865
  if (Date.now() - startedAt >= 20) log(`MCP_ROOTS_WAIT tool=${tool.name} ms=${Date.now() - startedAt}`);
124850
124866
  return tool.run(...args);
124851
124867
  } };
@@ -125123,7 +125139,7 @@ async function runSetupModeServer({
125123
125139
  }
125124
125140
  return { closed: ended };
125125
125141
  }
125126
- var import_web3134, SUPPORTED_PROTOCOL_VERSIONS, SERVER_VERSION, MAX_LINE_BYTES, POSITIVE_ATOMIC7, INSTRUCTIONS, MCP_LOG_LEVELS, POOL_SWITCH_LOG_LEVEL, validId, BUNDLED_SOURCE_DIR, SHA256_HEX, UPDATE_NOTICE_TOOLS, UPDATE_NOTICE_MAX_TEXT, UPDATE_NOTICE_TEXT, updateNoticeLine, LAUNCH_NOTICE_TOOLS, withLaunchLine, capRequired, setupInvalid, ROOTS_FREE_TOOLS, MCP_CLOSE_BOUND_MS, MCP_CLOSE_HISTORY_BOUND_MS, MCP_CLOSE_UNREADABLE_BOUND_MS, MCP_CLOSE_POLL_MS, closeHistoryBusy, SETUP_INSTRUCTIONS;
125142
+ var import_web3134, SUPPORTED_PROTOCOL_VERSIONS, SERVER_VERSION, MAX_LINE_BYTES, POSITIVE_ATOMIC7, INSTRUCTIONS, MCP_LOG_LEVELS, POOL_SWITCH_LOG_LEVEL, validId, BUNDLED_SOURCE_DIR, SHA256_HEX, UPDATE_NOTICE_TOOLS, UPDATE_NOTICE_MAX_TEXT, UPDATE_NOTICE_TEXT, updateNoticeLine, LAUNCH_NOTICE_TOOLS, withLaunchLine, capRequired, setupInvalid, TOOL_ROOTS_WAIT_MS, ROOTS_FREE_TOOLS, MCP_CLOSE_BOUND_MS, MCP_CLOSE_HISTORY_BOUND_MS, MCP_CLOSE_UNREADABLE_BOUND_MS, MCP_CLOSE_POLL_MS, closeHistoryBusy, SETUP_INSTRUCTIONS;
125127
125143
  var init_stdioServer = __esm({
125128
125144
  "wallet/src/mcp/stdioServer.mjs"() {
125129
125145
  "use strict";
@@ -125171,6 +125187,7 @@ var init_stdioServer = __esm({
125171
125187
  setupInvalid = (detail) => {
125172
125188
  throw new Error(`mcp_setup_invalid: ${detail}; the MCP server did not start and nothing was moved`);
125173
125189
  };
125190
+ TOOL_ROOTS_WAIT_MS = 6e4;
125174
125191
  ROOTS_FREE_TOOLS = /* @__PURE__ */ new Set(["x402_pay", "inference_chat", "inference_models", "x402_preview", "x402_discover"]);
125175
125192
  MCP_CLOSE_BOUND_MS = 5e3;
125176
125193
  MCP_CLOSE_HISTORY_BOUND_MS = 45e3;