@essentialai/cogent-bridge 3.14.1 → 3.16.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/CHANGELOG.md +36 -0
- package/dist/cloud/mail-credential-store.d.ts +46 -0
- package/dist/cloud/mail-credential-store.d.ts.map +1 -0
- package/dist/cloud/mail-credential-store.js +80 -0
- package/dist/cloud/mail-credential-store.js.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/mail/mail-fetcher.d.ts +112 -0
- package/dist/mail/mail-fetcher.d.ts.map +1 -0
- package/dist/mail/mail-fetcher.js +186 -0
- package/dist/mail/mail-fetcher.js.map +1 -0
- package/dist/mail/mail-sender.d.ts +64 -0
- package/dist/mail/mail-sender.d.ts.map +1 -0
- package/dist/mail/mail-sender.js +68 -0
- package/dist/mail/mail-sender.js.map +1 -0
- package/dist/mail/validate.d.ts +4 -0
- package/dist/mail/validate.d.ts.map +1 -0
- package/dist/mail/validate.js +16 -0
- package/dist/mail/validate.js.map +1 -0
- package/dist/services/auto-relay.d.ts +11 -0
- package/dist/services/auto-relay.d.ts.map +1 -1
- package/dist/services/auto-relay.js +45 -0
- package/dist/services/auto-relay.js.map +1 -1
- package/dist/tools/fetch-mail.d.ts +16 -0
- package/dist/tools/fetch-mail.d.ts.map +1 -0
- package/dist/tools/fetch-mail.js +55 -0
- package/dist/tools/fetch-mail.js.map +1 -0
- package/dist/tools/register-peer.d.ts.map +1 -1
- package/dist/tools/register-peer.js +13 -0
- package/dist/tools/register-peer.js.map +1 -1
- package/dist/tools/send-mail.d.ts +16 -0
- package/dist/tools/send-mail.d.ts.map +1 -0
- package/dist/tools/send-mail.js +49 -0
- package/dist/tools/send-mail.js.map +1 -0
- package/dist/tools/setup-mail.d.ts +10 -0
- package/dist/tools/setup-mail.d.ts.map +1 -0
- package/dist/tools/setup-mail.js +47 -0
- package/dist/tools/setup-mail.js.map +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -1
- package/server.json +2 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { successResult, errorResult } from "../errors.js";
|
|
3
|
+
import { saveMailCredentials, MAIL_DEFAULT_HOST } from "../cloud/mail-credential-store.js";
|
|
4
|
+
import { assertValidEmail } from "../mail/validate.js";
|
|
5
|
+
const DEFAULT_MAIL_HOST = MAIL_DEFAULT_HOST;
|
|
6
|
+
/**
|
|
7
|
+
* cogent_setup_mail — store this agent's mailbox credentials locally (Cogent Mail M2).
|
|
8
|
+
* The operator provisions the mailbox in the admin Mail panel (M1), which shows the
|
|
9
|
+
* address + password ONCE; the agent runs this tool to save them to its per-cwd 0600
|
|
10
|
+
* store so cogent_send_mail / cogent_fetch_mail can use them. (Auto-provision on register
|
|
11
|
+
* is a deferred follow-up — see the M2.7 design note.)
|
|
12
|
+
*/
|
|
13
|
+
export function registerSetupMailTool(server) {
|
|
14
|
+
server.registerTool("cogent_setup_mail", {
|
|
15
|
+
title: "Configure this agent's mailbox",
|
|
16
|
+
description: "Store the agent's mailbox address + password (from the admin Mail panel) locally so " +
|
|
17
|
+
"cogent_send_mail and cogent_fetch_mail can use them. Hosts default to mail.cogent.tools " +
|
|
18
|
+
"(IMAP 993 / SMTP 465).",
|
|
19
|
+
inputSchema: {
|
|
20
|
+
address: z.string().describe("Full mailbox address, e.g. claude-agent-backend@mail.cogent.tools"),
|
|
21
|
+
password: z.string().describe("Mailbox password (shown once in the admin Mail panel on create/rotate)"),
|
|
22
|
+
imapHost: z.string().optional().describe(`IMAP host (default ${DEFAULT_MAIL_HOST})`),
|
|
23
|
+
imapPort: z.number().int().positive().optional().describe("IMAP port (default 993)"),
|
|
24
|
+
smtpHost: z.string().optional().describe(`SMTP host (default ${DEFAULT_MAIL_HOST})`),
|
|
25
|
+
smtpPort: z.number().int().positive().optional().describe("SMTP submission port (default 465)"),
|
|
26
|
+
},
|
|
27
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
28
|
+
}, async ({ address, password, imapHost, imapPort, smtpHost, smtpPort }) => {
|
|
29
|
+
try {
|
|
30
|
+
assertValidEmail(address, "address"); // reject fat-finger creds before persisting
|
|
31
|
+
await saveMailCredentials({
|
|
32
|
+
address,
|
|
33
|
+
password,
|
|
34
|
+
imapHost: imapHost ?? DEFAULT_MAIL_HOST,
|
|
35
|
+
imapPort: imapPort ?? 993,
|
|
36
|
+
smtpHost: smtpHost ?? DEFAULT_MAIL_HOST,
|
|
37
|
+
smtpPort: smtpPort ?? 465,
|
|
38
|
+
savedAt: new Date().toISOString(),
|
|
39
|
+
});
|
|
40
|
+
return successResult({ configured: true, address });
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
return errorResult(err);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=setup-mail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-mail.js","sourceRoot":"","sources":["../../src/tools/setup-mail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,gCAAgC;QACvC,WAAW,EACT,sFAAsF;YACtF,0FAA0F;YAC1F,wBAAwB;QAC1B,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YACjG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YACvG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,iBAAiB,GAAG,CAAC;YACpF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACpF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,iBAAiB,GAAG,CAAC;YACpF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAChG;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACzG,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtE,IAAI,CAAC;YACH,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,4CAA4C;YAClF,MAAM,mBAAmB,CAAC;gBACxB,OAAO;gBACP,QAAQ;gBACR,QAAQ,EAAE,QAAQ,IAAI,iBAAiB;gBACvC,QAAQ,EAAE,QAAQ,IAAI,GAAG;gBACzB,QAAQ,EAAE,QAAQ,IAAI,iBAAiB;gBACvC,QAAQ,EAAE,QAAQ,IAAI,GAAG;gBACzB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC,CAAC,CAAC;YACH,OAAO,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -39,6 +39,17 @@ export interface PeerInfo {
|
|
|
39
39
|
workspaceId?: string;
|
|
40
40
|
/** Durable thread/conversation identifier (Slice 5 / Story 8.6). On the wire; optional. */
|
|
41
41
|
threadId?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Cogent Mail auto-provisioned mailbox (M2.7). Present ONLY on a cloud register RESPONSE
|
|
44
|
+
* for a Team channel where the relay minted (or resolved) this peer's mailbox via the
|
|
45
|
+
* control-plane provisioner. `password` is returned ONCE (on first create / explicit rotate)
|
|
46
|
+
* and is never persisted server-side — the bridge saves it to its local 0600 store and drops
|
|
47
|
+
* it. Absent on free channels and on re-registers that don't re-issue a password.
|
|
48
|
+
*/
|
|
49
|
+
mailbox?: {
|
|
50
|
+
address: string;
|
|
51
|
+
password?: string;
|
|
52
|
+
};
|
|
42
53
|
}
|
|
43
54
|
export interface MessageRecord {
|
|
44
55
|
id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,cAAc,GAAG,eAAe,CAAC;IACnD,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@essentialai/cogent-bridge",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.16.0",
|
|
4
4
|
"description": "MCP server for inter-Claude-Code session communication bridge",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -66,6 +66,8 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@essentialai/cogent": "^3.6.0",
|
|
68
68
|
"@modelcontextprotocol/sdk": "^1.6.1",
|
|
69
|
+
"imapflow": "^1.6.6",
|
|
70
|
+
"nodemailer": "^6.10.1",
|
|
69
71
|
"ws": "^8.19.0",
|
|
70
72
|
"zod": "^3.23.8"
|
|
71
73
|
},
|
package/server.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.eaisdevelopment/cogent",
|
|
4
4
|
"title": "Cogent Bridge from Essential AI Solutions (essentialai.uk)",
|
|
5
5
|
"description": "MCP bridge for inter-session communication between Claude Code instances",
|
|
6
|
-
"version": "3.
|
|
6
|
+
"version": "3.16.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/eaisdevelopment/cogent",
|
|
9
9
|
"source": "github"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@essentialai/cogent-bridge",
|
|
15
|
-
"version": "3.
|
|
15
|
+
"version": "3.16.0",
|
|
16
16
|
"runtimeHint": "npx",
|
|
17
17
|
"transport": {
|
|
18
18
|
"type": "stdio"
|