@karmaniverous/jeeves-server-openclaw 0.2.1 → 0.3.1

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.
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * Rollup configuration for the OpenClaw plugin package.
3
3
  * Two entry points: plugin (ESM + declarations) and CLI (ESM executable).
4
+ *
5
+ * @remarks
6
+ * `@karmaniverous/jeeves` is bundled (not external) because the plugin runs
7
+ * inside `~/.openclaw/extensions/` where there is no `node_modules` tree.
8
+ * Node builtins remain external since they're always available at runtime.
4
9
  */
5
10
  import type { RollupOptions } from 'rollup';
6
11
  declare const _default: RollupOptions[];
package/dist/src/cli.d.ts CHANGED
@@ -5,4 +5,4 @@
5
5
  * npx \@karmaniverous/jeeves-server-openclaw install
6
6
  * npx \@karmaniverous/jeeves-server-openclaw uninstall
7
7
  */
8
- export declare function patchConfig(config: Record<string, unknown>, mode: 'add' | 'remove'): string[];
8
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OpenClaw config patching utilities.
3
+ *
4
+ * @remarks
5
+ * Shared by both the `npx ... install|uninstall` CLI and by in-process
6
+ * plugin commands.
7
+ */
8
+ export declare function patchConfig(config: Record<string, unknown>, mode: 'add' | 'remove'): string[];
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared constants for the jeeves-server OpenClaw plugin.
3
+ */
4
+ /** Plugin identifier used in OpenClaw config and extension paths. */
5
+ export declare const PLUGIN_ID = "jeeves-server-openclaw";
@@ -4,6 +4,11 @@
4
4
  /** Minimal OpenClaw plugin API surface used for tool registration. */
5
5
  export interface PluginApi {
6
6
  config?: {
7
+ agents?: {
8
+ defaults?: {
9
+ workspace?: string;
10
+ };
11
+ };
7
12
  plugins?: {
8
13
  entries?: Record<string, {
9
14
  config?: Record<string, unknown>;
@@ -28,6 +33,8 @@ export interface ToolResult {
28
33
  }>;
29
34
  isError?: boolean;
30
35
  }
36
+ /** Extract plugin config from the API object. */
37
+ export declare function getPluginConfig(api: PluginApi): Record<string, unknown> | undefined;
31
38
  /** Resolve the server API base URL from plugin config. */
32
39
  export declare function getApiUrl(api: PluginApi): string;
33
40
  /** Resolve the plugin key seed from plugin config. */
@@ -1,6 +1,9 @@
1
1
  /**
2
- * OpenClaw plugin entry point. Registers all jeeves-server tools.
2
+ * OpenClaw plugin entry point for jeeves-server.
3
+ *
4
+ * Registers server_* tools, initializes the jeeves-core library,
5
+ * and starts a ComponentWriter to manage the Server section in TOOLS.md.
3
6
  */
4
- import type { PluginApi } from './helpers.js';
5
- /** Register all jeeves-server tools with the OpenClaw plugin API. */
7
+ import { type PluginApi } from './helpers.js';
8
+ /** Register all jeeves-server tools and start the TOOLS.md writer. */
6
9
  export default function register(api: PluginApi): void;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * OpenClaw home and config path resolution.
3
+ *
4
+ * @remarks
5
+ * Shared by the CLI installer and the in-process plugin commands.
6
+ */
7
+ /**
8
+ * Resolve the OpenClaw home directory from environment or default.
9
+ */
10
+ export declare function resolveOpenClawHome(): string;
11
+ /**
12
+ * Resolve the OpenClaw config file path from environment or default.
13
+ */
14
+ export declare function resolveConfigPath(home: string): string;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Tests for OpenClaw path resolution utilities.
3
+ */
4
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shared plugin removal logic for extension directory and config cleanup.
3
+ *
4
+ * @remarks
5
+ * Used by both the CLI `uninstall` command and the in-process
6
+ * `PluginCommands.uninstall()` implementation.
7
+ */
8
+ /**
9
+ * Remove the plugin extension directory and patch the OpenClaw config.
10
+ *
11
+ * @param home - OpenClaw home directory path.
12
+ * @param configPath - OpenClaw config file path.
13
+ * @returns Messages describing what was changed.
14
+ */
15
+ export declare function removePlugin(home: string, configPath: string): string[];
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Tests for shared plugin removal logic.
3
+ */
4
+ export {};
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Service and plugin lifecycle commands for the JeevesComponent interface.
3
+ *
4
+ * Wraps NSSM service management (JeevesServer) and plugin uninstall
5
+ * via shared removal logic.
6
+ */
7
+ import type { PluginCommands, ServiceCommands } from '@karmaniverous/jeeves';
8
+ /**
9
+ * Create service lifecycle commands for the JeevesServer NSSM service.
10
+ *
11
+ * @returns ServiceCommands implementation.
12
+ */
13
+ export declare function createServiceCommands(): ServiceCommands;
14
+ /**
15
+ * Create plugin lifecycle commands for the OpenClaw plugin.
16
+ *
17
+ * @returns PluginCommands implementation.
18
+ */
19
+ export declare function createPluginCommands(): PluginCommands;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Tests for service and plugin lifecycle commands.
3
+ */
4
+ export {};
@@ -2,7 +2,7 @@
2
2
  "id": "jeeves-server-openclaw",
3
3
  "name": "Jeeves Server",
4
4
  "description": "File browsing, document sharing, export, and event gateway tools for jeeves-server.",
5
- "version": "0.2.1",
5
+ "version": "0.3.1",
6
6
  "skills": [
7
7
  "dist/skills/jeeves-server"
8
8
  ],
@@ -18,6 +18,11 @@
18
18
  "pluginKey": {
19
19
  "type": "string",
20
20
  "description": "Server _plugin key seed (for authenticated API calls)"
21
+ },
22
+ "configRoot": {
23
+ "type": "string",
24
+ "description": "Platform config root directory (e.g. j:/config). Core derives component config dirs from this path.",
25
+ "default": "j:/config"
21
26
  }
22
27
  }
23
28
  },
@@ -29,6 +34,10 @@
29
34
  "pluginKey": {
30
35
  "label": "Plugin Key Seed",
31
36
  "placeholder": "hex string from server config keys._plugin"
37
+ },
38
+ "configRoot": {
39
+ "label": "Config Root",
40
+ "placeholder": "j:/config"
32
41
  }
33
42
  }
