@dev.sail.money/sailor 1.1.0-58 → 1.1.0-59

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 (104) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/index.cjs +47 -60
  3. package/packages/cli/dist/server.cjs +3 -20
  4. package/packages/sdk/dist/intelligence.d.ts +1 -1
  5. package/packages/sdk/dist/intelligence.js +1 -1
  6. package/packages/ui/dist/assets/{add-C-dsfxDo.js → add-BkkqrYWB.js} +1 -1
  7. package/packages/ui/dist/assets/{all-wallets-CnIqhv43.js → all-wallets-DkOBJCgx.js} +1 -1
  8. package/packages/ui/dist/assets/{app-store-ChQtg1vX.js → app-store-COmofKYQ.js} +1 -1
  9. package/packages/ui/dist/assets/{apple-BjgF3Q4D.js → apple-C74TaioJ.js} +1 -1
  10. package/packages/ui/dist/assets/{arrow-bottom-B6a-dLkm.js → arrow-bottom-CrMrxCkH.js} +1 -1
  11. package/packages/ui/dist/assets/{arrow-bottom-circle-iFIsQg-8.js → arrow-bottom-circle-RBTLtzcR.js} +1 -1
  12. package/packages/ui/dist/assets/{arrow-left-CZGr-Z6-.js → arrow-left-C4b71cmS.js} +1 -1
  13. package/packages/ui/dist/assets/{arrow-right-BHkO-l6J.js → arrow-right-D5clzuwD.js} +1 -1
  14. package/packages/ui/dist/assets/{arrow-top-CSAHnpAG.js → arrow-top-C2TbLIrV.js} +1 -1
  15. package/packages/ui/dist/assets/{bank-CBmII1x8.js → bank-CdrDcIo1.js} +1 -1
  16. package/packages/ui/dist/assets/{basic-z0IGeGoe.js → basic-DC_nce86.js} +1 -1
  17. package/packages/ui/dist/assets/{browser-C63FxwgG.js → browser-Bds2ajCA.js} +1 -1
  18. package/packages/ui/dist/assets/{card-B6aMu64l.js → card-BBbe5M7a.js} +1 -1
  19. package/packages/ui/dist/assets/{ccip-DpFAdEcw.js → ccip-Cd-Us0eQ.js} +1 -1
  20. package/packages/ui/dist/assets/{checkmark-CXN3abIo.js → checkmark-Bu8wk6S3.js} +1 -1
  21. package/packages/ui/dist/assets/{checkmark-bold-CnE9PClq.js → checkmark-bold-D_We1fZp.js} +1 -1
  22. package/packages/ui/dist/assets/{chevron-bottom-BycxXH48.js → chevron-bottom-0NdO8szM.js} +1 -1
  23. package/packages/ui/dist/assets/{chevron-left-RCx9bqyC.js → chevron-left-ByFZqD-8.js} +1 -1
  24. package/packages/ui/dist/assets/{chevron-right-B1DFs8_e.js → chevron-right-BnIkNb00.js} +1 -1
  25. package/packages/ui/dist/assets/{chevron-top-Dqq8VaiR.js → chevron-top-DU8ubJaU.js} +1 -1
  26. package/packages/ui/dist/assets/{chrome-store-N1IilO-E.js → chrome-store-D4y5tSBu.js} +1 -1
  27. package/packages/ui/dist/assets/{clock-8pQLsWRy.js → clock-CftWr0z5.js} +1 -1
  28. package/packages/ui/dist/assets/{close-LHyV89kq.js → close-I0yiZodl.js} +1 -1
  29. package/packages/ui/dist/assets/{coinPlaceholder-5bT2NQld.js → coinPlaceholder-D0OAREKG.js} +1 -1
  30. package/packages/ui/dist/assets/{compass-CLhzgv54.js → compass-dvpQeqSx.js} +1 -1
  31. package/packages/ui/dist/assets/{copy-DJ6auzXs.js → copy-BugJ4WFr.js} +1 -1
  32. package/packages/ui/dist/assets/{core-Cp3xGXA6.js → core-BzIB7-vh.js} +3 -3
  33. package/packages/ui/dist/assets/cursor-T9CAl8CQ.js +3 -0
  34. package/packages/ui/dist/assets/{cursor-transparent-CohavsEh.js → cursor-transparent-BPb-3Hyk.js} +1 -1
  35. package/packages/ui/dist/assets/{desktop-n28VeLf1.js → desktop-CeDRdIIG.js} +1 -1
  36. package/packages/ui/dist/assets/{disconnect-BytBq3zd.js → disconnect-IwpWvrKA.js} +1 -1
  37. package/packages/ui/dist/assets/{discord-DHkapJMS.js → discord-XhqhcqiG.js} +1 -1
  38. package/packages/ui/dist/assets/{etherscan-C43zbGve.js → etherscan-tWzMxtji.js} +1 -1
  39. package/packages/ui/dist/assets/{events-BRxyYKwO.js → events-jqbAbVlK.js} +1 -1
  40. package/packages/ui/dist/assets/{exclamation-triangle-lpLpOiUn.js → exclamation-triangle-DEvePQkx.js} +1 -1
  41. package/packages/ui/dist/assets/{extension-BAcEl3l1.js → extension-Dode6JDE.js} +1 -1
  42. package/packages/ui/dist/assets/{external-link-Bi2lQaCr.js → external-link-DyarUzCV.js} +1 -1
  43. package/packages/ui/dist/assets/{facebook-CYLNHpDr.js → facebook-DqKLKTw4.js} +1 -1
  44. package/packages/ui/dist/assets/{fallback-DAe2x1wz.js → fallback-CLs3NgaE.js} +1 -1
  45. package/packages/ui/dist/assets/{farcaster-CpbuoD-A.js → farcaster-BVbjfPad.js} +1 -1
  46. package/packages/ui/dist/assets/{filters-2SeCLkqg.js → filters-BqCfeyWr.js} +1 -1
  47. package/packages/ui/dist/assets/{github-CXGuiWnN.js → github-8QpZFu7F.js} +1 -1
  48. package/packages/ui/dist/assets/{google-u86NQc9o.js → google-CVk0kyBN.js} +1 -1
  49. package/packages/ui/dist/assets/{help-circle-VXfl2gxH.js → help-circle-fKcWeR5p.js} +1 -1
  50. package/packages/ui/dist/assets/{id--tXCaijO.js → id-Ci8t7CBc.js} +1 -1
  51. package/packages/ui/dist/assets/{image-fGZdyWSE.js → image-BlGujsvY.js} +1 -1
  52. package/packages/ui/dist/assets/{index-PxeN2I9s.js → index-26mk1_O0.js} +1 -1
  53. package/packages/ui/dist/assets/{index-C_eqUkeY.js → index-CHdC1RP1.js} +3 -3
  54. package/packages/ui/dist/assets/{index-CQAVTqzM.js → index-DFLVuZGD.js} +1 -1
  55. package/packages/ui/dist/assets/{index-BbxcsrfK.js → index-DsOOZoQ6.js} +1 -1
  56. package/packages/ui/dist/assets/{index-vPyTb3MD.js → index-H2WA2taB.js} +78 -79
  57. package/packages/ui/dist/assets/index-ZMTNJl7U.css +1 -0
  58. package/packages/ui/dist/assets/{index-B7HoHWiW.js → index-iL8gxnJZ.js} +1 -1
  59. package/packages/ui/dist/assets/{index.es-r4dwiXlA.js → index.es-Bhx_uNt5.js} +4 -4
  60. package/packages/ui/dist/assets/{info-C_QVyvKM.js → info-BDqeqntk.js} +1 -1
  61. package/packages/ui/dist/assets/{info-circle-BQ6SUcsG.js → info-circle-CrFxScTA.js} +1 -1
  62. package/packages/ui/dist/assets/{lightbulb-DiDGGbfa.js → lightbulb-BxSygEig.js} +1 -1
  63. package/packages/ui/dist/assets/{mail-A6VjvryF.js → mail-4GDY-ze2.js} +1 -1
  64. package/packages/ui/dist/assets/{metamask-sdk-wtBcTydn.js → metamask-sdk-DPCbwaIS.js} +1 -1
  65. package/packages/ui/dist/assets/{mobile-pGU4EH2u.js → mobile-BUUviKTv.js} +1 -1
  66. package/packages/ui/dist/assets/{more-DcCpyKKY.js → more-DhnT17wk.js} +1 -1
  67. package/packages/ui/dist/assets/{network-placeholder-CuG8kjRQ.js → network-placeholder-TsxqT2gD.js} +1 -1
  68. package/packages/ui/dist/assets/{nftPlaceholder-CR04xCSJ.js → nftPlaceholder-jgTe8P1g.js} +1 -1
  69. package/packages/ui/dist/assets/{off-B0iV5ojg.js → off-DcHkZT5o.js} +1 -1
  70. package/packages/ui/dist/assets/{parseSignature-5Cmk56ft.js → parseSignature-B8Lpw1L2.js} +1 -1
  71. package/packages/ui/dist/assets/{play-store-DihUKb7H.js → play-store-CJstT7y7.js} +1 -1
  72. package/packages/ui/dist/assets/{plus-CsIbMkij.js → plus-MYc63_GS.js} +1 -1
  73. package/packages/ui/dist/assets/{qr-code-Dqbt_uUa.js → qr-code-d-0KT0T0.js} +1 -1
  74. package/packages/ui/dist/assets/{recycle-horizontal-DAgZ0s3B.js → recycle-horizontal-DTip0Vh-.js} +1 -1
  75. package/packages/ui/dist/assets/{refresh-BckmchSk.js → refresh-Bvbjnc5_.js} +1 -1
  76. package/packages/ui/dist/assets/{reown-logo-Ck_DLLhR.js → reown-logo-CyEiIKwt.js} +1 -1
  77. package/packages/ui/dist/assets/{search-DvTEXRW7.js → search-CvaM9X5d.js} +1 -1
  78. package/packages/ui/dist/assets/{secp256k1-C98H2goB.js → secp256k1-DcETRhg-.js} +1 -1
  79. package/packages/ui/dist/assets/{send-BIKg5OD7.js → send-DeX0yj_h.js} +1 -1
  80. package/packages/ui/dist/assets/{swapHorizontal-7TJPm-09.js → swapHorizontal-BhIMtg47.js} +1 -1
  81. package/packages/ui/dist/assets/{swapHorizontalBold-OPBCTkZ8.js → swapHorizontalBold-Bcff8r01.js} +1 -1
  82. package/packages/ui/dist/assets/{swapHorizontalMedium-BiR-wXTk.js → swapHorizontalMedium-D6exybM7.js} +1 -1
  83. package/packages/ui/dist/assets/{swapHorizontalRoundedBold-CjZW0yXV.js → swapHorizontalRoundedBold-E7S191SI.js} +1 -1
  84. package/packages/ui/dist/assets/{swapVertical-BvJSfTbs.js → swapVertical-DnaSU8Vj.js} +1 -1
  85. package/packages/ui/dist/assets/{telegram-BIvNqVBz.js → telegram-BhfatdcJ.js} +1 -1
  86. package/packages/ui/dist/assets/{three-dots-ohueHxZy.js → three-dots-BTpm_nUE.js} +1 -1
  87. package/packages/ui/dist/assets/{twitch-BqrnP162.js → twitch-BDRYcsTl.js} +1 -1
  88. package/packages/ui/dist/assets/{twitterIcon-Dw0kNY9c.js → twitterIcon-3FzeZC95.js} +1 -1
  89. package/packages/ui/dist/assets/{verify-DRBQ8AnL.js → verify-CUzf_uJD.js} +1 -1
  90. package/packages/ui/dist/assets/{verify-filled-9og8tsf9.js → verify-filled-BbsqfxaJ.js} +1 -1
  91. package/packages/ui/dist/assets/{w3m-modal-rIMTDhot.js → w3m-modal-BqaDz6_Y.js} +1 -1
  92. package/packages/ui/dist/assets/{wallet-X2eNWOim.js → wallet-DP0T4ID6.js} +1 -1
  93. package/packages/ui/dist/assets/{wallet-placeholder-BrLMYsyb.js → wallet-placeholder-D6lN9LWp.js} +1 -1
  94. package/packages/ui/dist/assets/{walletconnect-C4JQX1g7.js → walletconnect-TbWRXzdf.js} +1 -1
  95. package/packages/ui/dist/assets/{warning-circle-obEvu57J.js → warning-circle-Cu3F_XOK.js} +1 -1
  96. package/packages/ui/dist/assets/{x-BkGddY7Q.js → x-BmIFFXMW.js} +1 -1
  97. package/packages/ui/dist/index.html +2 -2
  98. package/templates/default/_gitignore +32 -6
  99. package/templates/default/node_modules/.bin/tsc +43 -0
  100. package/templates/default/node_modules/.bin/tsserver +43 -0
  101. package/templates/default/package.json +0 -1
  102. package/templates/default/src/mandate.ts +1 -1
  103. package/packages/ui/dist/assets/cursor-CIbOGu5K.js +0 -3
  104. package/packages/ui/dist/assets/index-CBGxOWky.css +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev.sail.money/sailor",
