@kwonye/mcpx 0.1.104 → 0.1.105
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/dist/{chunk-wq4zd3t7.js → chunk-01s7rhx3.js} +4 -2
- package/dist/{chunk-cqenqnxk.js → chunk-4y0t0tfj.js} +8 -2
- package/dist/{chunk-z1k63fa3.js → chunk-56whm3hm.js} +329 -34
- package/dist/{chunk-31brdz5s.js → chunk-6mxr34tc.js} +2 -2
- package/dist/{chunk-b58zsdp4.js → chunk-am903qjk.js} +11 -5
- package/dist/{chunk-s9v1epnk.js → chunk-btbww96n.js} +7 -5
- package/dist/{chunk-02r7k4ax.js → chunk-d2v9rxy0.js} +5 -5
- package/dist/{chunk-cz8cdmw1.js → chunk-fw8dyt89.js} +1 -1
- package/dist/{chunk-0xhdyt4z.js → chunk-h158rkts.js} +4 -4
- package/dist/{chunk-941dqsx2.js → chunk-t4hqf6yh.js} +244 -9
- package/dist/{chunk-z34m83m4.js → chunk-y9a1rx7j.js} +2 -2
- package/dist/cli.js +146 -32
- package/dist/core/index.d.ts +5 -3
- package/dist/core/index.js +37 -9
- package/dist/core/paths.d.ts +2 -0
- package/dist/core/plugin-manager.d.ts +4 -1
- package/dist/core/share.d.ts +71 -0
- package/dist/core/skills.d.ts +7 -0
- package/dist/core/telemetry.d.ts +1 -1
- package/dist/types.d.ts +10 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
clearOAuthCredentials,
|
|
12
12
|
defaultAuthSecretName,
|
|
13
13
|
durationBucket,
|
|
14
|
+
exportEnvironment,
|
|
14
15
|
extractRequiredInputs,
|
|
15
16
|
fetchRegistryServerDetail,
|
|
16
17
|
flushTelemetry,
|
|
@@ -19,6 +20,7 @@ import {
|
|
|
19
20
|
getStagedCliPath,
|
|
20
21
|
getStagedUpdate,
|
|
21
22
|
getTelemetryStatus,
|
|
23
|
+
importEnvironment,
|
|
22
24
|
initializeTelemetry,
|
|
23
25
|
isOAuthReference,
|
|
24
26
|
listAuthBindings,
|
|
@@ -49,30 +51,36 @@ import {
|
|
|
49
51
|
stopDaemon,
|
|
50
52
|
toSecretRef,
|
|
51
53
|
updateTelemetryPreferences
|
|
52
|
-
} from "./chunk-
|
|
53
|
-
import"./chunk-
|
|
54
|
+
} from "./chunk-t4hqf6yh.js";
|
|
55
|
+
import"./chunk-btbww96n.js";
|
|
54
56
|
import {
|
|
55
57
|
APP_VERSION,
|
|
58
|
+
customizeSkill,
|
|
56
59
|
deleteSkill,
|
|
57
60
|
getAdapters,
|
|
58
61
|
getGatewayUrl,
|
|
59
62
|
getSkill,
|
|
63
|
+
installSkillFromSource,
|
|
60
64
|
listSkills,
|
|
61
65
|
loadManagedIndex,
|
|
62
66
|
mutateActiveConfig,
|
|
63
67
|
mutateConfig,
|
|
64
68
|
mutateProjectConfig,
|
|
65
69
|
persistSyncState,
|
|
70
|
+
pinSkill,
|
|
71
|
+
rollbackSkill,
|
|
66
72
|
saveSkill,
|
|
67
|
-
syncAllClients
|
|
68
|
-
|
|
73
|
+
syncAllClients,
|
|
74
|
+
unpinSkill,
|
|
75
|
+
updateSkill
|
|
76
|
+
} from "./chunk-56whm3hm.js";
|
|
69
77
|
import {
|
|
70
78
|
ConfigLoadError,
|
|
71
79
|
loadConfig,
|
|
72
80
|
loadMergedConfig,
|
|
73
81
|
loadProjectConfig,
|
|
74
82
|
resolveActiveConfig
|
|
75
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-01s7rhx3.js";
|
|
76
84
|
import {
|
|
77
85
|
SecretsManager,
|
|
78
86
|
addServer,
|
|
@@ -82,12 +90,12 @@ import {
|
|
|
82
90
|
removeServer,
|
|
83
91
|
rotateGatewayToken,
|
|
84
92
|
setServerEnabled
|
|
85
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-fw8dyt89.js";
|
|
86
94
|
import {
|
|
87
95
|
getConfigPath,
|
|
88
96
|
getManagedIndexPath,
|
|
89
97
|
getSecretsStorePath
|
|
90
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-4y0t0tfj.js";
|
|
91
99
|
import {
|
|
92
100
|
isServerEnabled
|
|
93
101
|
} from "./chunk-bjw71y54.js";
|
|
@@ -35545,7 +35553,10 @@ function registerSkillsCommands(program) {
|
|
|
35545
35553
|
process.exitCode = 1;
|
|
35546
35554
|
return;
|
|
35547
35555
|
}
|
|
35548
|
-
saveSkill(id,
|
|
35556
|
+
saveSkill(id, `---
|
|
35557
|
+
name: ${id}
|
|
35558
|
+
description: Instructions for using ${id}.
|
|
35559
|
+
---
|
|
35549
35560
|
|
|
35550
35561
|
Add your instructions here.`);
|
|
35551
35562
|
const summary = syncAllClients(loadConfig(), new SecretsManager);
|
|
@@ -35576,6 +35587,84 @@ Add your instructions here.`);
|
|
|
35576
35587
|
properties: { operation: "skill_remove", outcome: "success", durationBucket: durationBucket(Date.now() - startedAt) }
|
|
35577
35588
|
});
|
|
35578
35589
|
});
|
|
35590
|
+
skill.command("customize <id>").option("--name <name>", "Name for the authored copy").description("Create an editable authored copy of an installed skill").action((id, options) => {
|
|
35591
|
+
const customized = customizeSkill(id, options.name ?? id);
|
|
35592
|
+
process.stdout.write(`Skill "${customized.id}" is now editable.
|
|
35593
|
+
`);
|
|
35594
|
+
});
|
|
35595
|
+
skill.command("install <source>").option("--skill <name>", "Skill directory name when a source contains multiple skills").description("Install an Agent Skill package from a local, Git, GitHub, or npm source").action(async (source, options) => {
|
|
35596
|
+
try {
|
|
35597
|
+
const installed = await installSkillFromSource(source, options.skill);
|
|
35598
|
+
const summary = syncAllClients(loadConfig(), new SecretsManager);
|
|
35599
|
+
await mutateConfig((freshConfig) => persistSyncState(summary, freshConfig));
|
|
35600
|
+
process.stdout.write(`Skill installed: ${installed.id}
|
|
35601
|
+
`);
|
|
35602
|
+
} catch (error2) {
|
|
35603
|
+
process.stderr.write(`Error: ${error2 instanceof Error ? error2.message : String(error2)}
|
|
35604
|
+
`);
|
|
35605
|
+
process.exitCode = 1;
|
|
35606
|
+
}
|
|
35607
|
+
});
|
|
35608
|
+
skill.command("pin <id>").description("Pin an installed skill at its current revision").action((id) => {
|
|
35609
|
+
pinSkill(id);
|
|
35610
|
+
process.stdout.write(`Skill pinned: ${id}
|
|
35611
|
+
`);
|
|
35612
|
+
});
|
|
35613
|
+
skill.command("unpin <id>").description("Allow an installed skill to update").action((id) => {
|
|
35614
|
+
unpinSkill(id);
|
|
35615
|
+
process.stdout.write(`Skill unpinned: ${id}
|
|
35616
|
+
`);
|
|
35617
|
+
});
|
|
35618
|
+
skill.command("update <id>").description("Update an installed skill from its source").action(async (id) => {
|
|
35619
|
+
const skill2 = await updateSkill(id);
|
|
35620
|
+
const summary = syncAllClients(loadConfig(), new SecretsManager);
|
|
35621
|
+
await mutateConfig((freshConfig) => persistSyncState(summary, freshConfig));
|
|
35622
|
+
process.stdout.write(`Skill updated: ${skill2.id}
|
|
35623
|
+
`);
|
|
35624
|
+
});
|
|
35625
|
+
skill.command("rollback <id>").description("Restore the previous installed skill revision").action(async (id) => {
|
|
35626
|
+
const skill2 = rollbackSkill(id);
|
|
35627
|
+
const summary = syncAllClients(loadConfig(), new SecretsManager);
|
|
35628
|
+
await mutateConfig((freshConfig) => persistSyncState(summary, freshConfig));
|
|
35629
|
+
process.stdout.write(`Skill rolled back: ${skill2.id}
|
|
35630
|
+
`);
|
|
35631
|
+
});
|
|
35632
|
+
}
|
|
35633
|
+
function registerShareCommands(program) {
|
|
35634
|
+
const share = program.command("share").description("Export and import portable mcpx environments");
|
|
35635
|
+
share.command("export <directory>").option("--skill <id>", "Only include this skill (repeatable)", (value, previous = []) => [...previous, value]).option("--plugin <id>", "Only include this plugin (repeatable)", (value, previous = []) => [...previous, value]).description("Export a Git-friendly environment folder").action((directory, options) => {
|
|
35636
|
+
try {
|
|
35637
|
+
const result = exportEnvironment(directory, { skills: options.skill, plugins: options.plugin });
|
|
35638
|
+
process.stdout.write(`Environment exported to ${path2.resolve(directory)}
|
|
35639
|
+
`);
|
|
35640
|
+
process.stdout.write(`${result.environment.skills.length} skill(s), ${result.environment.plugins.length} plugin(s), ${Object.keys(result.environment.servers).length} server(s)
|
|
35641
|
+
`);
|
|
35642
|
+
} catch (error2) {
|
|
35643
|
+
process.stderr.write(`Error: ${error2 instanceof Error ? error2.message : String(error2)}
|
|
35644
|
+
`);
|
|
35645
|
+
process.exitCode = 1;
|
|
35646
|
+
}
|
|
35647
|
+
});
|
|
35648
|
+
share.command("import <directory>").option("--dry-run", "Validate and preview without changing local state").option("--locked", "Require manifest and package hashes to match the lockfile").option("--input <name=value>", "Provide a recipient input", (value, previous = {}) => {
|
|
35649
|
+
const separator = value.indexOf("=");
|
|
35650
|
+
if (separator <= 0)
|
|
35651
|
+
throw new Error("Inputs must use name=value");
|
|
35652
|
+
return { ...previous, [value.slice(0, separator)]: value.slice(separator + 1) };
|
|
35653
|
+
}, {}).description("Import a portable environment folder").action(async (directory, options) => {
|
|
35654
|
+
try {
|
|
35655
|
+
const result = await importEnvironment(directory, { dryRun: options.dryRun, locked: options.locked, inputs: options.input });
|
|
35656
|
+
process.stdout.write(JSON.stringify(result, null, 2) + `
|
|
35657
|
+
`);
|
|
35658
|
+
if (!options.dryRun) {
|
|
35659
|
+
const summary = syncAllClients(loadConfig(), new SecretsManager);
|
|
35660
|
+
await mutateConfig((freshConfig) => persistSyncState(summary, freshConfig));
|
|
35661
|
+
}
|
|
35662
|
+
} catch (error2) {
|
|
35663
|
+
process.stderr.write(`Error: ${error2 instanceof Error ? error2.message : String(error2)}
|
|
35664
|
+
`);
|
|
35665
|
+
process.exitCode = 1;
|
|
35666
|
+
}
|
|
35667
|
+
});
|
|
35579
35668
|
}
|
|
35580
35669
|
function registerClientsCommands(program) {
|
|
35581
35670
|
const clients = program.command("clients").description("Client adapter utilities");
|
|
@@ -35703,11 +35792,11 @@ function registerProjectCommands(program, cliPath) {
|
|
|
35703
35792
|
name: projectName,
|
|
35704
35793
|
servers: {}
|
|
35705
35794
|
};
|
|
35706
|
-
const { saveProjectConfig } = await import("./chunk-
|
|
35795
|
+
const { saveProjectConfig } = await import("./chunk-6mxr34tc.js");
|
|
35707
35796
|
saveProjectConfig(localConfig, targetPath);
|
|
35708
35797
|
process.stdout.write(`Initialized project configuration at: ${targetPath}
|
|
35709
35798
|
`);
|
|
35710
|
-
const { registerProject: registerProject2 } = await import("./chunk-
|
|
35799
|
+
const { registerProject: registerProject2 } = await import("./chunk-y9a1rx7j.js");
|
|
35711
35800
|
await mutateConfig((globalConfig) => {
|
|
35712
35801
|
registerProject2(globalConfig, process.cwd(), projectName);
|
|
35713
35802
|
});
|
|
@@ -35745,7 +35834,7 @@ function registerProjectCommands(program, cliPath) {
|
|
|
35745
35834
|
return;
|
|
35746
35835
|
}
|
|
35747
35836
|
const entry = globalConfig.projects[resolvedPath];
|
|
35748
|
-
const { unregisterProject: unregisterProject2 } = await import("./chunk-
|
|
35837
|
+
const { unregisterProject: unregisterProject2 } = await import("./chunk-y9a1rx7j.js");
|
|
35749
35838
|
await mutateConfig((freshConfig) => {
|
|
35750
35839
|
unregisterProject2(freshConfig, resolvedPath);
|
|
35751
35840
|
});
|
|
@@ -35763,7 +35852,7 @@ function registerProjectCommands(program, cliPath) {
|
|
|
35763
35852
|
function registerPluginCommands(program, _cliPath) {
|
|
35764
35853
|
const plugin = program.command("plugin").description("Manage plugins");
|
|
35765
35854
|
plugin.command("inspect <source>").description("Inspect plugin manifest and components").action(async (source) => {
|
|
35766
|
-
const { inspectPlugin } = await import("./chunk-
|
|
35855
|
+
const { inspectPlugin } = await import("./chunk-am903qjk.js");
|
|
35767
35856
|
try {
|
|
35768
35857
|
const info = await inspectPlugin(source);
|
|
35769
35858
|
process.stdout.write(JSON.stringify(info, null, 2) + `
|
|
@@ -35781,7 +35870,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35781
35870
|
const marketplaceName = source.includes("@") ? source.slice(source.lastIndexOf("@") + 1) : "";
|
|
35782
35871
|
let p;
|
|
35783
35872
|
if (config.marketplaces?.[marketplaceName]) {
|
|
35784
|
-
const { inspectMarketplacePlugin, installMarketplacePlugin } = await import("./chunk-
|
|
35873
|
+
const { inspectMarketplacePlugin, installMarketplacePlugin } = await import("./chunk-d2v9rxy0.js");
|
|
35785
35874
|
const detail = await inspectMarketplacePlugin(source);
|
|
35786
35875
|
process.stdout.write(`${detail.displayName} (${source})
|
|
35787
35876
|
`);
|
|
@@ -35809,7 +35898,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35809
35898
|
}
|
|
35810
35899
|
p = await installMarketplacePlugin(source);
|
|
35811
35900
|
} else {
|
|
35812
|
-
const { installPlugin } = await import("./chunk-
|
|
35901
|
+
const { installPlugin } = await import("./chunk-am903qjk.js");
|
|
35813
35902
|
p = await installPlugin(source, { name: options.name, enabled: options.enable !== false });
|
|
35814
35903
|
}
|
|
35815
35904
|
process.stdout.write(`Plugin installed: ${p.id}
|
|
@@ -35827,14 +35916,14 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35827
35916
|
});
|
|
35828
35917
|
const marketplace = plugin.command("marketplace").description("Manage plugin marketplaces");
|
|
35829
35918
|
marketplace.command("list").description("List configured plugin marketplaces").action(async () => {
|
|
35830
|
-
const { listMarketplaces } = await import("./chunk-
|
|
35919
|
+
const { listMarketplaces } = await import("./chunk-d2v9rxy0.js");
|
|
35831
35920
|
process.stdout.write(JSON.stringify(await listMarketplaces(), null, 2) + `
|
|
35832
35921
|
`);
|
|
35833
35922
|
});
|
|
35834
35923
|
marketplace.command("add <source>").option("--manifest <path>", "Marketplace manifest path inside the source").description("Add a Claude or Codex plugin marketplace").action(async (source, options) => {
|
|
35835
35924
|
const startedAt = Date.now();
|
|
35836
35925
|
try {
|
|
35837
|
-
const { addMarketplace } = await import("./chunk-
|
|
35926
|
+
const { addMarketplace } = await import("./chunk-d2v9rxy0.js");
|
|
35838
35927
|
const added = await addMarketplace(source, options.manifest);
|
|
35839
35928
|
process.stdout.write(`Marketplace added: ${added.name}
|
|
35840
35929
|
`);
|
|
@@ -35852,7 +35941,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35852
35941
|
marketplace.command("update [name]").description("Refresh one marketplace, or every configured marketplace").action(async (name) => {
|
|
35853
35942
|
const startedAt = Date.now();
|
|
35854
35943
|
try {
|
|
35855
|
-
const { listMarketplaces, refreshMarketplaceWithPlugins } = await import("./chunk-
|
|
35944
|
+
const { listMarketplaces, refreshMarketplaceWithPlugins } = await import("./chunk-d2v9rxy0.js");
|
|
35856
35945
|
const names = name ? [name] : (await listMarketplaces()).map((entry) => entry.name);
|
|
35857
35946
|
for (const marketplaceName of names) {
|
|
35858
35947
|
const result = await refreshMarketplaceWithPlugins(marketplaceName);
|
|
@@ -35888,7 +35977,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35888
35977
|
rl.close();
|
|
35889
35978
|
}
|
|
35890
35979
|
}
|
|
35891
|
-
const { removeMarketplace } = await import("./chunk-
|
|
35980
|
+
const { removeMarketplace } = await import("./chunk-d2v9rxy0.js");
|
|
35892
35981
|
await removeMarketplace(name);
|
|
35893
35982
|
process.stdout.write(`Marketplace removed: ${name}
|
|
35894
35983
|
`);
|
|
@@ -35904,7 +35993,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35904
35993
|
}
|
|
35905
35994
|
});
|
|
35906
35995
|
plugin.command("discover [query]").option("--marketplace <name>", "Filter by marketplace").option("--category <category>", "Filter by category").description("Browse available marketplace plugins").action(async (query, options) => {
|
|
35907
|
-
const { listMarketplacePlugins } = await import("./chunk-
|
|
35996
|
+
const { listMarketplacePlugins } = await import("./chunk-d2v9rxy0.js");
|
|
35908
35997
|
let listings = await listMarketplacePlugins(query);
|
|
35909
35998
|
if (options.marketplace)
|
|
35910
35999
|
listings = listings.filter((entry) => entry.marketplace === options.marketplace);
|
|
@@ -35915,7 +36004,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35915
36004
|
});
|
|
35916
36005
|
plugin.command("details <plugin>").description("Inspect a plugin@marketplace listing").action(async (qualified) => {
|
|
35917
36006
|
try {
|
|
35918
|
-
const { inspectMarketplacePlugin } = await import("./chunk-
|
|
36007
|
+
const { inspectMarketplacePlugin } = await import("./chunk-d2v9rxy0.js");
|
|
35919
36008
|
process.stdout.write(JSON.stringify(await inspectMarketplacePlugin(qualified), null, 2) + `
|
|
35920
36009
|
`);
|
|
35921
36010
|
} catch (error2) {
|
|
@@ -35925,7 +36014,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35925
36014
|
}
|
|
35926
36015
|
});
|
|
35927
36016
|
plugin.command("approve <name> <component>").description("Approve a plugin component (hooks, mcpServers)").action(async (name, component) => {
|
|
35928
|
-
const { approvePluginComponent } = await import("./chunk-
|
|
36017
|
+
const { approvePluginComponent } = await import("./chunk-am903qjk.js");
|
|
35929
36018
|
try {
|
|
35930
36019
|
await approvePluginComponent(name, component);
|
|
35931
36020
|
process.stdout.write(`Approved ${component} for plugin ${name}
|
|
@@ -35936,8 +36025,32 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35936
36025
|
process.exit(1);
|
|
35937
36026
|
}
|
|
35938
36027
|
});
|
|
36028
|
+
plugin.command("pin <name>").description("Pin a plugin at its current revision").action(async (name) => {
|
|
36029
|
+
const { pinPlugin } = await import("./chunk-am903qjk.js");
|
|
36030
|
+
await pinPlugin(name);
|
|
36031
|
+
process.stdout.write(`Plugin pinned: ${name}
|
|
36032
|
+
`);
|
|
36033
|
+
});
|
|
36034
|
+
plugin.command("unpin <name>").description("Allow a pinned plugin to update").action(async (name) => {
|
|
36035
|
+
const { unpinPlugin } = await import("./chunk-am903qjk.js");
|
|
36036
|
+
await unpinPlugin(name);
|
|
36037
|
+
process.stdout.write(`Plugin unpinned: ${name}
|
|
36038
|
+
`);
|
|
36039
|
+
});
|
|
36040
|
+
plugin.command("rollback <name>").description("Restore the previous installed plugin revision").action(async (name) => {
|
|
36041
|
+
try {
|
|
36042
|
+
const { rollbackPlugin } = await import("./chunk-am903qjk.js");
|
|
36043
|
+
const plugin2 = await rollbackPlugin(name);
|
|
36044
|
+
process.stdout.write(`Plugin rolled back: ${plugin2.name}
|
|
36045
|
+
`);
|
|
36046
|
+
} catch (error2) {
|
|
36047
|
+
process.stderr.write(`Error: ${error2 instanceof Error ? error2.message : String(error2)}
|
|
36048
|
+
`);
|
|
36049
|
+
process.exitCode = 1;
|
|
36050
|
+
}
|
|
36051
|
+
});
|
|
35939
36052
|
plugin.command("prepare <name>").description("Install plugin dependencies").action(async (name) => {
|
|
35940
|
-
const { preparePlugin } = await import("./chunk-
|
|
36053
|
+
const { preparePlugin } = await import("./chunk-am903qjk.js");
|
|
35941
36054
|
try {
|
|
35942
36055
|
await preparePlugin(name);
|
|
35943
36056
|
process.stdout.write(`Plugin ${name} prepared
|
|
@@ -35950,7 +36063,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35950
36063
|
});
|
|
35951
36064
|
plugin.command("update <name>").description("Update plugin to latest version").action(async (name) => {
|
|
35952
36065
|
const startedAt = Date.now();
|
|
35953
|
-
const { updatePlugin } = await import("./chunk-
|
|
36066
|
+
const { updatePlugin } = await import("./chunk-am903qjk.js");
|
|
35954
36067
|
try {
|
|
35955
36068
|
const p = await updatePlugin(name);
|
|
35956
36069
|
process.stdout.write(`Plugin ${name} updated to ${p.version}
|
|
@@ -35968,7 +36081,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35968
36081
|
});
|
|
35969
36082
|
plugin.command("uninstall <name>").option("--keep-data", "Keep plugin data after uninstall").description("Uninstall plugin").action(async (name, options) => {
|
|
35970
36083
|
const startedAt = Date.now();
|
|
35971
|
-
const { uninstallPlugin } = await import("./chunk-
|
|
36084
|
+
const { uninstallPlugin } = await import("./chunk-am903qjk.js");
|
|
35972
36085
|
try {
|
|
35973
36086
|
await uninstallPlugin(name, options.keepData || false);
|
|
35974
36087
|
process.stdout.write(`Plugin ${name} uninstalled
|
|
@@ -35988,13 +36101,13 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
35988
36101
|
const startedAt = Date.now();
|
|
35989
36102
|
try {
|
|
35990
36103
|
if (options.project) {
|
|
35991
|
-
const { setPluginProjectOverride } = await import("./chunk-
|
|
36104
|
+
const { setPluginProjectOverride } = await import("./chunk-am903qjk.js");
|
|
35992
36105
|
const resolvedPath = path2.resolve(options.project);
|
|
35993
36106
|
await setPluginProjectOverride(name, resolvedPath, { enabled: true });
|
|
35994
36107
|
process.stdout.write(`Plugin ${name} enabled for project: ${resolvedPath}
|
|
35995
36108
|
`);
|
|
35996
36109
|
} else {
|
|
35997
|
-
const { enablePlugin } = await import("./chunk-
|
|
36110
|
+
const { enablePlugin } = await import("./chunk-am903qjk.js");
|
|
35998
36111
|
await enablePlugin(name);
|
|
35999
36112
|
process.stdout.write(`Plugin ${name} enabled
|
|
36000
36113
|
`);
|
|
@@ -36014,13 +36127,13 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
36014
36127
|
const startedAt = Date.now();
|
|
36015
36128
|
try {
|
|
36016
36129
|
if (options.project) {
|
|
36017
|
-
const { setPluginProjectOverride } = await import("./chunk-
|
|
36130
|
+
const { setPluginProjectOverride } = await import("./chunk-am903qjk.js");
|
|
36018
36131
|
const resolvedPath = path2.resolve(options.project);
|
|
36019
36132
|
await setPluginProjectOverride(name, resolvedPath, { enabled: false });
|
|
36020
36133
|
process.stdout.write(`Plugin ${name} disabled for project: ${resolvedPath}
|
|
36021
36134
|
`);
|
|
36022
36135
|
} else {
|
|
36023
|
-
const { disablePlugin } = await import("./chunk-
|
|
36136
|
+
const { disablePlugin } = await import("./chunk-am903qjk.js");
|
|
36024
36137
|
await disablePlugin(name);
|
|
36025
36138
|
process.stdout.write(`Plugin ${name} disabled
|
|
36026
36139
|
`);
|
|
@@ -36037,7 +36150,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
36037
36150
|
}
|
|
36038
36151
|
});
|
|
36039
36152
|
plugin.command("status [name]").description("Show plugin status").action(async (name) => {
|
|
36040
|
-
const { getPluginStatus, listPlugins } = await import("./chunk-
|
|
36153
|
+
const { getPluginStatus, listPlugins } = await import("./chunk-am903qjk.js");
|
|
36041
36154
|
try {
|
|
36042
36155
|
if (name) {
|
|
36043
36156
|
const p = await getPluginStatus(name);
|
|
@@ -36062,7 +36175,7 @@ function registerPluginCommands(program, _cliPath) {
|
|
|
36062
36175
|
}
|
|
36063
36176
|
function registerPluginHostCommand(program) {
|
|
36064
36177
|
program.command("plugin-host <plugin> <server>").description("Run a plugin MCP server under mcpx policy enforcement").action(async (plugin, server) => {
|
|
36065
|
-
const { runPluginHost } = await import("./chunk-
|
|
36178
|
+
const { runPluginHost } = await import("./chunk-h158rkts.js");
|
|
36066
36179
|
runPluginHost(plugin, server);
|
|
36067
36180
|
});
|
|
36068
36181
|
}
|
|
@@ -36267,7 +36380,7 @@ async function runCli(argv = process.argv) {
|
|
|
36267
36380
|
const isUpdateCommand = rawArgs[0] === "update";
|
|
36268
36381
|
const runtime = rawArgs[0] === "daemon" && rawArgs[1] === "run" ? "daemon" : "cli";
|
|
36269
36382
|
showCliTelemetryNotice(rawArgs);
|
|
36270
|
-
const release2 = "mcpx@0.1.
|
|
36383
|
+
const release2 = "mcpx@0.1.105";
|
|
36271
36384
|
const telemetryVersion = release2.startsWith("mcpx@") ? release2.slice("mcpx@".length) : APP_VERSION;
|
|
36272
36385
|
initializeTelemetry(runtime, {
|
|
36273
36386
|
release: release2,
|
|
@@ -36333,6 +36446,7 @@ async function runCli(argv = process.argv) {
|
|
|
36333
36446
|
registerAuthCommands(program);
|
|
36334
36447
|
registerClientsCommands(program);
|
|
36335
36448
|
registerSkillsCommands(program);
|
|
36449
|
+
registerShareCommands(program);
|
|
36336
36450
|
registerPluginHostCommand(program);
|
|
36337
36451
|
registerProxyCommand(program);
|
|
36338
36452
|
registerMcpCompat(program, cliPath);
|
|
@@ -36389,4 +36503,4 @@ export {
|
|
|
36389
36503
|
runCli
|
|
36390
36504
|
};
|
|
36391
36505
|
|
|
36392
|
-
//# debugId=
|
|
36506
|
+
//# debugId=E339096DA1CB727464756E2164756E21
|
package/dist/core/index.d.ts
CHANGED
|
@@ -13,7 +13,9 @@ export type { DaemonStatus, DaemonStartResult } from "./daemon.js";
|
|
|
13
13
|
export { syncAllClients, getGatewayUrl, getGatewayInternalUrl, persistSyncState } from "./sync.js";
|
|
14
14
|
export type { SyncSummary } from "./sync.js";
|
|
15
15
|
export { addServer, removeServer, updateServer, setServerEnabled, setProjectServerEnabled, registerProject, unregisterProject, ensureGatewayToken, rotateGatewayToken } from "./registry.js";
|
|
16
|
-
export { listSkills, getSkill, saveSkill, deleteSkill } from "./skills.js";
|
|
16
|
+
export { listSkills, getSkill, saveSkill, deleteSkill, customizeSkill, installSkillFromSource, validateSkillPackage, pinSkill, unpinSkill, updateSkill, rollbackSkill } from "./skills.js";
|
|
17
|
+
export { exportEnvironment, importEnvironment } from "./share.js";
|
|
18
|
+
export type { ShareEnvironment, ShareLock } from "./share.js";
|
|
17
19
|
export { SecretsManager } from "./secrets.js";
|
|
18
20
|
export { applyAuthReference, removeAuthReference, listAuthBindings, resolveAuthTarget, defaultAuthSecretName, maybePrefixBearer, secretRefName, toSecretRef } from "./server-auth.js";
|
|
19
21
|
export { buildStatusReport, STATUS_CLIENTS } from "./status.js";
|
|
@@ -30,8 +32,8 @@ export { parseSource } from "./plugin-source.js";
|
|
|
30
32
|
export { readManifest, discoverComponents, hasManifest } from "./plugin-parse.js";
|
|
31
33
|
export { addMarketplace, removeMarketplace, refreshMarketplace, refreshMarketplaceWithPlugins, setMarketplaceAutoUpdate, listMarketplaces, listMarketplacePlugins, inspectMarketplacePlugin, installMarketplacePlugin, updateMarketplaceInstalledPlugin, } from "./marketplace.js";
|
|
32
34
|
export { startMarketplaceAutoUpdater, runMarketplaceAutoUpdate } from "./marketplace-updater.js";
|
|
33
|
-
export { inspectPlugin, installPlugin, preparePlugin, updatePlugin, uninstallPlugin, enablePlugin, disablePlugin, setPluginProjectOverride, resetPluginProjectOverride, approvePluginComponent, getPluginStatus, listPlugins, pluginConfigSet, pluginSync, resolvePluginId } from "./plugin-manager.js";
|
|
34
|
-
export { getConfigPath, getManagedIndexPath, getTelemetryPath } from "./paths.js";
|
|
35
|
+
export { inspectPlugin, installPlugin, preparePlugin, updatePlugin, pinPlugin, unpinPlugin, rollbackPlugin, uninstallPlugin, enablePlugin, disablePlugin, setPluginProjectOverride, resetPluginProjectOverride, approvePluginComponent, getPluginStatus, listPlugins, pluginConfigSet, pluginSync, resolvePluginId } from "./plugin-manager.js";
|
|
36
|
+
export { getConfigPath, getManagedIndexPath, getTelemetryPath, getSkillsDir, getSkillPackagesRoot } from "./paths.js";
|
|
35
37
|
export { checkForUpdates, getStagedUpdate, getStagedCliPath, clearStagedUpdate, compareVersions, shouldUseStagedCli } from "./update.js";
|
|
36
38
|
export type { UpdateStatus, StagedUpdateInfo } from "./update.js";
|
|
37
39
|
export { startBackgroundUpdateCheck, performUpdate, performRollback } from "./update-manager.js";
|
package/dist/core/index.js
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
defaultAuthSecretName,
|
|
20
20
|
defaultTelemetryPreferences,
|
|
21
21
|
durationBucket,
|
|
22
|
+
exportEnvironment,
|
|
22
23
|
extractRequiredInputs,
|
|
23
24
|
fetchRegistryServerDetail,
|
|
24
25
|
flushTelemetry,
|
|
@@ -28,6 +29,7 @@ import {
|
|
|
28
29
|
getStagedCliPath,
|
|
29
30
|
getStagedUpdate,
|
|
30
31
|
getTelemetryStatus,
|
|
32
|
+
importEnvironment,
|
|
31
33
|
initializeTelemetry,
|
|
32
34
|
isOAuthReference,
|
|
33
35
|
isTelemetryEnvironmentDisabled,
|
|
@@ -64,7 +66,7 @@ import {
|
|
|
64
66
|
toSecretRef,
|
|
65
67
|
updateTelemetryPreferences,
|
|
66
68
|
uptimeBucket
|
|
67
|
-
} from "../chunk-
|
|
69
|
+
} from "../chunk-t4hqf6yh.js";
|
|
68
70
|
import {
|
|
69
71
|
addMarketplace,
|
|
70
72
|
inspectMarketplacePlugin,
|
|
@@ -76,13 +78,14 @@ import {
|
|
|
76
78
|
removeMarketplace,
|
|
77
79
|
setMarketplaceAutoUpdate,
|
|
78
80
|
updateMarketplaceInstalledPlugin
|
|
79
|
-
} from "../chunk-
|
|
81
|
+
} from "../chunk-btbww96n.js";
|
|
80
82
|
import {
|
|
81
83
|
PluginCache,
|
|
82
84
|
PluginDataManager,
|
|
83
85
|
PluginLifecycle,
|
|
84
86
|
PluginManager,
|
|
85
87
|
approvePluginComponent,
|
|
88
|
+
customizeSkill,
|
|
86
89
|
deleteSkill,
|
|
87
90
|
disablePlugin,
|
|
88
91
|
discoverComponents,
|
|
@@ -94,6 +97,7 @@ import {
|
|
|
94
97
|
hasManifest,
|
|
95
98
|
inspectPlugin,
|
|
96
99
|
installPlugin,
|
|
100
|
+
installSkillFromSource,
|
|
97
101
|
listPlugins,
|
|
98
102
|
listSkills,
|
|
99
103
|
loadManagedIndex,
|
|
@@ -102,6 +106,8 @@ import {
|
|
|
102
106
|
mutateProjectConfig,
|
|
103
107
|
parseSource,
|
|
104
108
|
persistSyncState,
|
|
109
|
+
pinPlugin,
|
|
110
|
+
pinSkill,
|
|
105
111
|
pluginConfigSet,
|
|
106
112
|
pluginSync,
|
|
107
113
|
preparePlugin,
|
|
@@ -110,13 +116,19 @@ import {
|
|
|
110
116
|
readManifest,
|
|
111
117
|
resetPluginProjectOverride,
|
|
112
118
|
resolvePluginId,
|
|
119
|
+
rollbackPlugin,
|
|
120
|
+
rollbackSkill,
|
|
113
121
|
saveSkill,
|
|
114
122
|
setPluginProjectOverride,
|
|
115
123
|
syncAllClients,
|
|
116
124
|
syncPluginsToClient,
|
|
117
125
|
uninstallPlugin,
|
|
118
|
-
|
|
119
|
-
|
|
126
|
+
unpinPlugin,
|
|
127
|
+
unpinSkill,
|
|
128
|
+
updatePlugin,
|
|
129
|
+
updateSkill,
|
|
130
|
+
validateSkillPackage
|
|
131
|
+
} from "../chunk-56whm3hm.js";
|
|
120
132
|
import {
|
|
121
133
|
ConfigLoadError,
|
|
122
134
|
defaultConfig,
|
|
@@ -128,7 +140,7 @@ import {
|
|
|
128
140
|
saveConfig,
|
|
129
141
|
saveProjectConfig,
|
|
130
142
|
tokenizeCommandLine
|
|
131
|
-
} from "../chunk-
|
|
143
|
+
} from "../chunk-01s7rhx3.js";
|
|
132
144
|
import {
|
|
133
145
|
SecretNotFoundError,
|
|
134
146
|
SecretsManager,
|
|
@@ -143,12 +155,14 @@ import {
|
|
|
143
155
|
setServerEnabled,
|
|
144
156
|
unregisterProject,
|
|
145
157
|
updateServer
|
|
146
|
-
} from "../chunk-
|
|
158
|
+
} from "../chunk-fw8dyt89.js";
|
|
147
159
|
import {
|
|
148
160
|
getConfigPath,
|
|
149
161
|
getManagedIndexPath,
|
|
162
|
+
getSkillPackagesRoot,
|
|
163
|
+
getSkillsDir,
|
|
150
164
|
getTelemetryPath
|
|
151
|
-
} from "../chunk-
|
|
165
|
+
} from "../chunk-4y0t0tfj.js";
|
|
152
166
|
import"../chunk-bjw71y54.js";
|
|
153
167
|
import"../chunk-wj4tjacg.js";
|
|
154
168
|
export {
|
|
@@ -181,6 +195,7 @@ export {
|
|
|
181
195
|
clearStagedUpdate,
|
|
182
196
|
compareVersions,
|
|
183
197
|
countBucket,
|
|
198
|
+
customizeSkill,
|
|
184
199
|
defaultAuthSecretName,
|
|
185
200
|
defaultConfig,
|
|
186
201
|
defaultTelemetryPreferences,
|
|
@@ -190,6 +205,7 @@ export {
|
|
|
190
205
|
durationBucket,
|
|
191
206
|
enablePlugin,
|
|
192
207
|
ensureGatewayToken,
|
|
208
|
+
exportEnvironment,
|
|
193
209
|
extractRequiredInputs,
|
|
194
210
|
fetchRegistryServerDetail,
|
|
195
211
|
flushTelemetry,
|
|
@@ -202,16 +218,20 @@ export {
|
|
|
202
218
|
getOAuthCredentialStatus,
|
|
203
219
|
getPluginStatus,
|
|
204
220
|
getSkill,
|
|
221
|
+
getSkillPackagesRoot,
|
|
222
|
+
getSkillsDir,
|
|
205
223
|
getStagedCliPath,
|
|
206
224
|
getStagedUpdate,
|
|
207
225
|
getTelemetryPath,
|
|
208
226
|
getTelemetryStatus,
|
|
209
227
|
hasManifest,
|
|
228
|
+
importEnvironment,
|
|
210
229
|
initializeTelemetry,
|
|
211
230
|
inspectMarketplacePlugin,
|
|
212
231
|
inspectPlugin,
|
|
213
232
|
installMarketplacePlugin,
|
|
214
233
|
installPlugin,
|
|
234
|
+
installSkillFromSource,
|
|
215
235
|
isOAuthReference,
|
|
216
236
|
isTelemetryEnvironmentDisabled,
|
|
217
237
|
listAuthBindings,
|
|
@@ -238,6 +258,8 @@ export {
|
|
|
238
258
|
performRollback,
|
|
239
259
|
performUpdate,
|
|
240
260
|
persistSyncState,
|
|
261
|
+
pinPlugin,
|
|
262
|
+
pinSkill,
|
|
241
263
|
platformFamily,
|
|
242
264
|
pluginConfigSet,
|
|
243
265
|
pluginSync,
|
|
@@ -260,6 +282,8 @@ export {
|
|
|
260
282
|
resolveAuthTarget,
|
|
261
283
|
resolvePluginId,
|
|
262
284
|
restartDaemon,
|
|
285
|
+
rollbackPlugin,
|
|
286
|
+
rollbackSkill,
|
|
263
287
|
rotateGatewayToken,
|
|
264
288
|
runDaemonForeground,
|
|
265
289
|
runMarketplaceAutoUpdate,
|
|
@@ -285,12 +309,16 @@ export {
|
|
|
285
309
|
toSecretRef,
|
|
286
310
|
tokenizeCommandLine,
|
|
287
311
|
uninstallPlugin,
|
|
312
|
+
unpinPlugin,
|
|
313
|
+
unpinSkill,
|
|
288
314
|
unregisterProject,
|
|
289
315
|
updateMarketplaceInstalledPlugin,
|
|
290
316
|
updatePlugin,
|
|
291
317
|
updateServer,
|
|
318
|
+
updateSkill,
|
|
292
319
|
updateTelemetryPreferences,
|
|
293
|
-
uptimeBucket
|
|
320
|
+
uptimeBucket,
|
|
321
|
+
validateSkillPackage
|
|
294
322
|
};
|
|
295
323
|
|
|
296
|
-
//# debugId=
|
|
324
|
+
//# debugId=AD72B7B7E74EB1E964756E2164756E21
|
package/dist/core/paths.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare function getStateRoot(): string;
|
|
|
5
5
|
export declare function getConfigPath(): string;
|
|
6
6
|
export declare function getTelemetryPath(): string;
|
|
7
7
|
export declare function getSkillsDir(): string;
|
|
8
|
+
export declare function getSkillPackagesRoot(): string;
|
|
9
|
+
export declare function getSkillStatePath(): string;
|
|
8
10
|
export declare function getManagedIndexPath(): string;
|
|
9
11
|
export declare function getSecretsStorePath(): string;
|
|
10
12
|
export declare function getSecretsKeyPath(): string;
|
|
@@ -31,7 +31,7 @@ export declare class PluginManager {
|
|
|
31
31
|
installResolvedPlugin(source: PluginSource, options?: InstallPluginOptions, sourceLabel?: string): Promise<ManagedPlugin>;
|
|
32
32
|
updatePlugin(pluginId: string): Promise<ManagedPlugin>;
|
|
33
33
|
updateResolvedPlugin(pluginId: string, source: PluginSource, sourceFingerprint: string, sync?: boolean): Promise<ManagedPlugin>;
|
|
34
|
-
|
|
34
|
+
applyPluginUpdate(pluginId: string, info: Awaited<ReturnType<PluginManager["inspectSource"]>>, sourceFingerprint?: string, sync?: boolean): Promise<ManagedPlugin>;
|
|
35
35
|
uninstallPlugin(pluginId: string, keepData?: boolean): Promise<void>;
|
|
36
36
|
enablePlugin(pluginId: string): Promise<void>;
|
|
37
37
|
disablePlugin(pluginId: string): Promise<void>;
|
|
@@ -54,6 +54,9 @@ export declare function installPlugin(source: string, options?: {
|
|
|
54
54
|
approvals?: Partial<Record<PluginComponent, boolean>>;
|
|
55
55
|
}): Promise<ManagedPlugin>;
|
|
56
56
|
export declare function updatePlugin(nameOrId: string): Promise<ManagedPlugin>;
|
|
57
|
+
export declare function pinPlugin(nameOrId: string): Promise<void>;
|
|
58
|
+
export declare function unpinPlugin(nameOrId: string): Promise<void>;
|
|
59
|
+
export declare function rollbackPlugin(nameOrId: string): Promise<ManagedPlugin>;
|
|
57
60
|
export declare function uninstallPlugin(nameOrId: string, keepData?: boolean): Promise<void>;
|
|
58
61
|
export declare function enablePlugin(nameOrId: string): Promise<void>;
|
|
59
62
|
export declare function disablePlugin(nameOrId: string): Promise<void>;
|