fluxmail 0.19.1 → 0.20.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.
@@ -1 +1 @@
1
- {"version":3,"file":"publicErrors.js","sourceRoot":"","sources":["../../src/service/publicErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publicErrors.js","sourceRoot":"","sources":["../../src/service/publicErrors.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,17 @@
1
1
  import { type Settings, type UpdateNotifier } from 'update-notifier';
2
+ import type { Logger } from './logging.js';
2
3
  export declare const UPDATE_CHECK_INTERVAL_MS: number;
3
- export declare const UPDATE_GUIDE_URL = "https://fluxmail.ai/docs/use-the-cli#update-fluxmail";
4
+ export declare const SERVER_UPDATE_CHECK_INTERVAL_MS: number;
5
+ export declare const UPDATE_GUIDE_URL = "https://fluxmail.ai/docs/upgrade-fluxmail";
4
6
  export interface CliUpdateNotifier {
5
7
  notify(): void;
6
8
  }
7
9
  export type CliUpdateNotifierFactory = () => CliUpdateNotifier | undefined;
10
+ export interface AvailableUpdate {
11
+ currentVersion: string;
12
+ latestVersion: string;
13
+ instructionsUrl: string;
14
+ }
8
15
  interface UpdateNotifierEnvironment {
9
16
  env?: NodeJS.ProcessEnv;
10
17
  stdoutIsTTY?: boolean;
@@ -12,6 +19,32 @@ interface UpdateNotifierEnvironment {
12
19
  }
13
20
  export declare function isNewerVersion(current: string, latest: string): boolean;
14
21
  export declare function updateChecksAllowed(env?: NodeJS.ProcessEnv, stdoutIsTTY?: boolean): boolean;
22
+ /** Servers usually run without a terminal, often through npx or Docker, so only explicit opt-outs apply. */
23
+ export declare function serverUpdateChecksAllowed(env?: NodeJS.ProcessEnv): boolean;
24
+ /** Look up the latest release once, without delaying startup or letting a failure affect the server. */
25
+ export declare function startMcpUpdateCheck(options?: {
26
+ env?: NodeJS.ProcessEnv;
27
+ fetch?: typeof fetch;
28
+ currentVersion?: string;
29
+ }): () => AvailableUpdate | undefined;
30
+ /** Repeats the update check for a long-running server. Inert until start(). */
31
+ export declare class ServerUpdateCheck {
32
+ private readonly options;
33
+ private timer?;
34
+ private stopped;
35
+ private update?;
36
+ constructor(options?: {
37
+ logger?: Logger;
38
+ env?: NodeJS.ProcessEnv;
39
+ fetch?: typeof fetch;
40
+ currentVersion?: string;
41
+ });
42
+ /** Bound so it can be handed to request handlers directly. */
43
+ readonly available: () => AvailableUpdate | undefined;
44
+ start(): void;
45
+ stop(): void;
46
+ private check;
47
+ }
15
48
  /** Create an npm update notifier without letting cache or registry failures affect the CLI. */
16
49
  export declare function createCliUpdateNotifier(options?: UpdateNotifierEnvironment): CliUpdateNotifier | undefined;
17
50
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"updateNotifier.d.ts","sourceRoot":"","sources":["../src/updateNotifier.ts"],"names":[],"mappings":"AAAA,OAAuB,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrF,eAAO,MAAM,wBAAwB,QAAuB,CAAC;AAC7D,eAAO,MAAM,gBAAgB,yDAAyD,CAAC;AAavF,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3E,UAAU,yBAAyB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,cAAc,CAAC;CAC1D;AA8CD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIvE;AAMD,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,WAAW,UAAgC,GAC1C,OAAO,CAOT;AAoBD,+FAA+F;AAC/F,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,yBAA8B,GAAG,iBAAiB,GAAG,SAAS,CAkC9G"}
1
+ {"version":3,"file":"updateNotifier.d.ts","sourceRoot":"","sources":["../src/updateNotifier.ts"],"names":[],"mappings":"AAAA,OAAuB,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,eAAO,MAAM,wBAAwB,QAAuB,CAAC;AAC7D,eAAO,MAAM,+BAA+B,QAA+B,CAAC;AAC5E,eAAO,MAAM,gBAAgB,8CAA8C,CAAC;AAe5E,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,yBAAyB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,cAAc,CAAC;CAC1D;AA8CD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIvE;AAMD,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,WAAW,UAAgC,GAC1C,OAAO,CAOT;AAED,4GAA4G;AAC5G,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEvF;AAaD,wGAAwG;AACxG,wBAAgB,mBAAmB,CACjC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GACvF,MAAM,eAAe,GAAG,SAAS,CAanC;AAED,+EAA+E;AAC/E,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAkB;gBAGd,OAAO,GAAE;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;QACxB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;KACpB;IAGR,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,QAAO,eAAe,GAAG,SAAS,CAAgB;IAEpE,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;YAKE,KAAK;CAiBpB;AAoBD,+FAA+F;AAC/F,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,yBAA8B,GAAG,iBAAiB,GAAG,SAAS,CAkC9G"}
@@ -1,7 +1,10 @@
1
1
  import updateNotifier from 'update-notifier';
2
2
  import { VERSION } from './version.js';
3
3
  export const UPDATE_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1_000;
4
- export const UPDATE_GUIDE_URL = 'https://fluxmail.ai/docs/use-the-cli#update-fluxmail';
4
+ export const SERVER_UPDATE_CHECK_INTERVAL_MS = 7 * UPDATE_CHECK_INTERVAL_MS;
5
+ export const UPDATE_GUIDE_URL = 'https://fluxmail.ai/docs/upgrade-fluxmail';
6
+ const LATEST_RELEASE_URL = 'https://registry.npmjs.org/fluxmail/latest';
7
+ const UPDATE_REQUEST_TIMEOUT_MS = 5_000;
5
8
  const UPDATE_MESSAGE = `Fluxmail update available: {currentVersion} -> {latestVersion}\nUpdate instructions: ${UPDATE_GUIDE_URL}`;
6
9
  const SEMVER_PATTERN = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
7
10
  function parseVersion(version) {
@@ -68,6 +71,73 @@ export function updateChecksAllowed(env = process.env, stdoutIsTTY = process.std
68
71
  }
69
72
  return true;
70
73
  }
74
+ /** Servers usually run without a terminal, often through npx or Docker, so only explicit opt-outs apply. */
75
+ export function serverUpdateChecksAllowed(env = process.env) {
76
+ return !('NO_UPDATE_NOTIFIER' in env) && env.NODE_ENV !== 'test' && !environmentValueIsEnabled(env.CI);
77
+ }
78
+ async function fetchAvailableUpdate(currentVersion, request) {
79
+ const response = await request(LATEST_RELEASE_URL, { signal: AbortSignal.timeout(UPDATE_REQUEST_TIMEOUT_MS) });
80
+ if (!response.ok)
81
+ throw new Error(`The npm registry returned ${response.status}.`);
82
+ const { version: latestVersion } = (await response.json());
83
+ if (typeof latestVersion !== 'string' || !isNewerVersion(currentVersion, latestVersion))
84
+ return undefined;
85
+ return { currentVersion, latestVersion, instructionsUrl: UPDATE_GUIDE_URL };
86
+ }
87
+ /** Look up the latest release once, without delaying startup or letting a failure affect the server. */
88
+ export function startMcpUpdateCheck(options = {}) {
89
+ const currentVersion = options.currentVersion ?? VERSION;
90
+ let update;
91
+ if (serverUpdateChecksAllowed(options.env)) {
92
+ fetchAvailableUpdate(currentVersion, options.fetch ?? fetch)
93
+ .then((available) => {
94
+ update = available;
95
+ })
96
+ .catch(() => {
97
+ // A registry failure must not affect the server.
98
+ });
99
+ }
100
+ return () => update;
101
+ }
102
+ /** Repeats the update check for a long-running server. Inert until start(). */
103
+ export class ServerUpdateCheck {
104
+ options;
105
+ timer;
106
+ stopped = false;
107
+ update;
108
+ constructor(options = {}) {
109
+ this.options = options;
110
+ }
111
+ /** Bound so it can be handed to request handlers directly. */
112
+ available = () => this.update;
113
+ start() {
114
+ if (!serverUpdateChecksAllowed(this.options.env))
115
+ return;
116
+ void this.check();
117
+ this.timer = setInterval(() => void this.check(), SERVER_UPDATE_CHECK_INTERVAL_MS);
118
+ this.timer.unref();
119
+ }
120
+ stop() {
121
+ this.stopped = true;
122
+ clearInterval(this.timer);
123
+ }
124
+ async check() {
125
+ let update;
126
+ try {
127
+ update = await fetchAvailableUpdate(this.options.currentVersion ?? VERSION, this.options.fetch ?? fetch);
128
+ }
129
+ catch {
130
+ // A registry failure must not affect the server. Keep what the last check found.
131
+ return;
132
+ }
133
+ if (this.stopped)
134
+ return;
135
+ if (update && update.latestVersion !== this.update?.latestVersion) {
136
+ this.options.logger?.warn('server.update_available', `Fluxmail update available: ${update.currentVersion} -> ${update.latestVersion}. Upgrade guide: ${update.instructionsUrl}`);
137
+ }
138
+ this.update = update;
139
+ }
140
+ }
71
141
  function removeNewExitListeners(existing) {
72
142
  for (const listener of process.listeners('exit')) {
73
143
  if (!existing.has(listener))
@@ -1 +1 @@
1
- {"version":3,"file":"updateNotifier.js","sourceRoot":"","sources":["../src/updateNotifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateNotifier.js","sourceRoot":"","sources":["../src/updateNotifier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluxmail",
3
- "version": "0.19.1",
3
+ "version": "0.20.0",
4
4
  "mcpName": "io.github.fluxmailai/fluxmail",
5
5
  "description": "Self-hosted email API with MCP and REST support for Gmail, Outlook, and IMAP/SMTP",
6
6
  "keywords": [
@@ -81,10 +81,10 @@
81
81
  "update-notifier": "7.3.1",
82
82
  "zod": "^3.25.67",
83
83
  "zod-to-json-schema": "3.25.2",
84
- "@fluxmail/provider-gmail": "0.19.1",
85
- "@fluxmail/core": "0.19.1",
86
- "@fluxmail/provider-imap": "0.19.1",
87
- "@fluxmail/provider-outlook": "0.19.1"
84
+ "@fluxmail/core": "0.20.0",
85
+ "@fluxmail/provider-gmail": "0.20.0",
86
+ "@fluxmail/provider-imap": "0.20.0",
87
+ "@fluxmail/provider-outlook": "0.20.0"
88
88
  },
89
89
  "devDependencies": {
90
90
  "@modelcontextprotocol/client": "2.4.0",