3
- "version": "1.1.0-58",
3
+ "version": "1.1.0-59",
4
4
  "description": "Operator toolkit for Sail Protocol",
5
5
  "bin": {
6
6
  "sailor": "packages/cli/dist/index.cjs"
@@ -38333,15 +38333,10 @@ function readJsonFile(filePath) {
38333
38333
  return null;
38334
38334
  }
38335
38335
  }
38336
- function writeJsonFile(filePath, data, mode) {
38336
+ function writeJsonFile(filePath, data) {
38337
38337
  import_node_fs2.default.mkdirSync(import_node_path.default.dirname(filePath), { recursive: true });
38338
- import_node_fs2.default.writeFileSync(
38339
- filePath,
38340
- `${JSON.stringify(data, null, 2)}
38341
- `,
38342
- mode !== void 0 ? { mode } : void 0
38343
- );
38344
- if (mode !== void 0) import_node_fs2.default.chmodSync(filePath, mode);
38338
+ import_node_fs2.default.writeFileSync(filePath, `${JSON.stringify(data, null, 2)}
38339
+ `);
38345
38340
  }
38346
38341
  function fileExists(filePath) {
38347
38342
  return import_node_fs2.default.existsSync(filePath);
@@ -38382,18 +38377,6 @@ function parseEnvFile(filePath) {
38382
38377
  }
38383
38378
  return out;
38384
38379
  }
38385
- function persistPassphrase(envPath, passphrase) {
38386
- let content = "";
38387
- if (import_node_fs2.default.existsSync(envPath)) {
38388
- content = import_node_fs2.default.readFileSync(envPath, "utf-8").replace(/^SAIL_PASSPHRASE=.*\n?/m, "");
38389
- }
38390
- const trimmed = content.trimEnd();
38391
- content = `${trimmed}${trimmed.length > 0 ? "\n" : ""}SAIL_PASSPHRASE=${passphrase}
38392
- `;
38393
- import_node_fs2.default.mkdirSync(import_node_path.default.dirname(envPath), { recursive: true });
38394
- import_node_fs2.default.writeFileSync(envPath, content, { mode: 384 });
38395
- import_node_fs2.default.chmodSync(envPath, 384);
38396
- }
38397
38380
  function checksum4(address) {
38398
38381
  return getAddress(address);
38399
38382
  }
@@ -39718,18 +39701,7 @@ async function loadManagerSigner(safe) {
39718
39701
  'No agent wallet found.\nRun "sailor keys generate" and choose "agent wallet".'
39719
39702
  );
39720
39703
  }
