@knowsuchagency/fulcrum 4.2.0 → 4.2.1
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/bin/fulcrum.js +17 -30
- package/package.json +1 -1
- package/server/index.js +1 -1
package/bin/fulcrum.js
CHANGED
|
@@ -46712,7 +46712,7 @@ async function runMcpServer(urlOverride, portOverride) {
|
|
|
46712
46712
|
const client = new FulcrumClient(urlOverride, portOverride);
|
|
46713
46713
|
const server = new McpServer({
|
|
46714
46714
|
name: "fulcrum",
|
|
46715
|
-
version: "4.2.
|
|
46715
|
+
version: "4.2.1"
|
|
46716
46716
|
});
|
|
46717
46717
|
registerTools(server, client);
|
|
46718
46718
|
const transport = new StdioServerTransport;
|
|
@@ -49061,7 +49061,7 @@ var marketplace_default = `{
|
|
|
49061
49061
|
"name": "fulcrum",
|
|
49062
49062
|
"source": "./",
|
|
49063
49063
|
"description": "Task orchestration for Claude Code",
|
|
49064
|
-
"version": "4.2.
|
|
49064
|
+
"version": "4.2.1",
|
|
49065
49065
|
"skills": [
|
|
49066
49066
|
"./skills/fulcrum"
|
|
49067
49067
|
],
|
|
@@ -49558,8 +49558,6 @@ var PLUGIN_FILES = [
|
|
|
49558
49558
|
{ path: "commands/notify.md", content: notify_default },
|
|
49559
49559
|
{ path: "skills/fulcrum/SKILL.md", content: SKILL_default }
|
|
49560
49560
|
];
|
|
49561
|
-
var LEGACY_PLUGIN_DIR = join3(homedir3(), ".claude", "plugins", "fulcrum");
|
|
49562
|
-
var LEGACY_CACHE_DIR = join3(homedir3(), ".claude", "plugins", "cache", "fulcrum");
|
|
49563
49561
|
function runClaude(args) {
|
|
49564
49562
|
const result = spawnSync("claude", args, { encoding: "utf-8" });
|
|
49565
49563
|
return {
|
|
@@ -49631,7 +49629,6 @@ async function installClaudePlugin(options = {}) {
|
|
|
49631
49629
|
throw new Error("Failed to install plugin: " + installResult.output);
|
|
49632
49630
|
}
|
|
49633
49631
|
log("\u2713 Installed plugin");
|
|
49634
|
-
cleanupLegacyPaths(log);
|
|
49635
49632
|
log("");
|
|
49636
49633
|
log("Installation complete! Restart Claude Code to apply changes.");
|
|
49637
49634
|
} catch (err) {
|
|
@@ -49648,22 +49645,12 @@ async function uninstallClaudePlugin() {
|
|
|
49648
49645
|
rmSync(MARKETPLACE_DIR, { recursive: true });
|
|
49649
49646
|
console.log("\u2713 Removed plugin files from " + MARKETPLACE_DIR);
|
|
49650
49647
|
}
|
|
49651
|
-
cleanupLegacyPaths(console.log);
|
|
49652
49648
|
console.log("");
|
|
49653
49649
|
console.log("Uninstall complete! Restart Claude Code to apply changes.");
|
|
49654
49650
|
} catch (err) {
|
|
49655
49651
|
throw new CliError("UNINSTALL_FAILED", `Failed to uninstall Claude plugin: ${err instanceof Error ? err.message : String(err)}`, ExitCodes.ERROR);
|
|
49656
49652
|
}
|
|
49657
49653
|
}
|
|
49658
|
-
function cleanupLegacyPaths(log) {
|
|
49659
|
-
const legacyPaths = [LEGACY_PLUGIN_DIR, LEGACY_CACHE_DIR];
|
|
49660
|
-
for (const path of legacyPaths) {
|
|
49661
|
-
if (existsSync3(path)) {
|
|
49662
|
-
rmSync(path, { recursive: true });
|
|
49663
|
-
log("\u2713 Removed legacy files from " + path);
|
|
49664
|
-
}
|
|
49665
|
-
}
|
|
49666
|
-
}
|
|
49667
49654
|
var claudeInstallCommand = defineCommand({
|
|
49668
49655
|
meta: { name: "install", description: "Install Claude Code plugin" },
|
|
49669
49656
|
args: globalArgs,
|
|
@@ -50374,7 +50361,7 @@ function compareVersions(v1, v2) {
|
|
|
50374
50361
|
var package_default = {
|
|
50375
50362
|
name: "@knowsuchagency/fulcrum",
|
|
50376
50363
|
private: true,
|
|
50377
|
-
version: "4.2.
|
|
50364
|
+
version: "4.2.1",
|
|
50378
50365
|
description: "Harness Attention. Orchestrate Agents. Ship.",
|
|
50379
50366
|
license: "PolyForm-Perimeter-1.0.0",
|
|
50380
50367
|
type: "module",
|
|
@@ -50945,19 +50932,18 @@ async function handleStatusCommand(flags) {
|
|
|
50945
50932
|
let healthOk = false;
|
|
50946
50933
|
let version = null;
|
|
50947
50934
|
let uptime = null;
|
|
50948
|
-
|
|
50949
|
-
|
|
50950
|
-
|
|
50951
|
-
|
|
50952
|
-
|
|
50953
|
-
|
|
50954
|
-
|
|
50955
|
-
|
|
50956
|
-
|
|
50957
|
-
|
|
50958
|
-
}
|
|
50935
|
+
try {
|
|
50936
|
+
const res = await fetch(`${serverUrl}/health`, { signal: AbortSignal.timeout(2000) });
|
|
50937
|
+
healthOk = res.ok;
|
|
50938
|
+
if (res.ok) {
|
|
50939
|
+
const health = await res.json();
|
|
50940
|
+
version = health.version || null;
|
|
50941
|
+
uptime = health.uptime || null;
|
|
50942
|
+
}
|
|
50943
|
+
} catch {}
|
|
50944
|
+
const running = pidRunning || healthOk;
|
|
50959
50945
|
const data = {
|
|
50960
|
-
running
|
|
50946
|
+
running,
|
|
50961
50947
|
healthy: healthOk,
|
|
50962
50948
|
pid: pid || null,
|
|
50963
50949
|
port,
|
|
@@ -50968,10 +50954,11 @@ async function handleStatusCommand(flags) {
|
|
|
50968
50954
|
if (isJsonOutput()) {
|
|
50969
50955
|
output(data);
|
|
50970
50956
|
} else {
|
|
50971
|
-
if (
|
|
50957
|
+
if (running) {
|
|
50972
50958
|
const healthStatus = healthOk ? "healthy" : "not responding";
|
|
50973
50959
|
console.log(`Fulcrum is running (${healthStatus})`);
|
|
50974
|
-
|
|
50960
|
+
if (pidRunning)
|
|
50961
|
+
console.log(` PID: ${pid}`);
|
|
50975
50962
|
console.log(` URL: ${serverUrl}`);
|
|
50976
50963
|
if (version)
|
|
50977
50964
|
console.log(` Version: ${version}`);
|
package/package.json
CHANGED
package/server/index.js
CHANGED
|
@@ -1257102,7 +1257102,7 @@ mcpRoutes.all("/", async (c) => {
|
|
|
1257102
1257102
|
});
|
|
1257103
1257103
|
const server2 = new McpServer({
|
|
1257104
1257104
|
name: "fulcrum",
|
|
1257105
|
-
version: "4.2.
|
|
1257105
|
+
version: "4.2.1"
|
|
1257106
1257106
|
});
|
|
1257107
1257107
|
const client3 = new FulcrumClient(`http://localhost:${port}`);
|
|
1257108
1257108
|
registerTools(server2, client3);
|