@kontextmind/kxm 0.7.36 → 0.7.37
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/package.json +1 -1
- package/plugins/kxm/.claude-plugin/plugin.json +1 -1
- package/plugins/kxm/dist/cli.js +13 -2
- package/plugins/kxm/dist/mcp-server.js +1 -1
- package/plugins/kxm/package.json +1 -1
- package/plugins/kxm/src/cli/vnext.ts +7 -0
- package/plugins/kxm/src/cli.ts +6 -2
- package/plugins/kxm/src/mcp-server.ts +1 -1
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.37",
|
|
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",
|
package/plugins/kxm/dist/cli.js
CHANGED
|
@@ -33904,6 +33904,12 @@ async function cmdRouteList(runtime) {
|
|
|
33904
33904
|
print(runtime.io, runtime.json, { ok: true, command: "routes list", policy }, [...policy.admitted.map((x2) => `admitted ${x2}`), ...policy.disabled.map((x2) => `disabled ${x2}`)].join("\n") || "no route decisions");
|
|
33905
33905
|
return 0;
|
|
33906
33906
|
}
|
|
33907
|
+
async function cmdRouteCount(runtime) {
|
|
33908
|
+
const policy = loadRoutePolicy(runtime.dirs.workdir);
|
|
33909
|
+
const summary = `${policy.admitted.length} admitted / ${policy.disabled.length} disabled`;
|
|
33910
|
+
print(runtime.io, runtime.json, { ok: true, command: "routes count", admitted: policy.admitted.length, disabled: policy.disabled.length, summary }, summary);
|
|
33911
|
+
return 0;
|
|
33912
|
+
}
|
|
33907
33913
|
async function cmdModelInventoryRefresh(runtime) {
|
|
33908
33914
|
if (runtime.dryRun) {
|
|
33909
33915
|
print(runtime.io, runtime.json, { ok: true, command: "models inventory refresh", dryRun: true }, "would refresh .kxm/models/inventory.yaml");
|
|
@@ -48805,6 +48811,9 @@ function createProgram(ctx, result) {
|
|
|
48805
48811
|
addGlobalOptions(routesCmd.command("list").description("List route decisions")).action(async function routesListAction() {
|
|
48806
48812
|
result.code = await cmdRouteList(runtimeFrom(ctx, this));
|
|
48807
48813
|
});
|
|
48814
|
+
addGlobalOptions(routesCmd.command("count").description("Count admitted and disabled routes")).action(async function routesCountAction() {
|
|
48815
|
+
result.code = await cmdRouteCount(runtimeFrom(ctx, this));
|
|
48816
|
+
});
|
|
48808
48817
|
for (const status of ["admit", "disable"]) {
|
|
48809
48818
|
addGlobalOptions(routesCmd.command(status).description(`${status === "admit" ? "Admit" : "Disable"} a model route from the inventory`)).option("--model <id>", "Exact model id; omit to choose interactively").action(async function routeChangeAction(options) {
|
|
48810
48819
|
result.code = await cmdRouteChange(runtimeFrom(ctx, this), status === "admit" ? "admitted" : "disabled", options.model);
|
|
@@ -49196,8 +49205,10 @@ function removedMeshInvocation(argv) {
|
|
|
49196
49205
|
return { invoked, json };
|
|
49197
49206
|
}
|
|
49198
49207
|
async function runCli(argv, env = process.env, io = { stdout: (text) => process.stdout.write(text), stderr: (text) => process.stderr.write(text) }, cwd = process.cwd()) {
|
|
49199
|
-
const
|
|
49200
|
-
const
|
|
49208
|
+
const nested = io.io;
|
|
49209
|
+
const sink = nested && typeof nested.stdout === "function" && typeof nested.stderr === "function" ? nested : io;
|
|
49210
|
+
const originalStdout = sink.stdout;
|
|
49211
|
+
const originalStderr = sink.stderr;
|
|
49201
49212
|
io = { ...io, stdout: (text) => originalStdout(redactConfiguredValues(text, env)), stderr: (text) => originalStderr(redactConfiguredValues(text, env)) };
|
|
49202
49213
|
const mesh = removedMeshInvocation(argv);
|
|
49203
49214
|
if (mesh.invoked) {
|
|
@@ -17121,7 +17121,7 @@ async function deliverInboxNotification(messageId, delivered, notify) {
|
|
|
17121
17121
|
}
|
|
17122
17122
|
|
|
17123
17123
|
// plugins/kxm/src/mcp-server.ts
|
|
17124
|
-
var VERSION = "0.7.
|
|
17124
|
+
var VERSION = "0.7.37";
|
|
17125
17125
|
var inbox = /* @__PURE__ */ new Map();
|
|
17126
17126
|
var notifiedInbox = /* @__PURE__ */ new Set();
|
|
17127
17127
|
var meshClient;
|
package/plugins/kxm/package.json
CHANGED
|
@@ -771,6 +771,13 @@ export async function cmdRouteList(runtime: Runtime): Promise<number> {
|
|
|
771
771
|
return 0;
|
|
772
772
|
}
|
|
773
773
|
|
|
774
|
+
export async function cmdRouteCount(runtime: Runtime): Promise<number> {
|
|
775
|
+
const policy = loadRoutePolicy(runtime.dirs.workdir);
|
|
776
|
+
const summary = `${policy.admitted.length} admitted / ${policy.disabled.length} disabled`;
|
|
777
|
+
print(runtime.io, runtime.json, { ok: true, command: "routes count", admitted: policy.admitted.length, disabled: policy.disabled.length, summary }, summary);
|
|
778
|
+
return 0;
|
|
779
|
+
}
|
|
780
|
+
|
|
774
781
|
export async function cmdModelInventoryRefresh(runtime: Runtime): Promise<number> {
|
|
775
782
|
if (runtime.dryRun) {
|
|
776
783
|
print(runtime.io, runtime.json, { ok: true, command: "models inventory refresh", dryRun: true }, "would refresh .kxm/models/inventory.yaml");
|
package/plugins/kxm/src/cli.ts
CHANGED
|
@@ -114,6 +114,7 @@ import {
|
|
|
114
114
|
cmdRouteChange,
|
|
115
115
|
cmdModelsScreen,
|
|
116
116
|
cmdRouteList,
|
|
117
|
+
cmdRouteCount,
|
|
117
118
|
cmdModelInventoryRefresh,
|
|
118
119
|
cmdVnextRuntime,
|
|
119
120
|
} from "./cli/vnext.ts";
|
|
@@ -426,6 +427,7 @@ function createProgram(ctx: CliContext, result: { code: number }): Command {
|
|
|
426
427
|
const routesCmd = addGlobalOptions(program.command("routes").description("Admit or disable verified model routes"));
|
|
427
428
|
routesCmd.helpCommand("help", "Show routes help");
|
|
428
429
|
addGlobalOptions(routesCmd.command("list").description("List route decisions")).action(async function routesListAction(this: Command) { result.code = await cmdRouteList(runtimeFrom(ctx, this)); });
|
|
430
|
+
addGlobalOptions(routesCmd.command("count").description("Count admitted and disabled routes")).action(async function routesCountAction(this: Command) { result.code = await cmdRouteCount(runtimeFrom(ctx, this)); });
|
|
429
431
|
for (const status of ["admit", "disable"] as const) {
|
|
430
432
|
addGlobalOptions(routesCmd.command(status).description(`${status === "admit" ? "Admit" : "Disable"} a model route from the inventory`)).option("--model <id>", "Exact model id; omit to choose interactively").action(async function routeChangeAction(this: Command, options: { model?: string }) { result.code = await cmdRouteChange(runtimeFrom(ctx, this), status === "admit" ? "admitted" : "disabled", options.model); });
|
|
431
433
|
}
|
|
@@ -1210,8 +1212,10 @@ export async function runCli(
|
|
|
1210
1212
|
io: CliIo = { stdout: (text) => process.stdout.write(text), stderr: (text) => process.stderr.write(text) },
|
|
1211
1213
|
cwd = process.cwd(),
|
|
1212
1214
|
): Promise<number> {
|
|
1213
|
-
const
|
|
1214
|
-
const
|
|
1215
|
+
const nested = (io as { io?: CliIo }).io;
|
|
1216
|
+
const sink = nested && typeof nested.stdout === "function" && typeof nested.stderr === "function" ? nested : io;
|
|
1217
|
+
const originalStdout = sink.stdout;
|
|
1218
|
+
const originalStderr = sink.stderr;
|
|
1215
1219
|
io = { ...io, stdout: (text) => originalStdout(redactConfiguredValues(text, env)), stderr: (text) => originalStderr(redactConfiguredValues(text, env)) };
|
|
1216
1220
|
const mesh = removedMeshInvocation(argv);
|
|
1217
1221
|
if (mesh.invoked) {
|
|
@@ -8,7 +8,7 @@ import { AGENT_COMMANDS_MAP, enforceToolPolicy, getMcpTools, reconcileInbox } fr
|
|
|
8
8
|
import { deliverInboxNotification } from "./inbox.ts";
|
|
9
9
|
import type { HubEvent, MessageRecord } from "./protocol.ts";
|
|
10
10
|
|
|
11
|
-
const VERSION = "0.7.
|
|
11
|
+
const VERSION = "0.7.37";
|
|
12
12
|
const inbox = new Map<string, MessageRecord>();
|
|
13
13
|
const notifiedInbox = new Set<string>();
|
|
14
14
|
let meshClient: HubClient | undefined;
|