@dev.sail.money/sailor 1.3.0-224 → 1.3.0-225

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 (133) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/index.cjs +694 -133
  3. package/packages/cli/dist/server.cjs +15884 -17950
  4. package/packages/sdk/dist/abis/ConfigurablePermission.d.ts +130 -0
  5. package/packages/sdk/dist/abis/ConfigurablePermission.d.ts.map +1 -0
  6. package/packages/sdk/dist/abis/ConfigurablePermission.js +79 -0
  7. package/packages/sdk/dist/abis/ConfigurablePermission.js.map +1 -0
  8. package/packages/sdk/dist/abis/index.d.ts +1 -0
  9. package/packages/sdk/dist/abis/index.d.ts.map +1 -1
  10. package/packages/sdk/dist/abis/index.js +1 -0
  11. package/packages/sdk/dist/abis/index.js.map +1 -1
  12. package/packages/sdk/dist/index.d.ts +1 -0
  13. package/packages/sdk/dist/index.d.ts.map +1 -1
  14. package/packages/sdk/dist/index.js +1 -0
  15. package/packages/sdk/dist/index.js.map +1 -1
  16. package/packages/sdk/dist/intelligence.d.ts +1 -1
  17. package/packages/sdk/dist/intelligence.js +1 -1
  18. package/packages/ui/dist/assets/{add-HBssdE_q.js → add-QIu9SGBU.js} +1 -1
  19. package/packages/ui/dist/assets/{all-wallets-kgnKzcam.js → all-wallets-2auxp9E5.js} +1 -1
  20. package/packages/ui/dist/assets/{app-store-C7gfCF4e.js → app-store-BVtVvk-F.js} +1 -1
  21. package/packages/ui/dist/assets/{apple-DmsD7XsU.js → apple-Dq7Ppvqv.js} +1 -1
  22. package/packages/ui/dist/assets/{arrow-bottom-B3CywkhY.js → arrow-bottom-DpT3R4Rr.js} +1 -1
  23. package/packages/ui/dist/assets/{arrow-bottom-circle-Cl21xaXp.js → arrow-bottom-circle-hkf9bWhW.js} +1 -1
  24. package/packages/ui/dist/assets/{arrow-left-Bp_pqRAk.js → arrow-left-3PhiE4SD.js} +1 -1
  25. package/packages/ui/dist/assets/{arrow-right-CRK93G5I.js → arrow-right-DUIXJHib.js} +1 -1
  26. package/packages/ui/dist/assets/{arrow-top-DyDJtPkJ.js → arrow-top-Cf--02la.js} +1 -1
  27. package/packages/ui/dist/assets/{bank-BthuR5Ky.js → bank-CkRSSgJy.js} +1 -1
  28. package/packages/ui/dist/assets/{basic-BSdElBI1.js → basic-D9puI79I.js} +1 -1
  29. package/packages/ui/dist/assets/{browser-BMfpXAJE.js → browser-BC8qo0Bh.js} +1 -1
  30. package/packages/ui/dist/assets/{card-BEvVqDzc.js → card-BYuGTxNc.js} +1 -1
  31. package/packages/ui/dist/assets/{ccip-BALQiE-q.js → ccip-BS_rjbk9.js} +1 -1
  32. package/packages/ui/dist/assets/{checkmark-BqYZHVCR.js → checkmark-C-MZeapS.js} +1 -1
  33. package/packages/ui/dist/assets/{checkmark-bold-DjNGbayE.js → checkmark-bold-Bs3hadsW.js} +1 -1
  34. package/packages/ui/dist/assets/{chevron-bottom-BEHbtNKD.js → chevron-bottom-C8mqtkD4.js} +1 -1
  35. package/packages/ui/dist/assets/{chevron-left-C__dvO-Z.js → chevron-left-Dxj-vVDJ.js} +1 -1
  36. package/packages/ui/dist/assets/{chevron-right-9abfT5a8.js → chevron-right-BoIrOTtL.js} +1 -1
  37. package/packages/ui/dist/assets/{chevron-top-B2VeyvGH.js → chevron-top-BlgziB_P.js} +1 -1
  38. package/packages/ui/dist/assets/{chrome-store-bPC0PXv4.js → chrome-store-sDKm_6es.js} +1 -1
  39. package/packages/ui/dist/assets/{clock-BolGF8wp.js → clock-BwfFymxk.js} +1 -1
  40. package/packages/ui/dist/assets/{close-Bo18lqFQ.js → close-BewD5_E0.js} +1 -1
  41. package/packages/ui/dist/assets/{coinPlaceholder-Bz-0VLbz.js → coinPlaceholder-DRPvf0NA.js} +1 -1
  42. package/packages/ui/dist/assets/{compass-CKKiFCLR.js → compass-BHPvd2dw.js} +1 -1
  43. package/packages/ui/dist/assets/{copy-CYIav_IY.js → copy-BMv4Y3KF.js} +1 -1
  44. package/packages/ui/dist/assets/{core-8m_0OoS0.js → core-BMNH6XFj.js} +3 -3
  45. package/packages/ui/dist/assets/cursor-ir0cjMUl.js +3 -0
  46. package/packages/ui/dist/assets/{cursor-transparent-DE9tExWo.js → cursor-transparent-DT8YBqHU.js} +1 -1
  47. package/packages/ui/dist/assets/{desktop-CWNluv_t.js → desktop-BeePUUqi.js} +1 -1
  48. package/packages/ui/dist/assets/{disconnect-Db6qWs6T.js → disconnect-C2qT29qY.js} +1 -1
  49. package/packages/ui/dist/assets/{discord-Cj6mVoBK.js → discord-I4ToELfU.js} +1 -1
  50. package/packages/ui/dist/assets/{etherscan-CCFLsPvo.js → etherscan-3psXC5Ef.js} +1 -1
  51. package/packages/ui/dist/assets/{events-BGQ3xBjc.js → events-Cdt6abbf.js} +1 -1
  52. package/packages/ui/dist/assets/{exclamation-triangle-DJWx46rU.js → exclamation-triangle-BCaWksGJ.js} +1 -1
  53. package/packages/ui/dist/assets/{extension-BtaF8Z9u.js → extension-DfYavvbY.js} +1 -1
  54. package/packages/ui/dist/assets/{external-link-5wYZl3Lh.js → external-link-B8uBskz7.js} +1 -1
  55. package/packages/ui/dist/assets/{facebook-BoGz1nMk.js → facebook-BSvrXy3w.js} +1 -1
  56. package/packages/ui/dist/assets/{fallback-B2d-ODZG.js → fallback-BSMYROva.js} +1 -1
  57. package/packages/ui/dist/assets/{farcaster-AsPTw3iB.js → farcaster-CcAuzEDi.js} +1 -1
  58. package/packages/ui/dist/assets/{filters-D1-1MQtc.js → filters-umCx-UFU.js} +1 -1
  59. package/packages/ui/dist/assets/{github-B1FrwkiF.js → github-CBNoBl67.js} +1 -1
  60. package/packages/ui/dist/assets/{google-DnrnTDFz.js → google-yyR1jNOC.js} +1 -1
  61. package/packages/ui/dist/assets/{help-circle-CI10dCJN.js → help-circle-C0WjKnIM.js} +1 -1
  62. package/packages/ui/dist/assets/{id-B627Euj0.js → id-BwIK6e_N.js} +1 -1
  63. package/packages/ui/dist/assets/{image-3O2KHUgY.js → image-D5oAo1Te.js} +1 -1
  64. package/packages/ui/dist/assets/{index-CgsvP_iE.js → index-B_Gc8xPp.js} +1 -1
  65. package/packages/ui/dist/assets/{index-DDe72Fsi.js → index-BaEe036r.js} +1 -1
  66. package/packages/ui/dist/assets/{index-DKCg39xU.js → index-BuqyrXYX.js} +1 -1
  67. package/packages/ui/dist/assets/index-CPrhuDfP.js +1782 -0
  68. package/packages/ui/dist/assets/{index-DhVzwxqf.js → index-DCWU1RuS.js} +1 -1
  69. package/packages/ui/dist/assets/{index-CeZ-3oZK.js → index-DMNSiu42.js} +3 -3
  70. package/packages/ui/dist/assets/{index.es-ClarUTak.js → index.es-DImsg59a.js} +4 -4
  71. package/packages/ui/dist/assets/{info-CMmDZSrf.js → info-CtcvKk8x.js} +1 -1
  72. package/packages/ui/dist/assets/{info-circle-ChsNDy1e.js → info-circle-BIm6XYyt.js} +1 -1
  73. package/packages/ui/dist/assets/{lightbulb-DDlT2eHQ.js → lightbulb-CMj21RIi.js} +1 -1
  74. package/packages/ui/dist/assets/{mail-DyTAk3JR.js → mail-C805tcaU.js} +1 -1
  75. package/packages/ui/dist/assets/{metamask-sdk-CoU-3z33.js → metamask-sdk-DDk4vkrl.js} +1 -1
  76. package/packages/ui/dist/assets/{mobile-B1ZTQh8S.js → mobile-BEii3NyZ.js} +1 -1
  77. package/packages/ui/dist/assets/{more-BNIrTkTn.js → more-RSnRt81X.js} +1 -1
  78. package/packages/ui/dist/assets/{network-placeholder-BRBk5JfG.js → network-placeholder-s9JaqzCQ.js} +1 -1
  79. package/packages/ui/dist/assets/{nftPlaceholder-xtnGz2yb.js → nftPlaceholder-Ccur2yVc.js} +1 -1
  80. package/packages/ui/dist/assets/{off-BfgRQBAE.js → off-DUtG4rlI.js} +1 -1
  81. package/packages/ui/dist/assets/{parseSignature-DPmCI80m.js → parseSignature-BbS8pxpB.js} +1 -1
  82. package/packages/ui/dist/assets/{play-store-BFjPDZvv.js → play-store-Bt2HvO3e.js} +1 -1
  83. package/packages/ui/dist/assets/{plus-C3dNKGgI.js → plus-BtEzQu0h.js} +1 -1
  84. package/packages/ui/dist/assets/{qr-code-BovNFnu8.js → qr-code-xbQZ-Nio.js} +1 -1
  85. package/packages/ui/dist/assets/{recycle-horizontal-DdcYEE6i.js → recycle-horizontal-d9pzE6vq.js} +1 -1
  86. package/packages/ui/dist/assets/{refresh-P6W_osB6.js → refresh-B3-2Sch0.js} +1 -1
  87. package/packages/ui/dist/assets/{reown-logo-DbesEx7U.js → reown-logo-DBkmQAX8.js} +1 -1
  88. package/packages/ui/dist/assets/{search-DMB73W4z.js → search-dgDA8Ou5.js} +1 -1
  89. package/packages/ui/dist/assets/{secp256k1-URVniZ2R.js → secp256k1-C4g4FCze.js} +1 -1
  90. package/packages/ui/dist/assets/{send-BUsSvitv.js → send-CEDXr4l7.js} +1 -1
  91. package/packages/ui/dist/assets/{swapHorizontal-CjaXc-eY.js → swapHorizontal-Co6_f8oH.js} +1 -1
  92. package/packages/ui/dist/assets/{swapHorizontalBold-DuNmGzT_.js → swapHorizontalBold-k4d22FNy.js} +1 -1
  93. package/packages/ui/dist/assets/{swapHorizontalMedium-CgZZIpJT.js → swapHorizontalMedium-Des6w_mz.js} +1 -1
  94. package/packages/ui/dist/assets/{swapHorizontalRoundedBold-BC1bVmtH.js → swapHorizontalRoundedBold-CVd4538j.js} +1 -1
  95. package/packages/ui/dist/assets/{swapVertical-PyYv49m9.js → swapVertical-Cn_eRfv8.js} +1 -1
  96. package/packages/ui/dist/assets/{telegram-DaCrUlL0.js → telegram-BE46RC0s.js} +1 -1
  97. package/packages/ui/dist/assets/{three-dots-D9tEmhOK.js → three-dots-CvqWsUWa.js} +1 -1
  98. package/packages/ui/dist/assets/{twitch-2m8_XY_5.js → twitch-9V7YXB0X.js} +1 -1
  99. package/packages/ui/dist/assets/{twitterIcon-BQ4fWtR1.js → twitterIcon-DbUxk6yk.js} +1 -1
  100. package/packages/ui/dist/assets/{verify-DJtFLNUq.js → verify-CQSnwVrh.js} +1 -1
  101. package/packages/ui/dist/assets/{verify-filled-B2cSEFoP.js → verify-filled-DG_hDTr8.js} +1 -1
  102. package/packages/ui/dist/assets/{w3m-modal-YBSDQDS1.js → w3m-modal-BsHGIrg7.js} +1 -1
  103. package/packages/ui/dist/assets/{wallet-C7Gv760P.js → wallet-lbVIReb_.js} +1 -1
  104. package/packages/ui/dist/assets/{wallet-placeholder-DtZ8_f4p.js → wallet-placeholder-C_ndmKAs.js} +1 -1
  105. package/packages/ui/dist/assets/{walletconnect-DsIIuQfT.js → walletconnect-ByDpG-E0.js} +1 -1
  106. package/packages/ui/dist/assets/{warning-circle-CTMOrGt2.js → warning-circle-hrS3II0d.js} +1 -1
  107. package/packages/ui/dist/assets/{x-BmL9CVvs.js → x-BPMn3x5J.js} +1 -1
  108. package/packages/ui/dist/index.html +1 -1
  109. package/templates/default/.agents/skills/sail-mandates/references/approvals.md +3 -3
  110. package/templates/default/.agents/skills/sail-swap-quote/SKILL.md +76 -0
  111. package/templates/default/.agents/skills/sail-template-approve-batch/SKILL.md +98 -0
  112. package/templates/default/.agents/skills/sail-template-borrow/SKILL.md +68 -0
  113. package/templates/default/.agents/skills/sail-template-deposit/SKILL.md +61 -0
  114. package/templates/default/.agents/skills/sail-template-swap/SKILL.md +207 -0
  115. package/templates/default/.agents/skills/sail-template-swap-no-oracle/SKILL.md +100 -0
  116. package/templates/default/.agents/skills/sail-template-transfer/SKILL.md +52 -0
  117. package/templates/default/.agents/skills/sail-template-withdraw/SKILL.md +50 -0
  118. package/templates/default/.agents/skills/sail-templates/SKILL.md +142 -0
  119. package/templates/default/.agents/skills/sail-templates/catalog.mjs +200 -0
  120. package/templates/default/.agents/skills/sail-templates/deployed.json +133 -0
  121. package/templates/default/.agents/skills/sail-templates/oracles/IOracle.sol +13 -0
  122. package/templates/default/.agents/skills/sail-templates/oracles/UniV3TwapOracle.sol +114 -0
  123. package/templates/default/.agents/skills/sail-templates/oracles/libs/FullMath.sol +62 -0
  124. package/templates/default/.agents/skills/sail-templates/oracles/libs/TickMath.sol +44 -0
  125. package/templates/default/.agents/skills/sail-templates/references/config-schemas.md +139 -0
  126. package/templates/default/.agents/skills/sail-templates/references/reuse-flow.md +139 -0
  127. package/templates/default/.agents/skills/sail-token-resolve/SKILL.md +174 -0
  128. package/templates/default/AGENTS.md +21 -2
  129. package/templates/default/scripts/quote-swap.mjs +211 -0
  130. package/templates/default/scripts/resolve-token.mjs +992 -0
  131. package/templates/default/scripts/shared-template-addr.mjs +110 -0
  132. package/packages/ui/dist/assets/cursor-D10zW2HG.js +0 -3
  133. package/packages/ui/dist/assets/index-ohx1EwWJ.js +0 -1789
