nextclaw 0.8.3 → 0.8.5

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 (2) hide show
  1. package/dist/cli/index.js +47 -27
  2. package/package.json +4 -4
package/dist/cli/index.js CHANGED
@@ -1835,26 +1835,7 @@ var DiagnosticsCommands = class {
1835
1835
  };
1836
1836
 
1837
1837
  // src/cli/commands/service.ts
1838
- import {
1839
- APP_NAME as APP_NAME2,
1840
- ChannelManager as ChannelManager2,
1841
- CronService as CronService2,
1842
- getApiBase,
1843
- getConfigPath as getConfigPath2,
1844
- getDataDir as getDataDir5,
1845
- getProvider,
1846
- getProviderName,
1847
- getWorkspacePath as getWorkspacePath5,
1848
- HeartbeatService,
1849
- LiteLLMProvider,
1850
- SkillsLoader,
1851
- loadConfig as loadConfig5,
1852
- MessageBus,
1853
- ProviderManager,
1854
- saveConfig as saveConfig4,
1855
- SessionManager,
1856
- parseAgentScopedSessionKey as parseAgentScopedSessionKey2
1857
- } from "@nextclaw/core";
1838
+ import * as NextclawCore from "@nextclaw/core";
1858
1839
  import {
1859
1840
  getPluginChannelBindings as getPluginChannelBindings2,
1860
1841
  resolvePluginChannelMessageToolHints,
@@ -2496,6 +2477,32 @@ var GatewayAgentRuntimePool = class {
2496
2477
  };
2497
2478
 
2498
2479
  // src/cli/commands/service.ts
2480
+ var {
2481
+ APP_NAME: APP_NAME2,
2482
+ ChannelManager: ChannelManager2,
2483
+ CronService: CronService2,
2484
+ getApiBase,
2485
+ getConfigPath: getConfigPath2,
2486
+ getDataDir: getDataDir5,
2487
+ getProvider,
2488
+ getProviderName,
2489
+ getWorkspacePath: getWorkspacePath5,
2490
+ HeartbeatService,
2491
+ LiteLLMProvider,
2492
+ loadConfig: loadConfig5,
2493
+ MessageBus,
2494
+ ProviderManager,
2495
+ saveConfig: saveConfig4,
2496
+ SessionManager,
2497
+ parseAgentScopedSessionKey: parseAgentScopedSessionKey2
2498
+ } = NextclawCore;
2499
+ function createSkillsLoader(workspace) {
2500
+ const ctor = NextclawCore.SkillsLoader;
2501
+ if (!ctor) {
2502
+ return null;
2503
+ }
2504
+ return new ctor(workspace);
2505
+ }
2499
2506
  var ServiceCommands = class {
2500
2507
  constructor(deps) {
2501
2508
  this.deps = deps;
@@ -2691,14 +2698,27 @@ var ServiceCommands = class {
2691
2698
  console.log(`\u2713 Cron: ${cronStatus.jobs} scheduled jobs`);
2692
2699
  }
2693
2700
  console.log("\u2713 Heartbeat: every 30m");
2694
- const configPath = getConfigPath2();
2695
- const watcher = chokidar.watch(configPath, {
2701
+ const configPath = resolve7(getConfigPath2());
2702
+ const watcher = chokidar.watch(dirname(configPath), {
2696
2703
  ignoreInitial: true,
2697
2704
  awaitWriteFinish: { stabilityThreshold: 200, pollInterval: 50 }
2698
2705
  });
2699
- watcher.on("add", () => reloader.scheduleReload("config add"));
2700
- watcher.on("change", () => reloader.scheduleReload("config change"));
2701
- watcher.on("unlink", () => reloader.scheduleReload("config unlink"));
2706
+ watcher.on("all", (event, changedPath) => {
2707
+ if (resolve7(changedPath) !== configPath) {
2708
+ return;
2709
+ }
2710
+ if (event === "add") {
2711
+ reloader.scheduleReload("config add");
2712
+ return;
2713
+ }
2714
+ if (event === "change") {
2715
+ reloader.scheduleReload("config change");
2716
+ return;
2717
+ }
2718
+ if (event === "unlink") {
2719
+ reloader.scheduleReload("config unlink");
2720
+ }
2721
+ });
2702
2722
  await cron2.start();
2703
2723
  await heartbeat.start();
2704
2724
  try {
@@ -3147,8 +3167,8 @@ var ServiceCommands = class {
3147
3167
  output: destination
3148
3168
  };
3149
3169
  }
3150
- const loader = new SkillsLoader(workspace);
3151
- const builtin = loader.listSkills(false).find((skill) => skill.name === slug && skill.source === "builtin");
3170
+ const loader = createSkillsLoader(workspace);
3171
+ const builtin = (loader?.listSkills(false) ?? []).find((skill) => skill.name === slug && skill.source === "builtin");
3152
3172
  if (!builtin) {
3153
3173
  if (existsSync7(destinationSkillFile)) {
3154
3174
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextclaw",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "description": "Lightweight personal AI assistant with CLI, multi-provider routing, and channel integrations.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -38,9 +38,9 @@
38
38
  "dependencies": {
39
39
  "chokidar": "^3.6.0",
40
40
  "commander": "^12.1.0",
41
- "@nextclaw/core": "^0.6.27",
42
- "@nextclaw/server": "^0.5.1",
43
- "@nextclaw/openclaw-compat": "^0.1.20"
41
+ "@nextclaw/core": "^0.6.28",
42
+ "@nextclaw/server": "^0.5.3",
43
+ "@nextclaw/openclaw-compat": "^0.1.21"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/node": "^20.17.6",