@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.
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +694 -133
- package/packages/cli/dist/server.cjs +15884 -17950
- package/packages/sdk/dist/abis/ConfigurablePermission.d.ts +130 -0
- package/packages/sdk/dist/abis/ConfigurablePermission.d.ts.map +1 -0
- package/packages/sdk/dist/abis/ConfigurablePermission.js +79 -0
- package/packages/sdk/dist/abis/ConfigurablePermission.js.map +1 -0
- package/packages/sdk/dist/abis/index.d.ts +1 -0
- package/packages/sdk/dist/abis/index.d.ts.map +1 -1
- package/packages/sdk/dist/abis/index.js +1 -0
- package/packages/sdk/dist/abis/index.js.map +1 -1
- package/packages/sdk/dist/index.d.ts +1 -0
- package/packages/sdk/dist/index.d.ts.map +1 -1
- package/packages/sdk/dist/index.js +1 -0
- package/packages/sdk/dist/index.js.map +1 -1
- package/packages/sdk/dist/intelligence.d.ts +1 -1
- package/packages/sdk/dist/intelligence.js +1 -1
- package/packages/ui/dist/assets/{add-HBssdE_q.js → add-QIu9SGBU.js} +1 -1
- package/packages/ui/dist/assets/{all-wallets-kgnKzcam.js → all-wallets-2auxp9E5.js} +1 -1
- package/packages/ui/dist/assets/{app-store-C7gfCF4e.js → app-store-BVtVvk-F.js} +1 -1
- package/packages/ui/dist/assets/{apple-DmsD7XsU.js → apple-Dq7Ppvqv.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-B3CywkhY.js → arrow-bottom-DpT3R4Rr.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-circle-Cl21xaXp.js → arrow-bottom-circle-hkf9bWhW.js} +1 -1
- package/packages/ui/dist/assets/{arrow-left-Bp_pqRAk.js → arrow-left-3PhiE4SD.js} +1 -1
- package/packages/ui/dist/assets/{arrow-right-CRK93G5I.js → arrow-right-DUIXJHib.js} +1 -1
- package/packages/ui/dist/assets/{arrow-top-DyDJtPkJ.js → arrow-top-Cf--02la.js} +1 -1
- package/packages/ui/dist/assets/{bank-BthuR5Ky.js → bank-CkRSSgJy.js} +1 -1
- package/packages/ui/dist/assets/{basic-BSdElBI1.js → basic-D9puI79I.js} +1 -1
- package/packages/ui/dist/assets/{browser-BMfpXAJE.js → browser-BC8qo0Bh.js} +1 -1
- package/packages/ui/dist/assets/{card-BEvVqDzc.js → card-BYuGTxNc.js} +1 -1
- package/packages/ui/dist/assets/{ccip-BALQiE-q.js → ccip-BS_rjbk9.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-BqYZHVCR.js → checkmark-C-MZeapS.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-bold-DjNGbayE.js → checkmark-bold-Bs3hadsW.js} +1 -1
- package/packages/ui/dist/assets/{chevron-bottom-BEHbtNKD.js → chevron-bottom-C8mqtkD4.js} +1 -1
- package/packages/ui/dist/assets/{chevron-left-C__dvO-Z.js → chevron-left-Dxj-vVDJ.js} +1 -1
- package/packages/ui/dist/assets/{chevron-right-9abfT5a8.js → chevron-right-BoIrOTtL.js} +1 -1
- package/packages/ui/dist/assets/{chevron-top-B2VeyvGH.js → chevron-top-BlgziB_P.js} +1 -1
- package/packages/ui/dist/assets/{chrome-store-bPC0PXv4.js → chrome-store-sDKm_6es.js} +1 -1
- package/packages/ui/dist/assets/{clock-BolGF8wp.js → clock-BwfFymxk.js} +1 -1
- package/packages/ui/dist/assets/{close-Bo18lqFQ.js → close-BewD5_E0.js} +1 -1
- package/packages/ui/dist/assets/{coinPlaceholder-Bz-0VLbz.js → coinPlaceholder-DRPvf0NA.js} +1 -1
- package/packages/ui/dist/assets/{compass-CKKiFCLR.js → compass-BHPvd2dw.js} +1 -1
- package/packages/ui/dist/assets/{copy-CYIav_IY.js → copy-BMv4Y3KF.js} +1 -1
- package/packages/ui/dist/assets/{core-8m_0OoS0.js → core-BMNH6XFj.js} +3 -3
- package/packages/ui/dist/assets/cursor-ir0cjMUl.js +3 -0
- package/packages/ui/dist/assets/{cursor-transparent-DE9tExWo.js → cursor-transparent-DT8YBqHU.js} +1 -1
- package/packages/ui/dist/assets/{desktop-CWNluv_t.js → desktop-BeePUUqi.js} +1 -1
- package/packages/ui/dist/assets/{disconnect-Db6qWs6T.js → disconnect-C2qT29qY.js} +1 -1
- package/packages/ui/dist/assets/{discord-Cj6mVoBK.js → discord-I4ToELfU.js} +1 -1
- package/packages/ui/dist/assets/{etherscan-CCFLsPvo.js → etherscan-3psXC5Ef.js} +1 -1
- package/packages/ui/dist/assets/{events-BGQ3xBjc.js → events-Cdt6abbf.js} +1 -1
- package/packages/ui/dist/assets/{exclamation-triangle-DJWx46rU.js → exclamation-triangle-BCaWksGJ.js} +1 -1
- package/packages/ui/dist/assets/{extension-BtaF8Z9u.js → extension-DfYavvbY.js} +1 -1
- package/packages/ui/dist/assets/{external-link-5wYZl3Lh.js → external-link-B8uBskz7.js} +1 -1
- package/packages/ui/dist/assets/{facebook-BoGz1nMk.js → facebook-BSvrXy3w.js} +1 -1
- package/packages/ui/dist/assets/{fallback-B2d-ODZG.js → fallback-BSMYROva.js} +1 -1
- package/packages/ui/dist/assets/{farcaster-AsPTw3iB.js → farcaster-CcAuzEDi.js} +1 -1
- package/packages/ui/dist/assets/{filters-D1-1MQtc.js → filters-umCx-UFU.js} +1 -1
- package/packages/ui/dist/assets/{github-B1FrwkiF.js → github-CBNoBl67.js} +1 -1
- package/packages/ui/dist/assets/{google-DnrnTDFz.js → google-yyR1jNOC.js} +1 -1
- package/packages/ui/dist/assets/{help-circle-CI10dCJN.js → help-circle-C0WjKnIM.js} +1 -1
- package/packages/ui/dist/assets/{id-B627Euj0.js → id-BwIK6e_N.js} +1 -1
- package/packages/ui/dist/assets/{image-3O2KHUgY.js → image-D5oAo1Te.js} +1 -1
- package/packages/ui/dist/assets/{index-CgsvP_iE.js → index-B_Gc8xPp.js} +1 -1
- package/packages/ui/dist/assets/{index-DDe72Fsi.js → index-BaEe036r.js} +1 -1
- package/packages/ui/dist/assets/{index-DKCg39xU.js → index-BuqyrXYX.js} +1 -1
- package/packages/ui/dist/assets/index-CPrhuDfP.js +1782 -0
- package/packages/ui/dist/assets/{index-DhVzwxqf.js → index-DCWU1RuS.js} +1 -1
- package/packages/ui/dist/assets/{index-CeZ-3oZK.js → index-DMNSiu42.js} +3 -3
- package/packages/ui/dist/assets/{index.es-ClarUTak.js → index.es-DImsg59a.js} +4 -4
- package/packages/ui/dist/assets/{info-CMmDZSrf.js → info-CtcvKk8x.js} +1 -1
- package/packages/ui/dist/assets/{info-circle-ChsNDy1e.js → info-circle-BIm6XYyt.js} +1 -1
- package/packages/ui/dist/assets/{lightbulb-DDlT2eHQ.js → lightbulb-CMj21RIi.js} +1 -1
- package/packages/ui/dist/assets/{mail-DyTAk3JR.js → mail-C805tcaU.js} +1 -1
- package/packages/ui/dist/assets/{metamask-sdk-CoU-3z33.js → metamask-sdk-DDk4vkrl.js} +1 -1
- package/packages/ui/dist/assets/{mobile-B1ZTQh8S.js → mobile-BEii3NyZ.js} +1 -1
- package/packages/ui/dist/assets/{more-BNIrTkTn.js → more-RSnRt81X.js} +1 -1
- package/packages/ui/dist/assets/{network-placeholder-BRBk5JfG.js → network-placeholder-s9JaqzCQ.js} +1 -1
- package/packages/ui/dist/assets/{nftPlaceholder-xtnGz2yb.js → nftPlaceholder-Ccur2yVc.js} +1 -1
- package/packages/ui/dist/assets/{off-BfgRQBAE.js → off-DUtG4rlI.js} +1 -1
- package/packages/ui/dist/assets/{parseSignature-DPmCI80m.js → parseSignature-BbS8pxpB.js} +1 -1
- package/packages/ui/dist/assets/{play-store-BFjPDZvv.js → play-store-Bt2HvO3e.js} +1 -1
- package/packages/ui/dist/assets/{plus-C3dNKGgI.js → plus-BtEzQu0h.js} +1 -1
- package/packages/ui/dist/assets/{qr-code-BovNFnu8.js → qr-code-xbQZ-Nio.js} +1 -1
- package/packages/ui/dist/assets/{recycle-horizontal-DdcYEE6i.js → recycle-horizontal-d9pzE6vq.js} +1 -1
- package/packages/ui/dist/assets/{refresh-P6W_osB6.js → refresh-B3-2Sch0.js} +1 -1
- package/packages/ui/dist/assets/{reown-logo-DbesEx7U.js → reown-logo-DBkmQAX8.js} +1 -1
- package/packages/ui/dist/assets/{search-DMB73W4z.js → search-dgDA8Ou5.js} +1 -1
- package/packages/ui/dist/assets/{secp256k1-URVniZ2R.js → secp256k1-C4g4FCze.js} +1 -1
- package/packages/ui/dist/assets/{send-BUsSvitv.js → send-CEDXr4l7.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontal-CjaXc-eY.js → swapHorizontal-Co6_f8oH.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalBold-DuNmGzT_.js → swapHorizontalBold-k4d22FNy.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalMedium-CgZZIpJT.js → swapHorizontalMedium-Des6w_mz.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalRoundedBold-BC1bVmtH.js → swapHorizontalRoundedBold-CVd4538j.js} +1 -1
- package/packages/ui/dist/assets/{swapVertical-PyYv49m9.js → swapVertical-Cn_eRfv8.js} +1 -1
- package/packages/ui/dist/assets/{telegram-DaCrUlL0.js → telegram-BE46RC0s.js} +1 -1
- package/packages/ui/dist/assets/{three-dots-D9tEmhOK.js → three-dots-CvqWsUWa.js} +1 -1
- package/packages/ui/dist/assets/{twitch-2m8_XY_5.js → twitch-9V7YXB0X.js} +1 -1
- package/packages/ui/dist/assets/{twitterIcon-BQ4fWtR1.js → twitterIcon-DbUxk6yk.js} +1 -1
- package/packages/ui/dist/assets/{verify-DJtFLNUq.js → verify-CQSnwVrh.js} +1 -1
- package/packages/ui/dist/assets/{verify-filled-B2cSEFoP.js → verify-filled-DG_hDTr8.js} +1 -1
- package/packages/ui/dist/assets/{w3m-modal-YBSDQDS1.js → w3m-modal-BsHGIrg7.js} +1 -1
- package/packages/ui/dist/assets/{wallet-C7Gv760P.js → wallet-lbVIReb_.js} +1 -1
- package/packages/ui/dist/assets/{wallet-placeholder-DtZ8_f4p.js → wallet-placeholder-C_ndmKAs.js} +1 -1
- package/packages/ui/dist/assets/{walletconnect-DsIIuQfT.js → walletconnect-ByDpG-E0.js} +1 -1
- package/packages/ui/dist/assets/{warning-circle-CTMOrGt2.js → warning-circle-hrS3II0d.js} +1 -1
- package/packages/ui/dist/assets/{x-BmL9CVvs.js → x-BPMn3x5J.js} +1 -1
- package/packages/ui/dist/index.html +1 -1
- package/templates/default/.agents/skills/sail-mandates/references/approvals.md +3 -3
- package/templates/default/.agents/skills/sail-swap-quote/SKILL.md +76 -0
- package/templates/default/.agents/skills/sail-template-approve-batch/SKILL.md +98 -0
- package/templates/default/.agents/skills/sail-template-borrow/SKILL.md +68 -0
- package/templates/default/.agents/skills/sail-template-deposit/SKILL.md +61 -0
- package/templates/default/.agents/skills/sail-template-swap/SKILL.md +207 -0
- package/templates/default/.agents/skills/sail-template-swap-no-oracle/SKILL.md +100 -0
- package/templates/default/.agents/skills/sail-template-transfer/SKILL.md +52 -0
- package/templates/default/.agents/skills/sail-template-withdraw/SKILL.md +50 -0
- package/templates/default/.agents/skills/sail-templates/SKILL.md +142 -0
- package/templates/default/.agents/skills/sail-templates/catalog.mjs +200 -0
- package/templates/default/.agents/skills/sail-templates/deployed.json +133 -0
- package/templates/default/.agents/skills/sail-templates/oracles/IOracle.sol +13 -0
- package/templates/default/.agents/skills/sail-templates/oracles/UniV3TwapOracle.sol +114 -0
- package/templates/default/.agents/skills/sail-templates/oracles/libs/FullMath.sol +62 -0
- package/templates/default/.agents/skills/sail-templates/oracles/libs/TickMath.sol +44 -0
- package/templates/default/.agents/skills/sail-templates/references/config-schemas.md +139 -0
- package/templates/default/.agents/skills/sail-templates/references/reuse-flow.md +139 -0
- package/templates/default/.agents/skills/sail-token-resolve/SKILL.md +174 -0
- package/templates/default/AGENTS.md +21 -2
- package/templates/default/scripts/quote-swap.mjs +211 -0
- package/templates/default/scripts/resolve-token.mjs +992 -0
- package/templates/default/scripts/shared-template-addr.mjs +110 -0
- package/packages/ui/dist/assets/cursor-D10zW2HG.js +0 -3
- 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};
|