@dev.sail.money/sailor 1.3.0-210 → 1.3.0-95
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 +32 -0
- package/package.json +4 -2
- package/packages/cli/dist/index.cjs +4 -1
- package/packages/cli/dist/mcp.cjs +15534 -0
- package/packages/sdk/dist/intelligence.d.ts +1 -1
- package/packages/sdk/dist/intelligence.js +1 -1
- package/scripts/pack.mjs +21 -0
- package/templates/default/.agents/skills/sail-servers/SKILL.md +3 -1
package/README.md
CHANGED
|
@@ -170,6 +170,7 @@ sailor trigger github # fire the agent's GitHub Actions workflow on demand
|
|
|
170
170
|
|
|
171
171
|
# Dashboard
|
|
172
172
|
sailor ui start # prints the per-project dashboard URL
|
|
173
|
+
sailor ui start --expose tailscale # also expose it on your tailnet over HTTPS (see Dashboard section)
|
|
173
174
|
|
|
174
175
|
# Maintenance
|
|
175
176
|
sailor update # re-sync skills, AGENTS.md, and tooling files after a CLI upgrade
|
|
@@ -263,6 +264,37 @@ sailor ui status
|
|
|
263
264
|
sailor ui stop
|
|
264
265
|
```
|
|
265
266
|
|
|
267
|
+
### Remote access over your tailnet (HTTPS) — optional
|
|
268
|
+
|
|
269
|
+
The dashboard is local-only by default. To reach it from another device (e.g. a
|
|
270
|
+
remote operator box), expose it over your [Tailscale](https://tailscale.com)
|
|
271
|
+
tailnet on HTTPS:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
sailor ui start --expose tailscale
|
|
275
|
+
# → Sailor UI started at http://localhost:<port>
|
|
276
|
+
# → Exposed on your tailnet at https://<node>.<tailnet>.ts.net/
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
It uses `tailscale serve` (tailnet-private), **never `funnel`** — only devices on
|
|
280
|
+
your tailnet can reach it, not the public internet. `sailor ui stop` tears the
|
|
281
|
+
tailnet proxy down along with the local server.
|
|
282
|
+
|
|
283
|
+
Requirements:
|
|
284
|
+
|
|
285
|
+
- `tailscale` installed and logged in (`tailscale up`).
|
|
286
|
+
- Tailscale **Serve** enabled for your tailnet, plus **HTTPS certificates**
|
|
287
|
+
(admin console → DNS → Enable HTTPS). If Serve is disabled, the command prints
|
|
288
|
+
the enable link instead of reporting success.
|
|
289
|
+
|
|
290
|
+
When exposed, the tailnet origin is added to the dashboard's CORS allowlist
|
|
291
|
+
automatically. To allow additional origins (e.g. a custom HTTPS host in front of
|
|
292
|
+
the station), set a comma-separated list — the local origin is always allowed:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
SAILOR_CORS_ORIGINS=https://hermes.example.ts.net,https://another.host
|
|
296
|
+
```
|
|
297
|
+
|
|
266
298
|
---
|
|
267
299
|
|
|
268
300
|
## Agent-driven onboarding & custom mandates
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dev.sail.money/sailor",
|
|
3
|
-
"version": "1.3.0-
|
|
3
|
+
"version": "1.3.0-95",
|
|
4
4
|
"description": "Operator toolkit for Sail Protocol",
|
|
5
5
|
"bin": {
|
|
6
|
-
"sailor": "packages/cli/dist/index.cjs"
|
|
6
|
+
"sailor": "packages/cli/dist/index.cjs",
|
|
7
|
+
"sailor-mcp": "packages/cli/dist/mcp.cjs"
|
|
7
8
|
},
|
|
8
9
|
"exports": {
|
|
9
10
|
"./sdk": {
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
"scripts": {
|
|
27
28
|
"clean": "node scripts/clean.mjs",
|
|
28
29
|
"build": "pnpm --filter @sail/sdk build && pnpm --filter sailor build && pnpm --filter sailor-ui build",
|
|
30
|
+
"pack": "pnpm build && npm pack",
|
|
29
31
|
"test": "pnpm --filter sailor-ui test",
|
|
30
32
|
"test:ui": "pnpm --filter sailor-ui test:ui",
|
|
31
33
|
"link:cli": "pnpm link --global",
|
|
@@ -40811,6 +40811,9 @@ Pass --force to scaffold into it anyway (existing files with the same name are o
|
|
|
40811
40811
|
}
|
|
40812
40812
|
})() : null;
|
|
40813
40813
|
copyDirSync(templateSrc, dest);
|
|
40814
|
+
if (options.skills === false) {
|
|
40815
|
+
import_node_fs10.default.rmSync(import_node_path8.default.join(dest, ".agents", "skills"), { recursive: true, force: true });
|
|
40816
|
+
}
|
|
40814
40817
|
const pkgRoot = packageRoot();
|
|
40815
40818
|
const examplesPermSrc = import_node_path8.default.join(pkgRoot, "examples", "permissions");
|
|
40816
40819
|
if (import_node_fs10.default.existsSync(examplesPermSrc)) {
|
|
@@ -45474,7 +45477,7 @@ function actionWith(fn) {
|
|
|
45474
45477
|
closePrompts();
|
|
45475
45478
|
};
|
|
45476
45479
|
}
|
|
45477
|
-
program2.command("init [dir]").description("Scaffold a new Sail agent into the current directory (or [dir] subdirectory)").option("--template <name>", "Template to scaffold from (default: default)").option("--chain <id>", "Default EVM chain id written to .sail/config.json and .env.example").option("--rpc-url <url>", "Default RPC_URL written to .sail/.env.local").option("--force", "Re-initialize even if already initialized (overwrites scaffold files; keys/ and state/ are preserved)").action(
|
|
45480
|
+
program2.command("init [dir]").description("Scaffold a new Sail agent into the current directory (or [dir] subdirectory)").option("--template <name>", "Template to scaffold from (default: default)").option("--chain <id>", "Default EVM chain id written to .sail/config.json and .env.example").option("--rpc-url <url>", "Default RPC_URL written to .sail/.env.local").option("--force", "Re-initialize even if already initialized (overwrites scaffold files; keys/ and state/ are preserved)").option("--no-skills", "Skip scaffolding the sailor skills (use under the Sailor plugin, which already provides them to the agent)").action(
|
|
45478
45481
|
async (name, opts) => {
|
|
45479
45482
|
try {
|
|
45480
45483
|
await initCommand(name, opts);
|