39721
- try {
39722
- return await LocalKeyring.fromKeystore(keystore, passphrase);
39723
- } catch {
39724
- throw new Error(
39725
- "SAIL_PASSPHRASE does not match this keystore.\nCheck the value in .sail/.env.local (or the SAIL_PASSPHRASE CI secret) \u2014 it must be the passphrase the agent wallet was encrypted with."
39726
- );
39727
- }
39728
- }
39729
- if (process.stdin.isTTY !== true && keyExists("manager", safe)) {
39730
- throw new Error(
39731
- 'Agent keystore found but SAIL_PASSPHRASE is not set.\nIf you created the key in the dashboard, add SAIL_PASSPHRASE to .sail/.env.local, or run "sailor keys generate".\nFor CI, set the SAIL_PASSPHRASE GitHub Actions secret.'
39732
- );
39704
+ return LocalKeyring.fromKeystore(keystore, passphrase);
39733
39705
  }
39734
39706
  return loadKeyring("manager", safe);
39735
39707
  }
@@ -40202,9 +40174,6 @@ async function doctor(options = {}) {
40202
40174
  } catch {
40203
40175
  }
40204
40176
  const chainIdMatches = chainIdOnChain === null ? null : chainIdOnChain === chainId;
40205
- const managerKeystorePresent = keyExists("manager", stored?.safe);
40206
- const passphraseSet = Boolean(process.env.SAIL_PASSPHRASE);
40207
- const passphraseGap = managerKeystorePresent && !passphraseSet;
40208
40177
  let ownerBal = null;
