@knowsuchagency/fulcrum 5.13.1 → 5.13.2

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 CHANGED
@@ -46869,7 +46869,7 @@ async function runMcpServer(urlOverride, portOverride) {
46869
46869
  const client = new FulcrumClient(urlOverride, portOverride);
46870
46870
  const server = new McpServer({
46871
46871
  name: "fulcrum",
46872
- version: "5.13.1"
46872
+ version: "5.13.2"
46873
46873
  });
46874
46874
  registerTools(server, client);
46875
46875
  const transport = new StdioServerTransport;
@@ -49218,7 +49218,7 @@ var marketplace_default = `{
49218
49218
  "name": "fulcrum",
49219
49219
  "source": "./",
49220
49220
  "description": "Task orchestration for Claude Code",
49221
- "version": "5.13.1",
49221
+ "version": "5.13.2",
49222
49222
  "skills": [
49223
49223
  "./skills/fulcrum"
49224
49224
  ],
@@ -49241,7 +49241,7 @@ var marketplace_default = `{
49241
49241
  var plugin_default = `{
49242
49242
  "name": "fulcrum",
49243
49243
  "description": "Fulcrum task orchestration for Claude Code",
49244
- "version": "5.13.1",
49244
+ "version": "5.13.2",
49245
49245
  "author": {
49246
49246
  "name": "Fulcrum"
49247
49247
  },
@@ -50280,7 +50280,7 @@ function compareVersions(v1, v2) {
50280
50280
  var package_default = {
50281
50281
  name: "@knowsuchagency/fulcrum",
50282
50282
  private: true,
50283
- version: "5.13.1",
50283
+ version: "5.13.2",
50284
50284
  description: "Harness Attention. Orchestrate Agents. Ship.",
50285
50285
  license: "PolyForm-Perimeter-1.0.0",
50286
50286
  type: "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knowsuchagency/fulcrum",
3
- "version": "5.13.1",
3
+ "version": "5.13.2",
4
4
  "description": "Harness Attention. Orchestrate Agents. Ship.",
5
5
  "license": "PolyForm-Perimeter-1.0.0",
6
6
  "repository": {
package/server/index.js CHANGED
@@ -13481,11 +13481,15 @@ class HerdrService {
13481
13481
  session;
13482
13482
  binary;
13483
13483
  requestSeq = 0;
13484
+ inflightEnsure = new Map;
13484
13485
  constructor(session3, binary) {
13485
13486
  this.session = session3;
13486
13487
  this.binary = binary;
13487
13488
  }
13488
13489
  getApiSocketPath() {
13490
+ if (this.session === DEFAULT_SESSION) {
13491
+ return path5.join(CONFIG_DIR, "herdr.sock");
13492
+ }
13489
13493
  return path5.join(CONFIG_DIR, "sessions", this.session, "herdr.sock");
13490
13494
  }
13491
13495
  isServerRunning() {
@@ -13496,7 +13500,8 @@ class HerdrService {
13496
13500
  return true;
13497
13501
  log2.terminal.info("herdr server not running; starting it", { session: this.session });
13498
13502
  try {
13499
- const child = spawn2(this.binary, ["--session", this.session, "server"], {
13503
+ const args = this.session === DEFAULT_SESSION ? ["server"] : ["--session", this.session, "server"];
13504
+ const child = spawn2(this.binary, args, {
13500
13505
  stdio: "ignore",
13501
13506
  detached: true
13502
13507
  });
@@ -13579,6 +13584,18 @@ class HerdrService {
13579
13584
  return this.call("workspace.create", opts);
13580
13585
  }
13581
13586
  async ensureWorkspace(opts) {
13587
+ const pending = this.inflightEnsure.get(opts.label);
13588
+ if (pending)
13589
+ return pending;
13590
+ const work = this.doEnsureWorkspace(opts);
13591
+ this.inflightEnsure.set(opts.label, work);
13592
+ try {
13593
+ return await work;
13594
+ } finally {
13595
+ this.inflightEnsure.delete(opts.label);
13596
+ }
13597
+ }
13598
+ async doEnsureWorkspace(opts) {
13582
13599
  const existing = await this.listWorkspaces();
13583
13600
  const hit = existing.find((w2) => w2.label === opts.label);
13584
13601
  if (hit)
@@ -13651,7 +13668,7 @@ function getHerdrService() {
13651
13668
  }
13652
13669
  return cached;
13653
13670
  }
13654
- var CONFIG_DIR, RESPONSE_TIMEOUT_MS = 4000, START_POLL_MS = 100, START_POLL_ATTEMPTS = 30, cached = null, cachedKey = "";
13671
+ var CONFIG_DIR, RESPONSE_TIMEOUT_MS = 4000, START_POLL_MS = 100, START_POLL_ATTEMPTS = 30, DEFAULT_SESSION = "default", cached = null, cachedKey = "";
13655
13672
  var init_herdr_service = __esm(() => {
13656
13673
  init_logger3();
13657
13674
  init_settings();
@@ -1282717,7 +1282734,7 @@ mcpRoutes.all("/", async (c) => {
1282717
1282734
  });
1282718
1282735
  const server2 = new McpServer({
1282719
1282736
  name: "fulcrum",
1282720
- version: "5.13.1"
1282737
+ version: "5.13.2"
1282721
1282738
  });
1282722
1282739
  const client3 = new FulcrumClient(`http://localhost:${port}`);
1282723
1282740
  registerTools(server2, client3);