squad-openclaw 2026.2.1902 → 2026.2.1904

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/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides:
5
5
  * - In-memory entity registry with filesystem watching (entity_list, entity_search, entity_sync)
6
- * - Filesystem tools for remote clients (fs_read, fs_write, fs_list, fs_delete)
6
+ * - Filesystem tools for remote clients (fs_read, fs_write, fs_list, fs_delete, fs_rename)
7
7
  * - Version check and self-update gateway methods (squad.version.*)
8
8
  * - Cloud relay client for remote browser access (relay-client)
9
9
  */
package/dist/index.js CHANGED
@@ -829,6 +829,40 @@ function registerFilesystemTools(api) {
829
829
  }
830
830
  }
831
831
  });
832
+ api.registerTool({
833
+ name: "fs_rename",
834
+ label: "Rename / Move",
835
+ description: "Rename or move a file or directory on the server filesystem. Supports ~ for home directory expansion.",
836
+ parameters: {
837
+ type: "object",
838
+ properties: {
839
+ oldPath: {
840
+ type: "string",
841
+ description: "Current absolute or ~-prefixed path"
842
+ },
843
+ newPath: {
844
+ type: "string",
845
+ description: "New absolute or ~-prefixed path"
846
+ }
847
+ },
848
+ required: ["oldPath", "newPath"]
849
+ },
850
+ async execute(_id, params) {
851
+ try {
852
+ const resolvedOld = validatePath(params.oldPath, allowedRoots);
853
+ const resolvedNew = validatePath(params.newPath, allowedRoots);
854
+ fs3.renameSync(resolvedOld, resolvedNew);
855
+ return ok({
856
+ oldPath: resolvedOld,
857
+ newPath: resolvedNew,
858
+ renamed: true
859
+ });
860
+ } catch (e) {
861
+ const msg = e instanceof Error ? e.message : String(e);
862
+ return err(`fs_rename failed: ${msg}`);
863
+ }
864
+ }
865
+ });
832
866
  api.registerTool({
833
867
  name: "fs_delete",
834
868
  label: "Delete File or Directory",
@@ -952,14 +986,17 @@ function registerVersionMethods(api) {
952
986
  }
953
987
  }
954
988
  const after = getCurrentVersion();
955
- const updated = before !== after;
956
989
  respond(true, {
957
990
  previousVersion: before,
958
991
  currentVersion: after,
959
- updated,
960
- restartRequired: updated,
992
+ updated: true,
993
+ restartRequired: true,
961
994
  output: updateOutput.slice(0, 500)
962
995
  });
996
+ console.log(
997
+ `[version] Plugin update command succeeded (was ${before}), restarting gateway in 2s...`
998
+ );
999
+ setTimeout(() => process.exit(0), 2e3);
963
1000
  } catch (e) {
964
1001
  const msg = e instanceof Error ? e.message : String(e);
965
1002
  respond(false, { error: msg });
@@ -9,7 +9,7 @@
9
9
  "fs.allowedRoots": {
10
10
  "type": "array",
11
11
  "items": { "type": "string" },
12
- "description": "Restrict fs_read/fs_write/fs_list/fs_delete to these directories. Empty or omitted = allow all."
12
+ "description": "Restrict fs_read/fs_write/fs_list/fs_delete/fs_rename to these directories. Empty or omitted = allow all."
13
13
  },
14
14
  "relay.enabled": {
15
15
  "type": "boolean",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squad-openclaw",
3
- "version": "2026.2.1902",
3
+ "version": "2026.2.1904",
4
4
  "description": "Entity registry, filesystem tools, and version management plugin for OpenClaw gateway",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",