@knowsuchagency/fulcrum 2.3.5 → 2.4.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 CHANGED
@@ -45641,7 +45641,7 @@ async function runMcpServer(urlOverride, portOverride) {
45641
45641
  const client = new FulcrumClient(urlOverride, portOverride);
45642
45642
  const server = new McpServer({
45643
45643
  name: "fulcrum",
45644
- version: "2.3.5"
45644
+ version: "2.4.1"
45645
45645
  });
45646
45646
  registerTools(server, client);
45647
45647
  const transport = new StdioServerTransport;
@@ -47990,7 +47990,7 @@ var marketplace_default = `{
47990
47990
  "name": "fulcrum",
47991
47991
  "source": "./",
47992
47992
  "description": "Task orchestration for Claude Code",
47993
- "version": "2.3.5",
47993
+ "version": "2.4.1",
47994
47994
  "skills": [
47995
47995
  "./skills/fulcrum"
47996
47996
  ],
@@ -49178,7 +49178,7 @@ function compareVersions(v1, v2) {
49178
49178
  var package_default = {
49179
49179
  name: "@knowsuchagency/fulcrum",
49180
49180
  private: true,
49181
- version: "2.3.5",
49181
+ version: "2.4.1",
49182
49182
  description: "Harness Attention. Orchestrate Agents. Ship.",
49183
49183
  license: "PolyForm-Perimeter-1.0.0",
49184
49184
  type: "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knowsuchagency/fulcrum",
3
- "version": "2.3.5",
3
+ "version": "2.4.1",
4
4
  "description": "Harness Attention. Orchestrate Agents. Ship.",
5
5
  "license": "PolyForm-Perimeter-1.0.0",
6
6
  "repository": {
package/server/index.js CHANGED
@@ -16083,11 +16083,7 @@ function getClaudeCodePathForSdk() {
16083
16083
  log2.claude.debug("Claude Code executable not found");
16084
16084
  return;
16085
16085
  }
16086
- if (result.source === "PATH") {
16087
- log2.claude.debug("Claude Code found in PATH, using default resolution");
16088
- return;
16089
- }
16090
- log2.claude.debug("Claude Code found via custom path", { path: result.path, source: result.source });
16086
+ log2.claude.debug("Claude Code found", { path: result.path, source: result.source });
16091
16087
  return result.path;
16092
16088
  }
16093
16089
  var init_claude_code_path = __esm(() => {
@@ -409569,6 +409565,27 @@ class EmailChannel {
409569
409565
  this.connectionId = connectionId;
409570
409566
  this.credentials = credentials ?? null;
409571
409567
  }
409568
+ createImapClient() {
409569
+ if (!this.credentials)
409570
+ throw new Error("No credentials available");
409571
+ const client3 = new $ImapFlow({
409572
+ host: this.credentials.imap.host,
409573
+ port: this.credentials.imap.port,
409574
+ secure: this.credentials.imap.secure,
409575
+ auth: {
409576
+ user: this.credentials.imap.user,
409577
+ pass: this.credentials.imap.password
409578
+ },
409579
+ logger: false
409580
+ });
409581
+ client3.on("error", (err) => {
409582
+ log2.messaging.error("IMAP client error", {
409583
+ connectionId: this.connectionId,
409584
+ error: String(err)
409585
+ });
409586
+ });
409587
+ return client3;
409588
+ }
409572
409589
  async initialize(events) {
409573
409590
  this.events = events;
409574
409591
  this.isShuttingDown = false;
@@ -409609,16 +409626,7 @@ class EmailChannel {
409609
409626
  connectionId: this.connectionId,
409610
409627
  host: this.credentials.smtp.host
409611
409628
  });
409612
- this.imapClient = new $ImapFlow({
409613
- host: this.credentials.imap.host,
409614
- port: this.credentials.imap.port,
409615
- secure: this.credentials.imap.secure,
409616
- auth: {
409617
- user: this.credentials.imap.user,
409618
- pass: this.credentials.imap.password
409619
- },
409620
- logger: false
409621
- });
409629
+ this.imapClient = this.createImapClient();
409622
409630
  await this.imapClient.connect();
409623
409631
  log2.messaging.info("IMAP connection established", {
409624
409632
  connectionId: this.connectionId,
@@ -409655,16 +409663,7 @@ class EmailChannel {
409655
409663
  if (this.isShuttingDown || !this.credentials)
409656
409664
  return;
409657
409665
  try {
409658
- const client3 = new $ImapFlow({
409659
- host: this.credentials.imap.host,
409660
- port: this.credentials.imap.port,
409661
- secure: this.credentials.imap.secure,
409662
- auth: {
409663
- user: this.credentials.imap.user,
409664
- pass: this.credentials.imap.password
409665
- },
409666
- logger: false
409667
- });
409666
+ const client3 = this.createImapClient();
409668
409667
  await client3.connect();
409669
409668
  const lock = await client3.getMailboxLock("INBOX");
409670
409669
  try {
@@ -409813,16 +409812,7 @@ class EmailChannel {
409813
409812
  if (!this.credentials) {
409814
409813
  throw new Error("Not connected - no credentials available");
409815
409814
  }
409816
- const client3 = new $ImapFlow({
409817
- host: this.credentials.imap.host,
409818
- port: this.credentials.imap.port,
409819
- secure: this.credentials.imap.secure,
409820
- auth: {
409821
- user: this.credentials.imap.user,
409822
- pass: this.credentials.imap.password
409823
- },
409824
- logger: false
409825
- });
409815
+ const client3 = this.createImapClient();
409826
409816
  try {
409827
409817
  await client3.connect();
409828
409818
  const lock = await client3.getMailboxLock("INBOX");
@@ -409861,16 +409851,7 @@ class EmailChannel {
409861
409851
  }
409862
409852
  const limit2 = options?.limit ?? 50;
409863
409853
  const uidsToFetch = uids.slice(0, limit2);
409864
- const client3 = new $ImapFlow({
409865
- host: this.credentials.imap.host,
409866
- port: this.credentials.imap.port,
409867
- secure: this.credentials.imap.secure,
409868
- auth: {
409869
- user: this.credentials.imap.user,
409870
- pass: this.credentials.imap.password
409871
- },
409872
- logger: false
409873
- });
409854
+ const client3 = this.createImapClient();
409874
409855
  const storedEmails = [];
409875
409856
  try {
409876
409857
  await client3.connect();
@@ -409953,6 +409934,7 @@ async function testEmailCredentials(credentials) {
409953
409934
  },
409954
409935
  logger: false
409955
409936
  });
409937
+ client3.on("error", () => {});
409956
409938
  await client3.connect();
409957
409939
  await client3.logout();
409958
409940
  } catch (err) {
@@ -463739,7 +463721,7 @@ mcpRoutes.all("/", async (c) => {
463739
463721
  });
463740
463722
  const server = new McpServer({
463741
463723
  name: "fulcrum",
463742
- version: "2.3.5"
463724
+ version: "2.4.1"
463743
463725
  });
463744
463726
  const client = new FulcrumClient(`http://localhost:${port}`);
463745
463727
  registerTools(server, client);