@ken-jo/agent-connector 0.5.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/README.md +3 -3
- package/dist/{action-LEYTHNIU.js → action-EKK6FMPY.js} +8 -8
- package/dist/{audit-HPKCUCES.js → audit-H7PQWIVH.js} +5 -5
- package/dist/{chunk-BXPSDNIB.js → chunk-34RRWEWU.js} +2 -2
- package/dist/{chunk-SFY6YLVK.js → chunk-4YOYR3T5.js} +5 -6
- package/dist/{chunk-SFY6YLVK.js.map → chunk-4YOYR3T5.js.map} +1 -1
- package/dist/{chunk-6WN37NVN.js → chunk-6FRAVOVF.js} +2 -2
- package/dist/{chunk-2Y2MZRLP.js → chunk-CWUPIT72.js} +2 -2
- package/dist/{chunk-6XMV2OOA.js → chunk-CZOXXS77.js} +3 -3
- package/dist/{chunk-IRUYJD23.js → chunk-IVJUPNLD.js} +2 -8
- package/dist/chunk-IVJUPNLD.js.map +1 -0
- package/dist/{chunk-FKW5A6HE.js → chunk-IY3SSCNK.js} +4 -4
- package/dist/{chunk-U2XJWG7N.js → chunk-JUBEM3OR.js} +2 -2
- package/dist/{chunk-UM5S7DKK.js → chunk-KOFCNA5T.js} +11 -2
- package/dist/{chunk-UM5S7DKK.js.map → chunk-KOFCNA5T.js.map} +1 -1
- package/dist/{chunk-4KIXXJ7B.js → chunk-KY2VQGD7.js} +2 -2
- package/dist/{chunk-M6OS4OLU.js → chunk-R4FABNAL.js} +2 -2
- package/dist/{chunk-T5AI3AW3.js → chunk-SA6CSOH5.js} +19 -19
- package/dist/{chunk-G5HAIYRM.js → chunk-XJSVJD5T.js} +37 -29
- package/dist/chunk-XJSVJD5T.js.map +1 -0
- package/dist/{chunk-WZMSSIDN.js → chunk-XSR3GF55.js} +14 -6
- package/dist/chunk-XSR3GF55.js.map +1 -0
- package/dist/{claude-code-LJ6DVXWQ.js → claude-code-VEERATN5.js} +4 -4
- package/dist/cli/sdk.js +4 -4
- package/dist/cli.js +1 -1
- package/dist/{cline-JAPJNOZQ.js → cline-UW6WCQRK.js} +2 -2
- package/dist/cline-UW6WCQRK.js.map +1 -0
- package/dist/{codebuff-3VODFPD4.js → codebuff-R7QBLCSJ.js} +11 -11
- package/dist/codebuff-R7QBLCSJ.js.map +1 -0
- package/dist/{codex-RXIS5BHM.js → codex-S2RADR5K.js} +2 -2
- package/dist/{crush-YB3SK6NK.js → crush-AJNQRFVE.js} +2 -2
- package/dist/{define-connector-odRHEC4H.d.ts → define-connector-iosc34CA.d.ts} +1 -1
- package/dist/{detect-USP5JMWM.js → detect-ZC344YOJ.js} +4 -4
- package/dist/{doctor-VSW5KHBM.js → doctor-ABYQF2YX.js} +13 -13
- package/dist/{goose-3X7ID7YW.js → goose-SXFRT7UF.js} +2 -2
- package/dist/grok-build-EP2ZUFXZ.js +682 -0
- package/dist/grok-build-EP2ZUFXZ.js.map +1 -0
- package/dist/{grok-cli-4VFVF2CQ.js → grok-cli-UUNPOUYY.js} +4 -3
- package/dist/grok-cli-UUNPOUYY.js.map +1 -0
- package/dist/{hook-QRW3ON6C.js → hook-M3KQSEO3.js} +8 -8
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/{install-ASTAUZKB.js → install-4X4JDKGY.js} +10 -10
- package/dist/{introspect-gTx6GzpW.d.ts → introspect-z3eKVWHN.d.ts} +1 -1
- package/dist/{kilo-SW7BH6EG.js → kilo-FVBFSS4Y.js} +1 -1
- package/dist/kilo-FVBFSS4Y.js.map +1 -0
- package/dist/{kilo-T4OXNUYY.js → kilo-N5T6KXAG.js} +2 -2
- package/dist/{kilo-cli-I2S3W245.js → kilo-cli-JOAEWYI4.js} +2 -2
- package/dist/{leaderboard-3XSVSGAJ.js → leaderboard-Q4YZ3LI7.js} +3 -3
- package/dist/{mux-BO2L5CTW.js → mux-WSZWWZOX.js} +27 -21
- package/dist/mux-WSZWWZOX.js.map +1 -0
- package/dist/{package-VWBPHCLA.js → package-FY2QZWRM.js} +6 -6
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +6 -6
- package/dist/sdk/index.d.ts +4 -4
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/test.d.ts +2 -2
- package/dist/sdk/test.js +6 -6
- package/dist/{serve-IQGHE4SJ.js → serve-XT76DWUN.js} +8 -8
- package/dist/{status-BVLY6XDL.js → status-DHVWBRLI.js} +8 -8
- package/dist/{statusline-PRODZV2J.js → statusline-SY5UBQOJ.js} +7 -7
- package/dist/{telemetry-UU4SHJ23.js → telemetry-TJIFAKWX.js} +5 -5
- package/dist/{types-DWXnnx-N.d.ts → types-CAKApZpX.d.ts} +4 -4
- package/dist/{uninstall-WI5YLDCT.js → uninstall-VQO36IQ4.js} +10 -10
- package/dist/{upgrade-L45BTG6X.js → upgrade-QEYZOA7S.js} +10 -10
- package/dist/{usage-K3NQTAJP.js → usage-LV7UGO64.js} +3 -3
- package/dist/{usage-event-J5CQ6LNT.js → usage-event-MQMKMK2R.js} +7 -7
- package/dist/{windsurf-R6D2JUTN.js → windsurf-ZWVFNJ73.js} +1 -1
- package/dist/windsurf-ZWVFNJ73.js.map +1 -0
- package/dist/{zed-DQV3ZUCU.js → zed-JCOKXOLA.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-G5HAIYRM.js.map +0 -1
- package/dist/chunk-IRUYJD23.js.map +0 -1
- package/dist/chunk-WZMSSIDN.js.map +0 -1
- package/dist/cline-JAPJNOZQ.js.map +0 -1
- package/dist/codebuff-3VODFPD4.js.map +0 -1
- package/dist/grok-cli-4VFVF2CQ.js.map +0 -1
- package/dist/kilo-SW7BH6EG.js.map +0 -1
- package/dist/mux-BO2L5CTW.js.map +0 -1
- package/dist/roo-code-SUWI4BBN.js +0 -229
- package/dist/roo-code-SUWI4BBN.js.map +0 -1
- package/dist/roo-code-VI2ZKTZC.js +0 -361
- package/dist/roo-code-VI2ZKTZC.js.map +0 -1
- package/dist/windsurf-R6D2JUTN.js.map +0 -1
- /package/dist/{action-LEYTHNIU.js.map → action-EKK6FMPY.js.map} +0 -0
- /package/dist/{audit-HPKCUCES.js.map → audit-H7PQWIVH.js.map} +0 -0
- /package/dist/{chunk-BXPSDNIB.js.map → chunk-34RRWEWU.js.map} +0 -0
- /package/dist/{chunk-6WN37NVN.js.map → chunk-6FRAVOVF.js.map} +0 -0
- /package/dist/{chunk-2Y2MZRLP.js.map → chunk-CWUPIT72.js.map} +0 -0
- /package/dist/{chunk-6XMV2OOA.js.map → chunk-CZOXXS77.js.map} +0 -0
- /package/dist/{chunk-FKW5A6HE.js.map → chunk-IY3SSCNK.js.map} +0 -0
- /package/dist/{chunk-U2XJWG7N.js.map → chunk-JUBEM3OR.js.map} +0 -0
- /package/dist/{chunk-4KIXXJ7B.js.map → chunk-KY2VQGD7.js.map} +0 -0
- /package/dist/{chunk-M6OS4OLU.js.map → chunk-R4FABNAL.js.map} +0 -0
- /package/dist/{chunk-T5AI3AW3.js.map → chunk-SA6CSOH5.js.map} +0 -0
- /package/dist/{claude-code-LJ6DVXWQ.js.map → claude-code-VEERATN5.js.map} +0 -0
- /package/dist/{codex-RXIS5BHM.js.map → codex-S2RADR5K.js.map} +0 -0
- /package/dist/{crush-YB3SK6NK.js.map → crush-AJNQRFVE.js.map} +0 -0
- /package/dist/{detect-USP5JMWM.js.map → detect-ZC344YOJ.js.map} +0 -0
- /package/dist/{doctor-VSW5KHBM.js.map → doctor-ABYQF2YX.js.map} +0 -0
- /package/dist/{goose-3X7ID7YW.js.map → goose-SXFRT7UF.js.map} +0 -0
- /package/dist/{hook-QRW3ON6C.js.map → hook-M3KQSEO3.js.map} +0 -0
- /package/dist/{install-ASTAUZKB.js.map → install-4X4JDKGY.js.map} +0 -0
- /package/dist/{kilo-T4OXNUYY.js.map → kilo-N5T6KXAG.js.map} +0 -0
- /package/dist/{kilo-cli-I2S3W245.js.map → kilo-cli-JOAEWYI4.js.map} +0 -0
- /package/dist/{leaderboard-3XSVSGAJ.js.map → leaderboard-Q4YZ3LI7.js.map} +0 -0
- /package/dist/{package-VWBPHCLA.js.map → package-FY2QZWRM.js.map} +0 -0
- /package/dist/{serve-IQGHE4SJ.js.map → serve-XT76DWUN.js.map} +0 -0
- /package/dist/{status-BVLY6XDL.js.map → status-DHVWBRLI.js.map} +0 -0
- /package/dist/{statusline-PRODZV2J.js.map → statusline-SY5UBQOJ.js.map} +0 -0
- /package/dist/{telemetry-UU4SHJ23.js.map → telemetry-TJIFAKWX.js.map} +0 -0
- /package/dist/{uninstall-WI5YLDCT.js.map → uninstall-VQO36IQ4.js.map} +0 -0
- /package/dist/{upgrade-L45BTG6X.js.map → upgrade-QEYZOA7S.js.map} +0 -0
- /package/dist/{usage-K3NQTAJP.js.map → usage-LV7UGO64.js.map} +0 -0
- /package/dist/{usage-event-J5CQ6LNT.js.map → usage-event-MQMKMK2R.js.map} +0 -0
- /package/dist/{zed-DQV3ZUCU.js.map → zed-JCOKXOLA.js.map} +0 -0
|
@@ -21,6 +21,12 @@ var HOST = "mux";
|
|
|
21
21
|
var MCP_ROOT_KEY = "servers";
|
|
22
22
|
var MUX_SKILL_NAME_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
23
23
|
var MUX_SKILL_NAME_MAX = 64;
|
|
24
|
+
function xumHome(base) {
|
|
25
|
+
const current = join(base, ".xum");
|
|
26
|
+
if (existsSync(current)) return current;
|
|
27
|
+
const legacy = join(base, ".mux");
|
|
28
|
+
return existsSync(legacy) ? legacy : current;
|
|
29
|
+
}
|
|
24
30
|
function quoteToken(token) {
|
|
25
31
|
return /\s/.test(token) ? `"${token}"` : token;
|
|
26
32
|
}
|
|
@@ -29,13 +35,13 @@ function buildCommandString(command, args) {
|
|
|
29
35
|
}
|
|
30
36
|
var MuxAdapter = class extends BaseAdapter {
|
|
31
37
|
id = HOST;
|
|
32
|
-
name = "
|
|
38
|
+
name = "Xum";
|
|
33
39
|
paradigm = "mcp-only";
|
|
34
40
|
capabilities = {
|
|
35
41
|
// Memory surface: AGENTS.md-first managed block via the BaseAdapter default
|
|
36
42
|
// (memoryTargets: project <projectDir>/AGENTS.md; user scope where documented).
|
|
37
43
|
supportsMemory: true,
|
|
38
|
-
//
|
|
44
|
+
// Xum has no lifecycle hook system — every hook capability is false.
|
|
39
45
|
preToolUse: false,
|
|
40
46
|
postToolUse: false,
|
|
41
47
|
preCompact: false,
|
|
@@ -47,13 +53,13 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
47
53
|
canModifyArgs: false,
|
|
48
54
|
canModifyOutput: false,
|
|
49
55
|
canInjectSessionContext: false,
|
|
50
|
-
//
|
|
56
|
+
// Xum's command-string server entry is stdio-only.
|
|
51
57
|
transports: ["stdio"],
|
|
52
|
-
// Content surface:
|
|
58
|
+
// Content surface: Xum auto-discovers dir-per-skill SKILL.md from its
|
|
53
59
|
// workspace-local and global roots (mux.coder.com/agents/agent-skills,
|
|
54
60
|
// fetched 2026-06-16):
|
|
55
|
-
// project → <projectDir>/.
|
|
56
|
-
// user → ~/.
|
|
61
|
+
// project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)
|
|
62
|
+
// user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)
|
|
57
63
|
// The skill directory name MUST match ^[a-z0-9]+(?:-[a-z0-9]+)*$ (1–64
|
|
58
64
|
// chars) and the SKILL.md `name` field must equal it — a name that cannot
|
|
59
65
|
// be represented is skip-warned (see installSkills).
|
|
@@ -61,9 +67,9 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
61
67
|
};
|
|
62
68
|
// ── Detection ────────────────────────────────────────────────────────────
|
|
63
69
|
detectInstalled(projectDir) {
|
|
64
|
-
const userDir =
|
|
70
|
+
const userDir = xumHome(homedir());
|
|
65
71
|
const userMcp = join(userDir, "mcp.jsonc");
|
|
66
|
-
const projDir =
|
|
72
|
+
const projDir = xumHome(projectDir);
|
|
67
73
|
const projMcp = join(projDir, "mcp.jsonc");
|
|
68
74
|
const userInstalled = existsSync(userDir) || existsSync(userMcp);
|
|
69
75
|
const projInstalled = existsSync(projDir) || existsSync(projMcp);
|
|
@@ -78,19 +84,19 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
78
84
|
capabilities: this.capabilities,
|
|
79
85
|
configPath,
|
|
80
86
|
scope,
|
|
81
|
-
reason: installed ? `found
|
|
87
|
+
reason: installed ? `found Xum config (${scope})` : `no Xum config at ${userDir} or ${projDir}`,
|
|
82
88
|
confidence: installed ? "high" : "low"
|
|
83
89
|
};
|
|
84
90
|
}
|
|
85
91
|
// ── Native paths ─────────────────────────────────────────────────────────
|
|
86
92
|
getConfigDir(ctx) {
|
|
87
|
-
return ctx.scope === "project" ?
|
|
93
|
+
return xumHome(ctx.scope === "project" ? ctx.projectDir : homedir());
|
|
88
94
|
}
|
|
89
95
|
getServerConfigPath(ctx) {
|
|
90
96
|
return join(this.getConfigDir(ctx), "mcp.jsonc");
|
|
91
97
|
}
|
|
92
98
|
/**
|
|
93
|
-
*
|
|
99
|
+
* Xum has no hook file — hooks are not a thing here. The hook "config path"
|
|
94
100
|
* is the same mcp.jsonc so the generic doctor/backup behave sensibly.
|
|
95
101
|
*/
|
|
96
102
|
getHookConfigPath(ctx) {
|
|
@@ -131,8 +137,8 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
131
137
|
];
|
|
132
138
|
}
|
|
133
139
|
/**
|
|
134
|
-
* Render a stdio ServerDef into
|
|
135
|
-
* telemetry serve-wrapper and resolves every `${env:VAR}` to a literal (
|
|
140
|
+
* Render a stdio ServerDef into Xum's single shell-command string. Honors the
|
|
141
|
+
* telemetry serve-wrapper and resolves every `${env:VAR}` to a literal (Xum
|
|
136
142
|
* documents no native interpolation token).
|
|
137
143
|
*/
|
|
138
144
|
renderCommandString(ctx, server) {
|
|
@@ -143,13 +149,13 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
143
149
|
args = resolveEnvRefsDeep(args);
|
|
144
150
|
return buildCommandString(command, args);
|
|
145
151
|
}
|
|
146
|
-
// ── Hooks (unavailable —
|
|
152
|
+
// ── Hooks (unavailable — Xum is mcp-only) ─────────────────────────────────
|
|
147
153
|
installHooks(_ctx) {
|
|
148
154
|
return [
|
|
149
155
|
{
|
|
150
156
|
platform: this.id,
|
|
151
157
|
action: "skip",
|
|
152
|
-
detail: "hooks unavailable (
|
|
158
|
+
detail: "hooks unavailable (Xum is mcp-only)"
|
|
153
159
|
}
|
|
154
160
|
];
|
|
155
161
|
}
|
|
@@ -158,7 +164,7 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
158
164
|
{
|
|
159
165
|
platform: this.id,
|
|
160
166
|
action: "skip",
|
|
161
|
-
detail: "hooks unavailable (
|
|
167
|
+
detail: "hooks unavailable (Xum is mcp-only)"
|
|
162
168
|
}
|
|
163
169
|
];
|
|
164
170
|
}
|
|
@@ -167,11 +173,11 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
167
173
|
// runtime dispatch, no home-bin pointer, no telemetry wrap. Idempotent
|
|
168
174
|
// (byte-identical → skip) via writeContentFile and reversible via
|
|
169
175
|
// removeContentFile + removeDirIfEmpty. Honors platforms["mux"].skills ===
|
|
170
|
-
// false. No mcp.jsonc entry —
|
|
176
|
+
// false. No mcp.jsonc entry — Xum auto-discovers the skills dirs.
|
|
171
177
|
//
|
|
172
178
|
// Native locations (mux.coder.com/agents/agent-skills):
|
|
173
|
-
// project → <projectDir>/.
|
|
174
|
-
// user → ~/.
|
|
179
|
+
// project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)
|
|
180
|
+
// user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)
|
|
175
181
|
// The dir name MUST match MUX_SKILL_NAME_RE (1–64 chars) and the SKILL.md
|
|
176
182
|
// `name` field must equal it — a name that can't be represented is skip-warned.
|
|
177
183
|
/** The skills ROOT dir for ctx.scope (parent of every per-skill dir). */
|
|
@@ -251,7 +257,7 @@ var MuxAdapter = class extends BaseAdapter {
|
|
|
251
257
|
}
|
|
252
258
|
return changes;
|
|
253
259
|
}
|
|
254
|
-
/** True when a skill name is representable as a
|
|
260
|
+
/** True when a skill name is representable as a Xum skill directory name. */
|
|
255
261
|
isValidSkillName(name) {
|
|
256
262
|
return name.length >= 1 && name.length <= MUX_SKILL_NAME_MAX && MUX_SKILL_NAME_RE.test(name);
|
|
257
263
|
}
|
|
@@ -319,4 +325,4 @@ export {
|
|
|
319
325
|
adapter,
|
|
320
326
|
mux_default as default
|
|
321
327
|
};
|
|
322
|
-
//# sourceMappingURL=mux-
|
|
328
|
+
//# sourceMappingURL=mux-WSZWWZOX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/adapters/mux/index.ts"],"sourcesContent":["/**\n * adapters/mux — Xum (Coder, formerly Mux) platform adapter for agent-connector.\n *\n * Xum is an **mcp-only** host: it exposes no lifecycle hook system, and MCP is\n * its extensibility mechanism. This adapter therefore installs only the MCP\n * server and reports hooks as unavailable — the same shape as the Warp\n * reference adapter.\n *\n * MCP config:\n * - user scope → ~/.xum/mcp.jsonc (legacy home: ~/.mux/mcp.jsonc)\n * - project scope → <projectDir>/.xum/mcp.jsonc (legacy: .mux/mcp.jsonc)\n *\n * RENAME (verified 2026-09-02): Coder renamed Mux to **Xum** (repo coder/mux →\n * coder/xum, xum.coder.com) and moved the config home from `.mux` to `.xum`.\n * The docs are explicit that the old home still works — \"Legacy project files\n * under `.mux/` remain readable when the corresponding `.xum/` file is absent\",\n * and \"the exact location derives from the active Xum home (a legacy `~/.mux`\n * home keeps working)\" (docs/config/mcp-servers.mdx). So `xumHome()` mirrors the\n * host: prefer `.xum`, fall back to an EXISTING `.mux`, and default new installs\n * to `.xum`. Writing blindly to `.xum` would strand every current user; writing\n * blindly to `.mux` would rot. The platform id stays `mux` — renaming it would\n * break existing connector configs and telemetry keys for no user benefit.\n *\n * NOT WIRED (noted 2026-09-02): Xum has an EXPERIMENTAL Agent Plugins reader\n * (Settings → Experiments) that installs plugins into `~/.xum/plugins`, honors\n * the spec's `PLUGIN_ROOT`/`PLUGIN_DATA`, and surfaces a plugin's `mcp.json`\n * servers. We deliberately do NOT route this host to the `agent-plugin` format:\n * Xum is absent from agent-plugins.org/compatible-clients, the reader is behind\n * an experiment flag, and its plugin servers are disabled-by-default and\n * trust-gated — so an AP bundle would install into a surface most users have\n * turned off. Revisit if Xum ships it on by default or joins the client list.\n * Both are JSONC (comments allowed) but we write strict JSON. The root key is\n * \"servers\", and this file doubles as the (non-existent) hook config — there\n * is no separate hook file here.\n *\n * QUIRK: Xum models each server entry as a single shell-command STRING, not an\n * object. So `servers[id]` is `\"<exe> <arg1> <arg2> ...\"` — space-joined, with\n * any token containing whitespace double-quoted. We therefore build that string\n * ourselves and upsert it idempotently (the generic object upsert helper would\n * write the wrong shape). When telemetry-wrapping, the string is the home-bin\n * `serve` wrapper command followed by its args.\n *\n * Xum documents no native `${env:VAR}` interpolation token, so env-refs in the\n * command/args are resolved to literals at install time. The string form has no\n * place for an env map, so server.env is dropped with no native equivalent.\n */\n\nimport { existsSync, statSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\n\nimport { BaseAdapter } from \"../base.js\";\nimport type { Adapter, InstallContext } from \"../spi.js\";\nimport type {\n ChangeRecord,\n DetectedPlatform,\n HealthCheck,\n HookParadigm,\n PlatformCapabilities,\n PlatformId,\n ServerDef,\n} from \"../../core/types.js\";\nimport { resolveEnvRefs, resolveEnvRefsDeep } from \"../../core/interpolate.js\";\nimport {\n buildWrappedStdio,\n} from \"../../core/spawn.js\";\nimport { renderSkillMd } from \"../claude-code/render.js\";\n\nconst HOST: PlatformId = \"mux\";\nconst MCP_ROOT_KEY = \"servers\";\n\n/**\n * Xum enforces this exact pattern (1–64 chars) on a SKILL directory name, and\n * the SKILL.md `name` field MUST equal the directory name\n * (mux.coder.com/agents/agent-skills). A skill name that does not match is\n * skip-warned rather than written to a dir Xum would reject.\n */\nconst MUX_SKILL_NAME_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;\nconst MUX_SKILL_NAME_MAX = 64;\n\n/**\n * Resolve Xum's config home under `base`, mirroring the host's own rule.\n *\n * Xum reads `.xum/` and falls back to a legacy `.mux/` home\n * (docs/config/mcp-servers.mdx). We resolve the same way so that:\n * - a machine already running the old Mux keeps its servers in `.mux/`\n * instead of silently gaining a second, ignored config;\n * - anything new lands in `.xum/`, which is where Xum looks first.\n * Only an EXISTING legacy dir wins — `.xum` is the default for fresh installs.\n */\nfunction xumHome(base: string): string {\n const current = join(base, \".xum\");\n if (existsSync(current)) return current;\n const legacy = join(base, \".mux\");\n return existsSync(legacy) ? legacy : current;\n}\n\n/** Quote a token only when it contains whitespace (Xum command-string form). */\nfunction quoteToken(token: string): string {\n return /\\s/.test(token) ? `\"${token}\"` : token;\n}\n\n/** Join an executable + args into Xum's single shell-command string. */\nfunction buildCommandString(command: string, args: readonly string[]): string {\n return [command, ...args].map(quoteToken).join(\" \");\n}\n\nexport class MuxAdapter extends BaseAdapter implements Adapter {\n readonly id: PlatformId = HOST;\n readonly name = \"Xum\";\n readonly paradigm: HookParadigm = \"mcp-only\";\n\n readonly capabilities: PlatformCapabilities = {\n // Memory surface: AGENTS.md-first managed block via the BaseAdapter default\n // (memoryTargets: project <projectDir>/AGENTS.md; user scope where documented).\n supportsMemory: true,\n // Xum has no lifecycle hook system — every hook capability is false.\n preToolUse: false,\n postToolUse: false,\n preCompact: false,\n sessionStart: false,\n sessionEnd: false,\n userPromptSubmit: false,\n stop: false,\n notification: false,\n canModifyArgs: false,\n canModifyOutput: false,\n canInjectSessionContext: false,\n // Xum's command-string server entry is stdio-only.\n transports: [\"stdio\"],\n // Content surface: Xum auto-discovers dir-per-skill SKILL.md from its\n // workspace-local and global roots (mux.coder.com/agents/agent-skills,\n // fetched 2026-06-16):\n // project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)\n // user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)\n // The skill directory name MUST match ^[a-z0-9]+(?:-[a-z0-9]+)*$ (1–64\n // chars) and the SKILL.md `name` field must equal it — a name that cannot\n // be represented is skip-warned (see installSkills).\n supportsSkills: true,\n };\n\n // ── Detection ────────────────────────────────────────────────────────────\n\n detectInstalled(projectDir: string): DetectedPlatform {\n const userDir = xumHome(homedir());\n const userMcp = join(userDir, \"mcp.jsonc\");\n const projDir = xumHome(projectDir);\n const projMcp = join(projDir, \"mcp.jsonc\");\n\n const userInstalled = existsSync(userDir) || existsSync(userMcp);\n const projInstalled = existsSync(projDir) || existsSync(projMcp);\n const installed = userInstalled || projInstalled;\n const scope = projInstalled && !userInstalled ? \"project\" : \"user\";\n const configPath = scope === \"project\" ? projMcp : userMcp;\n\n return {\n id: this.id,\n name: this.name,\n installed,\n paradigm: this.paradigm,\n capabilities: this.capabilities,\n configPath,\n scope,\n reason: installed\n ? `found Xum config (${scope})`\n : `no Xum config at ${userDir} or ${projDir}`,\n confidence: installed ? \"high\" : \"low\",\n };\n }\n\n // ── Native paths ─────────────────────────────────────────────────────────\n\n getConfigDir(ctx: InstallContext): string {\n return xumHome(ctx.scope === \"project\" ? ctx.projectDir : homedir());\n }\n\n getServerConfigPath(ctx: InstallContext): string {\n return join(this.getConfigDir(ctx), \"mcp.jsonc\");\n }\n\n /**\n * Xum has no hook file — hooks are not a thing here. The hook \"config path\"\n * is the same mcp.jsonc so the generic doctor/backup behave sensibly.\n */\n getHookConfigPath(ctx: InstallContext): string {\n return this.getServerConfigPath(ctx);\n }\n\n // ── MCP server install / uninstall ───────────────────────────────────────\n\n installServer(ctx: InstallContext): ChangeRecord[] {\n const { connector, dryRun } = ctx;\n const override = connector.platforms[HOST]?.server;\n if (!connector.server || override === false) {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: connector.server\n ? \"server registration disabled for mux\"\n : \"connector declares no MCP server\",\n },\n ];\n }\n\n // Shallow-merge any per-platform server override into the base ServerDef.\n const server: ServerDef =\n override && typeof override === \"object\"\n ? { ...connector.server, ...override }\n : connector.server;\n\n const path = this.getServerConfigPath(ctx);\n\n if (server.transport !== \"stdio\" || !server.command) {\n // Xum's command-string entry is stdio-only; remote transports skip.\n return [\n {\n platform: this.id,\n action: \"skip\",\n path,\n detail: `transport \"${server.transport}\" not registrable (mux expects a stdio command string)`,\n },\n ];\n }\n\n const entry = this.renderCommandString(ctx, server);\n // Xum's server VALUE is a command string, but the object-map upsert is\n // value-agnostic — route through the shared helper (byte-identical output).\n return [this.upsertServerInJson(path, MCP_ROOT_KEY, connector.id, entry, dryRun)];\n }\n\n uninstallServer(ctx: InstallContext): ChangeRecord[] {\n const path = this.getServerConfigPath(ctx);\n return [\n this.removeServerFromJson(path, MCP_ROOT_KEY, ctx.connector.id, ctx.dryRun),\n ];\n }\n\n /**\n * Render a stdio ServerDef into Xum's single shell-command string. Honors the\n * telemetry serve-wrapper and resolves every `${env:VAR}` to a literal (Xum\n * documents no native interpolation token).\n */\n private renderCommandString(ctx: InstallContext, server: ServerDef): string {\n let command = server.command ?? \"\";\n let args = [...(server.args ?? [])];\n\n // Transparent telemetry wrapping: route the real command through\n // `<homeBin> serve --connector <id> -- <command> <args...>`.\n ({ command, args } = buildWrappedStdio(ctx, server, this.id, command, args));\n\n // Resolve env-refs to literals (Xum has no native interpolation token).\n command = resolveEnvRefs(command);\n args = resolveEnvRefsDeep(args);\n\n return buildCommandString(command, args);\n }\n\n // ── Hooks (unavailable — Xum is mcp-only) ─────────────────────────────────\n\n installHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Xum is mcp-only)\",\n },\n ];\n }\n\n uninstallHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Xum is mcp-only)\",\n },\n ];\n }\n\n // ── Content surface: skills (dir-per-skill SKILL.md) ─────────────────────\n // CONTENT-ONLY: pure native-file writers, mirroring goose/openclaw. No\n // runtime dispatch, no home-bin pointer, no telemetry wrap. Idempotent\n // (byte-identical → skip) via writeContentFile and reversible via\n // removeContentFile + removeDirIfEmpty. Honors platforms[\"mux\"].skills ===\n // false. No mcp.jsonc entry — Xum auto-discovers the skills dirs.\n //\n // Native locations (mux.coder.com/agents/agent-skills):\n // project → <projectDir>/.xum/skills/<name>/SKILL.md (workspace-local)\n // user → ~/.xum/skills/<name>/SKILL.md (global, Xum-specific)\n // The dir name MUST match MUX_SKILL_NAME_RE (1–64 chars) and the SKILL.md\n // `name` field must equal it — a name that can't be represented is skip-warned.\n\n /** The skills ROOT dir for ctx.scope (parent of every per-skill dir). */\n private skillsDir(ctx: InstallContext): string {\n return join(this.getConfigDir(ctx), \"skills\");\n }\n\n /** Per-skill directory: <skillsDir>/<name>. */\n private skillDir(ctx: InstallContext, name: string): string {\n return join(this.skillsDir(ctx), name);\n }\n\n override installSkills(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.platforms[HOST]?.skills === false) {\n return [{ platform: this.id, action: \"skip\", detail: \"skills disabled for mux\" }];\n }\n if (connector.skills.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no skills\" }];\n }\n const changes: ChangeRecord[] = [];\n for (const skill of connector.skills) {\n // Xum REQUIRES the dir name (and SKILL.md `name`) to match its pattern;\n // a name we cannot represent is skip-warned rather than written to a dir\n // Xum would reject (the honesty bar — never write an unreadable path).\n if (!this.isValidSkillName(skill.name)) {\n changes.push({\n platform: this.id,\n action: \"warn\",\n detail:\n `skill \"${skill.name}\" cannot be represented on mux ` +\n `(name must match ${MUX_SKILL_NAME_RE.source}, 1–${MUX_SKILL_NAME_MAX} chars); skipped`,\n });\n continue;\n }\n const dir = this.skillDir(ctx, skill.name);\n // Guard a skills path occupied by a regular FILE (mkdir would throw\n // ENOTDIR): skip-warn rather than crash (cline `.clinerules`-is-a-file\n // precedent).\n const blockingFile = this.firstFileOnSkillPath(ctx, dir);\n if (blockingFile !== null) {\n changes.push({\n platform: this.id,\n action: \"warn\",\n path: blockingFile,\n detail: `${blockingFile} is a file, not a directory; skill \"${skill.name}\" skipped`,\n });\n continue;\n }\n changes.push(\n this.writeContentFile(join(dir, \"SKILL.md\"), renderSkillMd(skill), ctx.dryRun),\n );\n // Bundle any resource files beside SKILL.md (relative path → contents).\n // Defense-in-depth: skip+warn on any key that escapes the skill dir.\n for (const [rel, contents] of Object.entries(skill.resources ?? {})) {\n const target = this.resolveWithin(dir, rel);\n if (target === null) {\n changes.push({\n platform: this.id,\n action: \"warn\",\n detail: `skill resource \"${rel}\" escapes the skill dir; skipped`,\n });\n continue;\n }\n changes.push(this.writeContentFile(target, contents, ctx.dryRun));\n }\n }\n return changes;\n }\n\n override uninstallSkills(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.skills.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no skills\" }];\n }\n const changes: ChangeRecord[] = [];\n for (const skill of connector.skills) {\n // Skip names install never wrote (invalid → never on disk under our dir).\n if (!this.isValidSkillName(skill.name)) continue;\n const dir = this.skillDir(ctx, skill.name);\n // Remove only the files we wrote (SKILL.md + declared resources), then the\n // skill dir itself when we own its full contents.\n changes.push(this.removeContentFile(join(dir, \"SKILL.md\"), ctx.dryRun));\n for (const rel of Object.keys(skill.resources ?? {})) {\n const target = this.resolveWithin(dir, rel);\n if (target === null) continue; // never delete outside the skill dir\n changes.push(this.removeContentFile(target, ctx.dryRun));\n }\n // Only remove the skill dir when WE own its full contents — never rm -rf a\n // dir that still holds user-added / sibling-tool / shared files.\n changes.push(this.removeDirIfEmpty(dir, ctx.dryRun));\n }\n if (changes.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"no installable skills to remove\" }];\n }\n return changes;\n }\n\n /** True when a skill name is representable as a Xum skill directory name. */\n private isValidSkillName(name: string): boolean {\n return name.length >= 1 && name.length <= MUX_SKILL_NAME_MAX && MUX_SKILL_NAME_RE.test(name);\n }\n\n /**\n * Walk from the skills root down to `leaf` and return the FIRST segment that\n * exists as a regular file (a mkdir there throws ENOTDIR), else null — so\n * installSkills can skip-warn instead of crashing.\n */\n private firstFileOnSkillPath(ctx: InstallContext, leaf: string): string | null {\n const root = this.skillsDir(ctx);\n const segments: string[] = [];\n let cur = leaf;\n while (cur.length >= root.length) {\n segments.unshift(cur);\n if (cur === root) break;\n const parent = dirname(cur);\n if (parent === cur) break;\n cur = parent;\n }\n for (const p of segments) {\n if (!existsSync(p)) return null;\n try {\n if (statSync(p).isFile()) return p;\n } catch {\n return null;\n }\n }\n return null;\n }\n\n // ── Diagnostics ──────────────────────────────────────────────────────────\n\n override getHealthChecks(ctx: InstallContext): readonly HealthCheck[] {\n const mcpPath = this.getServerConfigPath(ctx);\n const connectorId = ctx.connector.id;\n return [\n {\n name: `${this.name}: mcp.jsonc present`,\n check: () =>\n existsSync(mcpPath)\n ? { status: \"OK\", detail: mcpPath }\n : { status: \"FAIL\", detail: `not found: ${mcpPath}` },\n },\n {\n name: `${this.name}: server entry registered`,\n check: () => {\n // Only assert what the connector declares: a server-less connector\n // never writes an mcpServers entry, so its absence is healthy.\n if (!ctx.connector.server) {\n return { status: \"OK\", detail: \"no MCP server declared\" };\n }\n const cfg = this.readJson<{ [k: string]: Record<string, unknown> }>(\n mcpPath,\n );\n const bucket = cfg?.[MCP_ROOT_KEY];\n if (!cfg || !bucket) {\n return { status: \"FAIL\", detail: `no ${MCP_ROOT_KEY} in ${mcpPath}` };\n }\n return connectorId in bucket\n ? { status: \"OK\", detail: `${MCP_ROOT_KEY}.${connectorId} present` }\n : {\n status: \"FAIL\",\n detail: `no ${MCP_ROOT_KEY}.${connectorId} in ${mcpPath}`,\n };\n },\n },\n ];\n }\n}\n\nexport const adapter = new MuxAdapter();\nexport default adapter;\n"],"mappings":"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","names":[]}
|
|
@@ -7,19 +7,19 @@ import {
|
|
|
7
7
|
packageConnector,
|
|
8
8
|
packageConnectorAll,
|
|
9
9
|
resolvePackageFormat
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JUBEM3OR.js";
|
|
11
11
|
import "./chunk-XY3N2U6L.js";
|
|
12
12
|
import "./chunk-OPXAP3AC.js";
|
|
13
13
|
import {
|
|
14
14
|
fail,
|
|
15
15
|
print
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SA6CSOH5.js";
|
|
17
17
|
import {
|
|
18
18
|
findConnectorConfig,
|
|
19
19
|
loadConnectorFromPath
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-R4FABNAL.js";
|
|
21
|
+
import "./chunk-6FRAVOVF.js";
|
|
22
|
+
import "./chunk-XJSVJD5T.js";
|
|
23
23
|
import "./chunk-NBYKLUF6.js";
|
|
24
24
|
import "./chunk-H53QZQJI.js";
|
|
25
25
|
import "./chunk-BEFVJ2OE.js";
|
|
@@ -140,4 +140,4 @@ async function run(argv) {
|
|
|
140
140
|
export {
|
|
141
141
|
run
|
|
142
142
|
};
|
|
143
|
-
//# sourceMappingURL=package-
|
|
143
|
+
//# sourceMappingURL=package-FY2QZWRM.js.map
|
package/dist/runtime/index.d.ts
CHANGED
package/dist/runtime/index.js
CHANGED
|
@@ -4,21 +4,21 @@ import {
|
|
|
4
4
|
runServe,
|
|
5
5
|
runStatusline,
|
|
6
6
|
runUsageEvent
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-4YOYR3T5.js";
|
|
8
8
|
import "../chunk-OP4KBXUO.js";
|
|
9
9
|
import "../chunk-GDIAHWNY.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-KY2VQGD7.js";
|
|
11
11
|
import {
|
|
12
12
|
isNativeHookDeclared,
|
|
13
13
|
runHook,
|
|
14
14
|
runNativeHook
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-CZOXXS77.js";
|
|
16
16
|
import "../chunk-IVAWP6HH.js";
|
|
17
17
|
import "../chunk-KHO5WNTP.js";
|
|
18
18
|
import "../chunk-4NFDNY3C.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-R4FABNAL.js";
|
|
20
|
+
import "../chunk-6FRAVOVF.js";
|
|
21
|
+
import "../chunk-XJSVJD5T.js";
|
|
22
22
|
import "../chunk-NBYKLUF6.js";
|
|
23
23
|
import "../chunk-QSY74NAP.js";
|
|
24
24
|
import "../chunk-UMQ6NBQR.js";
|
package/dist/sdk/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as ConnectorConfigError, d as defineAction, a as defineCommand, b as defineConfigPatch, c as defineConnector, e as defineHook, f as defineMemory, g as defineNativeHook, h as defineSkill, i as defineStatusline, j as defineSubagent } from '../define-connector-
|
|
2
|
-
export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-
|
|
3
|
-
import { o as PlatformId } from '../types-
|
|
4
|
-
export { A as ActionDef, a as ActionResult, b as AuthSpec, Q as CommandDef, V as ConfigPatchDef, c as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, j as InstallScope, W as JsonValue, k as MemoryDef, N as NativeHookDef, l as NativeHookEvent, m as NotificationEvent, P as PermissionRequestEvent, n as PlatformCapabilities, p as PlatformMemoryOverride, q as PlatformOverride, r as PostToolUseEvent, s as PostToolUseFailureEvent, t as PreCompactEvent, u as PreToolUseEvent, X as PublishConfig, v as ResolvedConnector, S as ServerDef, w as SessionEndEvent, x as SessionStartEvent, Y as SkillDef, y as StatuslineContext, z as StatuslineDef, B as StopEvent, Z as SubagentDef, F as SubagentStartEvent, G as SubagentStopEvent, _ as SurfaceToolPolicy, T as TelemetryAccessor, J as TelemetryConfig, K as TelemetryUsageSummary, L as ToolFilter, O as Transport, U as UserPromptSubmitEvent } from '../types-
|
|
1
|
+
export { C as ConnectorConfigError, d as defineAction, a as defineCommand, b as defineConfigPatch, c as defineConnector, e as defineHook, f as defineMemory, g as defineNativeHook, h as defineSkill, i as defineStatusline, j as defineSubagent } from '../define-connector-iosc34CA.js';
|
|
2
|
+
export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-z3eKVWHN.js';
|
|
3
|
+
import { o as PlatformId } from '../types-CAKApZpX.js';
|
|
4
|
+
export { A as ActionDef, a as ActionResult, b as AuthSpec, Q as CommandDef, V as ConfigPatchDef, c as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, j as InstallScope, W as JsonValue, k as MemoryDef, N as NativeHookDef, l as NativeHookEvent, m as NotificationEvent, P as PermissionRequestEvent, n as PlatformCapabilities, p as PlatformMemoryOverride, q as PlatformOverride, r as PostToolUseEvent, s as PostToolUseFailureEvent, t as PreCompactEvent, u as PreToolUseEvent, X as PublishConfig, v as ResolvedConnector, S as ServerDef, w as SessionEndEvent, x as SessionStartEvent, Y as SkillDef, y as StatuslineContext, z as StatuslineDef, B as StopEvent, Z as SubagentDef, F as SubagentStartEvent, G as SubagentStopEvent, _ as SurfaceToolPolicy, T as TelemetryAccessor, J as TelemetryConfig, K as TelemetryUsageSummary, L as ToolFilter, O as Transport, U as UserPromptSubmitEvent } from '../types-CAKApZpX.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* sdk/helpers — host-aware authoring helpers for connector handlers.
|
package/dist/sdk/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
capabilitiesOf,
|
|
5
5
|
hostsSupporting,
|
|
6
6
|
surfaceSupport
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-34RRWEWU.js";
|
|
8
8
|
import {
|
|
9
9
|
ConnectorConfigError,
|
|
10
10
|
defineAction,
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
defineSkill,
|
|
18
18
|
defineStatusline,
|
|
19
19
|
defineSubagent
|
|
20
|
-
} from "../chunk-
|
|
21
|
-
import "../chunk-
|
|
20
|
+
} from "../chunk-6FRAVOVF.js";
|
|
21
|
+
import "../chunk-XJSVJD5T.js";
|
|
22
22
|
import "../chunk-NBYKLUF6.js";
|
|
23
23
|
import "../chunk-UMQ6NBQR.js";
|
|
24
24
|
import "../chunk-GZGLCCEE.js";
|
package/dist/sdk/test.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as PlatformId, e as HookEventName, v as ResolvedConnector } from '../types-
|
|
2
|
-
import { a as SurfaceName } from '../introspect-
|
|
1
|
+
import { o as PlatformId, e as HookEventName, v as ResolvedConnector } from '../types-CAKApZpX.js';
|
|
2
|
+
import { a as SurfaceName } from '../introspect-z3eKVWHN.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* sdk/test-harness — the SHIPPED, OFFLINE behavioral harness.
|
package/dist/sdk/test.js
CHANGED
|
@@ -3,15 +3,15 @@ import {
|
|
|
3
3
|
explain,
|
|
4
4
|
explainHooks,
|
|
5
5
|
simulate
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-IY3SSCNK.js";
|
|
7
|
+
import "../chunk-CZOXXS77.js";
|
|
8
8
|
import "../chunk-IVAWP6HH.js";
|
|
9
9
|
import "../chunk-KHO5WNTP.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-34RRWEWU.js";
|
|
11
11
|
import "../chunk-4NFDNY3C.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-R4FABNAL.js";
|
|
13
|
+
import "../chunk-6FRAVOVF.js";
|
|
14
|
+
import "../chunk-XJSVJD5T.js";
|
|
15
15
|
import "../chunk-NBYKLUF6.js";
|
|
16
16
|
import "../chunk-UMQ6NBQR.js";
|
|
17
17
|
import "../chunk-GZGLCCEE.js";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fail
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SA6CSOH5.js";
|
|
5
5
|
import {
|
|
6
6
|
runServe
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4YOYR3T5.js";
|
|
8
8
|
import "./chunk-OP4KBXUO.js";
|
|
9
9
|
import "./chunk-GDIAHWNY.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-KY2VQGD7.js";
|
|
11
|
+
import "./chunk-CZOXXS77.js";
|
|
12
12
|
import "./chunk-IVAWP6HH.js";
|
|
13
13
|
import "./chunk-KHO5WNTP.js";
|
|
14
14
|
import "./chunk-4NFDNY3C.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-R4FABNAL.js";
|
|
16
|
+
import "./chunk-6FRAVOVF.js";
|
|
17
|
+
import "./chunk-XJSVJD5T.js";
|
|
18
18
|
import "./chunk-NBYKLUF6.js";
|
|
19
19
|
import "./chunk-QSY74NAP.js";
|
|
20
20
|
import "./chunk-UMQ6NBQR.js";
|
|
@@ -75,4 +75,4 @@ async function run(argv) {
|
|
|
75
75
|
export {
|
|
76
76
|
run
|
|
77
77
|
};
|
|
78
|
-
//# sourceMappingURL=serve-
|
|
78
|
+
//# sourceMappingURL=serve-XT76DWUN.js.map
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
marketplaceEvidence
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-CWUPIT72.js";
|
|
5
|
+
import "./chunk-KOFCNA5T.js";
|
|
6
6
|
import {
|
|
7
7
|
fail,
|
|
8
8
|
parseScope,
|
|
9
9
|
print
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-SA6CSOH5.js";
|
|
11
11
|
import {
|
|
12
12
|
detectInstalledPlatforms
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-KY2VQGD7.js";
|
|
14
14
|
import {
|
|
15
15
|
findConnectorConfig,
|
|
16
16
|
listRegisteredConnectors,
|
|
17
17
|
loadConnectorFromPath
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-R4FABNAL.js";
|
|
19
|
+
import "./chunk-6FRAVOVF.js";
|
|
20
20
|
import {
|
|
21
21
|
loadAdapter
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-XJSVJD5T.js";
|
|
23
23
|
import "./chunk-NBYKLUF6.js";
|
|
24
24
|
import "./chunk-UMQ6NBQR.js";
|
|
25
25
|
import {
|
|
@@ -139,4 +139,4 @@ async function run(argv) {
|
|
|
139
139
|
export {
|
|
140
140
|
run
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=status-
|
|
142
|
+
//# sourceMappingURL=status-DHVWBRLI.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runStatusline
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4YOYR3T5.js";
|
|
5
5
|
import "./chunk-OP4KBXUO.js";
|
|
6
6
|
import "./chunk-GDIAHWNY.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-KY2VQGD7.js";
|
|
8
|
+
import "./chunk-CZOXXS77.js";
|
|
9
9
|
import "./chunk-IVAWP6HH.js";
|
|
10
10
|
import "./chunk-KHO5WNTP.js";
|
|
11
11
|
import "./chunk-4NFDNY3C.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-R4FABNAL.js";
|
|
13
|
+
import "./chunk-6FRAVOVF.js";
|
|
14
|
+
import "./chunk-XJSVJD5T.js";
|
|
15
15
|
import "./chunk-NBYKLUF6.js";
|
|
16
16
|
import "./chunk-QSY74NAP.js";
|
|
17
17
|
import "./chunk-UMQ6NBQR.js";
|
|
@@ -58,4 +58,4 @@ async function run(argv) {
|
|
|
58
58
|
export {
|
|
59
59
|
run
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=statusline-
|
|
61
|
+
//# sourceMappingURL=statusline-SY5UBQOJ.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
fail,
|
|
14
14
|
print
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-SA6CSOH5.js";
|
|
16
16
|
import {
|
|
17
17
|
openStore
|
|
18
18
|
} from "./chunk-IVAWP6HH.js";
|
|
@@ -21,9 +21,9 @@ import {
|
|
|
21
21
|
listRegisteredConnectors,
|
|
22
22
|
loadRegisteredConnector,
|
|
23
23
|
readRegisteredMeta
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
24
|
+
} from "./chunk-R4FABNAL.js";
|
|
25
|
+
import "./chunk-6FRAVOVF.js";
|
|
26
|
+
import "./chunk-XJSVJD5T.js";
|
|
27
27
|
import "./chunk-NBYKLUF6.js";
|
|
28
28
|
import "./chunk-UMQ6NBQR.js";
|
|
29
29
|
import "./chunk-GZGLCCEE.js";
|
|
@@ -349,4 +349,4 @@ export {
|
|
|
349
349
|
parseSince,
|
|
350
350
|
run
|
|
351
351
|
};
|
|
352
|
-
//# sourceMappingURL=telemetry-
|
|
352
|
+
//# sourceMappingURL=telemetry-TJIFAKWX.js.map
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* exposes no writable MCP config to install into. The registry-completeness test
|
|
26
26
|
* (tests/adapters/registry-completeness.test.ts) allowlists it for this reason.
|
|
27
27
|
*/
|
|
28
|
-
type PlatformId = "claude-code" | "codebuddy" | "codex" | "cursor" | "vscode-copilot" | "jetbrains-copilot" | "copilot-cli" | "gemini-cli" | "opencode" | "mimo-code" | "kilo" | "kilo-cli" | "warp" | "hermes" | "nemoclaw" | "openclaw" | "zed" | "antigravity" | "antigravity-cli" | "kiro" | "qwen-code" | "kimi" | "pi" | "omp" | "droid" | "openhands" | "
|
|
28
|
+
type PlatformId = "claude-code" | "codebuddy" | "codex" | "cursor" | "vscode-copilot" | "jetbrains-copilot" | "copilot-cli" | "gemini-cli" | "opencode" | "mimo-code" | "kilo" | "kilo-cli" | "warp" | "hermes" | "nemoclaw" | "openclaw" | "zed" | "antigravity" | "antigravity-cli" | "kiro" | "qwen-code" | "kimi" | "pi" | "omp" | "droid" | "openhands" | "cline" | "trae" | "amp" | "codebuff" | "mux" | "crush" | "goose" | "amazon-q" | "continue" | "windsurf" | "grok-build" | "grok-cli" | "devin" | "open-interpreter" | "junie" | "mistral-vibe" | "synthetic" | "unknown";
|
|
29
29
|
/**
|
|
30
30
|
* Hook I/O paradigm — the deepest cross-platform divergence (report §4).
|
|
31
31
|
* Canonical shipped sets (keep in sync with src/adapters/registry.ts — this
|
|
@@ -40,9 +40,9 @@ type PlatformId = "claude-code" | "codebuddy" | "codex" | "cursor" | "vscode-cop
|
|
|
40
40
|
* — OpenCode, MiMoCode (an OpenCode fork), Kilo CLI, Kilo, OMP, OpenClaw,
|
|
41
41
|
* NemoClaw (an OpenClaw wrapper/fork), Amp (.amp/plugins/*.ts). Framework
|
|
42
42
|
* generates the module.
|
|
43
|
-
* - "mcp-only" (
|
|
44
|
-
*
|
|
45
|
-
* surface) is installed; hooks are reported unavailable.
|
|
43
|
+
* - "mcp-only" (11): no hook layer at all — Warp, Cline, Trae, Zed, Codebuff,
|
|
44
|
+
* Mux, Pi, Windsurf, Open Interpreter, Junie, Mistral Vibe. Only the MCP
|
|
45
|
+
* server (or skills surface) is installed; hooks are reported unavailable.
|
|
46
46
|
*/
|
|
47
47
|
type HookParadigm = "json-stdio" | "ts-plugin" | "mcp-only";
|
|
48
48
|
/**
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
resolveUninstallTargets,
|
|
6
6
|
uninstallConnector,
|
|
7
7
|
uninstallViaMarketplace
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-XSR3GF55.js";
|
|
9
|
+
import "./chunk-JUBEM3OR.js";
|
|
10
10
|
import {
|
|
11
11
|
marketplaceEvidence,
|
|
12
12
|
readMarketplaceInstalls
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-CWUPIT72.js";
|
|
14
|
+
import "./chunk-KOFCNA5T.js";
|
|
15
15
|
import "./chunk-XY3N2U6L.js";
|
|
16
16
|
import "./chunk-OPXAP3AC.js";
|
|
17
17
|
import {
|
|
@@ -22,16 +22,16 @@ import {
|
|
|
22
22
|
parseTargets,
|
|
23
23
|
print,
|
|
24
24
|
renderInstallResult
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-SA6CSOH5.js";
|
|
26
26
|
import "./chunk-GDIAHWNY.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-KY2VQGD7.js";
|
|
28
28
|
import "./chunk-KHO5WNTP.js";
|
|
29
29
|
import {
|
|
30
30
|
findConnectorConfig,
|
|
31
31
|
loadConnectorFromPath
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-R4FABNAL.js";
|
|
33
|
+
import "./chunk-6FRAVOVF.js";
|
|
34
|
+
import "./chunk-XJSVJD5T.js";
|
|
35
35
|
import "./chunk-NBYKLUF6.js";
|
|
36
36
|
import "./chunk-H53QZQJI.js";
|
|
37
37
|
import "./chunk-BEFVJ2OE.js";
|
|
@@ -183,4 +183,4 @@ async function run(argv) {
|
|
|
183
183
|
export {
|
|
184
184
|
run
|
|
185
185
|
};
|
|
186
|
-
//# sourceMappingURL=uninstall-
|
|
186
|
+
//# sourceMappingURL=uninstall-VQO36IQ4.js.map
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
resolveCliEntry,
|
|
5
5
|
syncConnector,
|
|
6
6
|
upgradeViaMarketplace
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-XSR3GF55.js";
|
|
8
|
+
import "./chunk-JUBEM3OR.js";
|
|
9
|
+
import "./chunk-CWUPIT72.js";
|
|
10
|
+
import "./chunk-KOFCNA5T.js";
|
|
11
11
|
import "./chunk-XY3N2U6L.js";
|
|
12
12
|
import "./chunk-OPXAP3AC.js";
|
|
13
13
|
import {
|
|
@@ -18,16 +18,16 @@ import {
|
|
|
18
18
|
parseTargets,
|
|
19
19
|
print,
|
|
20
20
|
renderInstallResult
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-SA6CSOH5.js";
|
|
22
22
|
import "./chunk-GDIAHWNY.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-KY2VQGD7.js";
|
|
24
24
|
import "./chunk-KHO5WNTP.js";
|
|
25
25
|
import {
|
|
26
26
|
findConnectorConfig,
|
|
27
27
|
loadConnectorFromPath
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
28
|
+
} from "./chunk-R4FABNAL.js";
|
|
29
|
+
import "./chunk-6FRAVOVF.js";
|
|
30
|
+
import "./chunk-XJSVJD5T.js";
|
|
31
31
|
import "./chunk-NBYKLUF6.js";
|
|
32
32
|
import "./chunk-H53QZQJI.js";
|
|
33
33
|
import "./chunk-BEFVJ2OE.js";
|
|
@@ -133,4 +133,4 @@ Refreshed home binary pointer: ${binPath}`);
|
|
|
133
133
|
export {
|
|
134
134
|
run
|
|
135
135
|
};
|
|
136
|
-
//# sourceMappingURL=upgrade-
|
|
136
|
+
//# sourceMappingURL=upgrade-QEYZOA7S.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
formatHostLeaderboard,
|
|
4
4
|
hostLeaderboard,
|
|
5
5
|
scanUsage
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IVJUPNLD.js";
|
|
7
7
|
import {
|
|
8
8
|
aggregateBy,
|
|
9
9
|
sumTokens
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
fail,
|
|
13
13
|
print
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-SA6CSOH5.js";
|
|
15
15
|
|
|
16
16
|
// src/cli/commands/usage.ts
|
|
17
17
|
import { writeFileSync } from "fs";
|
|
@@ -321,4 +321,4 @@ export {
|
|
|
321
321
|
parseSince,
|
|
322
322
|
run
|
|
323
323
|
};
|
|
324
|
-
//# sourceMappingURL=usage-
|
|
324
|
+
//# sourceMappingURL=usage-LV7UGO64.js.map
|