@kontextmind/kxm 0.7.18 → 0.7.20
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 +1 -1
- package/docs/configuration.md +17 -1
- package/docs/getting-started.md +4 -1
- package/docs/kxm-handbook.md +6 -2
- package/docs/troubleshooting.md +4 -0
- package/package.json +1 -1
- package/plugins/kxm/.claude-plugin/plugin.json +1 -1
- package/plugins/kxm/dist/cli.js +441 -419
- package/plugins/kxm/dist/extension.js +13981 -13557
- package/plugins/kxm/dist/mcp-server.js +21 -10
- package/plugins/kxm/package.json +1 -1
- package/plugins/kxm/src/cli/hub.ts +3 -2
- package/plugins/kxm/src/cli.ts +3 -2
- package/plugins/kxm/src/config.ts +20 -0
- package/plugins/kxm/src/extension.ts +37 -3
- package/plugins/kxm/src/hub-autostart.ts +214 -0
- package/plugins/kxm/src/mcp-server.ts +3 -3
- package/plugins/kxm/src/project-name.ts +20 -0
package/docs/configuration.md
CHANGED
|
@@ -85,6 +85,22 @@ later restarts. Delete the file and restart to rotate the generated token.
|
|
|
85
85
|
|
|
86
86
|
Project tokens are an authorization boundary. A project-specific token can register only in its mapped project and see only that project's agents and messages. The administrative token remains a fallback for projects without an explicit entry. For provenance-gated workflows, configure an explicit project token and give workers only that token; reserve a distinct administrative token for operations such as quorum degradation approval.
|
|
87
87
|
|
|
88
|
+
### Hub auto-start (Pi extension)
|
|
89
|
+
|
|
90
|
+
`hub.autoStart` in `kxm.config.v1` controls whether harness extensions start
|
|
91
|
+
the hub themselves; the default is `background`. On every extension load, the
|
|
92
|
+
Pi TUI first reuses a healthy bound hub (`kxm hub bind`), then a live local
|
|
93
|
+
`hub.pid` claim, then a hub already answering on the configured
|
|
94
|
+
`KXM_SERVER_URL` (for example one launched directly by a harness), and only
|
|
95
|
+
starts a detached `kxm-hub.mjs` wrapper when none of them exists, logging
|
|
96
|
+
wrapper output to `.kxm/logs/hub-autostart.log`. Set
|
|
97
|
+
`hub.autoStart: off` to never start a hub from an extension. Auto-start
|
|
98
|
+
resolves credentials before launch, so a first run generates the admin token
|
|
99
|
+
and persists it under the user state root exactly as `kxm hub start` does;
|
|
100
|
+
the extension then authenticates with the environment token, the auto-start
|
|
101
|
+
token, or the persisted credential, in that order. A failed start notifies in
|
|
102
|
+
the TUI and never blocks the session.
|
|
103
|
+
|
|
88
104
|
PowerShell example:
|
|
89
105
|
|
|
90
106
|
```powershell
|
|
@@ -102,7 +118,7 @@ The four derived directories stay together when only `KXM_WORKSPACE_DIR` is set.
|
|
|
102
118
|
|---|---|---|
|
|
103
119
|
| `KXM_SERVER_URL` | `http://127.0.0.1:7331` | Hub base URL |
|
|
104
120
|
| `KXM_AUTH_TOKEN` | None | Project token, or the shared administrative token |
|
|
105
|
-
| `KXM_PROJECT` |
|
|
121
|
+
| `KXM_PROJECT` | package.json `name`, else current directory name | Discovery and message namespace |
|
|
106
122
|
| `KXM_AGENT_NAME` | Harness-derived name | Unique live identity within a project |
|
|
107
123
|
| `KXM_AGENT_PURPOSE` | Harness default | Capability description shown to peers |
|
|
108
124
|
|
package/docs/getting-started.md
CHANGED
|
@@ -84,7 +84,10 @@ research — verify them before dispatch. Declining is safe: set
|
|
|
84
84
|
|
|
85
85
|
## 3. Start the hub in another terminal
|
|
86
86
|
|
|
87
|
-
`kxm hub start` is foreground. Keep that terminal running.
|
|
87
|
+
`kxm hub start` is foreground. Keep that terminal running. The Pi extension
|
|
88
|
+
can also start the hub for you (`hub.autoStart: background`, the default in
|
|
89
|
+
`kxm.config.v1`): on load it reuses a healthy bound hub or a live local claim
|
|
90
|
+
and starts a detached wrapper only when none exists.
|
|
88
91
|
|
|
89
92
|
PowerShell:
|
|
90
93
|
|
package/docs/kxm-handbook.md
CHANGED
|
@@ -157,7 +157,11 @@ kxm init
|
|
|
157
157
|
|
|
158
158
|
### 2. Start the hub in another terminal
|
|
159
159
|
|
|
160
|
-
`kxm hub start` is foreground. Keep that terminal running.
|
|
160
|
+
`kxm hub start` is foreground. Keep that terminal running. (The Pi extension
|
|
161
|
+
also starts the hub by default — `hub.autoStart: background` in
|
|
162
|
+
`kxm.config.v1` — reusing a healthy bound hub or a live local claim and
|
|
163
|
+
spawning a detached wrapper only when none exists; set `hub.autoStart: off`
|
|
164
|
+
to disable. See Configuration.) Use a high-entropy
|
|
161
165
|
administrative token for hub operations and a different project token for
|
|
162
166
|
agents. Never pass either token on a command line.
|
|
163
167
|
|
|
@@ -314,7 +318,7 @@ network controls before allowing remote access.
|
|
|
314
318
|
|---|---:|---|
|
|
315
319
|
| `KXM_SERVER_URL` | `http://127.0.0.1:7331` | Hub URL |
|
|
316
320
|
| `KXM_AUTH_TOKEN` | none | Project token for agents |
|
|
317
|
-
| `KXM_PROJECT` | current directory name | Discovery/authentication namespace |
|
|
321
|
+
| `KXM_PROJECT` | package.json `name`, else current directory name | Discovery/authentication namespace |
|
|
318
322
|
| `KXM_AGENT_NAME` | harness-derived | Unique live name in the project |
|
|
319
323
|
| `KXM_AGENT_PURPOSE` | general-purpose | Capability shown during peer discovery |
|
|
320
324
|
|
package/docs/troubleshooting.md
CHANGED
|
@@ -34,6 +34,10 @@ Version 0.4.3 prevents a second wrapper from replacing a live hub or worker clai
|
|
|
34
34
|
|
|
35
35
|
The hub does not poll GitHub. Run `kxm gate github watch` with the same `runId`, `stageId`, and `signalKey`. A watcher timeout posts the exact signed `failed` signal, retains bounded check evidence, and exits `4`; it never invents `passed`.
|
|
36
36
|
|
|
37
|
+
### CI jobs stay queued and never start
|
|
38
|
+
|
|
39
|
+
Every CI job in `.github/workflows/ci.yml` runs on the `kontextmind-doks` label. If all jobs sit in `queued` with an online, idle runner, the runner lost that custom label (for example after re-registration — the default labels are only `self-hosted`, `Linux`/`Windows`, `X64`). Confirm with `gh api repos/kontextmind/kxm/actions/runners --jq '.runners[] | {name, labels: [.labels[].name]}'`; jobs cannot match on the default `doks` label alone. Re-add the label with `gh api repos/kontextmind/kxm/actions/runners/<id>/labels -X POST --input - <<< '{"labels":["kontextmind-doks"]}'` and jobs are picked up on the next evaluation; if not, push an empty commit to retrigger the run. The Windows runner (`kxm-win-local`) is paused by policy and must not be re-labeled to satisfy Linux jobs.
|
|
40
|
+
|
|
37
41
|
### The hub refuses to start
|
|
38
42
|
|
|
39
43
|
**`KXM_PORT must be an integer between 0 and 65535`**
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
|
|
3
3
|
"name": "kxm",
|
|
4
4
|
"displayName": "KXM",
|
|
5
|
-
"version": "0.7.
|
|
5
|
+
"version": "0.7.20",
|
|
6
6
|
"description": "Headless multi-agent orchestration, durable workflows, and a live operator dashboard for Pi and Claude Code",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "KontextMind",
|