@dev.sail.money/sailor 0.0.2-17 → 0.0.2-19
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/README.md +28 -1
- package/package.json +1 -1
- package/packages/cli/dist/server.cjs +933 -93
- package/packages/sdk/dist/intelligence.d.ts +1 -1
- package/packages/sdk/dist/intelligence.js +1 -1
- package/packages/ui/dist/assets/Arc-VDBY7LNS-BChRXCXW.js +0 -1
- package/packages/ui/dist/assets/Brave-BRAKJXDS-mq-Xo37j.js +0 -1
- package/packages/ui/dist/assets/Browser-76IHF3Y2-BMhRaC5Z.js +0 -1
- package/packages/ui/dist/assets/Chrome-65Q5P54Y-DR9MQEVr.js +0 -1
- package/packages/ui/dist/assets/Edge-XSPUTORV-DEoZslQE.js +0 -1
- package/packages/ui/dist/assets/Firefox-AAHGJQIP-Bp_Hm04m.js +0 -1
- package/packages/ui/dist/assets/Linux-OO4TNCLJ-B0aw93n9.js +0 -1
- package/packages/ui/dist/assets/Macos-MW4AE7LN-Vvm8Drw3.js +0 -1
- package/packages/ui/dist/assets/Opera-KQZLSACL-Cwv5MDFy.js +0 -1
- package/packages/ui/dist/assets/Safari-ZPL37GXR-C4Ggg6rz.js +0 -1
- package/packages/ui/dist/assets/Windows-PPTHQER6-BlyV2p7Y.js +0 -1
- package/packages/ui/dist/assets/add-BHtIsGoW.js +0 -15
- package/packages/ui/dist/assets/all-wallets-BH8IiQp_.js +0 -6
- package/packages/ui/dist/assets/apechain-SX5YFU6N-q5qBv-mp.js +0 -1
- package/packages/ui/dist/assets/app-store-C7je0Hvt.js +0 -17
- package/packages/ui/dist/assets/apple-C24YGi7n.js +0 -18
- package/packages/ui/dist/assets/ar_AR-LIPSOZP5-BQrIDibT.js +0 -1519
- package/packages/ui/dist/assets/arbitrum-WURIBY6W-CqVkHBr5.js +0 -1
- package/packages/ui/dist/assets/arrow-bottom-NmB75e6T.js +0 -8
- package/packages/ui/dist/assets/arrow-bottom-circle-D9vkbcGm.js +0 -11
- package/packages/ui/dist/assets/arrow-left-BXX7egmu.js +0 -8
- package/packages/ui/dist/assets/arrow-right-CL5l1ER5.js +0 -8
- package/packages/ui/dist/assets/arrow-top-B3NcsHvl.js +0 -8
- package/packages/ui/dist/assets/assets-Q6ZU7ZJ5-P8HioiAD.js +0 -1
- package/packages/ui/dist/assets/avalanche-KOMJD3XY-Dsn_JPR4.js +0 -1
- package/packages/ui/dist/assets/bank-DyxCAL_C.js +0 -14
- package/packages/ui/dist/assets/base-OAXLRA4F-CoYTVIiL.js +0 -1
- package/packages/ui/dist/assets/base-QS6CYWIN-CsjdbWCf.js +0 -1
- package/packages/ui/dist/assets/basic-CnjXr1WW.js +0 -2128
- package/packages/ui/dist/assets/berachain-NJECWIVC-DumxnFvf.js +0 -1
- package/packages/ui/dist/assets/blast-V555OVXZ-BbhJh1tj.js +0 -1
- package/packages/ui/dist/assets/browser-C1sQ7PjQ.js +0 -14
- package/packages/ui/dist/assets/bsc-N647EYR2-B2nLKXWV.js +0 -1
- package/packages/ui/dist/assets/card-DUcWbZgm.js +0 -14
- package/packages/ui/dist/assets/ccip-ZC8164Ut.js +0 -1
- package/packages/ui/dist/assets/celo-GEP4TUHG-CenIBYLU.js +0 -1
- package/packages/ui/dist/assets/checkmark-BFIb0gZI.js +0 -11
- package/packages/ui/dist/assets/checkmark-bold-GxOovLvw.js +0 -8
- package/packages/ui/dist/assets/chevron-bottom-BWFm5iOO.js +0 -8
- package/packages/ui/dist/assets/chevron-left-Dw1vrfPS.js +0 -8
- package/packages/ui/dist/assets/chevron-right-Lj-4a_f7.js +0 -8
- package/packages/ui/dist/assets/chevron-top-CNtyUs8e.js +0 -8
- package/packages/ui/dist/assets/chrome-store-BFjfxT2g.js +0 -61
- package/packages/ui/dist/assets/clock-upNWT1cC.js +0 -8
- package/packages/ui/dist/assets/close-BXOvqFtp.js +0 -8
- package/packages/ui/dist/assets/coinPlaceholder-IDofua41.js +0 -8
- package/packages/ui/dist/assets/compass-Du2xGTuZ.js +0 -8
- package/packages/ui/dist/assets/connect-UA7M4XW6-IY3X6Bmr.js +0 -1
- package/packages/ui/dist/assets/copy-thfTJs3L.js +0 -15
- package/packages/ui/dist/assets/core-C8jSlwHY.js +0 -907
- package/packages/ui/dist/assets/create-FASO7PVG-D_rvSpre.js +0 -1
- package/packages/ui/dist/assets/cronos-HJPAQTAE-BEOvlOC4.js +0 -1
- package/packages/ui/dist/assets/cursor-Dc-Hxk5X.js +0 -3
- package/packages/ui/dist/assets/cursor-transparent-DGzNzXxd.js +0 -12
- package/packages/ui/dist/assets/de_DE-YE3KOFHU-BRt5ztUe.js +0 -1519
- package/packages/ui/dist/assets/degen-FQQ4XGHB-CeHTs88l.js +0 -1
- package/packages/ui/dist/assets/desktop-BozY9d6T.js +0 -9
- package/packages/ui/dist/assets/disconnect-B-oC8Fzu.js +0 -8
- package/packages/ui/dist/assets/discord-CpgvcuGY.js +0 -17
- package/packages/ui/dist/assets/es_419-7LMPU7G4-DH7rM0yQ.js +0 -1519
- package/packages/ui/dist/assets/ethereum-RGGVA4PY-SWGOlkuk.js +0 -1
- package/packages/ui/dist/assets/etherscan-DB-rL796.js +0 -6
- package/packages/ui/dist/assets/events-i9ztcj9W.js +0 -1
- package/packages/ui/dist/assets/exclamation-triangle-Ct0mzv3Y.js +0 -4
- package/packages/ui/dist/assets/extension-CubWAVae.js +0 -8
- package/packages/ui/dist/assets/external-link-CgYSHh7f.js +0 -8
- package/packages/ui/dist/assets/facebook-DI_kGikU.js +0 -26
- package/packages/ui/dist/assets/fallback-CtKplO-p.js +0 -1
- package/packages/ui/dist/assets/farcaster-PEZAXYqi.js +0 -12
- package/packages/ui/dist/assets/filters-D6NPvINV.js +0 -8
- package/packages/ui/dist/assets/flow-5FQJFCTK-CUie2reO.js +0 -1
- package/packages/ui/dist/assets/fr_FR-VBJP3ZLL-B-_ocunw.js +0 -1519
- package/packages/ui/dist/assets/github-BRk_ww3A.js +0 -18
- package/packages/ui/dist/assets/gnosis-37ZC4RBL-B137OtHZ.js +0 -1
- package/packages/ui/dist/assets/google-3tO0AiTd.js +0 -18
- package/packages/ui/dist/assets/gravity-J5YQHTYH-Bj6B0uod.js +0 -1
- package/packages/ui/dist/assets/hardhat-TX56IT5N-CV1FY-wE.js +0 -1
- package/packages/ui/dist/assets/help-circle-DtbseC_9.js +0 -12
- package/packages/ui/dist/assets/hi_IN-WBVD5XYI-D73g2UFs.js +0 -1519
- package/packages/ui/dist/assets/hyperevm-VKPAA4SA-CHwraEsx.js +0 -1
- package/packages/ui/dist/assets/id-DNQF-HQS.js +0 -12
- package/packages/ui/dist/assets/id_ID-SBYANJ7G-Cjpa4ay6.js +0 -1519
- package/packages/ui/dist/assets/image-D4l2W9gw.js +0 -4
- package/packages/ui/dist/assets/index-A8Mpr5Rm.js +0 -1
- package/packages/ui/dist/assets/index-BnYYo2S0.js +0 -16
- package/packages/ui/dist/assets/index-CKxgNxS9.css +0 -1
- package/packages/ui/dist/assets/index-D-PqJKnq.js +0 -1
- package/packages/ui/dist/assets/index-L6zhWbjO.js +0 -2103
- package/packages/ui/dist/assets/index-cl7Zazmz.js +0 -1
- package/packages/ui/dist/assets/index-vIXQ5sb2.js +0 -395
- package/packages/ui/dist/assets/index.es-BxPfiRyX.js +0 -26
- package/packages/ui/dist/assets/info-DAwJNl3r.js +0 -3
- package/packages/ui/dist/assets/info-circle-lvyXhzfD.js +0 -12
- package/packages/ui/dist/assets/ink-FZMYZWHG-62p-5IK5.js +0 -1
- package/packages/ui/dist/assets/ja_JP-ZRMWJV3I-DXbifiMm.js +0 -1519
- package/packages/ui/dist/assets/kaia-65D2U3PU-JmuLQ4gC.js +0 -1
- package/packages/ui/dist/assets/ko_KR-FR54RFUG-upinSHjQ.js +0 -1519
- package/packages/ui/dist/assets/lightbulb-BkrBfCQo.js +0 -3
- package/packages/ui/dist/assets/linea-QRMVQ5DY-DuI3vv0d.js +0 -1
- package/packages/ui/dist/assets/login-UP3DZBGS-Db_wM5oQ.js +0 -1
- package/packages/ui/dist/assets/mail-CrRh9uAx.js +0 -8
- package/packages/ui/dist/assets/manta-SI27YFEJ-CpVOKa06.js +0 -1
- package/packages/ui/dist/assets/mantle-CKIUT334-DR2WgqzU.js +0 -1
- package/packages/ui/dist/assets/metaMaskWallet-EI6MED72-D5HFOsnz.js +0 -1
- package/packages/ui/dist/assets/metamask-sdk-SH1hL_jU.js +0 -542
- package/packages/ui/dist/assets/mobile-Cq71LsIe.js +0 -9
- package/packages/ui/dist/assets/monad-4KWC6TSS-DVXSkpiz.js +0 -1
- package/packages/ui/dist/assets/more-CzCaTRQT.js +0 -11
- package/packages/ui/dist/assets/ms_MY-EZSGYYYQ-4cPLK-3L.js +0 -1519
- package/packages/ui/dist/assets/native-CJ5et6AR.js +0 -1
- package/packages/ui/dist/assets/network-placeholder-B7ilsHLj.js +0 -14
- package/packages/ui/dist/assets/nftPlaceholder-DYo4ThqR.js +0 -8
- package/packages/ui/dist/assets/off-CVXtiamx.js +0 -8
- package/packages/ui/dist/assets/optimism-HAF2GUT7-ec6Nqxs9.js +0 -1
- package/packages/ui/dist/assets/parseSignature-DDqjAA1x.js +0 -1
- package/packages/ui/dist/assets/play-store-Bxo5wDfY.js +0 -32
- package/packages/ui/dist/assets/plus-ByOmN8u0.js +0 -13
- package/packages/ui/dist/assets/polygon-WW6ZI7PM-DXlmm4L1.js +0 -1
- package/packages/ui/dist/assets/pt_BR-JQFQ3P4L-DOHfdcA2.js +0 -1519
- package/packages/ui/dist/assets/qr-code-BLcaF-bG.js +0 -6
- package/packages/ui/dist/assets/rainbowWallet-O26YNBMX-DUhYus-9.js +0 -1
- package/packages/ui/dist/assets/recycle-horizontal-R32E5-sJ.js +0 -9
- package/packages/ui/dist/assets/refresh-DV3LEAlt.js +0 -8
- package/packages/ui/dist/assets/refresh-S4T5V5GX-CwqIaaxK.js +0 -1
- package/packages/ui/dist/assets/reown-logo-CzXV-ULV.js +0 -12
- package/packages/ui/dist/assets/ronin-EMCPYXZT-N-QBHZdV.js +0 -1
- package/packages/ui/dist/assets/ru_RU-Z42UEJBP-Cvb2oWxQ.js +0 -1519
- package/packages/ui/dist/assets/safeWallet-5MNKTR5Z-D-5imDLD.js +0 -1
- package/packages/ui/dist/assets/sanko-RHQYXGM5-OX010CbN.js +0 -1
- package/packages/ui/dist/assets/scan-4UYSQ56Q-CjMz6-XC.js +0 -1
- package/packages/ui/dist/assets/scroll-5OBGQVOV-DJFECiai.js +0 -1
- package/packages/ui/dist/assets/search-C4ArXMR1.js +0 -8
- package/packages/ui/dist/assets/secp256k1-CigFWhM4.js +0 -1
- package/packages/ui/dist/assets/send-nlnStDog.js +0 -15
- package/packages/ui/dist/assets/sign-A7IJEUT5-CGsRnPrd.js +0 -1
- package/packages/ui/dist/assets/superposition-HG6MMR2Y-bRkgatRO.js +0 -1
- package/packages/ui/dist/assets/swapHorizontal-I-zOG8Yz.js +0 -8
- package/packages/ui/dist/assets/swapHorizontalBold-5VnEg1-A.js +0 -8
- package/packages/ui/dist/assets/swapHorizontalMedium-DK837_PS.js +0 -16
- package/packages/ui/dist/assets/swapHorizontalRoundedBold-EcrRbYtU.js +0 -8
- package/packages/ui/dist/assets/swapVertical--ZRk6QJu.js +0 -8
- package/packages/ui/dist/assets/telegram-DQOf_6vw.js +0 -16
- package/packages/ui/dist/assets/th_TH-4YB4VSB2-BUipNP-V.js +0 -1519
- package/packages/ui/dist/assets/three-dots-RaCioLRu.js +0 -5
- package/packages/ui/dist/assets/tr_TR-5FKHPPIO-D5jTpIm9.js +0 -1519
- package/packages/ui/dist/assets/twitch-CXMYNleq.js +0 -18
- package/packages/ui/dist/assets/twitterIcon-CafuOSTc.js +0 -6
- package/packages/ui/dist/assets/uk_UA-ZD4IBC52-DgnQrpzl.js +0 -1519
- package/packages/ui/dist/assets/unichain-C5BWO2ZY-BfguYsnu.js +0 -1
- package/packages/ui/dist/assets/verify-B5SZMJAG.js +0 -8
- package/packages/ui/dist/assets/verify-filled-BrlLx5ry.js +0 -8
- package/packages/ui/dist/assets/vi_VN-5EVRZKLY-x078672g.js +0 -1519
- package/packages/ui/dist/assets/w3m-modal-57iUR7pY.js +0 -642
- package/packages/ui/dist/assets/wallet-Fu8Tn5wK.js +0 -8
- package/packages/ui/dist/assets/wallet-placeholder-BYpbF3M_.js +0 -14
- package/packages/ui/dist/assets/walletConnectWallet-YHWKVTDY-D3lyiczV.js +0 -1
- package/packages/ui/dist/assets/walletconnect-BT9pozGB.js +0 -30
- package/packages/ui/dist/assets/warning-circle-BQ8awbZW.js +0 -12
- package/packages/ui/dist/assets/x-D21DQ5BR.js +0 -12
- package/packages/ui/dist/assets/xdc-KJ3TDBYO-DNV6zchh.js +0 -1
- package/packages/ui/dist/assets/zetachain-TLDS5IPW-Udhyw16T.js +0 -1
- package/packages/ui/dist/assets/zh_CN-4XK5YJPR-Bt6Yz5Ek.js +0 -1519
- package/packages/ui/dist/assets/zh_HK-N4YN2WSI-Cvzl1V16.js +0 -1519
- package/packages/ui/dist/assets/zh_TW-CNCRXH6Z-BNelatfN.js +0 -1519
- package/packages/ui/dist/assets/zksync-DH7HK5U4-Dt4usFw6.js +0 -1
- package/packages/ui/dist/assets/zora-FYL5H3IO-iB4wygST.js +0 -1
- package/packages/ui/dist/index.html +0 -14
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ sailor init my-agent
|
|
|
71
71
|
|
|
72
72
|
Prerequisites:
|
|
73
73
|
|
|
74
|
-
- Node.js 18+
|
|
74
|
+
- Node.js 18+
|
|
75
75
|
- A wallet (MetaMask or Rabby)
|
|
76
76
|
- An RPC URL (e.g. Alchemy free tier)
|
|
77
77
|
- A supported chain: **Base, Base Sepolia, Arbitrum, or Unichain** — verified deployments are bundled in `@sail/sdk`, no `@sail/chains` entry needed. Other chains require addresses in `@sail/chains`.
|
|
@@ -95,8 +95,12 @@ sailor doctor # kernel model + RPC reachability + gas balances
|
|
|
95
95
|
sailor ui start # open http://localhost:3333 to deploy SMA + create agent wallet
|
|
96
96
|
sailor run --once # single tick — confirm it works before automating
|
|
97
97
|
sailor run # start the agent (continuous)
|
|
98
|
+
sailor keys export-ci # copy the encrypted agent wallet to ci-keystore.json for CI commits
|
|
99
|
+
sailor mandate sign # sign a mandate — reconciles against live on-chain permissions first
|
|
98
100
|
```
|
|
99
101
|
|
|
102
|
+
`sailor run` writes reverted transactions to stderr as `reverted: <txHash> (gas used: N)`; successful dispatches are appended to `.sail/activity.jsonl`.
|
|
103
|
+
|
|
100
104
|
---
|
|
101
105
|
|
|
102
106
|
## Templates
|
|
@@ -218,6 +222,28 @@ a `RegisterPermission` EIP-712 message, then the agent submits
|
|
|
218
222
|
`--json` for headless agent use; set `SAIL_PASSPHRASE` to unlock the manager key
|
|
219
223
|
non-interactively.
|
|
220
224
|
|
|
225
|
+
`sailor mandate sign` reconciles against the live on-chain `getPermissions()` call
|
|
226
|
+
before building the mandate payload — permissions revoked on-chain are excluded even
|
|
227
|
+
if they remain in the local `.sail/state/mandates.json` (which is an append-only
|
|
228
|
+
historical record and is never modified by the reconciliation).
|
|
229
|
+
|
|
230
|
+
### GitHub Actions CI
|
|
231
|
+
|
|
232
|
+
The scaffolded `.github/workflows/agent-tick.yml` runs `sailor run --once` on a
|
|
233
|
+
cron schedule using `npm ci` (no pnpm required). Setup:
|
|
234
|
+
|
|
235
|
+
1. `sailor keys export-ci` — copies the encrypted agent wallet to `ci-keystore.json`
|
|
236
|
+
in the project root and allowlists it in `.gitignore`. The geth v3 keystore is
|
|
237
|
+
safe to commit; the raw private key is never exposed.
|
|
238
|
+
2. Commit `ci-keystore.json`, `.sail/account.json`, and `.sail/mandate.json`.
|
|
239
|
+
3. Add two repository secrets (Settings → Secrets → Actions):
|
|
240
|
+
- `SAIL_PASSPHRASE` — the passphrase that encrypts the agent wallet
|
|
241
|
+
- `RPC_URL` — your RPC endpoint
|
|
242
|
+
|
|
243
|
+
The workflow copies `ci-keystore.json` to `.sail/keys/manager.json`, then calls
|
|
244
|
+
`npx sailor run --once` with `SAIL_PASSPHRASE` set so the key is unlocked
|
|
245
|
+
non-interactively. No private key ever appears in the workflow file or in secrets.
|
|
246
|
+
|
|
221
247
|
---
|
|
222
248
|
|
|
223
249
|
## Architecture
|
|
@@ -256,6 +282,7 @@ The CLI and SDK sit between the operator and SailKernel: they build the EIP-712
|
|
|
256
282
|
- The Owner key controls the Safe and is never read by Sailor. Mandate signing requires a deliberate action by the permission signer.
|
|
257
283
|
- The manager key is encrypted on disk using geth keystore v3 (scrypt + aes-128-ctr) and is never transmitted.
|
|
258
284
|
- The session can be paused instantly via `sailor session pause` or the dashboard stop button; this does not affect Safe custody.
|
|
285
|
+
- All addresses passed to the CLI are normalized with `getAddress()` (EIP-55 checksum). Mixed-case or lowercase inputs are accepted and canonicalized before any on-chain call or state write.
|
|
259
286
|
|
|
260
287
|
---
|
|
261
288
|
|