40209
40178
  let managerBal = null;
40210
40179
  try {
@@ -40226,7 +40195,6 @@ async function doctor(options = {}) {
40226
40195
  owner: ownerAddr ? { address: ownerAddr, ...ownerBal ?? {} } : null,
40227
40196
  manager: managerAddr ? { address: managerAddr, ...managerBal ?? {} } : null
40228
40197
  },
40229
- passphrase: { keystorePresent: managerKeystorePresent, envSet: passphraseSet },
40230
40198
  account: safe,
40231
40199
  saltNonce: stored?.saltNonce ?? null,
40232
40200
  permissions,
@@ -40288,11 +40256,6 @@ async function doctor(options = {}) {
40288
40256
  ' \u2192 The manager (agent) pays gas. Fund it before "sailor run" or dispatches fail.'
40289
40257
  );
40290
40258
  }
40291
- if (passphraseGap) {
40292
- console.log(
40293
- ' \u26A0 SAIL_PASSPHRASE is not set, but an agent keystore exists.\n "sailor run" will prompt interactively; CI and the scheduled cron will fail to unlock it.\n Add SAIL_PASSPHRASE to .sail/.env.local (the dashboard does this automatically when it creates the key).'
40294
- );
40295
- }
40296
40259
  if (!safe) {
40297
40260
  console.log('\nAccount: none found. Run "sailor onboard --new-sma", or pass --account <addr>.');
40298
40261
  console.log("Skipping permission checks.");
@@ -40601,6 +40564,16 @@ before changing strategy code or running commands that touch funds.
40601
40564
  function writeIfMissing2(file, content) {
40602
40565
  if (!import_node_fs8.default.existsSync(file)) import_node_fs8.default.writeFileSync(file, content, "utf-8");
40603
40566
  }
40567
+ function cliVersion() {
40568
+ try {
40569
+ const pkg = JSON.parse(
40570
+ import_node_fs8.default.readFileSync(import_node_path7.default.join(packageRoot(), "package.json"), "utf-8")
40571
+ );
40572
+ return pkg.version ?? "0.0.0";
40573
+ } catch {
40574
+ return "0.0.0";
40575
+ }
40576
+ }
40604
40577
  function scaffoldProjectWorkspace(dest, name, options) {
40605
40578
  const chainId = options.chain ? (() => {
40606
40579
  const n = Number(options.chain);
@@ -40728,18 +40701,23 @@ run from the repo root.` : ` Available: ${available}`;
40728
40701
  if (import_node_fs8.default.existsSync(pkgPath)) {
40729
40702
  const pkg = JSON.parse(import_node_fs8.default.readFileSync(pkgPath, "utf-8"));
40730
40703
  pkg.name = name;
40731
- const deps = pkg.dependencies ?? {};
40732
- if (deps["@sail/sdk"] === "workspace:*") {
40733
- const sdkPath = import_node_path7.default.join(pkgRoot, "packages", "sdk");
40734
- deps["@sail/sdk"] = import_node_fs8.default.existsSync(sdkPath) ? `file:${sdkPath}` : (
40735
- // Fallback: SDK not bundled — user must install it manually.
40736
- "0.1.0"
40737
- );
40738
- }
40739
- pkg.dependencies = deps;
40704
+ const devDeps = pkg.devDependencies ?? {};
40705
+ devDeps["@sail.money/sailor"] = `^${cliVersion()}`;
40706
+ pkg.devDependencies = devDeps;
40740
40707
  import_node_fs8.default.writeFileSync(pkgPath, `${JSON.stringify(pkg, null, 2)}
40741
40708
  `);
40742
40709
  }
40710
+ const tsconfigPath = import_node_path7.default.join(dest, "tsconfig.json");
40711
+ if (import_node_fs8.default.existsSync(tsconfigPath)) {
40712
+ const tsconfig = JSON.parse(import_node_fs8.default.readFileSync(tsconfigPath, "utf-8"));
40713
+ const co = tsconfig.compilerOptions;
40714
+ if (co && "paths" in co) {
40715
+ delete co.paths;
40716
+ delete co.baseUrl;
40717
+ import_node_fs8.default.writeFileSync(tsconfigPath, `${JSON.stringify(tsconfig, null, 2)}
40718
+ `);
40719
+ }
40720
+ }
40743
40721
  scaffoldProjectWorkspace(dest, name, options);
40744
40722
  scaffoldFoundryWorkspace(dest);
40745
40723
  printWelcome(
@@ -40885,7 +40863,7 @@ async function keysGenerate() {
40885
40863
  }
40886
40864
  const keyring = LocalKeyring.generate();
40887
40865
  const keystore = await keyring.exportKeystore(password);
40888
- writeJsonFile(keyPath(role), keystore, 384);
40866
+ writeJsonFile(keyPath(role), keystore);
40889
40867
  const label = role === "manager" ? "Agent wallet" : "Mandate signer";
40890
40868
  console.log(`
40891
40869
  ${label} key saved. Address: ${checksum4(keyring.address)}`);
@@ -40895,7 +40873,16 @@ ${label} key saved. Address: ${checksum4(keyring.address)}`);
40895
40873
  "\nSave passphrase to .sail/.env.local for non-interactive use? (required for CI/GitHub Actions)"
40896
40874
  );
40897
40875
  if (save) {
40898
- persistPassphrase(sailPath(".env.local"), password);
40876
+ const envPath = sailPath(".env.local");
40877
+ let content = "";
40878
+ if (import_node_fs9.default.existsSync(envPath)) {
40879
+ content = import_node_fs9.default.readFileSync(envPath, "utf-8");
40880
+ content = content.replace(/^SAIL_PASSPHRASE=.*\n?/m, "");
40881
+ }
40882
+ content = content.trimEnd() + (content.length > 0 ? "\n" : "") + `SAIL_PASSPHRASE=${password}
40883
+ `;
40884
+ import_node_fs9.default.mkdirSync(import_node_path8.default.dirname(envPath), { recursive: true });
40885
+ import_node_fs9.default.writeFileSync(envPath, content, { mode: 384 });
40899
40886
  console.log("\u2713 SAIL_PASSPHRASE saved to .sail/.env.local (mode 0600)");
40900
40887
  console.log(" sailor run will now work non-interactively.");
40901
40888
  } else {
@@ -43299,15 +43286,15 @@ ensure the agent that signs dispatches holds this key.`
43299
43286
  if (fileExists(target)) {
43300
43287
  const backup = `${target}.${Date.now()}.bak`;
43301
43288
  const existing = readJsonFile(target);
43302
- if (existing) writeJsonFile(backup, existing, 384);
43289
+ if (existing) writeJsonFile(backup, existing);
43303
43290
  say(() => console.log(` Backed up the old agent keystore \u2192 ${backup}`));
43304
43291
  }
43305
43292
  const keyring = LocalKeyring.generate();
43306
43293
  const keystore = await keyring.exportKeystore(password);
43307
- writeJsonFile(target, keystore, 384);
43294
+ writeJsonFile(target, keystore);
43308
43295
  const perManagerPath = managerKeystorePath(keyring.address);
43309
43296
  (0, import_node_fs13.mkdirSync)(sailPath("keys", "managers"), { recursive: true });
43310
- writeJsonFile(perManagerPath, keystore, 384);
43297
+ writeJsonFile(perManagerPath, keystore);
43311
43298
  say(
43312
43299
  () => console.log(
43313
43300
  ` New agent wallet: ${checksum4(keyring.address)} (keystore at .sail/keys/manager.json)`
@@ -43323,11 +43310,11 @@ function promoteManagerKeystore(newManager, say) {
43323
43310
  const displaced = readJsonFile(activeTarget);
43324
43311
  if (displaced?.address) {
43325
43312
  const snapshotPath = managerKeystorePath(displaced.address);
43326
- if (readJsonFile(snapshotPath) === null) writeJsonFile(snapshotPath, displaced, 384);
43313
+ if (readJsonFile(snapshotPath) === null) writeJsonFile(snapshotPath, displaced);
43327
43314
  } else if (displaced) {
43328
- writeJsonFile(`${activeTarget}.${Date.now()}.bak`, displaced, 384);
43315
+ writeJsonFile(`${activeTarget}.${Date.now()}.bak`, displaced);
43329
43316
  }
43330
- writeJsonFile(activeTarget, stored, 384);
43317
+ writeJsonFile(activeTarget, stored);
43331
43318
  say(
43332
43319
  () => console.log(` Agent wallet keystore for ${newManager} is now active (.sail/keys/manager.json).`)
43333
43320
  );
@@ -44354,7 +44341,7 @@ function uiStop() {
44354
44341
  }
44355
44342
 
44356
44343
  // src/index.ts
44357
- function cliVersion() {
44344
+ function cliVersion2() {
44358
44345
  try {
44359
44346
  const pkg = JSON.parse((0, import_node_fs18.readFileSync)((0, import_node_path14.join)(packageRoot(), "package.json"), "utf-8"));
44360
44347
  return pkg.version ?? "0.0.0";
@@ -44363,7 +44350,7 @@ function cliVersion() {
44363
44350
  }
44364
44351
  }
44365
44352
  var program2 = new Command();
44366
- program2.name("sailor").description("Operator toolkit for Sail Protocol").version(cliVersion());
44353
+ program2.name("sailor").description("Operator toolkit for Sail Protocol").version(cliVersion2());
44367
44354
  function action(fn) {
44368
44355
  return async () => {
44369
44356
  try {
@@ -48753,18 +48753,6 @@ function parseEnvFile(file) {
48753
48753
  }
48754
48754
  return out;
48755
48755
  }
48756
- function persistPassphrase(envPath, passphrase) {
48757
- let content = "";
48758
- if (import_node_fs2.default.existsSync(envPath)) {
48759
- content = import_node_fs2.default.readFileSync(envPath, "utf-8").replace(/^SAIL_PASSPHRASE=.*\n?/m, "");
48760
- }
48761
- const trimmed = content.trimEnd();
48762
- content = `${trimmed}${trimmed.length > 0 ? "\n" : ""}SAIL_PASSPHRASE=${passphrase}
48763
- `;
48764
- import_node_fs2.default.mkdirSync(import_node_path.default.dirname(envPath), { recursive: true });
48765
- import_node_fs2.default.writeFileSync(envPath, content, { mode: 384 });
48766
- import_node_fs2.default.chmodSync(envPath, 384);
48767
- }
48768
48756
  var CHAIN_NAMES = {
48769
48757
  1: "ethereum",
48770
48758
  10: "optimism",
@@ -49149,9 +49137,7 @@ function startServer(sailDir, { port = PORT } = {}) {
49149
49137
  const keystore = await keyring.exportKeystore(password);
49150
49138
  import_node_fs2.default.mkdirSync(at("keys"), { recursive: true });
49151
49139
  import_node_fs2.default.writeFileSync(managerKeyPath(safe), `${JSON.stringify(keystore, null, 2)}
49152
- `, { mode: 384 });
49153
- import_node_fs2.default.chmodSync(managerKeyPath(safe), 384);
49154
- persistPassphrase(at(".env.local"), password);
49140
+ `);
49155
49141
  try {
49156
49142
  const ev = { ts: (/* @__PURE__ */ new Date()).toISOString(), actor: "owner", type: "signer_created", method, address: keyring.address, safe };
49157
49143
  import_node_fs2.default.appendFileSync(at("activity.jsonl"), `${JSON.stringify(ev)}
@@ -49588,8 +49574,7 @@ function startServer(sailDir, { port = PORT } = {}) {
49588
49574
  if (chainId) existing.CHAIN_ID = String(chainId);
49589
49575
  const content = Object.entries(existing).map(([k, v]) => `${k}=${v}`).join("\n") + "\n";
49590
49576
  import_node_fs2.default.mkdirSync(sailDir, { recursive: true });
49591
- import_node_fs2.default.writeFileSync(envPath, content, { mode: 384 });
49592
- import_node_fs2.default.chmodSync(envPath, 384);
49577
+ import_node_fs2.default.writeFileSync(envPath, content);
49593
49578
  res.json({ ok: true });
49594
49579
  } catch (err) {
49595
49580
  res.status(500).json({ error: String(err) });
@@ -49612,9 +49597,7 @@ function startServer(sailDir, { port = PORT } = {}) {
49612
49597
  const keystore = await keyring.exportKeystore(passphrase);
49613
49598
  import_node_fs2.default.mkdirSync(at("keys"), { recursive: true });
49614
49599
  import_node_fs2.default.writeFileSync(managerKeyPath2, `${JSON.stringify(keystore, null, 2)}
49615
- `, { mode: 384 });
49616
- import_node_fs2.default.chmodSync(managerKeyPath2, 384);
49617
- persistPassphrase(at(".env.local"), passphrase);
49600
+ `);
49618
49601
  res.json({ address: keyring.address, existed: false });
49619
49602
  } catch (err) {
49620
49603
  res.status(500).json({ error: String(err) });
@@ -5,7 +5,7 @@
5
5
  * Do not edit manually — run `pnpm build` to regenerate.
6
6
  *
7
7
  * Spec version : 1.2.0
8
- * Generated at : 2026-06-15T16:52:27.363Z
8
+ * Generated at : 2026-06-15T17:06:50.980Z
9
9
  */
10
10
  export declare const SAIL_INTELLIGENCE_BASE_URL = "https://api.sail.money";
11
11
  export declare const SAIL_INTELLIGENCE_DOCS_URL = "https://api.sail.money/docs";
@@ -5,7 +5,7 @@
5
5
  * Do not edit manually — run `pnpm build` to regenerate.
6
6
  *
7
7
  * Spec version : 1.2.0
8
- * Generated at : 2026-06-15T16:52:27.363Z
8
+ * Generated at : 2026-06-15T17:06:50.980Z
9
9
  */
10
10
  export const SAIL_INTELLIGENCE_BASE_URL = "https://api.sail.money";
11
11
  export const SAIL_INTELLIGENCE_DOCS_URL = "https://api.sail.money/docs";
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const d=o`<svg
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const d=o`<svg
2
2
  width="14"
3
3
  height="14"
4
4
  viewBox="0 0 14 14"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 24 24">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 24 24">
2
2
  <path
3
3
  style="fill: var(--wui-color-accent-100);"
4
4
  d="M10.2 6.6a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0ZM21 6.6a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0ZM10.2 17.4a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0ZM21 17.4a3.6 3.6 0 1 1-7.2 0 3.6 3.6 0 0 1 7.2 0Z"
@@ -1,4 +1,4 @@
1
- import{F as t}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const e=t`
1
+ import{F as t}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const e=t`
2
2
  <svg width="36" height="36">
3
3
  <path
4
4
  d="M28.724 0H7.271A7.269 7.269 0 0 0 0 7.272v21.46A7.268 7.268 0 0 0 7.271 36H28.73A7.272 7.272 0 0 0 36 28.728V7.272A7.275 7.275 0 0 0 28.724 0Z"
@@ -1,4 +1,4 @@
1
- import{F as i}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const h=i`<svg fill="none" viewBox="0 0 40 40">
1
+ import{F as i}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const h=i`<svg fill="none" viewBox="0 0 40 40">
2
2
  <g clip-path="url(#a)">
3
3
  <g clip-path="url(#b)">
4
4
  <circle cx="20" cy="19.89" r="20" fill="#000" />
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 14 15">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 14 15">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const t=o`<svg
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const t=o`<svg
2
2
  fill="none"
3
3
  viewBox="0 0 21 20"
4
4
  >
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const a=o`<svg fill="none" viewBox="0 0 14 15">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const a=o`<svg fill="none" viewBox="0 0 14 15">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 14 15">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 14 15">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const t=o`<svg fill="none" viewBox="0 0 14 15">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const t=o`<svg fill="none" viewBox="0 0 14 15">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const H=o`<svg
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const H=o`<svg
2
2
  xmlns="http://www.w3.org/2000/svg"
3
3
  width="12"
4
4
  height="13"
@@ -1,4 +1,4 @@
1
- import{u as P,s as M,y as A,v as I,p as c,g as L,c as T,O as Y,l as E,m as J,R as O,h as ke,e as D,f as S,o as ft,j as Hi,W as gt,C as jt,d as si,T as kt,n as Qe,M as vi,k as yi,F as Ae,A as li,q as Ki}from"./core-Cp3xGXA6.js";import{n as u,c as C,o as y,r as v,U as se,e as Gi,f as Yi,a as Ji}from"./index-C_eqUkeY.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const Qi=P`
1
+ import{u as P,s as M,y as A,v as I,p as c,g as L,c as T,O as Y,l as E,m as J,R as O,h as ke,e as D,f as S,o as ft,j as Hi,W as gt,C as jt,d as si,T as kt,n as Qe,M as vi,k as yi,F as Ae,A as li,q as Ki}from"./core-BzIB7-vh.js";import{n as u,c as C,o as y,r as v,U as se,e as Gi,f as Yi,a as Ji}from"./index-CHdC1RP1.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const Qi=P`
2
2
  :host {
3
3
  position: relative;
4
4
  background-color: var(--wui-color-gray-glass-002);
@@ -1,4 +1,4 @@
1
- import{F as l}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const i=l`<svg fill="none" viewBox="0 0 20 20">
1
+ import{F as l}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const i=l`<svg fill="none" viewBox="0 0 20 20">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as C}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const l=C`<svg
1
+ import{F as C}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const l=C`<svg
2
2
  xmlns="http://www.w3.org/2000/svg"
3
3
  width="12"
4
4
  height="13"
@@ -1 +1 @@
1
- import{B as u,cY as p,fP as k,c0 as x,de as M,dl as S,dk as $,bK as A,bR as T,cd as C,cJ as w,dc as E,a0 as b,dg as G}from"./index-vPyTb3MD.js";class D extends u{constructor({callbackSelector:a,cause:t,data:f,extraData:e,sender:d,urls:i}){var o;super(t.shortMessage||"An error occurred while fetching for an offchain result.",{cause:t,metaMessages:[...t.metaMessages||[],(o=t.metaMessages)!=null&&o.length?"":[],"Offchain Gateway Call:",i&&[" Gateway URL(s):",...i.map(n=>` ${p(n)}`)],` Sender: ${d}`,` Data: ${f}`,` Callback selector: ${a}`,` Extra data: ${e}`].flat(),name:"OffchainLookupError"})}}class P extends u{constructor({result:a,url:t}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${p(t)}`,`Response: ${k(a)}`],name:"OffchainLookupResponseMalformedError"})}}class B extends u{constructor({sender:a,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${a}`],name:"OffchainLookupSenderMismatchError"})}}const H="0x556f1830",U={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function J(c,{blockNumber:a,blockTag:t,data:f,requestOptions:e,to:d}){var s;const{args:i}=x({data:f,abi:[U]}),[o,n,l,g,y]=i,{ccipRead:h}=c,r=h&&typeof(h==null?void 0:h.request)=="function"?h.request:j;try{if(!M(d,o))throw new B({sender:o,to:d});const m=n.includes(S)?await $({data:l,ccipRequest:R=>r({...R,requestOptions:e})}):await r({data:l,requestOptions:e,sender:o,urls:n}),{data:L}=await A(c,{blockNumber:a,blockTag:t,data:T([g,C([{type:"bytes"},{type:"bytes"}],[m,y])]),requestOptions:e,to:d});return L}catch(m){throw(s=e==null?void 0:e.signal)!=null&&s.aborted?w(e.signal):E(m)?m:new D({callbackSelector:g,cause:m,data:f,extraData:y,sender:o,urls:n})}}async function j({data:c,requestOptions:a,sender:t,urls:f}){var d,i,o;let e=new Error("An unknown error occurred.");for(let n=0;n<f.length;n++){if((d=a==null?void 0:a.signal)!=null&&d.aborted)throw w(a.signal);const l=f[n],g=l.includes("{data}")?"GET":"POST",y=g==="POST"?{data:c,sender:t}:void 0,h=g==="POST"?{"Content-Type":"application/json"}:{};try{const r=await fetch(l.replace("{sender}",t.toLowerCase()).replace("{data}",c),{body:JSON.stringify(y),headers:h,method:g,...a!=null&&a.signal?{signal:a.signal}:{}});let s;if((i=r.headers.get("Content-Type"))!=null&&i.startsWith("application/json")?s=(await r.json()).data:s=await r.text(),!r.ok){e=new b({body:y,details:s!=null&&s.error?k(s.error):r.statusText,headers:r.headers,status:r.status,url:l});continue}if(!G(s)){e=new P({result:s,url:l});continue}return s}catch(r){if((o=a==null?void 0:a.signal)!=null&&o.aborted)throw w(a.signal);if(E(r))throw r;e=new b({body:y,details:r.message,url:l})}}throw e}export{j as ccipRequest,J as offchainLookup,U as offchainLookupAbiItem,H as offchainLookupSignature};
1
+ import{B as u,cY as p,fP as k,c0 as x,de as M,dl as S,dk as $,bK as A,bR as T,cd as C,cJ as w,dc as E,a0 as b,dg as G}from"./index-H2WA2taB.js";class D extends u{constructor({callbackSelector:a,cause:t,data:f,extraData:e,sender:d,urls:i}){var o;super(t.shortMessage||"An error occurred while fetching for an offchain result.",{cause:t,metaMessages:[...t.metaMessages||[],(o=t.metaMessages)!=null&&o.length?"":[],"Offchain Gateway Call:",i&&[" Gateway URL(s):",...i.map(n=>` ${p(n)}`)],` Sender: ${d}`,` Data: ${f}`,` Callback selector: ${a}`,` Extra data: ${e}`].flat(),name:"OffchainLookupError"})}}class P extends u{constructor({result:a,url:t}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${p(t)}`,`Response: ${k(a)}`],name:"OffchainLookupResponseMalformedError"})}}class B extends u{constructor({sender:a,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${a}`],name:"OffchainLookupSenderMismatchError"})}}const H="0x556f1830",U={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function J(c,{blockNumber:a,blockTag:t,data:f,requestOptions:e,to:d}){var s;const{args:i}=x({data:f,abi:[U]}),[o,n,l,g,y]=i,{ccipRead:h}=c,r=h&&typeof(h==null?void 0:h.request)=="function"?h.request:j;try{if(!M(d,o))throw new B({sender:o,to:d});const m=n.includes(S)?await $({data:l,ccipRequest:R=>r({...R,requestOptions:e})}):await r({data:l,requestOptions:e,sender:o,urls:n}),{data:L}=await A(c,{blockNumber:a,blockTag:t,data:T([g,C([{type:"bytes"},{type:"bytes"}],[m,y])]),requestOptions:e,to:d});return L}catch(m){throw(s=e==null?void 0:e.signal)!=null&&s.aborted?w(e.signal):E(m)?m:new D({callbackSelector:g,cause:m,data:f,extraData:y,sender:o,urls:n})}}async function j({data:c,requestOptions:a,sender:t,urls:f}){var d,i,o;let e=new Error("An unknown error occurred.");for(let n=0;n<f.length;n++){if((d=a==null?void 0:a.signal)!=null&&d.aborted)throw w(a.signal);const l=f[n],g=l.includes("{data}")?"GET":"POST",y=g==="POST"?{data:c,sender:t}:void 0,h=g==="POST"?{"Content-Type":"application/json"}:{};try{const r=await fetch(l.replace("{sender}",t.toLowerCase()).replace("{data}",c),{body:JSON.stringify(y),headers:h,method:g,...a!=null&&a.signal?{signal:a.signal}:{}});let s;if((i=r.headers.get("Content-Type"))!=null&&i.startsWith("application/json")?s=(await r.json()).data:s=await r.text(),!r.ok){e=new b({body:y,details:s!=null&&s.error?k(s.error):r.statusText,headers:r.headers,status:r.status,url:l});continue}if(!G(s)){e=new P({result:s,url:l});continue}return s}catch(r){if((o=a==null?void 0:a.signal)!=null&&o.aborted)throw w(a.signal);if(E(r))throw r;e=new b({body:y,details:r.message,url:l})}}throw e}export{j as ccipRequest,J as offchainLookup,U as offchainLookupAbiItem,H as offchainLookupSignature};
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg
2
2
  width="28"
3
3
  height="28"
4
4
  viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 14 14">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 14 14">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const t=o`<svg fill="none" viewBox="0 0 16 16">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const t=o`<svg fill="none" viewBox="0 0 16 16">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as t}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const l=t`<svg width="36" height="36" fill="none">
1
+ import{F as t}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const l=t`<svg width="36" height="36" fill="none">
2
2
  <path
