@kontextmind/kxm 0.7.14 → 0.7.16

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.
Files changed (47) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/docs/configuration.md +1 -2
  3. package/docs/operator-pi-packages.md +5 -2
  4. package/package.json +1 -1
  5. package/plugins/kxm/.claude-plugin/plugin.json +1 -1
  6. package/plugins/kxm/dist/cli.js +20 -3
  7. package/plugins/kxm/dist/core.js +4 -0
  8. package/plugins/kxm/dist/extension.js +3066 -2
  9. package/plugins/kxm/dist/mcp-server.js +1 -1
  10. package/plugins/kxm/dist/runtime.js +263 -70
  11. package/plugins/kxm/dist/server.js +4 -0
  12. package/plugins/kxm/dist/vnext-runtime-supervisor.js +259 -70
  13. package/plugins/kxm/package.json +1 -1
  14. package/plugins/kxm/src/cli/vnext.ts +20 -3
  15. package/plugins/kxm/src/extension.ts +9 -0
  16. package/plugins/kxm/src/mcp-server.ts +1 -1
  17. package/plugins/kxm/src/providers/antigravity/LICENSE +21 -0
  18. package/plugins/kxm/src/providers/antigravity/README.md +19 -0
  19. package/plugins/kxm/src/providers/antigravity/auth/index.ts +17 -0
  20. package/plugins/kxm/src/providers/antigravity/auth/oauth.ts +449 -0
  21. package/plugins/kxm/src/providers/antigravity/client/client.ts +562 -0
  22. package/plugins/kxm/src/providers/antigravity/client/index.ts +1 -0
  23. package/plugins/kxm/src/providers/antigravity/diagnostics/diagnostics.ts +97 -0
  24. package/plugins/kxm/src/providers/antigravity/diagnostics/index.ts +1 -0
  25. package/plugins/kxm/src/providers/antigravity/index.ts +24 -0
  26. package/plugins/kxm/src/providers/antigravity/models/discovery.ts +155 -0
  27. package/plugins/kxm/src/providers/antigravity/models/grouping.ts +425 -0
  28. package/plugins/kxm/src/providers/antigravity/models/index.ts +3 -0
  29. package/plugins/kxm/src/providers/antigravity/models/models.ts +501 -0
  30. package/plugins/kxm/src/providers/antigravity/pi-compat.ts +279 -0
  31. package/plugins/kxm/src/providers/antigravity/register.ts +123 -0
  32. package/plugins/kxm/src/providers/antigravity/stream/index.ts +1 -0
  33. package/plugins/kxm/src/providers/antigravity/stream/stream.ts +1461 -0
  34. package/plugins/kxm/src/providers/antigravity/types/enums.ts +50 -0
  35. package/plugins/kxm/src/providers/antigravity/types/index.ts +2 -0
  36. package/plugins/kxm/src/providers/antigravity/types/types.ts +293 -0
  37. package/plugins/kxm/src/providers/antigravity/usage/index.ts +1 -0
  38. package/plugins/kxm/src/providers/antigravity/usage/usage.ts +361 -0
  39. package/plugins/kxm/src/providers/antigravity/utils/http.ts +32 -0
  40. package/plugins/kxm/src/providers/antigravity/utils/index.ts +3 -0
  41. package/plugins/kxm/src/providers/antigravity/utils/security.ts +75 -0
  42. package/plugins/kxm/src/providers/antigravity/utils/util.ts +133 -0
  43. package/plugins/kxm/src/redact.ts +4 -0
  44. package/plugins/kxm/src/vnext-engine.ts +183 -3
  45. package/plugins/kxm/src/vnext-runtime-owner.ts +50 -0
  46. package/plugins/kxm/src/vnext-runtime-supervisor.ts +83 -58
  47. package/plugins/kxm/src/vnext-runtime.ts +9 -8
@@ -11,7 +11,7 @@
11
11
  "name": "kxm",
12
12
  "source": "./plugins/kxm",
13
13
  "description": "Durable workflows, peer agents, and kxm tui",
14
- "version": "0.7.14",
14
+ "version": "0.7.16",
15
15
  "category": "development",