@@ -0,0 +1,110 @@
1
+ #!/usr/bin/env node
2
+ // shared-template-addr.mjs — resolve a deployed shared-template singleton
3
+ // address for the active chain. Reads the vendored registry next to the skill
4
+ // (deployed.json) and the chain from .sail/.env.local or .sail/config.json.
5
+ //
6
+ // node scripts/shared-template-addr.mjs SwapPermission
7
+ // node scripts/shared-template-addr.mjs TransferPermission --chain base
8
+ // node scripts/shared-template-addr.mjs --list
9
+ //
10
+ // Prints the checksummed address (or "not deployed" with a non-zero exit).
11
+ // Pure JS, no dependencies.
12
+
13
+ import { existsSync, readFileSync } from "node:fs";
14
+ import { resolve as resolvePath } from "node:path";
15
+
16
+ // Mirrors the chain map in quote-swap.mjs / resolve-token.mjs so --chain accepts
17
+ // the same names those scripts do, not just a numeric id.
18
+ const CHAIN_NAME_TO_ID = {
19
+ ethereum: 1,
20
+ unichain: 130,
21
+ base: 8453,
22
+ arbitrum: 42161,
23
+ };
24
+
25
+ function resolveChainArg(raw) {
26
+ if (raw === undefined) return null;
27
+ if (/^\d+$/.test(raw)) return Number(raw);
28
+ const id = CHAIN_NAME_TO_ID[raw.toLowerCase()];
29
+ if (id === undefined) {
30
+ process.stderr.write(
31
+ `Unknown --chain "${raw}". Known names: ${Object.keys(CHAIN_NAME_TO_ID).join(", ")} (or pass a numeric chain id).\n`,
32
+ );
33
+ process.exit(1);
34
+ }
35
+ return id;
36
+ }
37
+
38
+ function readJson(p) {
39
+ return existsSync(p) ? JSON.parse(readFileSync(p, "utf8")) : null;
40
+ }
41
+
42
+ function readChain() {
43
+ // .sail/.env.local CHAIN_ID, then .sail/config.json chainId
44
+ const envPath = resolvePath(process.cwd(), ".sail", ".env.local");
45
+ if (existsSync(envPath)) {
46
+ for (const line of readFileSync(envPath, "utf8").split("\n")) {
47
+ const m = line.match(/^\s*CHAIN_ID\s*=\s*(\d+)/);
48
+ if (m) return Number(m[1]);
49
+ }
50
+ }
51
+ const cfg = readJson(resolvePath(process.cwd(), ".sail", "config.json"));
52
+ return cfg?.chainId ?? null;
53
+ }
54
+
55
+ const REGISTRY = JSON.parse(
56
+ readFileSync(
57
+ resolvePath(
58
+ resolvePath(new URL(".", import.meta.url).pathname),
59
+ "..",
60
+ ".agents",
61
+ "skills",
62
+ "sail-templates",
63
+ "deployed.json",
64
+ ),
65
+ "utf8",
66
+ ),
67
+ );
68
+
69
+ const args = process.argv.slice(2);
70
+ const list = args.includes("--list");
71
+ const name = args.find((a) => !a.startsWith("--"));
72
+ const chainFlagIdx = args.indexOf("--chain");
73
+ const chainOverride = chainFlagIdx !== -1 ? resolveChainArg(args[chainFlagIdx + 1]) : null;
74
+ const chainId = chainOverride ?? readChain();
75
+
76
+ if (list) {
77
+ process.stdout.write(
78
+ "Deployed shared templates by chain (from .agents/skills/sail-templates/deployed.json):\n",
79
+ );
80
+ for (const [cid, templates] of Object.entries(REGISTRY.chains)) {
81
+ const names = Object.keys(templates);
82
+ process.stdout.write(` chain ${cid}: ${names.length ? names.join(", ") : "(none)"}\n`);
83
+ }
84
+ process.exit(0);
85
+ }
86
+
87
+ if (!name) {
88
+ process.stderr.write(
89
+ `Usage: shared-template-addr.mjs <TemplateName> [--chain <id|${Object.keys(CHAIN_NAME_TO_ID).join("|")}>] [--list]\n`,
90
+ );
91
+ process.exit(1);
92
+ }
93
+ if (!chainId) {
94
+ process.stderr.write(
95
+ "Could not resolve chain. Pass --chain <id> or set CHAIN_ID in .sail/.env.local.\n",
96
+ );
97
+ process.exit(1);
98
+ }
99
+
100
+ const chainTemplates = REGISTRY.chains[String(chainId)] ?? {};
101
+ const addr = chainTemplates[name];
102
+ if (!addr) {
103
+ process.stderr.write(
104
+ `"${name}" is not deployed on chain ${chainId}.\n` +
105
+ `Deployed here: ${Object.keys(chainTemplates).join(", ") || "(none)"}.\n` +
106
+ `SwapPermissionNoOracle is source-only (not deployed on any chain) — use SwapPermission or author a bespoke permission.\n`,
107
+ );
108
+ process.exit(1);
109
+ }
110
+ process.stdout.write(addr + "\n");
@@ -1,3 +0,0 @@
1
- import{F as o}from"./core-8m_0OoS0.js";import"./index-ohx1EwWJ.js";import"./events-BGQ3xBjc.js";import"./index.es-ClarUTak.js";import"./fallback-B2d-ODZG.js";const l=o` <svg fill="none" viewBox="0 0 13 4">
2
- <path fill="currentColor" d="M.5 0h12L8.9 3.13a3.76 3.76 0 0 1-4.8 0L.5 0Z" />
3
- </svg>`;export{l as cursorSvg};