@karmaniverous/jeeves-server-openclaw 0.5.1 → 0.6.0
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.js +12439 -6632
- package/dist/index.js +13886 -7356
- package/dist/skills/jeeves-server/SKILL.md +20 -39
- package/dist/src/cli.d.ts +2 -7
- package/dist/src/serverTools.d.ts +5 -2
- package/openclaw.plugin.json +1 -1
- package/package.json +2 -2
- package/dist/src/pluginRemove.d.ts +0 -15
- package/dist/src/pluginRemove.test.d.ts +0 -4
- package/dist/src/serviceCommands.d.ts +0 -19
- package/dist/src/serviceCommands.test.d.ts +0 -4
|
@@ -6,12 +6,15 @@ Operate and interact with a jeeves-server deployment. Use for file browsing, doc
|
|
|
6
6
|
|
|
7
7
|
| Tool | Purpose |
|
|
8
8
|
|------|---------|
|
|
9
|
-
| `server_status` | Server health: version, uptime, Chrome availability, export formats,
|
|
9
|
+
| `server_status` | Server health: version, uptime, port, Chrome availability, export formats, auth info |
|
|
10
10
|
| `server_browse` | Get file/directory metadata and listings for a browse path |
|
|
11
11
|
| `server_link_info` | Query available link types for a path (page URL, raw URL, export links) |
|
|
12
12
|
| `server_share` | Generate share links with optional expiry and directory depth |
|
|
13
13
|
| `server_export` | Trigger export (PDF, DOCX, SVG, PNG, ZIP) and get download URL |
|
|
14
14
|
| `server_event_status` | Query event gateway status, active schemas, and recent event log |
|
|
15
|
+
| `server_config` | Query resolved server configuration (supports JSONPath) |
|
|
16
|
+
| `server_config_apply` | Apply a configuration patch to the running server |
|
|
17
|
+
| `server_service` | Manage the system service (install, uninstall, start, stop, restart, status) |
|
|
15
18
|
|
|
16
19
|
## Browse Paths
|
|
17
20
|
|
|
@@ -44,8 +47,11 @@ Use `server_link_info` first to check which formats are available for a path.
|
|
|
44
47
|
Run `server_status` to check:
|
|
45
48
|
- Server version and uptime
|
|
46
49
|
- Chrome availability (required for PDF export)
|
|
47
|
-
- Connected services (watcher, runner) and their reachability
|
|
48
50
|
- Available export formats and diagram languages
|
|
51
|
+
- Auth configuration (insider count, key count)
|
|
52
|
+
- Event gateway schemas
|
|
53
|
+
|
|
54
|
+
Service health for companion services (watcher, runner, meta) is mediated through the server's `/status` endpoint. The plugin queries the server only — never watcher or runner directly.
|
|
49
55
|
|
|
50
56
|
## Bootstrap: Full Stack Setup
|
|
51
57
|
|
|
@@ -65,7 +71,13 @@ npm install -g @karmaniverous/jeeves-server
|
|
|
65
71
|
|
|
66
72
|
### 2. Create config
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
Generate a starter config:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
jeeves-server init --config /path/to/config-dir
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Or create `jeeves-server/config.json` manually (JSON only — cosmiconfig was removed):
|
|
69
81
|
|
|
70
82
|
```json
|
|
71
83
|
{
|
|
@@ -107,36 +119,6 @@ Create `jeeves-server.config.json` (or any cosmiconfig-supported format) in the
|
|
|
107
119
|
- `keys._plugin` — required for OpenClaw plugin auth
|
|
108
120
|
- `outsiderPolicy` — optional global constraints on outsider sharing (can reference a named scope)
|
|
109
121
|
|
|
110
|
-
### Named Scope Composition
|
|
111
|
-
|
|
112
|
-
Define reusable scope policies at the top level, then reference them by name:
|
|
113
|
-
|
|
114
|
-
```json
|
|
115
|
-
{
|
|
116
|
-
"scopes": {
|
|
117
|
-
"standard": { "allow": ["/**"], "deny": ["/secrets/**"] },
|
|
118
|
-
"no-vc": { "deny": ["/projects/vc/**"] },
|
|
119
|
-
"no-private": { "deny": ["/projects/jill/**"] }
|
|
120
|
-
},
|
|
121
|
-
"insiders": {
|
|
122
|
-
"dev@example.com": { "scopes": ["standard", "no-vc"] },
|
|
123
|
-
"jill@example.com": {
|
|
124
|
-
"scopes": ["standard", "no-private"],
|
|
125
|
-
"allow": ["/projects/jill/**"]
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**Composition rules:**
|
|
132
|
-
- Multiple named scopes are **unioned** — all `allow` and `deny` patterns merge
|
|
133
|
-
- Explicit `allow`/`deny` on the insider or key entry act as **overrides** with highest precedence:
|
|
134
|
-
1. Explicit `deny` → **DENIED** (overrides named allow)
|
|
135
|
-
2. Explicit `allow` → **ALLOWED** (overrides named deny)
|
|
136
|
-
3. Standard named scope `allow AND NOT deny`
|
|
137
|
-
|
|
138
|
-
This lets you compose broad policies (e.g. `no-private`) and surgically override them for specific users (e.g. Jill gets access to her own project).
|
|
139
|
-
|
|
140
122
|
Environment variable substitution is supported: `${VAR_NAME}` in string values.
|
|
141
123
|
|
|
142
124
|
Generate key seeds with:
|
|
@@ -148,11 +130,13 @@ node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
|
|
148
130
|
|
|
149
131
|
```bash
|
|
150
132
|
jeeves-server config validate [--config <path>]
|
|
151
|
-
jeeves-server config
|
|
133
|
+
jeeves-server config [jsonpath] [--config <path>]
|
|
152
134
|
```
|
|
153
135
|
|
|
154
136
|
### 4. Register as system service
|
|
155
137
|
|
|
138
|
+
Service commands execute directly (no more printing instructions):
|
|
139
|
+
|
|
156
140
|
**Windows (NSSM):**
|
|
157
141
|
```bash
|
|
158
142
|
jeeves-server service install [--config <path>]
|
|
@@ -162,8 +146,7 @@ jeeves-server service start
|
|
|
162
146
|
**Linux (systemd):**
|
|
163
147
|
```bash
|
|
164
148
|
jeeves-server service install [--config <path>]
|
|
165
|
-
|
|
166
|
-
sudo systemctl start jeeves-server
|
|
149
|
+
jeeves-server service start
|
|
167
150
|
```
|
|
168
151
|
|
|
169
152
|
### 5. Configure Caddy reverse proxy
|
|
@@ -186,14 +169,12 @@ npx @karmaniverous/jeeves-server-openclaw install
|
|
|
186
169
|
|
|
187
170
|
Configure the plugin in `openclaw.json` with `apiUrl` and `pluginKey` (matching the `_plugin` key seed from server config).
|
|
188
171
|
|
|
189
|
-
**Note:** The installer handles plugin registration in `openclaw.json` automatically. If using `openclaw plugins install` instead (when available), you may need to manually add the plugin entry to `plugins.entries` in `openclaw.json` with `apiUrl` and `pluginKey` config values.
|
|
190
|
-
|
|
191
172
|
Restart the gateway to load the plugin.
|
|
192
173
|
|
|
193
174
|
## Troubleshooting
|
|
194
175
|
|
|
195
176
|
If the server is unreachable:
|
|
196
|
-
1. Is the service running? → `jeeves-server service
|
|
177
|
+
1. Is the service running? → `jeeves-server service status`
|
|
197
178
|
2. Is the apiUrl correct? → Default: `http://127.0.0.1:1934`
|
|
198
179
|
3. Is the `_plugin` key configured in both server config and plugin config?
|
|
199
180
|
4. Is Caddy proxying to the correct port? → Check `Caddyfile`
|
package/dist/src/cli.d.ts
CHANGED
|
@@ -2,13 +2,8 @@
|
|
|
2
2
|
* CLI for installing/uninstalling the jeeves-server OpenClaw plugin.
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
|
-
* npx
|
|
6
|
-
* npx
|
|
7
|
-
*
|
|
8
|
-
* Supports non-default installations via:
|
|
9
|
-
* - OPENCLAW_CONFIG env var (path to openclaw.json)
|
|
10
|
-
* - OPENCLAW_HOME env var (path to .openclaw directory)
|
|
11
|
-
* - Default: ~/.openclaw/openclaw.json
|
|
5
|
+
* `npx @karmaniverous/jeeves-server-openclaw install`
|
|
6
|
+
* `npx @karmaniverous/jeeves-server-openclaw uninstall`
|
|
12
7
|
*
|
|
13
8
|
* @packageDocumentation
|
|
14
9
|
*/
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Domain-specific server tool registrations for the OpenClaw plugin.
|
|
3
|
+
*
|
|
4
|
+
* Standard tools (`server_status`, `server_config`, `server_config_apply`,
|
|
5
|
+
* `server_service`) come from `createPluginToolset(descriptor)` in core.
|
|
3
6
|
*/
|
|
4
7
|
import { type PluginApi } from '@karmaniverous/jeeves';
|
|
5
|
-
/** Register all server_* tools with the OpenClaw plugin API. */
|
|
8
|
+
/** Register all domain-specific server_* tools with the OpenClaw plugin API. */
|
|
6
9
|
export declare function registerServerTools(api: PluginApi, baseUrl: string): void;
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@karmaniverous/jeeves-server-openclaw",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -115,6 +115,6 @@
|
|
|
115
115
|
"hideCredit": true
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"@karmaniverous/jeeves": "^0.
|
|
118
|
+
"@karmaniverous/jeeves": "^0.4.4"
|
|
119
119
|
}
|
|
120
120
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
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[];
|
|
@@ -1,19 +0,0 @@
|
|
|
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, type 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;
|