@knowsuchagency/fulcrum 2.3.5 → 2.4.0
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 +3 -3
- package/package.json +1 -1
- package/server/index.js +27 -41
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.
|
|
45644
|
+
version: "2.4.0"
|
|
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.
|
|
47993
|
+
"version": "2.4.0",
|
|
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.
|
|
49181
|
+
version: "2.4.0",
|
|
49182
49182
|
description: "Harness Attention. Orchestrate Agents. Ship.",
|
|
49183
49183
|
license: "PolyForm-Perimeter-1.0.0",
|
|
49184
49184
|
type: "module",
|
package/package.json
CHANGED
package/server/index.js
CHANGED
|
@@ -409569,6 +409569,27 @@ class EmailChannel {
|
|
|
409569
409569
|
this.connectionId = connectionId;
|
|
409570
409570
|
this.credentials = credentials ?? null;
|
|
409571
409571
|
}
|
|
409572
|
+
createImapClient() {
|
|
409573
|
+
if (!this.credentials)
|
|
409574
|
+
throw new Error("No credentials available");
|
|
409575
|
+
const client3 = new $ImapFlow({
|
|
409576
|
+
host: this.credentials.imap.host,
|
|
409577
|
+
port: this.credentials.imap.port,
|
|
409578
|
+
secure: this.credentials.imap.secure,
|
|
409579
|
+
auth: {
|
|
409580
|
+
user: this.credentials.imap.user,
|
|
409581
|
+
pass: this.credentials.imap.password
|
|
409582
|
+
},
|
|
409583
|
+
logger: false
|
|
409584
|
+
});
|
|
409585
|
+
client3.on("error", (err) => {
|
|
409586
|
+
log2.messaging.error("IMAP client error", {
|
|
409587
|
+
connectionId: this.connectionId,
|
|
409588
|
+
error: String(err)
|
|
409589
|
+
});
|
|
409590
|
+
});
|
|
409591
|
+
return client3;
|
|
409592
|
+
}
|
|
409572
409593
|
async initialize(events) {
|
|
409573
409594
|
this.events = events;
|
|
409574
409595
|
this.isShuttingDown = false;
|
|
@@ -409609,16 +409630,7 @@ class EmailChannel {
|
|
|
409609
409630
|
connectionId: this.connectionId,
|
|
409610
409631
|
host: this.credentials.smtp.host
|
|
409611
409632
|
});
|
|
409612
|
-
this.imapClient =
|
|
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
|
-
});
|
|
409633
|
+
this.imapClient = this.createImapClient();
|
|
409622
409634
|
await this.imapClient.connect();
|
|
409623
409635
|
log2.messaging.info("IMAP connection established", {
|
|
409624
409636
|
connectionId: this.connectionId,
|
|
@@ -409655,16 +409667,7 @@ class EmailChannel {
|
|
|
409655
409667
|
if (this.isShuttingDown || !this.credentials)
|
|
409656
409668
|
return;
|
|
409657
409669
|
try {
|
|
409658
|
-
const client3 =
|
|
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
|
-
});
|
|
409670
|
+
const client3 = this.createImapClient();
|
|
409668
409671
|
await client3.connect();
|
|
409669
409672
|
const lock = await client3.getMailboxLock("INBOX");
|
|
409670
409673
|
try {
|
|
@@ -409813,16 +409816,7 @@ class EmailChannel {
|
|
|
409813
409816
|
if (!this.credentials) {
|
|
409814
409817
|
throw new Error("Not connected - no credentials available");
|
|
409815
409818
|
}
|
|
409816
|
-
const client3 =
|
|
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
|
-
});
|
|
409819
|
+
const client3 = this.createImapClient();
|
|
409826
409820
|
try {
|
|
409827
409821
|
await client3.connect();
|
|
409828
409822
|
const lock = await client3.getMailboxLock("INBOX");
|
|
@@ -409861,16 +409855,7 @@ class EmailChannel {
|
|
|
409861
409855
|
}
|
|
409862
409856
|
const limit2 = options?.limit ?? 50;
|
|
409863
409857
|
const uidsToFetch = uids.slice(0, limit2);
|
|
409864
|
-
const client3 =
|
|
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
|
-
});
|
|
409858
|
+
const client3 = this.createImapClient();
|
|
409874
409859
|
const storedEmails = [];
|
|
409875
409860
|
try {
|
|
409876
409861
|
await client3.connect();
|
|
@@ -409953,6 +409938,7 @@ async function testEmailCredentials(credentials) {
|
|
|
409953
409938
|
},
|
|
409954
409939
|
logger: false
|
|
409955
409940
|
});
|
|
409941
|
+
client3.on("error", () => {});
|
|
409956
409942
|
await client3.connect();
|
|
409957
409943
|
await client3.logout();
|
|
409958
409944
|
} catch (err) {
|
|
@@ -463739,7 +463725,7 @@ mcpRoutes.all("/", async (c) => {
|
|
|
463739
463725
|
});
|
|
463740
463726
|
const server = new McpServer({
|
|
463741
463727
|
name: "fulcrum",
|
|
463742
|
-
version: "2.
|
|
463728
|
+
version: "2.4.0"
|
|
463743
463729
|
});
|
|
463744
463730
|
const client = new FulcrumClient(`http://localhost:${port}`);
|
|
463745
463731
|
registerTools(server, client);
|