16
16
  "tags": ["kxm", "multi-agent", "workflows", "mcp"]
17
17
  }
@@ -199,13 +199,12 @@ When a Pi peer produces more than 32,000 characters, the extension returns a bou
199
199
 
200
200
  `KXM_AGENT_NAME` and `KXM_PROJECT` are required by `kxm agent worker`. Session isolation is opt-in for upgrade compatibility: pass `--session-isolation workflow` or set the environment variable to `workflow` after reviewing the fresh scoped-session behavior. Both the CLI and direct `scripts/kxm-worker.mjs` default to `off`, so existing shared `--continue` histories are not silently abandoned. The remaining agent settings are inherited by the spawned Pi RPC process. The worker resolves `.kxm` and explicit package paths inside `KXM_WORKDIR`, creates the standard directories, and passes absolute paths to Pi. When either resource-path variable is set, the worker disables discovery for that resource category and loads only the listed files or directories; setting just one category leaves discovery unchanged for the other. Missing paths and extension directories fail before the restart loop. A skill may be a `SKILL.md` file or a directory Pi scans for skills. Restart the worker after changing any resource or path.
201
201
 
202
- Use exact paths for release verification or an uninstalled worktree. Include every provider extension the selected models require because extension discovery is isolated:
202
+ Use exact paths for release verification or an uninstalled worktree. The antigravity provider is bundled inside `plugins/kxm` (vendored from pi-antigravity, MIT) — do NOT also load a standalone pi-antigravity extension; the bundled registration warns fail-loud on the duplicate. Include every other provider extension the selected models require because extension discovery is isolated:
203
203
 
