@orchid-labs/pluxx 0.1.12 → 0.1.13
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/cli/index.js +64 -0
- package/dist/cli/publish.d.ts.map +1 -1
- package/dist/index.js +64 -0
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -21515,6 +21515,66 @@ NODE
|
|
|
21515
21515
|
function hasInstallerUserConfig(config, platform) {
|
|
21516
21516
|
return collectUserConfigEntries(config, [platform]).length > 0;
|
|
21517
21517
|
}
|
|
21518
|
+
function renderInstallerMcpPathMaterializationSnippet(platform, installDirVariable) {
|
|
21519
|
+
if (platform !== "codex") return "";
|
|
21520
|
+
return `
|
|
21521
|
+
export PLUXX_INSTALL_DIR="${installDirVariable}"
|
|
21522
|
+
|
|
21523
|
+
node <<'NODE'
|
|
21524
|
+
const fs = require('fs')
|
|
21525
|
+
const path = require('path')
|
|
21526
|
+
|
|
21527
|
+
const installDir = process.env.PLUXX_INSTALL_DIR
|
|
21528
|
+
|
|
21529
|
+
if (installDir) {
|
|
21530
|
+
const materializeInstalledStdioPath = (value) => {
|
|
21531
|
+
if (typeof value !== 'string') return value
|
|
21532
|
+
|
|
21533
|
+
const normalized = value.replace(/\\\\/g, '/')
|
|
21534
|
+
const rootRef = normalized.match(/^\\$\\{(?:CLAUDE_PLUGIN_ROOT|CURSOR_PLUGIN_ROOT|PLUGIN_ROOT)\\}[\\\\/](.+)$/)
|
|
21535
|
+
|
|
21536
|
+
if (rootRef) {
|
|
21537
|
+
return path.resolve(installDir, rootRef[1])
|
|
21538
|
+
}
|
|
21539
|
+
|
|
21540
|
+
if (normalized.startsWith('./') || normalized.startsWith('../')) {
|
|
21541
|
+
return path.resolve(installDir, normalized)
|
|
21542
|
+
}
|
|
21543
|
+
|
|
21544
|
+
return value
|
|
21545
|
+
}
|
|
21546
|
+
|
|
21547
|
+
for (const relativePath of ['.mcp.json', 'mcp.json']) {
|
|
21548
|
+
const filepath = path.join(installDir, relativePath)
|
|
21549
|
+
if (!fs.existsSync(filepath)) continue
|
|
21550
|
+
|
|
21551
|
+
const payload = JSON.parse(fs.readFileSync(filepath, 'utf8'))
|
|
21552
|
+
let changed = false
|
|
21553
|
+
|
|
21554
|
+
for (const server of Object.values(payload.mcpServers || {})) {
|
|
21555
|
+
if (!server || typeof server !== 'object') continue
|
|
21556
|
+
|
|
21557
|
+
if (typeof server.command === 'string') {
|
|
21558
|
+
const nextCommand = materializeInstalledStdioPath(server.command)
|
|
21559
|
+
changed ||= nextCommand !== server.command
|
|
21560
|
+
server.command = nextCommand
|
|
21561
|
+
}
|
|
21562
|
+
|
|
21563
|
+
if (Array.isArray(server.args)) {
|
|
21564
|
+
const nextArgs = server.args.map(materializeInstalledStdioPath)
|
|
21565
|
+
changed ||= nextArgs.some((value, index) => value !== server.args[index])
|
|
21566
|
+
server.args = nextArgs
|
|
21567
|
+
}
|
|
21568
|
+
}
|
|
21569
|
+
|
|
21570
|
+
if (changed) {
|
|
21571
|
+
fs.writeFileSync(filepath, JSON.stringify(payload, null, 2) + '\\n')
|
|
21572
|
+
}
|
|
21573
|
+
}
|
|
21574
|
+
}
|
|
21575
|
+
NODE
|
|
21576
|
+
`;
|
|
21577
|
+
}
|
|
21518
21578
|
function renderInstallerRuntimeBootstrapSnippet(installDirVariable) {
|
|
21519
21579
|
return `
|
|
21520
21580
|
if [[ -f "${installDirVariable}/scripts/bootstrap-runtime.sh" ]]; then
|
|
@@ -21587,6 +21647,7 @@ mkdir -p "$INSTALL_ROOT/.claude-plugin" "$INSTALL_ROOT/plugins"
|
|
|
21587
21647
|
rm -rf "$INSTALL_ROOT/plugins/$PLUGIN_NAME"
|
|
21588
21648
|
cp -R "$BUNDLE_DIR" "$INSTALL_ROOT/plugins/$PLUGIN_NAME"
|
|
21589
21649
|
${renderInstallerUserConfigSnippet(config, "claude-code", "$INSTALL_ROOT/plugins/$PLUGIN_NAME")}
|
|
21650
|
+
${renderInstallerMcpPathMaterializationSnippet("claude-code", "$INSTALL_ROOT/plugins/$PLUGIN_NAME")}
|
|
21590
21651
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_ROOT/plugins/$PLUGIN_NAME")}
|
|
21591
21652
|
|
|
21592
21653
|
cat > "$INSTALL_ROOT/.claude-plugin/marketplace.json" <<JSON
|
|
@@ -21681,6 +21742,7 @@ mkdir -p "$(dirname "$INSTALL_DIR")"
|
|
|
21681
21742
|
rm -rf "$INSTALL_DIR"
|
|
21682
21743
|
cp -R "$BUNDLE_DIR" "$INSTALL_DIR"
|
|
21683
21744
|
${renderInstallerUserConfigSnippet(config, "cursor", "$INSTALL_DIR")}
|
|
21745
|
+
${renderInstallerMcpPathMaterializationSnippet("cursor", "$INSTALL_DIR")}
|
|
21684
21746
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_DIR")}
|
|
21685
21747
|
|
|
21686
21748
|
echo "Installed $PLUGIN_NAME to $INSTALL_DIR"
|
|
@@ -21740,6 +21802,7 @@ mkdir -p "$(dirname "$INSTALL_DIR")"
|
|
|
21740
21802
|
rm -rf "$INSTALL_DIR"
|
|
21741
21803
|
cp -R "$BUNDLE_DIR" "$INSTALL_DIR"
|
|
21742
21804
|
${renderInstallerUserConfigSnippet(config, "codex", "$INSTALL_DIR")}
|
|
21805
|
+
${renderInstallerMcpPathMaterializationSnippet("codex", "$INSTALL_DIR")}
|
|
21743
21806
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_DIR")}
|
|
21744
21807
|
|
|
21745
21808
|
mkdir -p "$(dirname "$MARKETPLACE_PATH")"
|
|
@@ -21856,6 +21919,7 @@ mkdir -p "$(dirname "$INSTALL_DIR")" "$SKILLS_ROOT"
|
|
|
21856
21919
|
rm -rf "$INSTALL_DIR"
|
|
21857
21920
|
cp -R "$BUNDLE_DIR" "$INSTALL_DIR"
|
|
21858
21921
|
${renderInstallerUserConfigSnippet(config, "opencode", "$INSTALL_DIR")}
|
|
21922
|
+
${renderInstallerMcpPathMaterializationSnippet("opencode", "$INSTALL_DIR")}
|
|
21859
21923
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_DIR")}
|
|
21860
21924
|
|
|
21861
21925
|
export ENTRY_PATH
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/cli/publish.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAG7D,KAAK,cAAc,GAAG,KAAK,GAAG,gBAAgB,CAAA;AAC9C,KAAK,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAA;AACzE,KAAK,qBAAqB,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEnD,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,aAAa,GAAG,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,KACvB,aAAa,CAAA;AAElB,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAA;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,aAAa,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,gBAAgB,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,OAAO,CAAC,EAAE,qBAAqB,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,CAAA;IAClB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE;QACR,GAAG,EAAE;YACH,OAAO,EAAE,OAAO,CAAA;YAChB,QAAQ,EAAE,OAAO,CAAA;YACjB,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,UAAU,CAAC,EAAE,MAAM,CAAA;YACnB,YAAY,EAAE,OAAO,CAAA;SACtB,CAAA;QACD,aAAa,EAAE;YACb,OAAO,EAAE,OAAO,CAAA;YAChB,QAAQ,EAAE,OAAO,CAAA;YACjB,IAAI,CAAC,EAAE,MAAM,CAAA;YACb,UAAU,CAAC,EAAE,MAAM,CAAA;YACnB,kBAAkB,EAAE,OAAO,CAAA;YAC3B,MAAM,EAAE,gBAAgB,EAAE,CAAA;SAC3B,CAAA;KACF,CAAA;IACD,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,EAAE,EAAE,OAAO,CAAA;IACX,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QACtC,aAAa,CAAC,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACjD,CAAA;CACF;AAwPD,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,kBAAuB,GAAG,WAAW,CAmD/F;
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/cli/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9550,6 +9550,66 @@ NODE
|
|
|
9550
9550
|
function hasInstallerUserConfig(config, platform) {
|
|
9551
9551
|
return collectUserConfigEntries(config, [platform]).length > 0;
|
|
9552
9552
|
}
|
|
9553
|
+
function renderInstallerMcpPathMaterializationSnippet(platform, installDirVariable) {
|
|
9554
|
+
if (platform !== "codex") return "";
|
|
9555
|
+
return `
|
|
9556
|
+
export PLUXX_INSTALL_DIR="${installDirVariable}"
|
|
9557
|
+
|
|
9558
|
+
node <<'NODE'
|
|
9559
|
+
const fs = require('fs')
|
|
9560
|
+
const path = require('path')
|
|
9561
|
+
|
|
9562
|
+
const installDir = process.env.PLUXX_INSTALL_DIR
|
|
9563
|
+
|
|
9564
|
+
if (installDir) {
|
|
9565
|
+
const materializeInstalledStdioPath = (value) => {
|
|
9566
|
+
if (typeof value !== 'string') return value
|
|
9567
|
+
|
|
9568
|
+
const normalized = value.replace(/\\\\/g, '/')
|
|
9569
|
+
const rootRef = normalized.match(/^\\$\\{(?:CLAUDE_PLUGIN_ROOT|CURSOR_PLUGIN_ROOT|PLUGIN_ROOT)\\}[\\\\/](.+)$/)
|
|
9570
|
+
|
|
9571
|
+
if (rootRef) {
|
|
9572
|
+
return path.resolve(installDir, rootRef[1])
|
|
9573
|
+
}
|
|
9574
|
+
|
|
9575
|
+
if (normalized.startsWith('./') || normalized.startsWith('../')) {
|
|
9576
|
+
return path.resolve(installDir, normalized)
|
|
9577
|
+
}
|
|
9578
|
+
|
|
9579
|
+
return value
|
|
9580
|
+
}
|
|
9581
|
+
|
|
9582
|
+
for (const relativePath of ['.mcp.json', 'mcp.json']) {
|
|
9583
|
+
const filepath = path.join(installDir, relativePath)
|
|
9584
|
+
if (!fs.existsSync(filepath)) continue
|
|
9585
|
+
|
|
9586
|
+
const payload = JSON.parse(fs.readFileSync(filepath, 'utf8'))
|
|
9587
|
+
let changed = false
|
|
9588
|
+
|
|
9589
|
+
for (const server of Object.values(payload.mcpServers || {})) {
|
|
9590
|
+
if (!server || typeof server !== 'object') continue
|
|
9591
|
+
|
|
9592
|
+
if (typeof server.command === 'string') {
|
|
9593
|
+
const nextCommand = materializeInstalledStdioPath(server.command)
|
|
9594
|
+
changed ||= nextCommand !== server.command
|
|
9595
|
+
server.command = nextCommand
|
|
9596
|
+
}
|
|
9597
|
+
|
|
9598
|
+
if (Array.isArray(server.args)) {
|
|
9599
|
+
const nextArgs = server.args.map(materializeInstalledStdioPath)
|
|
9600
|
+
changed ||= nextArgs.some((value, index) => value !== server.args[index])
|
|
9601
|
+
server.args = nextArgs
|
|
9602
|
+
}
|
|
9603
|
+
}
|
|
9604
|
+
|
|
9605
|
+
if (changed) {
|
|
9606
|
+
fs.writeFileSync(filepath, JSON.stringify(payload, null, 2) + '\\n')
|
|
9607
|
+
}
|
|
9608
|
+
}
|
|
9609
|
+
}
|
|
9610
|
+
NODE
|
|
9611
|
+
`;
|
|
9612
|
+
}
|
|
9553
9613
|
function renderInstallerRuntimeBootstrapSnippet(installDirVariable) {
|
|
9554
9614
|
return `
|
|
9555
9615
|
if [[ -f "${installDirVariable}/scripts/bootstrap-runtime.sh" ]]; then
|
|
@@ -9622,6 +9682,7 @@ mkdir -p "$INSTALL_ROOT/.claude-plugin" "$INSTALL_ROOT/plugins"
|
|
|
9622
9682
|
rm -rf "$INSTALL_ROOT/plugins/$PLUGIN_NAME"
|
|
9623
9683
|
cp -R "$BUNDLE_DIR" "$INSTALL_ROOT/plugins/$PLUGIN_NAME"
|
|
9624
9684
|
${renderInstallerUserConfigSnippet(config, "claude-code", "$INSTALL_ROOT/plugins/$PLUGIN_NAME")}
|
|
9685
|
+
${renderInstallerMcpPathMaterializationSnippet("claude-code", "$INSTALL_ROOT/plugins/$PLUGIN_NAME")}
|
|
9625
9686
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_ROOT/plugins/$PLUGIN_NAME")}
|
|
9626
9687
|
|
|
9627
9688
|
cat > "$INSTALL_ROOT/.claude-plugin/marketplace.json" <<JSON
|
|
@@ -9716,6 +9777,7 @@ mkdir -p "$(dirname "$INSTALL_DIR")"
|
|
|
9716
9777
|
rm -rf "$INSTALL_DIR"
|
|
9717
9778
|
cp -R "$BUNDLE_DIR" "$INSTALL_DIR"
|
|
9718
9779
|
${renderInstallerUserConfigSnippet(config, "cursor", "$INSTALL_DIR")}
|
|
9780
|
+
${renderInstallerMcpPathMaterializationSnippet("cursor", "$INSTALL_DIR")}
|
|
9719
9781
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_DIR")}
|
|
9720
9782
|
|
|
9721
9783
|
echo "Installed $PLUGIN_NAME to $INSTALL_DIR"
|
|
@@ -9775,6 +9837,7 @@ mkdir -p "$(dirname "$INSTALL_DIR")"
|
|
|
9775
9837
|
rm -rf "$INSTALL_DIR"
|
|
9776
9838
|
cp -R "$BUNDLE_DIR" "$INSTALL_DIR"
|
|
9777
9839
|
${renderInstallerUserConfigSnippet(config, "codex", "$INSTALL_DIR")}
|
|
9840
|
+
${renderInstallerMcpPathMaterializationSnippet("codex", "$INSTALL_DIR")}
|
|
9778
9841
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_DIR")}
|
|
9779
9842
|
|
|
9780
9843
|
mkdir -p "$(dirname "$MARKETPLACE_PATH")"
|
|
@@ -9891,6 +9954,7 @@ mkdir -p "$(dirname "$INSTALL_DIR")" "$SKILLS_ROOT"
|
|
|
9891
9954
|
rm -rf "$INSTALL_DIR"
|
|
9892
9955
|
cp -R "$BUNDLE_DIR" "$INSTALL_DIR"
|
|
9893
9956
|
${renderInstallerUserConfigSnippet(config, "opencode", "$INSTALL_DIR")}
|
|
9957
|
+
${renderInstallerMcpPathMaterializationSnippet("opencode", "$INSTALL_DIR")}
|
|
9894
9958
|
${renderInstallerRuntimeBootstrapSnippet("$INSTALL_DIR")}
|
|
9895
9959
|
|
|
9896
9960
|
export ENTRY_PATH
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orchid-labs/pluxx",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"description": "Build AI agent plugins once. Prime-time on Claude Code, Cursor, Codex, and OpenCode, with beta generators for additional hosts.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|