3
3
  fill="#fff"
4
4
  fill-opacity=".05"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const t=o`<svg width="14" height="14" viewBox="0 0 14 14" fill="none">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const t=o`<svg width="14" height="14" viewBox="0 0 14 14" fill="none">
2
2
  <path
3
3
  fill-rule="evenodd"
4
4
  clip-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const m=o`<svg fill="none" viewBox="0 0 20 20">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const m=o`<svg fill="none" viewBox="0 0 20 20">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as o}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
1
+ import{F as o}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const p=o`<svg fill="none" viewBox="0 0 16 16">
2
2
  <path
3
3
  fill="currentColor"
4
4
  fill-rule="evenodd"
@@ -1,4 +1,4 @@
1
- import{F as C}from"./core-Cp3xGXA6.js";import"./index-vPyTb3MD.js";import"./events-BRxyYKwO.js";import"./index.es-r4dwiXlA.js";import"./fallback-DAe2x1wz.js";const e=C`<svg
1
+ import{F as C}from"./core-BzIB7-vh.js";import"./index-H2WA2taB.js";import"./events-jqbAbVlK.js";import"./index.es-Bhx_uNt5.js";import"./fallback-CLs3NgaE.js";const e=C`<svg
2
2
  xmlns="http://www.w3.org/2000/svg"
3
3
  width="16"
4
4
  height="16"