204
204
  ```powershell
205
205
  $separator = [IO.Path]::PathSeparator
206
206
  $env:KXM_WORKER_EXTENSION_PATHS = @(
207
207
  "plugins/kxm/src/extension.ts"
208
- "$env:USERPROFILE/.pi/agent/npm/node_modules/pi-antigravity/src/index.ts"
209
208
  ) -join $separator
210
209
  $env:KXM_WORKER_SKILL_PATHS = "plugins/kxm/skills/kxm"
211
210
  $coordinatorTools = @(
@@ -40,8 +40,11 @@ commands for RTK independently of `rtk.ts`.
40
40
 
41
41
  ## Notes
42
42
 
43
- - `pi-antigravity` and `@tian.zuo/pi-antigravity` are different Pi providers.
44
- They do not replace the native `agy` harness used by the assignment runner.
43
+ - The antigravity provider is bundled inside `plugins/kxm` (vendored from
44
+ pi-antigravity, MIT); remove any standalone pi-antigravity Pi extension to
45
+ avoid the double-registration warning. `pi-antigravity` and
46
+ `@tian.zuo/pi-antigravity` are different Pi providers. They do not replace
47
+ the native `agy` harness used by the assignment runner.
45
48
  - For KXM development loads, prefer the working tree:
46
49
  `pi --no-extensions -e ./plugins/kxm/src/extension.ts`. Add every required
47
50
  provider extension with another `-e`; otherwise Pi discovery is disabled.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontextmind/kxm",
3
- "version": "0.7.14",
3
+ "version": "0.7.16",
4
4
  "description": "KXM local-first multi-agent orchestration and operator dashboard",
5
5
  "type": "module",
6
6
  "author": "KontextMind",
@@ -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.14",
5
+ "version": "0.7.16",
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",
@@ -25694,6 +25694,10 @@ var SECRET_PATTERNS = [
25694
25694
  /\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,
25695
25695
  /\bxox[baprs]-[A-Za-z0-9-]{10,}\b/gi,
25696
25696
  /\bBearer\s+[A-Za-z0-9._~+/=-]+\b/gi,
25697
+ /\bya29\.[A-Za-z0-9._~+/-]+=*/g,
25698
+ /\b1\/\/[A-Za-z0-9_-]+/g,
25699
+ /\b1\/[A-Za-z0-9_-]{20,}/g,
25700
+ /("?(?:access_token|refresh_token|id_token)"?\s*[:=]\s*")[^"]*(")/gi,
25697
25701
  /\bKXM_[A-Z0-9_]*(TOKEN|SECRET|KEY)[A-Z0-9_]*=\S+/gi,
25698
25702
  /\b(GITHUB_TOKEN|GH_TOKEN|KXM_AUTH_TOKEN|KXM_WORKFLOW_SIGNAL_SECRET)=\S+/gi,
25699
25703
  /\b[A-Fa-f0-9]{64}\b/g
@@ -33101,6 +33105,7 @@ function verifyVnextMigration(projectRoot, options = {}) {
33101
33105
  }
33102
33106
 
33103
33107
  // plugins/kxm/src/cli/vnext.ts
33108
+ var vnextDriveCliSeams = {};
33104
33109
  var repoRoot3 = resolve20(fileURLToPath4(new URL("../../../../", import.meta.url)));
33105
33110
  function initPlanPayload(plan) {
33106
33111
  return {
@@ -33544,9 +33549,21 @@ async function cmdVnextRunDrive(runtime, runId, simulated) {
33544
33549
  print(runtime.io, runtime.json, { ok: true, command: "runs drive", dryRun: true, runId, mode }, `drive plan: run ${runId} in ${mode} mode (no events written)`);
33545
33550
  return 0;
33546
33551
  }
33547
- const supervisor = await ensureVnextSupervisor({ env: runtime.env });
33548
- const result = await vnextRuntimeRequest(supervisor, "POST", `/v1/runs/${encodeURIComponent(runId)}/drive?projectRoot=${encodeURIComponent(projectRoot)}`, { mode });
33549
- print(runtime.io, runtime.json, { ok: true, command: "runs drive", run: result.run, handoff: result.handoff, events: result.events }, `run ${runId}: ${result.run?.status ?? "driven"}`);
33552
+ const supervisor = await (vnextDriveCliSeams.ensureSupervisor ?? ensureVnextSupervisor)({ env: runtime.env });
33553
+ const result = await (vnextDriveCliSeams.runtimeRequest ?? vnextRuntimeRequest)(supervisor, "POST", `/v1/runs/${encodeURIComponent(runId)}/drive?projectRoot=${encodeURIComponent(projectRoot)}`, { mode });
33554
+ const driveId = result.driveId;
33555
+ const poll = result.poll;
33556
+ const status = result.status;
33557
+ if (typeof driveId !== "string" || driveId.length === 0 || typeof poll !== "string" || poll.length === 0 || status !== "accepted") {
33558
+ print(runtime.io, runtime.json, { ok: false, command: "runs drive", error: "run_drive_io_failed" }, "run drive failed because a local operation did not complete");
33559
+ return 1;
33560
+ }
33561
+ print(
33562
+ runtime.io,
33563
+ runtime.json,
33564
+ { ok: true, command: "runs drive", runId, driveId, poll, mode, status },
33565
+ `drive ${driveId}: accepted (poll ${poll})`
33566
+ );
33550
33567
  return 0;
33551
33568
  } catch (error) {
33552
33569
  if (error instanceof VnextConfigError) {
@@ -832,6 +832,10 @@ var SECRET_PATTERNS = [
832
832
  /\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,
833
833
  /\bxox[baprs]-[A-Za-z0-9-]{10,}\b/gi,
834
834
  /\bBearer\s+[A-Za-z0-9._~+/=-]+\b/gi,
835
+ /\bya29\.[A-Za-z0-9._~+/-]+=*/g,
836
+ /\b1\/\/[A-Za-z0-9_-]+/g,
837
+ /\b1\/[A-Za-z0-9_-]{20,}/g,
838
+ /("?(?:access_token|refresh_token|id_token)"?\s*[:=]\s*")[^"]*(")/gi,
835
839
  /\bKXM_[A-Z0-9_]*(TOKEN|SECRET|KEY)[A-Z0-9_]*=\S+/gi,
836
840
  /\b(GITHUB_TOKEN|GH_TOKEN|KXM_AUTH_TOKEN|KXM_WORKFLOW_SIGNAL_SECRET)=\S+/gi,
837
841
  /\b[A-Fa-f0-9]{64}\b/g