34
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@karmaniverous/jeeves-server-openclaw",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -17,14 +17,17 @@
17
17
  "release:pre": "dotenvx run -f .env.local -- release-it --no-git.requireBranch --github.prerelease --preRelease"
18
18
  },
19
19
  "devDependencies": {
20
- "@dotenvx/dotenvx": "^1.54.1",
20
+ "@dotenvx/dotenvx": "^1.55.1",
21
+ "@rollup/plugin-commonjs": "^29.0.2",
22
+ "@rollup/plugin-json": "^6.1.0",
23
+ "@rollup/plugin-node-resolve": "^16.0.3",
21
24
  "@rollup/plugin-typescript": "^12.3.0",
22
25
  "auto-changelog": "^2.5.0",
23
26
  "cross-env": "^10.1.0",
24
27
  "release-it": "^19.2.4",
25
28
  "rollup": "^4.59.0",
26
29
  "tslib": "^2.8.1",
27
- "vitest": "^4.0.18"
30
+ "vitest": "^4.1.0"
28
31
  },
29
32
  "author": "Jason Williscroft",
30
33
  "description": "OpenClaw plugin for jeeves-server — file browsing, sharing, export, and event gateway tools",
@@ -103,5 +106,15 @@
103
106
  "npm": {
104
107
  "publish": true
105
108
  }
109
+ },
110
+ "auto-changelog": {
111
+ "output": "CHANGELOG.md",
112
+ "tagPrefix": "openclaw/",
113
+ "unreleased": true,
114
+ "commitLimit": false,
115
+ "hideCredit": true
116
+ },
117
+ "dependencies": {
118
+ "@karmaniverous/jeeves": "^0.1.6"
106
119
  }
107
120
  }
@@ -1,8 +0,0 @@
1
- /**
2
- * Writes the Server menu section directly to TOOLS.md on disk.
3
- */
4
- import { type PluginApi } from './helpers.js';
5
- /**
6
- * Start the periodic TOOLS.md writer.
7
- */
8
- export declare function startToolsWriter(api: PluginApi): void;