@dev.sail.money/sailor 1.2.1-94 → 1.3.0-208

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 (106) hide show
  1. package/README.md +63 -0
  2. package/package.json +2 -1
  3. package/packages/cli/dist/index.cjs +467 -321
  4. package/packages/cli/dist/server.cjs +7 -8
  5. package/packages/sdk/dist/intelligence.d.ts +1 -1
  6. package/packages/sdk/dist/intelligence.js +1 -1
  7. package/packages/sdk/dist/keyring.d.ts +0 -6
  8. package/packages/sdk/dist/keyring.d.ts.map +1 -1
  9. package/packages/sdk/dist/keyring.js +1 -8
  10. package/packages/sdk/dist/keyring.js.map +1 -1
  11. package/packages/ui/dist/assets/{add-Dj4_n773.js → add-CfTRVkh-.js} +1 -1
  12. package/packages/ui/dist/assets/{all-wallets-BaFysN1G.js → all-wallets-VZChJwJf.js} +1 -1
  13. package/packages/ui/dist/assets/{app-store-DOc31zzY.js → app-store-CuFK1xBJ.js} +1 -1
  14. package/packages/ui/dist/assets/{apple-BvrvOkPH.js → apple-DETqVk_I.js} +1 -1
  15. package/packages/ui/dist/assets/{arrow-bottom-E1AfjXOT.js → arrow-bottom-CnNYsZfo.js} +1 -1
  16. package/packages/ui/dist/assets/{arrow-bottom-circle-sou7Vo1V.js → arrow-bottom-circle-DZwJF3UO.js} +1 -1
  17. package/packages/ui/dist/assets/{arrow-left-wk3G9Ywf.js → arrow-left-CBnisTAa.js} +1 -1
  18. package/packages/ui/dist/assets/{arrow-right-_a703_Pw.js → arrow-right-DA3Y1Yzf.js} +1 -1
  19. package/packages/ui/dist/assets/{arrow-top-txyg3R3e.js → arrow-top-e8-FE_fo.js} +1 -1
  20. package/packages/ui/dist/assets/{bank-BB1kd0NJ.js → bank-DdwromQn.js} +1 -1
  21. package/packages/ui/dist/assets/{basic-D0dy7nIZ.js → basic-DLYER2un.js} +1 -1
  22. package/packages/ui/dist/assets/{browser-BwHLhsTn.js → browser-BJNrv4Zj.js} +1 -1
  23. package/packages/ui/dist/assets/{card-DRC6HmPF.js → card-DB6j4DSk.js} +1 -1
  24. package/packages/ui/dist/assets/{ccip-Dq6KeJQl.js → ccip-Dy_s323Y.js} +1 -1
  25. package/packages/ui/dist/assets/{checkmark-TbAAQGjd.js → checkmark-Db9oicko.js} +1 -1
  26. package/packages/ui/dist/assets/{checkmark-bold-4723vJ0-.js → checkmark-bold-D9MgGHxv.js} +1 -1
  27. package/packages/ui/dist/assets/{chevron-bottom-DtLoBRe9.js → chevron-bottom-IGUDJRKN.js} +1 -1
  28. package/packages/ui/dist/assets/{chevron-left-BtydsF9j.js → chevron-left-CWpfP-rw.js} +1 -1
  29. package/packages/ui/dist/assets/{chevron-right-BbkU_Kf8.js → chevron-right-BejY0vtE.js} +1 -1
  30. package/packages/ui/dist/assets/{chevron-top-BWf-sN-F.js → chevron-top-BaUN0LGF.js} +1 -1
  31. package/packages/ui/dist/assets/{chrome-store-CVFxc5H2.js → chrome-store-fox1tIqs.js} +1 -1
  32. package/packages/ui/dist/assets/{clock-B4hJww1X.js → clock-DlqB4Ehi.js} +1 -1
  33. package/packages/ui/dist/assets/{close-Ci93jqGe.js → close-03e52feP.js} +1 -1
  34. package/packages/ui/dist/assets/{coinPlaceholder-cRv_xDgC.js → coinPlaceholder-BO3nv4hx.js} +1 -1
  35. package/packages/ui/dist/assets/{compass-_sZZPtm6.js → compass-CIqPRE0k.js} +1 -1
  36. package/packages/ui/dist/assets/{copy-DLaiLK0n.js → copy-D5cJBwZq.js} +1 -1
  37. package/packages/ui/dist/assets/{core-YssZmpJa.js → core-COelOg3-.js} +3 -3
  38. package/packages/ui/dist/assets/cursor-CRb7R3u1.js +3 -0
  39. package/packages/ui/dist/assets/{cursor-transparent-CzXQbB2p.js → cursor-transparent-Cvbiq9Br.js} +1 -1
  40. package/packages/ui/dist/assets/{desktop-BiqQI1Ss.js → desktop-Dp2wtF3n.js} +1 -1
  41. package/packages/ui/dist/assets/{disconnect-DYu7YCzu.js → disconnect-Dx_IGM73.js} +1 -1
  42. package/packages/ui/dist/assets/{discord-C-ife-UZ.js → discord-Cxryn14a.js} +1 -1
  43. package/packages/ui/dist/assets/{etherscan-Dq7ac-p9.js → etherscan-D8aNXWCx.js} +1 -1
  44. package/packages/ui/dist/assets/{events-BhTGLk8n.js → events-DR6OOHz2.js} +1 -1
  45. package/packages/ui/dist/assets/{exclamation-triangle-BcOdRdbp.js → exclamation-triangle-BBCaPLj1.js} +1 -1
  46. package/packages/ui/dist/assets/{extension-DmJLIidM.js → extension-bACRNBl5.js} +1 -1
  47. package/packages/ui/dist/assets/{external-link-HNjp7-Po.js → external-link-BZRqHo3q.js} +1 -1
  48. package/packages/ui/dist/assets/{facebook-BrSvHNyw.js → facebook-TAdUitg4.js} +1 -1
  49. package/packages/ui/dist/assets/{fallback-Ubz80uXP.js → fallback-DGiwrboN.js} +1 -1
  50. package/packages/ui/dist/assets/{farcaster-BsjltM6k.js → farcaster-YzdobBfR.js} +1 -1
  51. package/packages/ui/dist/assets/{filters-B4yQbYZP.js → filters-CT-xLEoI.js} +1 -1
  52. package/packages/ui/dist/assets/{github-CFq82Dds.js → github-DxPBbmEL.js} +1 -1
  53. package/packages/ui/dist/assets/{google-DwZutf4a.js → google-B0TMgFhK.js} +1 -1
  54. package/packages/ui/dist/assets/{help-circle-CyA_8KQg.js → help-circle-Be6sRPTw.js} +1 -1
  55. package/packages/ui/dist/assets/{id-jyZYn4LJ.js → id-Dem_akbE.js} +1 -1
  56. package/packages/ui/dist/assets/{image-Zv0yoBcH.js → image-CszBzFVG.js} +1 -1
  57. package/packages/ui/dist/assets/{index-BxRaYDiX.js → index-B0FDHAiK.js} +1 -1
  58. package/packages/ui/dist/assets/{index-67NncC_u.js → index-C2n9XvGG.js} +3 -3
  59. package/packages/ui/dist/assets/{index-_DkPx8RN.js → index-Cb5eBfrN.js} +77 -77
  60. package/packages/ui/dist/assets/{index-BY8A6EK8.js → index-DAawBKd2.js} +1 -1
  61. package/packages/ui/dist/assets/{index-CeGppB9s.js → index-DXqj6oYp.js} +1 -1
  62. package/packages/ui/dist/assets/{index-BdG43zCl.js → index-homh6mWC.js} +1 -1
  63. package/packages/ui/dist/assets/{index.es-C8EklrJY.js → index.es-DJgl78dj.js} +4 -4
  64. package/packages/ui/dist/assets/{info-BwGEOdmB.js → info-BimGN4NK.js} +1 -1
  65. package/packages/ui/dist/assets/{info-circle-BPCcX-Iq.js → info-circle-lnKEJu2R.js} +1 -1
  66. package/packages/ui/dist/assets/{lightbulb-BRwr4IaC.js → lightbulb-DS1vEMce.js} +1 -1
  67. package/packages/ui/dist/assets/{mail-D-k_Vhe4.js → mail-DoS3Wibk.js} +1 -1
  68. package/packages/ui/dist/assets/{metamask-sdk-AcOgwGrj.js → metamask-sdk-CMIU3BwW.js} +1 -1
  69. package/packages/ui/dist/assets/{mobile-B1ok9PfY.js → mobile-B09Cs95_.js} +1 -1
  70. package/packages/ui/dist/assets/{more-DeMTMLWs.js → more-CLBZT8WI.js} +1 -1
  71. package/packages/ui/dist/assets/{network-placeholder-J0Rc1I89.js → network-placeholder-C45Cp8rY.js} +1 -1
  72. package/packages/ui/dist/assets/{nftPlaceholder-dXGrzzoa.js → nftPlaceholder-CAVclL3u.js} +1 -1
  73. package/packages/ui/dist/assets/{off-CS0f77lw.js → off-CwE8HoZ0.js} +1 -1
  74. package/packages/ui/dist/assets/{parseSignature-DJ16fHC4.js → parseSignature-kmMNHYjl.js} +1 -1
  75. package/packages/ui/dist/assets/{play-store-DmK8UaNC.js → play-store-DiFF_6n4.js} +1 -1
  76. package/packages/ui/dist/assets/{plus-CSGSnoCh.js → plus-aygpl_pZ.js} +1 -1
  77. package/packages/ui/dist/assets/{qr-code-BJMH0xmM.js → qr-code-DpIS4fFK.js} +1 -1
  78. package/packages/ui/dist/assets/{recycle-horizontal-D5XP5VgJ.js → recycle-horizontal-Qk2N74JE.js} +1 -1
  79. package/packages/ui/dist/assets/{refresh-MLX3Rdp6.js → refresh-sWRq9Vnt.js} +1 -1
  80. package/packages/ui/dist/assets/{reown-logo-CVoDFQbM.js → reown-logo-YQxBa9i9.js} +1 -1
  81. package/packages/ui/dist/assets/{search-BDJDyvjC.js → search-Bt6BSPcC.js} +1 -1
  82. package/packages/ui/dist/assets/{secp256k1-BWh3B02k.js → secp256k1-BUh3OoFd.js} +1 -1
  83. package/packages/ui/dist/assets/{send-BOq2svx_.js → send-ym-Fn17O.js} +1 -1
  84. package/packages/ui/dist/assets/{swapHorizontal-ByjLi_-_.js → swapHorizontal-fBE2gnqc.js} +1 -1
  85. package/packages/ui/dist/assets/{swapHorizontalBold-fmCp_4AE.js → swapHorizontalBold-CekQ22FJ.js} +1 -1
  86. package/packages/ui/dist/assets/{swapHorizontalMedium-D6dFseYw.js → swapHorizontalMedium-B9BI9ovU.js} +1 -1
  87. package/packages/ui/dist/assets/{swapHorizontalRoundedBold-B2V3m4ha.js → swapHorizontalRoundedBold-DOC75mBH.js} +1 -1
  88. package/packages/ui/dist/assets/{swapVertical-DVmCsmeT.js → swapVertical-CSQAPH0z.js} +1 -1
  89. package/packages/ui/dist/assets/{telegram-Bv8JRbMM.js → telegram-BPjzFxKU.js} +1 -1
  90. package/packages/ui/dist/assets/{three-dots-YYDJ18z6.js → three-dots-DP6hdXH8.js} +1 -1
  91. package/packages/ui/dist/assets/{twitch-B2_Jy-Ft.js → twitch-CgHMd-f3.js} +1 -1
  92. package/packages/ui/dist/assets/{twitterIcon-pKQzPQRt.js → twitterIcon-BrR8ynXm.js} +1 -1
  93. package/packages/ui/dist/assets/{verify-Bty2jIav.js → verify-D35D7Wtv.js} +1 -1
  94. package/packages/ui/dist/assets/{verify-filled-CKz2fuKl.js → verify-filled-DCP5CT59.js} +1 -1
  95. package/packages/ui/dist/assets/{w3m-modal-Wg1mtmVM.js → w3m-modal-B-ZptWk0.js} +1 -1
  96. package/packages/ui/dist/assets/{wallet-DslzC8rD.js → wallet-Cnb4dkr3.js} +1 -1
  97. package/packages/ui/dist/assets/{wallet-placeholder-Dyw8jJ56.js → wallet-placeholder-CCzk0PqU.js} +1 -1
  98. package/packages/ui/dist/assets/{walletconnect-DZBfbgp4.js → walletconnect-f6tQZYRi.js} +1 -1
  99. package/packages/ui/dist/assets/{warning-circle-D7NPDx4k.js → warning-circle-zxMagvfx.js} +1 -1
  100. package/packages/ui/dist/assets/{x-DRR_9FNs.js → x-D0nEGO1G.js} +1 -1
  101. package/packages/ui/dist/index.html +1 -1
  102. package/scripts/clean.mjs +17 -0
  103. package/templates/default/.agents/skills/sail-onboarding/SKILL.md +36 -0
  104. package/templates/default/.agents/skills/sail-servers/SKILL.md +26 -0
  105. package/templates/default/AGENTS.md +1 -1
  106. package/packages/ui/dist/assets/cursor-B_xyJnjj.js +0 -3
