cmdr-mcp 0.4.0 → 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/.claude-plugin/marketplace.json +2 -2
- package/README.md +44 -17
- package/docs/README.zh-CN.md +33 -8
- package/docs/agent-integration.md +74 -12
- package/docs/dashboard-plan.md +327 -0
- package/docs/dashboard.md +101 -0
- package/docs/implementation.md +25 -4
- package/docs/long-running-collaboration.md +4 -2
- package/docs/publishing.md +11 -9
- package/docs/setup.md +4 -3
- package/docs/troubleshooting.md +3 -3
- package/marketplace.json +2 -2
- package/package.json +10 -2
- package/plugins/cmdr/.claude-plugin/plugin.json +1 -1
- package/plugins/cmdr/.codex-plugin/plugin.json +1 -1
- package/plugins/cmdr/.kimi-plugin/plugin.json +65 -0
- package/plugins/cmdr/.zcode-plugin/plugin.json +1 -1
- package/plugins/cmdr/README.md +7 -5
- package/plugins/cmdr/THIRD_PARTY_NOTICES.txt +130 -0
- package/plugins/cmdr/bin/cmdr-check.mjs +6 -1
- package/plugins/cmdr/bin/cmdr-node +8 -1
- package/plugins/cmdr/commands/cmdr.md +3 -1
- package/plugins/cmdr/dist/cli.mjs +226 -43
- package/plugins/cmdr/dist/daemon.mjs +4792 -161
- package/plugins/cmdr/dist/dashboard/app.css +1 -0
- package/plugins/cmdr/dist/dashboard/app.js +10 -0
- package/plugins/cmdr/dist/dashboard/index.html +13 -0
- package/plugins/cmdr/dist/hook.mjs +22 -4
- package/plugins/cmdr/dist/integrity.json +24 -19
- package/plugins/cmdr/dist/mcp.mjs +148 -66
- package/plugins/cmdr/kimi-identity/SKILL.md +12 -0
- package/plugins/cmdr/skills/cmdr/SKILL.md +4 -2
- package/plugins/cmdr/skills/cmdr/references/commander.md +3 -1
- package/plugins/cmdr/skills/cmdr/references/executor.md +3 -1
- package/plugins/cmdr/skills/cmdr/references/setup.md +1 -1
- package/plugins/cmdr/skills/cmdr-commander/SKILL.md +3 -1
- package/plugins/cmdr/skills/cmdr-executor/SKILL.md +3 -1
- package/plugins/cmdr/skills/using-cmdr/SKILL.md +3 -3
package/docs/setup.md
CHANGED
|
@@ -6,7 +6,7 @@ Available from cmdr-mcp 0.4.0. Requires macOS/Linux and Node.js >=22.5 (24 recom
|
|
|
6
6
|
npx -y --package=cmdr-mcp@latest cmdr setup --agent claude-code
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Choose `claude-code`, `codex` or `
|
|
9
|
+
Choose `claude-code`, `codex`, `zcode` or `kimi-code`. Setup installs a persistent runtime, the `cmdr` skill, MCP and user hooks, then checks the nine tools in temporary state. Use the printed CLI path (normally `~/.cmdr/bin/cmdr`), open a new host session and complete any trust prompts. Kimi Code loads `config.toml` hooks only at startup, so restart the app instead. Existing hook opt-outs are preserved. Other MCP hosts use `cmdr config --agent <host-id>`.
|
|
10
10
|
|
|
11
11
|
To install only the self-contained skill and its role/setup references:
|
|
12
12
|
|
|
@@ -23,6 +23,7 @@ Add `-g` for global scope or `--agent <supported-agent>` to select a host. This
|
|
|
23
23
|
| Claude Code (`claude-code`, alias `claude`) | `~/.claude.json` | `~/.claude/settings.json` | `~/.claude/skills/cmdr` |
|
|
24
24
|
| Codex | `$CODEX_HOME/config.toml`, default `~/.codex/config.toml` | `$CODEX_HOME/hooks.json` | `$CODEX_HOME/skills/cmdr` |
|
|
25
25
|
| ZCode | `~/.zcode/cli/config.json`, `mcp.servers` | Same file, `hooks.events` | `~/.zcode/skills/cmdr` |
|
|
26
|
+
| Kimi Code (`kimi-code`, alias `kimi`) | `$KIMI_CODE_HOME/mcp.json`, default `~/.kimi-code/mcp.json` | Same directory, `config.toml` `[[hooks]]` | `$KIMI_CODE_HOME/skills/cmdr` |
|
|
26
27
|
|
|
27
28
|
| Option | Purpose |
|
|
28
29
|
| --- | --- |
|
|
@@ -30,7 +31,7 @@ Add `-g` for global scope or `--agent <supported-agent>` to select a host. This
|
|
|
30
31
|
| `--json` | Return paths, changes, warnings and backup location as JSON |
|
|
31
32
|
| `--config-dir PATH` | Select a custom host **user** profile directory; launch the host with that same profile |
|
|
32
33
|
|
|
33
|
-
`CLAUDE_CONFIG_DIR` is respected; its MCP file is `<CLAUDE_CONFIG_DIR>/.claude.json`. ZCode loads user hooks, not workspace hooks. `CMDR_HOME` selects runtime/state storage (default `~/.cmdr`): build directories live in `runtimes/`, stable profile-specific launchers in `bin/`. They survive npx cache removal and bind the host/state directory, never a fixed session ID. See [host integration](agent-integration.md) for identity and lifecycle contracts.
|
|
34
|
+
`CLAUDE_CONFIG_DIR` is respected; its MCP file is `<CLAUDE_CONFIG_DIR>/.claude.json`. `KIMI_CODE_HOME` relocates the whole Kimi Code data directory, including `mcp.json`, `config.toml` and `skills/`; without it the default `~/.kimi-code` applies. ZCode loads user hooks, not workspace hooks. `CMDR_HOME` selects runtime/state storage (default `~/.cmdr`): build directories live in `runtimes/`, stable profile-specific launchers in `bin/`. They survive npx cache removal and bind the host/state directory, never a fixed session ID. See [host integration](agent-integration.md) for identity and lifecycle contracts.
|
|
34
35
|
|
|
35
36
|
## Upgrade and recovery
|
|
36
37
|
|
|
@@ -42,4 +43,4 @@ Existing copies/symlinks of this repository's skill are backed up and replaced w
|
|
|
42
43
|
|
|
43
44
|
Backups live in `<CMDR_HOME>/setup-backups/<run>/`. `restore.json` maps each changed path to its backup (`null` marks a newly created entry). Failed writes are rolled back; concurrent edits are reported for manual recovery. After a crash, inspect that record before retrying. Remove a stale `setup.lock` only after confirming its recorded process has stopped.
|
|
44
45
|
|
|
45
|
-
For diagnostics, run `<printed-cli> doctor --deep`. Move a damaged runtime directory aside and rerun setup from an intact package. Native plugins require their own cache refresh. For [automatic standby](long-running-collaboration.md#automatic-standby), Claude/ZCode arm `listener.arm.command` with the indicated native host tool; Codex uses daemon-managed proxy/queue delivery. GUI trust, actual hook execution and automatic wake must be verified in the host; setup's isolated MCP check does not establish those capabilities.
|
|
46
|
+
For diagnostics, run `<printed-cli> doctor --deep`. Move a damaged runtime directory aside and rerun setup from an intact package. Native plugins require their own cache refresh. For [automatic standby](long-running-collaboration.md#automatic-standby), Claude/ZCode/Kimi Code arm `listener.arm.command` with the indicated native host tool; Codex uses daemon-managed proxy/queue delivery. GUI trust, actual hook execution and automatic wake must be verified in the host; setup's isolated MCP check does not establish those capabilities.
|
package/docs/troubleshooting.md
CHANGED
|
@@ -16,7 +16,7 @@ cmdr doctor --plugin-root /absolute/path/to/host/cache/cmdr --deep
|
|
|
16
16
|
|
|
17
17
|
The checker lives outside the bundles. If the selected plugin's CLI bundle is missing, its `bin/cmdr doctor` can still report the damage with Node installed. Alternatively use an intact global CLI to inspect that cache. If Node is missing, the shell wrapper reports the Node requirement; install Node >=22.5 and retry. A missing checker requires reinstalling the complete package.
|
|
18
18
|
|
|
19
|
-
`doctor` exits nonzero for fatal installation failures. `--deep` additionally initializes MCP, verifies exactly
|
|
19
|
+
`doctor` exits nonzero for fatal installation failures. `--deep` additionally initializes MCP, verifies exactly nine tools, and calls `list` to check the daemon. It uses a temporary `CMDR_HOME`, an eight-second probe timeout and child cleanup. It does not join a squad or operate on the user's normal queues. Static checks do not start the normal daemon; reporting “daemon not running” is not itself an installation error.
|
|
20
20
|
|
|
21
21
|
The states are distinct:
|
|
22
22
|
|
|
@@ -37,7 +37,7 @@ ZCode has four supported plugin hooks; SessionEnd is replaced by EOF detection.
|
|
|
37
37
|
|
|
38
38
|
## ZCode cache has no `dist/`
|
|
39
39
|
|
|
40
|
-
If `bin/cmdr-mcp` exists but `dist/mcp.mjs` is missing, the launcher exits before MCP initializes, so none of the
|
|
40
|
+
If `bin/cmdr-mcp` exists but `dist/mcp.mjs` is missing, the launcher exits before MCP initializes, so none of the nine tools can register. A working global `cmdr` uses a separate installation and does not repair this cache. Missing `dist/integrity.json` also prevents verification of otherwise present manifests; this alone does not prove those manifests were modified. Hooks fail open and record a rate-limited `bootstrap-runtime` diagnostic when possible, so a quiet hook does not establish a healthy installation.
|
|
41
41
|
|
|
42
42
|
Check the registered marketplace source first. An unbuilt Git checkout contains manifests and launchers but no generated runtime. The missing files alone cannot distinguish an unbuilt source from an incomplete cache copy.
|
|
43
43
|
|
|
@@ -90,5 +90,5 @@ See [long-running collaboration](long-running-collaboration.md) for adapter requ
|
|
|
90
90
|
## Automatic wake diagnostics
|
|
91
91
|
|
|
92
92
|
- Codex: `standby status --session SID` shows the selected `transport`. Auto mode tries proxy then queue. Missing socket alone no longer establishes that wake is unavailable. Queue compatibility needs Node >=22.12, an available CLI with queue --thread/--message, and readable state_5/rollout lifecycle records in the daemon's CODEX_HOME. Inspect the concrete proxy/queue error before choosing an explicit executable or transport.
|
|
93
|
-
- Claude/ZCode: `wake_mode=claude|zcode` with starting means the native watcher still needs arming. Use the absolute `listener.arm.command` with Monitor or background Bash as specified; shell detachment cannot supply a native completion notification. WATCHER_ACTIVE means inspect/reuse the existing native task. Re-arm after daemon/App restart or native task expiry.
|
|
93
|
+
- Claude/ZCode/Kimi: `wake_mode=claude|zcode|kimi` with starting means the native watcher still needs arming. Use the absolute `listener.arm.command` with Monitor or background Bash as specified; shell detachment cannot supply a native completion notification. WATCHER_ACTIVE means inspect/reuse the existing native task. Re-arm after daemon/App restart or native task expiry.
|
|
94
94
|
- `uncertain` is not automatic retry permission. Reconcile host history and cmdr work, then choose standby resume --resolve accepted or retry. CLI acceptance never substitutes for a working report from the member.
|
package/marketplace.json
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "cmdr",
|
|
6
6
|
"source": "./plugins/cmdr",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.6.0",
|
|
8
8
|
"description": "Local multi-agent squads with durable messages, roles and lifecycle reminders."
|
|
9
9
|
}
|
|
10
10
|
],
|
|
11
|
-
"description": "Local multi-agent squads for Claude Code, Codex, ZCode and other MCP hosts."
|
|
11
|
+
"description": "Local multi-agent squads for Claude Code, Codex, ZCode, Kimi Code and other MCP hosts."
|
|
12
12
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cmdr-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Local multi-agent squads for Claude Code, Codex, ZCode and any MCP host",
|
|
5
|
+
"description": "Local multi-agent squads for Claude Code, Codex, ZCode, Kimi Code and any MCP host",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=22.5.0"
|
|
8
8
|
},
|
|
@@ -19,10 +19,18 @@
|
|
|
19
19
|
"verify:package": "node scripts/verify-package.mjs"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
+
"@hono/node-server": "^2.1.1",
|
|
22
23
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
24
|
+
"@types/jsdom": "^21.1.7",
|
|
23
25
|
"@types/node": "^24.0.0",
|
|
26
|
+
"@types/react": "^19.3.0",
|
|
27
|
+
"@types/react-dom": "^19.3.0",
|
|
24
28
|
"esbuild": "^0.25.0",
|
|
29
|
+
"hono": "^4.13.7",
|
|
30
|
+
"jsdom": "^26.1.0",
|
|
25
31
|
"prettier": "^3.9.6",
|
|
32
|
+
"react": "^19.3.0",
|
|
33
|
+
"react-dom": "^19.3.0",
|
|
26
34
|
"smol-toml": "^1.8.0",
|
|
27
35
|
"typescript": "^5.9.0",
|
|
28
36
|
"vitest": "^3.2.0",
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "cmdr",
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Local multi-agent squads with durable messages, roles and lifecycle reminders.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "njugray"
|
|
7
|
+
},
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": "https://github.com/njugray/cmdr",
|
|
10
|
+
"skills": [
|
|
11
|
+
"./skills/",
|
|
12
|
+
"./kimi-identity/"
|
|
13
|
+
],
|
|
14
|
+
"commands": "./commands/",
|
|
15
|
+
"sessionStart": {
|
|
16
|
+
"skill": "cmdr-identity"
|
|
17
|
+
},
|
|
18
|
+
"mcpServers": {
|
|
19
|
+
"cmdr": {
|
|
20
|
+
"command": "./bin/cmdr-mcp",
|
|
21
|
+
"env": {
|
|
22
|
+
"CMDR_AGENT": "kimi",
|
|
23
|
+
"CMDR_TOOL_TIMEOUT_SEC": "600"
|
|
24
|
+
},
|
|
25
|
+
"toolTimeoutMs": 600000
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"hooks": [
|
|
29
|
+
{
|
|
30
|
+
"event": "SessionStart",
|
|
31
|
+
"command": "./bin/cmdr-hook SessionStart",
|
|
32
|
+
"timeout": 5
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"event": "UserPromptSubmit",
|
|
36
|
+
"command": "./bin/cmdr-hook UserPromptSubmit",
|
|
37
|
+
"timeout": 5
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"event": "PreToolUse",
|
|
41
|
+
"matcher": "(?:^|[_:])cmdr(?:__|:)(list|join|report|leave|ask|send|read|task|artifact)$",
|
|
42
|
+
"command": "./bin/cmdr-hook PreToolUse",
|
|
43
|
+
"timeout": 5
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"event": "Stop",
|
|
47
|
+
"command": "./bin/cmdr-hook Stop",
|
|
48
|
+
"timeout": 5
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"event": "SessionEnd",
|
|
52
|
+
"command": "./bin/cmdr-hook SessionEnd",
|
|
53
|
+
"timeout": 1
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"interface": {
|
|
57
|
+
"displayName": "cmdr",
|
|
58
|
+
"category": "Developer Tools",
|
|
59
|
+
"shortDescription": "Coordinate local coding-agent sessions.",
|
|
60
|
+
"longDescription": "Connect local coding-agent sessions in squads with persistent messages, explicit roles, and lifecycle reminders.",
|
|
61
|
+
"developerName": "njugray",
|
|
62
|
+
"defaultPrompt": "Create or join a cmdr squad.",
|
|
63
|
+
"capabilities": []
|
|
64
|
+
}
|
|
65
|
+
}
|
package/plugins/cmdr/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# cmdr plugin
|
|
2
2
|
|
|
3
|
-
Connect local Claude Code, Codex, ZCode and other MCP-capable sessions as a squad. Requires macOS/Linux and Node.js ≥22.5 (24 recommended); npm distribution packages include all runtime dependencies. A source checkout requires `npm ci && npm run build` at the repository root before installation; generated `dist` files are not tracked by Git.
|
|
3
|
+
Connect local Claude Code, Codex, ZCode, Kimi Code and other MCP-capable sessions as a squad. Requires macOS/Linux and Node.js ≥22.5 (24 recommended); npm distribution packages include all runtime dependencies. A source checkout requires `npm ci && npm run build` at the repository root before installation; generated `dist` files are not tracked by Git.
|
|
4
4
|
|
|
5
5
|
For installation through `cmdr setup` or `npx skills`, see [standalone setup](https://github.com/njugray/cmdr/blob/main/docs/setup.md). Use one installation method per host to avoid duplicate tools and hooks.
|
|
6
6
|
|
|
@@ -8,12 +8,14 @@ In each session enter `/cmdr my-project`. Joining defaults to executor, even for
|
|
|
8
8
|
|
|
9
9
|
Tools: `join`, `list`, `send`, `report`, `ask`, `read`, `leave`. Executors report ready with capabilities/cwd, then read tasks, report results and ask when blocked. Commanders dispatch verifiable tasks and answer questions with `reply_to`. Acknowledge each command with working + reply_to before executing it. Use read(recover=true) to find unfinished commands after interruptions. Offline never means stopped. Use join(standby="auto") and check listener health; with a healthy listener, end the idle turn. Manual fallback is limited to two recommended waits.
|
|
10
10
|
|
|
11
|
-
Install a built checkout or the unpacked/installed npm package root as a marketplace in Claude Code/Codex, or use ZCode Settings → Plugins → Create → Add plugin marketplace. Codex needs hooks enabled and five hook approvals; start a new session after installation. For ZCode, use the published `njugray/cmdr#marketplace` source to install without a local build or global npm package. ZCode uses its native manifest and four supported hooks; MCP EOF handles offline state. Generic hosts can configure the absolute `bin/cmdr-mcp` executable and `CMDR_AGENT=<host>` with optional `CMDR_SESSION_ID=<unique native session>`.
|
|
11
|
+
Install a built checkout or the unpacked/installed npm package root as a marketplace in Claude Code/Codex, or use ZCode Settings → Plugins → Create → Add plugin marketplace. Codex needs hooks enabled and five hook approvals; start a new session after installation. For ZCode, use the published `njugray/cmdr#marketplace` source to install without a local build or global npm package. ZCode uses its native manifest and four supported hooks; MCP EOF handles offline state. Kimi Code installs through `cmdr setup --agent kimi-code` or the native `.kimi-plugin` manifest via the host plugin manager; it uses five hooks and a per-call `_cmdr_session` stamp because Kimi pools one MCP process per workspace — the `cmdr-identity` skill renders the session id (`${KIMI_SESSION_ID}`) for the model. Generic hosts can configure the absolute `bin/cmdr-mcp` executable and `CMDR_AGENT=<host>` with optional `CMDR_SESSION_ID=<unique native session>`.
|
|
12
12
|
|
|
13
|
-
`bin/cmdr config --agent zcode` prints native ZCode configuration; `bin/cmdr config --agent my-agent` prints generic MCP configuration. `bin/cmdr doctor` checks installation health. `bin/cmdr daemon restart` reloads same-version code changes. State lives in `~/.cmdr/` (override `CMDR_HOME`), shared by all sessions.
|
|
13
|
+
`bin/cmdr config --agent zcode` prints native ZCode configuration; `bin/cmdr config --agent kimi` prints native Kimi Code configuration; `bin/cmdr config --agent my-agent` prints generic MCP configuration. `bin/cmdr doctor` checks installation health. `bin/cmdr daemon restart` reloads same-version code changes. State lives in `~/.cmdr/` (override `CMDR_HOME`), shared by all sessions.
|
|
14
14
|
|
|
15
|
-
Codex wakes through proxy or queue; Claude Monitor and ZCode background Bash run the built-in standby watcher. Join/list supplies native arming instructions, and a live lease controls health. Unknown hosts remain manual; no remote transport is provided. Read marks delivery; report(working/done/failed/cancelled, reply_to) tracks work separately. cmdr standby manages listeners, and tail --after/--for supports non-consuming event replay. See [long-running collaboration](https://github.com/njugray/cmdr/blob/main/docs/long-running-collaboration.md).
|
|
15
|
+
Codex wakes through proxy or queue; Claude Monitor and ZCode/Kimi Code background Bash run the built-in standby watcher. Join/list supplies native arming instructions, and a live lease controls health. Unknown hosts remain manual; no remote transport is provided. Read marks delivery; report(working/done/failed/cancelled, reply_to) tracks work separately. cmdr standby manages listeners, and tail --after/--for supports non-consuming event replay. See [long-running collaboration](https://github.com/njugray/cmdr/blob/main/docs/long-running-collaboration.md).
|
|
16
16
|
|
|
17
17
|
[Installation and usage](https://github.com/njugray/cmdr#readme) · [Host integration](https://github.com/njugray/cmdr/blob/main/docs/agent-integration.md) · [Verification scope](https://github.com/njugray/cmdr/blob/main/docs/implementation.md)
|
|
18
18
|
|
|
19
|
-
The npm package is `cmdr-mcp`. Use `cmdr doctor --plugin-root <actual cache directory> --deep` to verify a cached installation. Static integrity checks run without the target CLI bundle; deep probes use temporary state. `cmdr session` provides all
|
|
19
|
+
The npm package is `cmdr-mcp`. Use `cmdr doctor --plugin-root <actual cache directory> --deep` to verify a cached installation. Static integrity checks run without the target CLI bundle; deep probes use temporary state. `cmdr session` provides all nine member operations with explicit host/native identity when MCP tools are unavailable. See [troubleshooting](https://github.com/njugray/cmdr/blob/main/docs/troubleshooting.md) for cancellation, identity and hook diagnostics.
|
|
20
|
+
|
|
21
|
+
The dashboard also accepts user notes for the selected squad’s commander through the existing inbox. Sending a note does not directly change tasks; see [dashboard operations](../../docs/dashboard.md).
|
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
@hono/node-server 2.1.1 (MIT)
|
|
2
|
+
MIT License
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2022 - present, Yusuke Wada and Hono contributors
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
========================================================================
|
|
26
|
+
|
|
1
27
|
@modelcontextprotocol/sdk 1.30.0 (MIT)
|
|
2
28
|
MIT License
|
|
3
29
|
|
|
@@ -135,6 +161,32 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
135
161
|
The complete list of contributors can be found at:
|
|
136
162
|
- https://github.com/garycourt/uri-js/graphs/contributors
|
|
137
163
|
|
|
164
|
+
========================================================================
|
|
165
|
+
|
|
166
|
+
hono 4.13.7 (MIT)
|
|
167
|
+
MIT License
|
|
168
|
+
|
|
169
|
+
Copyright (c) 2021 - present, Yusuke Wada and Hono contributors
|
|
170
|
+
|
|
171
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
172
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
173
|
+
in the Software without restriction, including without limitation the rights
|
|
174
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
175
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
176
|
+
furnished to do so, subject to the following conditions:
|
|
177
|
+
|
|
178
|
+
The above copyright notice and this permission notice shall be included in all
|
|
179
|
+
copies or substantial portions of the Software.
|
|
180
|
+
|
|
181
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
182
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
183
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
184
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
185
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
186
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
187
|
+
SOFTWARE.
|
|
188
|
+
|
|
189
|
+
|
|
138
190
|
========================================================================
|
|
139
191
|
|
|
140
192
|
json-schema-traverse 1.0.0 (MIT)
|
|
@@ -161,6 +213,84 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
161
213
|
SOFTWARE.
|
|
162
214
|
|
|
163
215
|
|
|
216
|
+
========================================================================
|
|
217
|
+
|
|
218
|
+
react 19.3.0 (MIT)
|
|
219
|
+
MIT License
|
|
220
|
+
|
|
221
|
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
222
|
+
|
|
223
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
224
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
225
|
+
in the Software without restriction, including without limitation the rights
|
|
226
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
227
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
228
|
+
furnished to do so, subject to the following conditions:
|
|
229
|
+
|
|
230
|
+
The above copyright notice and this permission notice shall be included in all
|
|
231
|
+
copies or substantial portions of the Software.
|
|
232
|
+
|
|
233
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
234
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
235
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
236
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
237
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
238
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
239
|
+
SOFTWARE.
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
========================================================================
|
|
243
|
+
|
|
244
|
+
react-dom 19.3.0 (MIT)
|
|
245
|
+
MIT License
|
|
246
|
+
|
|
247
|
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
248
|
+
|
|
249
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
250
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
251
|
+
in the Software without restriction, including without limitation the rights
|
|
252
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
253
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
254
|
+
furnished to do so, subject to the following conditions:
|
|
255
|
+
|
|
256
|
+
The above copyright notice and this permission notice shall be included in all
|
|
257
|
+
copies or substantial portions of the Software.
|
|
258
|
+
|
|
259
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
260
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
261
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
262
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
263
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
264
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
265
|
+
SOFTWARE.
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
========================================================================
|
|
269
|
+
|
|
270
|
+
scheduler 0.28.0 (MIT)
|
|
271
|
+
MIT License
|
|
272
|
+
|
|
273
|
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
274
|
+
|
|
275
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
276
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
277
|
+
in the Software without restriction, including without limitation the rights
|
|
278
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
279
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
280
|
+
furnished to do so, subject to the following conditions:
|
|
281
|
+
|
|
282
|
+
The above copyright notice and this permission notice shall be included in all
|
|
283
|
+
copies or substantial portions of the Software.
|
|
284
|
+
|
|
285
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
286
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
287
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
288
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
289
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
290
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
291
|
+
SOFTWARE.
|
|
292
|
+
|
|
293
|
+
|
|
164
294
|
========================================================================
|
|
165
295
|
|
|
166
296
|
smol-toml 1.8.0 (BSD-3-Clause)
|
|
@@ -20,6 +20,9 @@ const required = [
|
|
|
20
20
|
'dist/mcp.mjs',
|
|
21
21
|
'dist/hook.mjs',
|
|
22
22
|
'dist/daemon.mjs',
|
|
23
|
+
'dist/dashboard/index.html',
|
|
24
|
+
'dist/dashboard/app.js',
|
|
25
|
+
'dist/dashboard/app.css',
|
|
23
26
|
'bin/cmdr',
|
|
24
27
|
'bin/cmdr-node',
|
|
25
28
|
'bin/cmdr-mcp',
|
|
@@ -31,12 +34,14 @@ const required = [
|
|
|
31
34
|
'.claude-plugin/plugin.json',
|
|
32
35
|
'.codex-plugin/plugin.json',
|
|
33
36
|
'.zcode-plugin/plugin.json',
|
|
37
|
+
'.kimi-plugin/plugin.json',
|
|
34
38
|
];
|
|
35
39
|
for (const path of new Set([...required, ...Object.keys(manifest?.files || {})])) {
|
|
36
40
|
if (
|
|
37
41
|
!required.includes(path) &&
|
|
38
42
|
!path.startsWith('skills/') &&
|
|
39
43
|
!path.startsWith('commands/') &&
|
|
44
|
+
!path.startsWith('kimi-identity/') &&
|
|
40
45
|
path !== 'THIRD_PARTY_NOTICES.txt'
|
|
41
46
|
) {
|
|
42
47
|
errors.push(`Unexpected manifest path: ${path}`);
|
|
@@ -59,7 +64,7 @@ for (const path of new Set([...required, ...Object.keys(manifest?.files || {})])
|
|
|
59
64
|
if (!files[path]) errors.push(`Missing, modified or linked asset: ${path}`);
|
|
60
65
|
}
|
|
61
66
|
const versions = {};
|
|
62
|
-
for (const host of ['claude', 'codex', 'zcode']) {
|
|
67
|
+
for (const host of ['claude', 'codex', 'zcode', 'kimi']) {
|
|
63
68
|
try {
|
|
64
69
|
versions[host] = read(`.${host}-plugin/plugin.json`).version;
|
|
65
70
|
if (versions[host] !== manifest?.version) errors.push(`${host} version differs from build`);
|
|
@@ -51,7 +51,14 @@ if [ ! -f "$CMDR_BIN_DIR/../dist/$CMDR_ENTRY.mjs" ]; then
|
|
|
51
51
|
exit 1
|
|
52
52
|
fi
|
|
53
53
|
if [ "$CMDR_ENTRY" = hook ]; then
|
|
54
|
-
|
|
54
|
+
# Node never uses exit code 2 itself, so only a hook block (the native Kimi
|
|
55
|
+
# Code format) surfaces stderr; every other failure stays fail-open.
|
|
56
|
+
{ CMDR_HOOK_ERR=$("$CMDR_NODE" --experimental-sqlite --disable-warning=ExperimentalWarning "$CMDR_BIN_DIR/../dist/hook.mjs" "$@" 2>&1 1>&3 3>&-); CMDR_HOOK_STATUS=$?; } 3>&1
|
|
57
|
+
if [ "$CMDR_HOOK_STATUS" -eq 2 ]; then
|
|
58
|
+
printf '%s' "$CMDR_HOOK_ERR" >&2
|
|
59
|
+
exit 2
|
|
60
|
+
fi
|
|
61
|
+
[ "$CMDR_HOOK_STATUS" -ne 0 ] && cmdr_failure runtime
|
|
55
62
|
exit 0
|
|
56
63
|
fi
|
|
57
64
|
exec "$CMDR_NODE" --experimental-sqlite --disable-warning=ExperimentalWarning "$CMDR_BIN_DIR/../dist/$CMDR_ENTRY.mjs" "$@"
|
|
@@ -3,5 +3,7 @@ description: Create or join a persistent local agent channel.
|
|
|
3
3
|
argument-hint: <name>
|
|
4
4
|
---
|
|
5
5
|
Call join(squad_name="$ARGUMENTS", standby="auto") for atomic find-or-create. If no name was provided, ask for one; do not invent it. Joining defaults to executor, including a channel without a commander. Add role="commander" if the user explicitly requested command; use takeover=true only for requested handover.
|
|
6
|
-
Follow protocol_hint and the role skill. Executors report ready with cwd and capabilities. Give a brief translated user_reply preserving the join line. For Claude/ZCode, arm listener.arm.command with the indicated native host tool, following the role skill; re-arm on task termination or restart. Check listener health and end the idle turn when can_auto_respond=true. Use at most two recommended waits only when native wake is unavailable; explain the actual limitation.
|
|
6
|
+
Follow protocol_hint and the role skill. Executors report ready with cwd and capabilities. Give a brief translated user_reply preserving the join line. For Claude/ZCode/Kimi, arm listener.arm.command with the indicated native host tool, following the role skill; re-arm on task termination or restart. Check listener health and end the idle turn when can_auto_respond=true. Use at most two recommended waits only when native wake is unavailable; explain the actual limitation.
|
|
7
7
|
If tools are unavailable, follow the cmdr skill's setup reference (or using-cmdr diagnostics for legacy installs) and member CLI fallback. Use the real host session ID, never an invented identity or raw socket workaround.
|
|
8
|
+
|
|
9
|
+
For dashboard work, use task/artifact and the commander role reference for ask(target="user"). Open the built-in page with the current installation’s `cmdr dashboard`; do not generate a replacement dashboard HTML file.
|