@dev.sail.money/sailor 1.2.1-90 → 1.2.1-92
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 +1 -1
- package/package.json +2 -1
- package/packages/cli/dist/index.cjs +239 -99
- package/packages/sdk/dist/intelligence.d.ts +1 -1
- package/packages/sdk/dist/intelligence.js +1 -1
- package/packages/ui/dist/assets/{add-R0xP2zko.js → add-DxdePWzw.js} +1 -1
- package/packages/ui/dist/assets/{all-wallets-qnzttqV_.js → all-wallets-CcDyr50U.js} +1 -1
- package/packages/ui/dist/assets/{app-store-DpKGxR0G.js → app-store-BCSHe8EN.js} +1 -1
- package/packages/ui/dist/assets/{apple-Ckb9o1LK.js → apple-Cio1eVvD.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-D1FAx-yB.js → arrow-bottom-BlzVLDUl.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-circle-BH2TcYm0.js → arrow-bottom-circle-Bi45LFFD.js} +1 -1
- package/packages/ui/dist/assets/{arrow-left-CaaYjdtV.js → arrow-left-B3VkjnnJ.js} +1 -1
- package/packages/ui/dist/assets/{arrow-right-DW-rnoD_.js → arrow-right-5DrDm6ll.js} +1 -1
- package/packages/ui/dist/assets/{arrow-top-M7CVCSnU.js → arrow-top-wcXizC-G.js} +1 -1
- package/packages/ui/dist/assets/{bank-DVbh1inT.js → bank-SqJo5jS7.js} +1 -1
- package/packages/ui/dist/assets/{basic-BWLPh793.js → basic-BgCrxFS4.js} +1 -1
- package/packages/ui/dist/assets/{browser-BW0QiXeN.js → browser-DI6l7Tng.js} +1 -1
- package/packages/ui/dist/assets/{card-BNNvJESX.js → card-DjP6FOz-.js} +1 -1
- package/packages/ui/dist/assets/{ccip-C2ivRCFf.js → ccip-CKVRZdQQ.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-FoCkBDzR.js → checkmark-CBdVh2Kg.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-bold-B7P2Bvsd.js → checkmark-bold-DvvsfN8H.js} +1 -1
- package/packages/ui/dist/assets/{chevron-bottom-DOhAc7rS.js → chevron-bottom-BBTXniKn.js} +1 -1
- package/packages/ui/dist/assets/{chevron-left-BiWf2KCl.js → chevron-left-LL7HKhOV.js} +1 -1
- package/packages/ui/dist/assets/{chevron-right-BH7i9-GZ.js → chevron-right-BT3XvCea.js} +1 -1
- package/packages/ui/dist/assets/{chevron-top-C9zp-WFB.js → chevron-top-D3lHXBcd.js} +1 -1
- package/packages/ui/dist/assets/{chrome-store-vDr9wSYG.js → chrome-store-BOzOVwkP.js} +1 -1
- package/packages/ui/dist/assets/{clock-CZlsrGmg.js → clock-JbWtGDR2.js} +1 -1
- package/packages/ui/dist/assets/{close-C7369YAf.js → close-ZT_Jiw1f.js} +1 -1
- package/packages/ui/dist/assets/{coinPlaceholder-CEONEmQj.js → coinPlaceholder-C-Csq_lw.js} +1 -1
- package/packages/ui/dist/assets/{compass-DzhhABp6.js → compass-XKXG-uKY.js} +1 -1
- package/packages/ui/dist/assets/{copy-zuwgIOLp.js → copy-BI6jLoZK.js} +1 -1
- package/packages/ui/dist/assets/{core-DjR_jD64.js → core-BLwyu_UZ.js} +3 -3
- package/packages/ui/dist/assets/cursor-jNUI_tHN.js +3 -0
- package/packages/ui/dist/assets/{cursor-transparent-DQOaLcvd.js → cursor-transparent-CFZylRzv.js} +1 -1
- package/packages/ui/dist/assets/{desktop-Bv7fy2f-.js → desktop-Hl3xhHy9.js} +1 -1
- package/packages/ui/dist/assets/{disconnect-DT21kQcX.js → disconnect-DW6U-dN7.js} +1 -1
- package/packages/ui/dist/assets/{discord-DnM6J12l.js → discord-BkDRI6sB.js} +1 -1
- package/packages/ui/dist/assets/{etherscan-CkYGysSe.js → etherscan-DM0DlV8l.js} +1 -1
- package/packages/ui/dist/assets/{events-Bzlx_C-j.js → events-DuWTfKWm.js} +1 -1
- package/packages/ui/dist/assets/{exclamation-triangle-CowxL_9E.js → exclamation-triangle-BJXppW_n.js} +1 -1
- package/packages/ui/dist/assets/{extension-Dq3IsAUN.js → extension-CVwJSN6F.js} +1 -1
- package/packages/ui/dist/assets/{external-link-CVa7Or9W.js → external-link-9T1VC3J9.js} +1 -1
- package/packages/ui/dist/assets/{facebook-CeigZ-Dq.js → facebook-R1848HX9.js} +1 -1
- package/packages/ui/dist/assets/{fallback-QmdVrhdj.js → fallback-BQyFegq4.js} +1 -1
- package/packages/ui/dist/assets/{farcaster-CmxCGnX5.js → farcaster-C8lScwHE.js} +1 -1
- package/packages/ui/dist/assets/{filters-CY5pHglU.js → filters-D_hUKJc6.js} +1 -1
- package/packages/ui/dist/assets/{github-DrSj44zE.js → github-BUdSlQ0g.js} +1 -1
- package/packages/ui/dist/assets/{google-DTfyabXp.js → google-DCVSiGyR.js} +1 -1
- package/packages/ui/dist/assets/{help-circle-kFOxdrQz.js → help-circle-BmbA9WiR.js} +1 -1
- package/packages/ui/dist/assets/{id-5pW65QwE.js → id-BpZ2AesF.js} +1 -1
- package/packages/ui/dist/assets/{image-D2FlAtVU.js → image-D9OlBR50.js} +1 -1
- package/packages/ui/dist/assets/{index-DxcSXSQt.js → index-BcngInt2.js} +1 -1
- package/packages/ui/dist/assets/{index-C62B8KTP.js → index-BmKpVmQo.js} +30 -30
- package/packages/ui/dist/assets/{index-BkS9kyuf.js → index-CFdoQ0C9.js} +1 -1
- package/packages/ui/dist/assets/{index-DZwl1NkD.js → index-Cw74yaCx.js} +1 -1
- package/packages/ui/dist/assets/{index-CNJJ8w4T.js → index-DnTTITgJ.js} +3 -3
- package/packages/ui/dist/assets/{index-CqeISmow.js → index-VuBRR5Ee.js} +1 -1
- package/packages/ui/dist/assets/{index.es-CdKoInzi.js → index.es-Cwe8eYYQ.js} +4 -4
- package/packages/ui/dist/assets/{info-DbUUs-7h.js → info-CsTScSXv.js} +1 -1
- package/packages/ui/dist/assets/{info-circle-pK0azOfA.js → info-circle-C85unnhg.js} +1 -1
- package/packages/ui/dist/assets/{lightbulb-BapmKP8y.js → lightbulb-DNRTVt--.js} +1 -1
- package/packages/ui/dist/assets/{mail-CdYd0Rh9.js → mail-lo_xlG5y.js} +1 -1
- package/packages/ui/dist/assets/{metamask-sdk-CmHF3TFo.js → metamask-sdk-D_zgrb2L.js} +1 -1
- package/packages/ui/dist/assets/{mobile-DkjGiGYO.js → mobile-CeziQrHs.js} +1 -1
- package/packages/ui/dist/assets/{more-BsU5N8hZ.js → more-BJJ25Bco.js} +1 -1
- package/packages/ui/dist/assets/{network-placeholder-DLlzj024.js → network-placeholder-C2bTejHc.js} +1 -1
- package/packages/ui/dist/assets/{nftPlaceholder-D2naVFFA.js → nftPlaceholder-P9e90e3l.js} +1 -1
- package/packages/ui/dist/assets/{off-O4fs0RcI.js → off-Cf9Lcmke.js} +1 -1
- package/packages/ui/dist/assets/{parseSignature-Ipc8B6L-.js → parseSignature-D3jDGZxJ.js} +1 -1
- package/packages/ui/dist/assets/{play-store-BySsEKjB.js → play-store-CIvfWMTw.js} +1 -1
- package/packages/ui/dist/assets/{plus-DcwXbThh.js → plus-y4ZSXf_2.js} +1 -1
- package/packages/ui/dist/assets/{qr-code-DXcikaWN.js → qr-code-BHKbMyiU.js} +1 -1
- package/packages/ui/dist/assets/{recycle-horizontal-QHdoxezF.js → recycle-horizontal-IClLWZNS.js} +1 -1
- package/packages/ui/dist/assets/{refresh-CimMVwX6.js → refresh-DGceqRDA.js} +1 -1
- package/packages/ui/dist/assets/{reown-logo-DAmY3tUR.js → reown-logo-Bv7sNHvL.js} +1 -1
- package/packages/ui/dist/assets/{search-YYHOSKxV.js → search-CRgTCcsE.js} +1 -1
- package/packages/ui/dist/assets/{secp256k1-DziXvsDr.js → secp256k1-Cqp3PtVi.js} +1 -1
- package/packages/ui/dist/assets/{send-BohgZ4SZ.js → send-DU6bIrPo.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontal-gdiztcz1.js → swapHorizontal-gFwRhx0T.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalBold-C4PPuw1r.js → swapHorizontalBold-JtBzA3Ii.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalMedium-CmhTo_53.js → swapHorizontalMedium-DoYVrxv8.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalRoundedBold-BPNMkAqM.js → swapHorizontalRoundedBold-CAKgeiv9.js} +1 -1
- package/packages/ui/dist/assets/{swapVertical-Cnulu56K.js → swapVertical-D4_Wkrmp.js} +1 -1
- package/packages/ui/dist/assets/{telegram-rBBqAA42.js → telegram-DezHeoAw.js} +1 -1
- package/packages/ui/dist/assets/{three-dots-DhYHC0m3.js → three-dots-_2l4KYeg.js} +1 -1
- package/packages/ui/dist/assets/{twitch-DKwUBfEi.js → twitch-D7lxAEZq.js} +1 -1
- package/packages/ui/dist/assets/{twitterIcon-BEW1pHCf.js → twitterIcon-y5jVQyUi.js} +1 -1
- package/packages/ui/dist/assets/{verify-BVZjkQ2n.js → verify-Ue3VkpeM.js} +1 -1
- package/packages/ui/dist/assets/{verify-filled-BGkV52th.js → verify-filled-DhQ6l5Hx.js} +1 -1
- package/packages/ui/dist/assets/{w3m-modal-B7m-K8vL.js → w3m-modal-Dk1A5UT_.js} +1 -1
- package/packages/ui/dist/assets/{wallet-BOwiO_Zr.js → wallet-Z5h6x06d.js} +1 -1
- package/packages/ui/dist/assets/{wallet-placeholder-C5O9rl_6.js → wallet-placeholder-C56EAJDw.js} +1 -1
- package/packages/ui/dist/assets/{walletconnect-CKSy8TKP.js → walletconnect-CIEAhB_r.js} +1 -1
- package/packages/ui/dist/assets/{warning-circle-CwXtaT0N.js → warning-circle-DhGvQBv6.js} +1 -1
- package/packages/ui/dist/assets/{x-32UJYpvE.js → x-BveyWTSW.js} +1 -1
- package/packages/ui/dist/index.html +1 -1
- package/scripts/clean.mjs +17 -0
- package/templates/default/.agents/skills/sail-onboarding/SKILL.md +7 -0
- package/templates/default/.agents/skills/sail-servers/SKILL.md +16 -0
- package/templates/default/AGENTS.md +1 -1
- package/packages/ui/dist/assets/cursor-DeDBddRQ.js +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as l}from"./core-
|
|
1
|
+
import{F as l}from"./core-BLwyu_UZ.js";import"./index-BmKpVmQo.js";import"./events-DuWTfKWm.js";import"./index.es-Cwe8eYYQ.js";import"./fallback-BQyFegq4.js";const o=l`<svg fill="none" viewBox="0 0 96 67">
|
|
2
2
|
<path
|
|
3
3
|
fill="currentColor"
|
|
4
4
|
d="M25.32 18.8a32.56 32.56 0 0 1 45.36 0l1.5 1.47c.63.62.63 1.61 0 2.22l-5.15 5.05c-.31.3-.82.3-1.14 0l-2.07-2.03a22.71 22.71 0 0 0-31.64 0l-2.22 2.18c-.31.3-.82.3-1.14 0l-5.15-5.05a1.55 1.55 0 0 1 0-2.22l1.65-1.62Zm56.02 10.44 4.59 4.5c.63.6.63 1.6 0 2.21l-20.7 20.26c-.62.61-1.63.61-2.26 0L48.28 41.83a.4.4 0 0 0-.56 0L33.03 56.21c-.63.61-1.64.61-2.27 0L10.07 35.95a1.55 1.55 0 0 1 0-2.22l4.59-4.5a1.63 1.63 0 0 1 2.27 0L31.6 43.63a.4.4 0 0 0 .57 0l14.69-14.38a1.63 1.63 0 0 1 2.26 0l14.69 14.38a.4.4 0 0 0 .57 0l14.68-14.38a1.63 1.63 0 0 1 2.27 0Z"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as r}from"./core-
|
|
1
|
+
import{F as r}from"./core-BLwyu_UZ.js";import"./index-BmKpVmQo.js";import"./events-DuWTfKWm.js";import"./index.es-Cwe8eYYQ.js";import"./fallback-BQyFegq4.js";const a=r`<svg fill="none" viewBox="0 0 20 20">
|
|
2
2
|
<path
|
|
3
3
|
fill="currentColor"
|
|
4
4
|
d="M11 6.67a1 1 0 1 0-2 0v2.66a1 1 0 0 0 2 0V6.67ZM10 14.5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as l}from"./core-
|
|
1
|
+
import{F as l}from"./core-BLwyu_UZ.js";import"./index-BmKpVmQo.js";import"./events-DuWTfKWm.js";import"./index.es-Cwe8eYYQ.js";import"./fallback-BQyFegq4.js";const a=l`<svg fill="none" viewBox="0 0 41 40">
|
|
2
2
|
<g clip-path="url(#a)">
|
|
3
3
|
<path fill="#000" d="M.8 0h40v40H.8z" />
|
|
4
4
|
<path
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<meta name="theme-color" content="#040b16" />
|
|
7
7
|
<title>Sail - Unlocking Personalized Money</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-BmKpVmQo.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-CxWif5qB.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { rmSync } from "node:fs";
|
|
2
|
+
|
|
3
|
+
const targets = [
|
|
4
|
+
"node_modules",
|
|
5
|
+
"packages/sdk/node_modules",
|
|
6
|
+
"packages/sdk/dist",
|
|
7
|
+
"packages/sdk/tsconfig.tsbuildinfo",
|
|
8
|
+
"packages/cli/node_modules",
|
|
9
|
+
"packages/cli/dist",
|
|
10
|
+
"packages/ui/node_modules",
|
|
11
|
+
"packages/ui/dist",
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
for (const p of targets) {
|
|
15
|
+
rmSync(p, { recursive: true, force: true });
|
|
16
|
+
console.log(` removed ${p}`);
|
|
17
|
+
}
|
|
@@ -7,6 +7,13 @@ description: Walks the agent through setting up a new Sailor project or resuming
|
|
|
7
7
|
|
|
8
8
|
## Running the CLI
|
|
9
9
|
|
|
10
|
+
**Determine the installation mode first** — read `.sail/config.json → installMode` before running any command:
|
|
11
|
+
|
|
12
|
+
- `"local"` (or field absent) — `sailor` is on the PATH. Run commands directly: `sailor <command>`
|
|
13
|
+
- `"docker"` — sailor runs in a container. Read `containerName` from the same config. Prefix every command:
|
|
14
|
+
`docker exec <containerName> sailor <command>`
|
|
15
|
+
Project files are on your **local filesystem** (mounted at `/workspace` inside the container) — read and write them normally from local paths. Do NOT use `docker exec` to read files; the volume mount makes them directly accessible.
|
|
16
|
+
|
|
10
17
|
The published package is **`@sail.money/sailor`** — always use the scoped name with the registry. The bare name `sailor` is a different, unrelated npm package; never `npx sailor@<version>` or `npm i sailor`. Install it (`npm i -g @sail.money/sailor`, or as a project dep), after which the `sailor` bin works bare (`sailor <command>`) and `npx sailor <command>` resolves the installed bin. Every `sailor …` command in these skills assumes it is installed. Confirm the toolchain up front and pin a recent version — `npx @sail.money/sailor@latest --version` — because an old cached `npx` build can be missing newer commands (e.g. `mandate simulate`); if a documented command reports "unknown command", you are on a stale version, not hitting a missing feature.
|
|
11
18
|
|
|
12
19
|
After upgrading the CLI, run `sailor update` from the project root to pull in updated skills, `AGENTS.md`, `Dockerfile`, and other tooling files. User files (`src/`, `mandates/`, `.sail/`, `package.json`) are never touched.
|
|
@@ -36,6 +36,22 @@ sailor station stop --json # SIGTERM, verified against the recorded URL first
|
|
|
36
36
|
|
|
37
37
|
Signing-flow commands (`mandate deploy/attach/deploy-clone/revoke`, `onboard`, `account deploy-chain`, `account rotate-signer`, `owner connect`) push requests to a running station daemon if one exists, otherwise they spin up an ephemeral in-process signing server for the duration of the command. Starting a persistent station first means the owner connects their wallet once and approves a whole sequence of requests in the same browser tab — do this before any multi-step signing flow.
|
|
38
38
|
|
|
39
|
+
## Docker installation
|
|
40
|
+
|
|
41
|
+
If `.sail/config.json → installMode` is `"docker"`, prefix every command with `docker exec <containerName>` (read `containerName` from the same config):
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
docker exec agent sailor ui start
|
|
45
|
+
docker exec agent sailor ui status
|
|
46
|
+
docker exec agent sailor ui stop
|
|
47
|
+
|
|
48
|
+
docker exec agent sailor station start --json
|
|
49
|
+
docker exec agent sailor station status --json
|
|
50
|
+
docker exec agent sailor station stop --json
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The UI always binds to port **3334** in Docker (the image sets `ENV PORT=3334`). Project files at `/workspace` are your local directory — read and write them directly from local paths; only `sailor` commands need the `docker exec` prefix.
|
|
54
|
+
|
|
39
55
|
## Troubleshooting
|
|
40
56
|
|
|
41
57
|
- Command stuck "waiting"? It is blocked on a browser signature — check `GET /config` `pendingCount`, and tell the user to open the station URL and approve. Signing requests time out after 10 minutes.
|
|
@@ -77,7 +77,7 @@ Detailed procedures live in skills. If your tooling does not auto-discover skill
|
|
|
77
77
|
|
|
78
78
|
| Skill | Load when | Path |
|
|
79
79
|
|---|---|---|
|
|
80
|
-
| sail-onboarding | New project setup, or resuming a partially set-up project | `.agents/skills/sail-onboarding/SKILL.md` |
|
|
80
|
+
| sail-onboarding | New project setup, or resuming a partially set-up project, documentation of sailor commands | `.agents/skills/sail-onboarding/SKILL.md` |
|
|
81
81
|
| sail-project-info | Any question about project, account, mandate, chain, or environment state | `.agents/skills/sail-project-info/SKILL.md` |
|
|
82
82
|
| sail-servers | Starting, stopping, or health-checking the dashboard or signing station | `.agents/skills/sail-servers/SKILL.md` |
|
|
83
83
|
| sail-transactions | Building dispatches or any EVM transaction for the agent | `.agents/skills/sail-transactions/SKILL.md` |
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{F as o}from"./core-DjR_jD64.js";import"./index-C62B8KTP.js";import"./events-Bzlx_C-j.js";import"./index.es-CdKoInzi.js";import"./fallback-QmdVrhdj.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};
|