@diskd-ai/email-client-mcp 0.1.0 → 0.1.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Email Client MCP
2
2
 
3
- Multi-account email MCP server with reliable IMAP-to-mailboxes sync into a Drive-backed `messagesStore` (`@diskd/sdk`). Read tools hit IMAP live; the watcher mirrors every configured account into the workspace store on an interval (>= 60s).
3
+ Multi-account email MCP server with reliable IMAP-to-mailboxes sync into a Drive-backed `messagesStore` (`@diskd-ai/sdk`). Read tools hit IMAP live; the watcher mirrors every configured account into the workspace store on an interval (>= 60s).
4
4
 
5
5
  Address: `end:comm/email-client-mcp`.
6
6
 
@@ -105,6 +105,21 @@ bun run dev # tsx src/server.ts stdio (live reload)
105
105
  node scripts/smoke.mjs
106
106
  ```
107
107
 
108
+ ## Releasing
109
+
110
+ Auto-publish via `.github/workflows/release.yml`:
111
+
112
+ - **Tag-driven** (preferred): `npm version patch && git push --follow-tags` from main; the `v*.*.*` tag triggers the workflow which typechecks, lints, tests, builds, and `npm publish`es.
113
+ - **One-click**: in the GitHub Actions UI run the *Release* workflow with `bump = patch | minor | major`. The job bumps `package.json`, commits, tags, pushes, and publishes -- all in one job.
114
+
115
+ Both paths run `bun install --frozen-lockfile`, `bun run typecheck`, `bun run lint`, `bun run test`, and `bun run build` before publishing, with provenance attestation enabled.
116
+
117
+ Required repo secret:
118
+
119
+ | Secret | Purpose |
120
+ | --- | --- |
121
+ | `NPM_TOKEN` | npmjs.com granular token, scope `@diskd-ai/*`, **Bypass 2FA** enabled. |
122
+
108
123
  ## License
109
124
 
110
125
  LGPL-3.0-or-later. See `LICENSE`.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Build the @diskd/sdk client used by the drive-backed messages store.
2
+ * Build the @diskd-ai/sdk client used by the drive-backed messages store.
3
3
  *
4
4
  * SDK constraint observed in 5.1.x: `APIS_API_KEY` and `APIS_BASE_URL`
5
5
  * are read from `process.env` only -- there is no constructor param.
@@ -10,7 +10,7 @@
10
10
  * Workspace id falls back to `MCP_HUB_WORKSPACE_ID` (injected by mcp-hub
11
11
  * k8s-gateway specs) so deployments don't have to encode workspaceId twice.
12
12
  */
13
- import { diskd } from "@diskd/sdk";
13
+ import { diskd } from "@diskd-ai/sdk";
14
14
  import type { SdkSettings } from "../config/schema.js";
15
15
  import { type ConfigError } from "../domain/errors.js";
16
16
  import { type Result } from "../domain/result.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Build the @diskd/sdk client used by the drive-backed messages store.
2
+ * Build the @diskd-ai/sdk client used by the drive-backed messages store.
3
3
  *
4
4
  * SDK constraint observed in 5.1.x: `APIS_API_KEY` and `APIS_BASE_URL`
5
5
  * are read from `process.env` only -- there is no constructor param.
@@ -10,7 +10,7 @@
10
10
  * Workspace id falls back to `MCP_HUB_WORKSPACE_ID` (injected by mcp-hub
11
11
  * k8s-gateway specs) so deployments don't have to encode workspaceId twice.
12
12
  */
13
- import { diskd } from "@diskd/sdk";
13
+ import { diskd } from "@diskd-ai/sdk";
14
14
  import { configError } from "../domain/errors.js";
15
15
  import { Err, Ok } from "../domain/result.js";
16
16
  const ensureEnv = (key, value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"diskdClient.js","sourceRoot":"","sources":["../../src/sdk/diskdClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAoB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAO3D,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,KAAa,EAAQ,EAAE;IACrD,uEAAuE;IACvE,8BAA8B;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,WAAwB,EACxB,cAAkC,EACC,EAAE;IACrC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,IAAI,cAAc,CAAC;IAC/D,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAG,CACR,WAAW,CACT,0FAA0F,CAC3F,CACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,WAAW,CAAC,QAAQ;QAAE,SAAS,CAAC,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtF,OAAO,GAAG,CACR,WAAW,CACT,oFAAoF,CACrF,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC"}
1
+ {"version":3,"file":"diskdClient.js","sourceRoot":"","sources":["../../src/sdk/diskdClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAoB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAO3D,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,KAAa,EAAQ,EAAE;IACrD,uEAAuE;IACvE,8BAA8B;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,WAAwB,EACxB,cAAkC,EACC,EAAE;IACrC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,IAAI,cAAc,CAAC;IAC/D,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAG,CACR,WAAW,CACT,0FAA0F,CAC3F,CACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,WAAW,CAAC,QAAQ;QAAE,SAAS,CAAC,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtF,OAAO,GAAG,CACR,WAAW,CACT,oFAAoF,CACrF,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC"}
package/dist/server.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * Responsibilities:
6
6
  * 1. Parse CLI args (default subcommand: stdio).
7
7
  * 2. Load + validate the TOML config.
8
- * 3. Build @diskd/sdk client and Drive store.
8
+ * 3. Build @diskd-ai/sdk client and Drive store.
9
9
  * 4. Build IMAP pool + sync deps.
10
10
  * 5. Register MCP tools, attach stdio transport.
11
11
  * 6. Start the watcher AFTER the MCP `initialized` notification so we
package/dist/server.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Responsibilities:
6
6
  * 1. Parse CLI args (default subcommand: stdio).
7
7
  * 2. Load + validate the TOML config.
8
- * 3. Build @diskd/sdk client and Drive store.
8
+ * 3. Build @diskd-ai/sdk client and Drive store.
9
9
  * 4. Build IMAP pool + sync deps.
10
10
  * 5. Register MCP tools, attach stdio transport.
11
11
  * 6. Start the watcher AFTER the MCP `initialized` notification so we
@@ -7,7 +7,7 @@
7
7
  * `createMailbox` errors (e.g. ALREADY_EXISTS) are absorbed -- callers
8
8
  * do not need to track creation state.
9
9
  */
10
- import type { diskd as DiskdNs } from "@diskd/sdk";
10
+ import type { diskd as DiskdNs } from "@diskd-ai/sdk";
11
11
  import { type DriveError } from "../domain/errors.js";
12
12
  import { type Result } from "../domain/result.js";
13
13
  import type { StoredEmailPayload, SyncState } from "./payloadTypes.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diskd-ai/email-client-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Drive-backed multi-account email MCP with reliable IMAP-to-mailboxes sync.",
5
5
  "license": "LGPL-3.0-or-later",
6
6
  "type": "module",
@@ -30,7 +30,7 @@
30
30
  "prepublishOnly": "bun run build && bun run test"
31
31
  },
32
32
  "dependencies": {
33
- "@diskd/sdk": "5.1.2",
33
+ "@diskd-ai/sdk": "5.1.3",
34
34
  "@modelcontextprotocol/sdk": "^1.26.0",
35
35
  "imapflow": "^1.2.9",
36
36
  "smol-toml": "^1.6.0",