nextclaw 0.16.21 → 0.16.22
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/dist/cli/index.js +6 -4
- package/package.json +8 -8
- package/templates/USAGE.md +12 -4
package/dist/cli/index.js
CHANGED
|
@@ -3076,7 +3076,7 @@ function printCronJobs(jobs) {
|
|
|
3076
3076
|
return;
|
|
3077
3077
|
}
|
|
3078
3078
|
for (const job of jobs) {
|
|
3079
|
-
console.log(`${job.id} ${job.name} ${formatCronSchedule(job.schedule)}`);
|
|
3079
|
+
console.log(`${job.id} [${job.enabled ? "enabled" : "disabled"}] ${job.name} ${formatCronSchedule(job.schedule)}`);
|
|
3080
3080
|
}
|
|
3081
3081
|
}
|
|
3082
3082
|
|
|
@@ -3152,10 +3152,11 @@ var CronCommands = class {
|
|
|
3152
3152
|
return new UiBridgeApiClient(apiBase);
|
|
3153
3153
|
};
|
|
3154
3154
|
cronList = async (opts) => {
|
|
3155
|
+
const includeDisabled = opts.enabledOnly !== true;
|
|
3155
3156
|
const apiClient = this.createApiClient();
|
|
3156
3157
|
if (apiClient) {
|
|
3157
3158
|
try {
|
|
3158
|
-
const query =
|
|
3159
|
+
const query = includeDisabled ? "" : "?enabledOnly=1";
|
|
3159
3160
|
const data = await apiClient.request({
|
|
3160
3161
|
path: `/api/cron${query}`
|
|
3161
3162
|
});
|
|
@@ -3164,7 +3165,7 @@ var CronCommands = class {
|
|
|
3164
3165
|
} catch {
|
|
3165
3166
|
}
|
|
3166
3167
|
}
|
|
3167
|
-
printCronJobs(this.local.list(
|
|
3168
|
+
printCronJobs(this.local.list(includeDisabled));
|
|
3168
3169
|
};
|
|
3169
3170
|
cronAdd = async (opts) => {
|
|
3170
3171
|
const result = this.local.add(opts);
|
|
@@ -10717,10 +10718,11 @@ channels.command("add").description("Configure a plugin channel (OpenClaw-compat
|
|
|
10717
10718
|
channels.command("status").description("Show channel status").action(() => runtime.channelsStatus());
|
|
10718
10719
|
channels.command("login").description("Link device via QR code").option("--channel <id>", "Plugin channel id").option("--account <id>", "Channel account id").option("--url <url>", "Channel API base URL").option("--http-url <url>", "Alias for --url").option("-v, --verbose", "Verbose output", false).action(async (opts) => runtime.channelsLogin(opts));
|
|
10719
10720
|
var cron = program.command("cron").description("Manage scheduled tasks");
|
|
10720
|
-
cron.command("list").option("-a, --all", "
|
|
10721
|
+
cron.command("list").option("--enabled-only", "Show only enabled jobs", false).option("-a, --all", "Deprecated: list all jobs (default behavior)", false).action(async (opts) => runtime.cronList({ enabledOnly: Boolean(opts.enabledOnly) }));
|
|
10721
10722
|
cron.command("add").requiredOption("-n, --name <name>", "Job name").requiredOption("-m, --message <message>", "Message for agent").option("-e, --every <seconds>", "Run every N seconds").option("-c, --cron <expr>", "Cron expression").option("--at <iso>", "Run once at time (ISO format)").option("-d, --deliver", "Deliver response to channel").option("--to <recipient>", "Recipient for delivery").option("--channel <channel>", "Channel for delivery").option("--account <id>", "Account id for channel delivery").action(async (opts) => runtime.cronAdd(opts));
|
|
10722
10723
|
cron.command("remove <jobId>").action(async (jobId) => runtime.cronRemove(jobId));
|
|
10723
10724
|
cron.command("enable <jobId>").option("--disable", "Disable instead of enable").action(async (jobId, opts) => runtime.cronEnable(jobId, opts));
|
|
10725
|
+
cron.command("disable <jobId>").action(async (jobId) => runtime.cronEnable(jobId, { disable: true }));
|
|
10724
10726
|
cron.command("run <jobId>").option("-f, --force", "Run even if disabled").action(async (jobId, opts) => runtime.cronRun(jobId, opts));
|
|
10725
10727
|
program.command("status").description(`Show ${APP_NAME6} status`).option("--json", "Output JSON", false).option("--verbose", "Show extra diagnostics", false).option("--fix", "Fix stale service state when safe", false).action(async (opts) => runtime.status(opts));
|
|
10726
10728
|
program.command("doctor").description(`Run ${APP_NAME6} diagnostics`).option("--json", "Output JSON", false).option("--verbose", "Show extra diagnostics", false).option("--fix", "Fix stale service state when safe", false).action(async (opts) => runtime.doctor(opts));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nextclaw",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.22",
|
|
4
4
|
"description": "Lightweight personal AI assistant with CLI, multi-provider routing, and channel integrations.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -39,16 +39,16 @@
|
|
|
39
39
|
"chokidar": "^3.6.0",
|
|
40
40
|
"commander": "^12.1.0",
|
|
41
41
|
"yaml": "^2.8.1",
|
|
42
|
-
"@nextclaw/core": "0.11.8",
|
|
43
42
|
"@nextclaw/ncp-agent-runtime": "0.3.1",
|
|
43
|
+
"@nextclaw/core": "0.11.9",
|
|
44
|
+
"@nextclaw/ncp-mcp": "0.1.57",
|
|
44
45
|
"@nextclaw/ncp": "0.4.1",
|
|
45
|
-
"@nextclaw/
|
|
46
|
+
"@nextclaw/mcp": "0.1.56",
|
|
47
|
+
"@nextclaw/remote": "0.1.66",
|
|
48
|
+
"@nextclaw/runtime": "0.2.23",
|
|
46
49
|
"@nextclaw/ncp-toolkit": "0.4.7",
|
|
47
|
-
"@nextclaw/
|
|
48
|
-
"@nextclaw/openclaw-compat": "0.3.
|
|
49
|
-
"@nextclaw/remote": "0.1.65",
|
|
50
|
-
"@nextclaw/mcp": "0.1.55",
|
|
51
|
-
"@nextclaw/server": "0.11.13"
|
|
50
|
+
"@nextclaw/server": "0.11.14",
|
|
51
|
+
"@nextclaw/openclaw-compat": "0.3.48"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/node": "^20.17.6",
|
package/templates/USAGE.md
CHANGED
|
@@ -502,10 +502,11 @@ Created under the workspace:
|
|
|
502
502
|
| `nextclaw doctor` | Run runtime diagnostics (`--json`, `--verbose`, `--fix`) |
|
|
503
503
|
| `nextclaw channels login` | Open QR login for supported channels |
|
|
504
504
|
| `nextclaw channels add --channel <id> ...` | Configure plugin channel via setup adapter |
|
|
505
|
-
| `nextclaw cron list` | List scheduled jobs |
|
|
505
|
+
| `nextclaw cron list` | List all scheduled jobs, including disabled ones |
|
|
506
506
|
| `nextclaw cron add ...` | Add a cron job (see [Cron](#cron--heartbeat)) |
|
|
507
507
|
| `nextclaw cron remove <jobId>` | Remove a job |
|
|
508
|
-
| `nextclaw cron enable <jobId>` | Enable a job
|
|
508
|
+
| `nextclaw cron enable <jobId>` | Enable a disabled job |
|
|
509
|
+
| `nextclaw cron disable <jobId>` | Disable a job without deleting it |
|
|
509
510
|
| `nextclaw cron run <jobId>` | Run a job once (optionally with `--force` if disabled) |
|
|
510
511
|
| `nextclaw skills install <slug>` | Install a skill from NextClaw marketplace |
|
|
511
512
|
| `nextclaw skills publish <dir>` | Upload/create a skill to marketplace |
|
|
@@ -944,12 +945,19 @@ Optional: deliver the agent’s reply to a channel:
|
|
|
944
945
|
nextclaw cron add -n "daily" -m "Daily briefing" -c "0 9 * * *" --deliver --to <recipient> --channel <channel>
|
|
945
946
|
```
|
|
946
947
|
|
|
947
|
-
|
|
948
|
+
List all jobs by default, or only enabled ones if needed:
|
|
949
|
+
|
|
950
|
+
```bash
|
|
951
|
+
nextclaw cron list
|
|
952
|
+
nextclaw cron list --enabled-only
|
|
953
|
+
```
|
|
954
|
+
|
|
955
|
+
Remove or change a job's enabled state:
|
|
948
956
|
|
|
949
957
|
```bash
|
|
950
958
|
nextclaw cron remove <jobId>
|
|
951
959
|
nextclaw cron enable <jobId>
|
|
952
|
-
nextclaw cron
|
|
960
|
+
nextclaw cron disable <jobId>
|
|
953
961
|
```
|
|
954
962
|
|
|
955
963
|
Run a job once (e.g. for testing):
|