package/README.md CHANGED
@@ -102,6 +102,18 @@ npm install -g @sail.money/sailor
102
102
  sailor init my-agent
103
103
  ```
104
104
 
105
+ ### Docker (no Node.js required)
106
+
107
+ Run sailor from a pre-built image — useful when you don't want to install Node.js or want an isolated environment:
108
+
109
+ ```bash
110
+ mkdir my-agent && cd my-agent
111
+ docker run -d --name agent -P -v "${PWD}:/workspace" sailmoney/sailor
112
+ docker exec agent sailor init
113
+ ```
114
+
115
+ Then open the folder in your AI coding assistant and say **"start"**. See the [Docker Hub](#docker-hub-publish-dockeryml) section below for full usage details.
116
+
105
117
  ---
106
118
 
107
119
  ## Quickstart
@@ -382,6 +394,57 @@ Or pin in `package.json`:
382
394
 
383
395
  Either way, `@sail.money/sailor/sdk` imports work unchanged.
384
396
 
397
+ ### Docker Hub (`publish-docker.yml`)
398
+
399
+ A pre-built image is published to Docker Hub so you can run the CLI without installing Node.js locally. The image uses Alpine Linux and includes `tsx` (required to compile TypeScript agent code at runtime).
400
+
401
+ | Trigger | Tag |
402
+ |---|---|
403
+ | Merge to `main` or manual dispatch | `sailmoney/sailor:dev` |
404
+ | Tag push (`v*`) | `sailmoney/sailor:<version>` + `sailmoney/sailor:latest` |
405
+
406
+ #### Starting the container
407
+
408
+ Run this from your project root. `-P` publishes all exposed ports to random available host ports; use a fixed `-p <host>:3334` if you want a stable UI port.
409
+
410
+ ```bash
411
+ docker run -d --name agent -P -v "${PWD}:/workspace" sailmoney/sailor
412
+ ```
413
+
414
+ - `-d` — detached, runs in the background
415
+ - `--name agent` — container name used in all `docker exec` calls
416
+ - `-P` — maps container ports (UI: 3334, station: 3141) to random host ports
417
+ - `-v "${PWD}:/workspace"` — mounts the current project into the container
418
+
419
+ #### Running sailor commands
420
+
421
+ All sailor commands run via `docker exec`:
422
+
423
+ ```bash
424
+ docker exec agent sailor --version
425
+ docker exec agent sailor init
426
+ docker exec agent sailor ui start
427
+ docker exec agent sailor run --once
428
+ ```
429
+
430
+ Project files are on your **local filesystem** — read and write them directly from local paths. Only `sailor` commands need the `docker exec` prefix; the volume mount makes files accessible to both sides.
431
+
432
+ #### Opening the dashboard
433
+
434
+ The UI always binds to port **3334 inside the container**, but the host-side port depends on how `-P` mapped it. Resolve it before opening the browser:
435
+
436
+ ```bash
437
+ docker port agent 3334
438
+ # → 0.0.0.0:49201 (open http://localhost:49201 in the browser)
439
+ ```
440
+
441
+ #### Stopping
442
+
443
+ ```bash
444
+ docker stop agent # stop the container
445
+ docker start agent # restart it later (project files and state are on the host)
446
+ ```
447
+
385
448
  ---
386
449
 
387
450
  ## Security model
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev.sail.money/sailor",
3
- "version": "1.2.1-94",
3
+ "version": "1.3.0-208",
4
4
  "description": "Operator toolkit for Sail Protocol",
5
5
  "bin": {
6
6
  "sailor": "packages/cli/dist/index.cjs"
@@ -24,6 +24,7 @@
24
24
  "AGENTS.md"
25
25
  ],
26
26
  "scripts": {
27
+ "clean": "node scripts/clean.mjs",
27
28
  "build": "pnpm --filter @sail/sdk build && pnpm --filter sailor build && pnpm --filter sailor-ui build",
28
29
  "test": "pnpm --filter sailor-ui test",
29
30
  "test:ui": "pnpm --filter sailor-ui test:ui",