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 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 = opts.all ? "?all=1" : "";
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(Boolean(opts.all)));
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", "Include disabled jobs").action(async (opts) => runtime.cronList(opts));
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.21",
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/ncp-mcp": "0.1.56",
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/runtime": "0.2.22",
48
- "@nextclaw/openclaw-compat": "0.3.47",
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",
@@ -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 (use `--disable` to disable) |
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
- Remove, enable, or disable a job:
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 enable <jobId> --disable
960
+ nextclaw cron disable <jobId>
953
961
  ```
954
962
 
955
963
  Run a job once (e.g. for testing):