@rndmjoker/proton-mcp 0.4.13 → 0.5.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/README.md +138 -21
- package/dist/browser/channel.d.ts +76 -0
- package/dist/browser/channel.js +162 -0
- package/dist/browser/channel.js.map +1 -0
- package/dist/browser/client.d.ts +50 -0
- package/dist/browser/client.js +284 -0
- package/dist/browser/client.js.map +1 -0
- package/dist/browser/connector.d.ts +15 -0
- package/dist/browser/connector.js +26 -0
- package/dist/browser/connector.js.map +1 -0
- package/dist/browser/host.d.ts +50 -0
- package/dist/browser/host.js +258 -0
- package/dist/browser/host.js.map +1 -0
- package/dist/browser/messages.d.ts +163 -0
- package/dist/browser/messages.js +338 -0
- package/dist/browser/messages.js.map +1 -0
- package/dist/browser/paths.d.ts +51 -0
- package/dist/browser/paths.js +92 -0
- package/dist/browser/paths.js.map +1 -0
- package/dist/browser/setup.d.ts +42 -0
- package/dist/browser/setup.js +170 -0
- package/dist/browser/setup.js.map +1 -0
- package/dist/filters/order.d.ts +66 -0
- package/dist/filters/order.js +108 -0
- package/dist/filters/order.js.map +1 -0
- package/dist/filters/sieve.d.ts +184 -0
- package/dist/filters/sieve.js +1312 -0
- package/dist/filters/sieve.js.map +1 -0
- package/dist/instances.d.ts +58 -0
- package/dist/instances.js +145 -0
- package/dist/instances.js.map +1 -0
- package/dist/mail/compose.d.ts +10 -0
- package/dist/mail/compose.js.map +1 -1
- package/dist/mail/record.d.ts +36 -0
- package/dist/mail/record.js +74 -0
- package/dist/mail/record.js.map +1 -0
- package/dist/permissions.d.ts +139 -0
- package/dist/permissions.js +355 -0
- package/dist/permissions.js.map +1 -0
- package/dist/server.js +330 -16
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +12 -0
- package/dist/session.js +23 -0
- package/dist/session.js.map +1 -1
- package/dist/settings.d.ts +81 -11
- package/dist/settings.js +160 -25
- package/dist/settings.js.map +1 -1
- package/dist/tools/confirm.d.ts +4 -2
- package/dist/tools/confirm.js +12 -3
- package/dist/tools/confirm.js.map +1 -1
- package/dist/tools/failures.d.ts +6 -8
- package/dist/tools/failures.js +36 -17
- package/dist/tools/failures.js.map +1 -1
- package/dist/tools/filter-tools.d.ts +82 -0
- package/dist/tools/filter-tools.js +729 -0
- package/dist/tools/filter-tools.js.map +1 -0
- package/dist/tools/filters.d.ts +8 -1
- package/dist/tools/filters.js +24 -12
- package/dist/tools/filters.js.map +1 -1
- package/dist/tools/format.d.ts +15 -0
- package/dist/tools/format.js +4 -3
- package/dist/tools/format.js.map +1 -1
- package/dist/tools/guidance.js +12 -7
- package/dist/tools/guidance.js.map +1 -1
- package/dist/tools/interface.d.ts +20 -6
- package/dist/tools/interface.js +40 -16
- package/dist/tools/interface.js.map +1 -1
- package/dist/tools/send.d.ts +9 -0
- package/dist/tools/send.js +51 -9
- package/dist/tools/send.js.map +1 -1
- package/dist/tools/sign-in-required.d.ts +15 -2
- package/dist/tools/sign-in-required.js +30 -2
- package/dist/tools/sign-in-required.js.map +1 -1
- package/dist/web/layout.d.ts +12 -5
- package/dist/web/layout.js +32 -9
- package/dist/web/layout.js.map +1 -1
- package/dist/web/pages.d.ts +4 -2
- package/dist/web/pages.js +10 -9
- package/dist/web/pages.js.map +1 -1
- package/dist/web/pending.d.ts +9 -6
- package/dist/web/pending.js +9 -7
- package/dist/web/pending.js.map +1 -1
- package/dist/web/preview-server.d.ts +33 -0
- package/dist/web/preview-server.js +102 -0
- package/dist/web/preview-server.js.map +1 -0
- package/dist/web/sections.d.ts +86 -1
- package/dist/web/sections.js +290 -7
- package/dist/web/sections.js.map +1 -1
- package/dist/web/security.d.ts +48 -13
- package/dist/web/security.js +68 -16
- package/dist/web/security.js.map +1 -1
- package/dist/web/server.d.ts +81 -24
- package/dist/web/server.js +478 -117
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -13,13 +13,18 @@
|
|
|
13
13
|
import { createRequire } from 'node:module';
|
|
14
14
|
import { randomBytes } from 'node:crypto';
|
|
15
15
|
import { McpServer, createRequestStateCodec } from '@modelcontextprotocol/server';
|
|
16
|
+
import { Permissions, PermissionsError, CONTROLLED, GROUPS, defaultLevel, levelsFor, } from './permissions.js';
|
|
16
17
|
import { serveStdio } from '@modelcontextprotocol/server/stdio';
|
|
17
18
|
import { loadConfig, credentialsFromEnvironment, portsSetExplicitly, ConfigError, } from './config.js';
|
|
18
19
|
import { Connection } from './bridge/connection.js';
|
|
19
20
|
import { loadPinned, pinPath } from './bridge/certificate.js';
|
|
20
21
|
import { Session } from './session.js';
|
|
21
22
|
import { encryptedFilePath } from './credentials/encrypted-file.js';
|
|
22
|
-
import { loadSettings,
|
|
23
|
+
import { loadSettings, updateSettings, watchSettings } from './settings.js';
|
|
24
|
+
import { registerInstance, listInstances, signedInOnlyElsewhere } from './instances.js';
|
|
25
|
+
import { STORE_DESCRIPTIONS } from './credentials/store.js';
|
|
26
|
+
import { PreviewServer } from './web/preview-server.js';
|
|
27
|
+
import { recordFromEnvironment, recordProblem, RecordError } from './mail/record.js';
|
|
23
28
|
import * as activity from './activity.js';
|
|
24
29
|
import { WebInterface } from './web/server.js';
|
|
25
30
|
import { registerListFolders } from './tools/list-folders.js';
|
|
@@ -31,12 +36,13 @@ import { registerDraftTools } from './tools/drafts.js';
|
|
|
31
36
|
import { registerSendTools } from './tools/send.js';
|
|
32
37
|
import { registerSavedAttachmentTools } from './tools/saved.js';
|
|
33
38
|
import { SavedAttachments } from './mail/saved-attachments.js';
|
|
34
|
-
import { setSignInHint, setLockedCheck } from './tools/failures.js';
|
|
39
|
+
import { setSignInHint, setLockedCheck, setElsewhereCheck, setPreviewBase } from './tools/failures.js';
|
|
35
40
|
import { pendingView } from './tools/pending-view.js';
|
|
36
41
|
import { setHandshakeCapabilities } from './tools/capabilities.js';
|
|
37
42
|
import { registerGuidance, INSTRUCTIONS } from './tools/guidance.js';
|
|
38
43
|
import { registerUpdateTool } from './tools/updates.js';
|
|
39
44
|
import { registerFilterTool } from './tools/filters.js';
|
|
45
|
+
import { registerBrowserFilterTools } from './tools/filter-tools.js';
|
|
40
46
|
import { waitForIdle } from './in-flight.js';
|
|
41
47
|
// The version number lives in package.json only.
|
|
42
48
|
// Writing it here a second time would mean forgetting it here. From
|
|
@@ -77,13 +83,65 @@ async function main() {
|
|
|
77
83
|
// Stored ports fill in only where the environment said nothing. An explicit
|
|
78
84
|
// BRIDGE_IMAP_PORT has to keep meaning what it says.
|
|
79
85
|
const explicitPorts = portsSetExplicitly();
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
|
|
86
|
+
// The settings shared by every running server. Held here and replaced
|
|
87
|
+
// whenever the file changes, whichever server changed it. Writes go through
|
|
88
|
+
// updateSettings, which reads the file first, so that a change made here
|
|
89
|
+
// cannot undo one made by another server a moment earlier.
|
|
90
|
+
let settings = await loadSettings();
|
|
83
91
|
if (!explicitPorts.imapPort && settings.imapPort !== undefined)
|
|
84
92
|
config.imapPort = settings.imapPort;
|
|
85
93
|
if (!explicitPorts.smtpPort && settings.smtpPort !== undefined)
|
|
86
94
|
config.smtpPort = settings.smtpPort;
|
|
95
|
+
/**
|
|
96
|
+
* The sign-in counter as this server last knew it. A higher number in the
|
|
97
|
+
* file means somebody signed in or out through the interface, possibly in
|
|
98
|
+
* another server, and the stored credentials have to be read again.
|
|
99
|
+
*/
|
|
100
|
+
let knownGeneration = settings.credentialsGeneration ?? 0;
|
|
101
|
+
// What the assistant may do, tool by tool. A mistake in the environment stops
|
|
102
|
+
// the start: running with permissions nobody chose would be worse.
|
|
103
|
+
let permissions;
|
|
104
|
+
try {
|
|
105
|
+
permissions = new Permissions({ settings: () => settings, readOnly: config.readOnly });
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
if (error instanceof PermissionsError) {
|
|
109
|
+
process.stderr.write(`${NAME}: ${error.message}\n`);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
// The recipient added to every message sent (#18). From the environment it is
|
|
115
|
+
// fixed; otherwise the interface sets it, guarded by the PIN when one is set.
|
|
116
|
+
let recordFromEnv;
|
|
117
|
+
try {
|
|
118
|
+
recordFromEnv = recordFromEnvironment();
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
if (error instanceof RecordError) {
|
|
122
|
+
process.stderr.write(`${NAME}: ${error.message}\n`);
|
|
123
|
+
process.exit(1);
|
|
124
|
+
}
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
const recordInForce = () => recordFromEnv ?? settings.record;
|
|
128
|
+
const startRecord = recordInForce();
|
|
129
|
+
if (startRecord) {
|
|
130
|
+
notify(`every message sent also goes to ${startRecord.address} (${startRecord.mode})`);
|
|
131
|
+
}
|
|
132
|
+
const departures = permissions.departures();
|
|
133
|
+
if (departures.length > 0) {
|
|
134
|
+
notify(`assistant permissions that differ from the default: ` +
|
|
135
|
+
departures.map((d) => `${d.tool} ${d.level} (${d.source})`).join(', '));
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Shows or hides the tools after a change of levels. Set once the MCP server
|
|
139
|
+
* exists; the settings watcher calls it whenever the file changes.
|
|
140
|
+
*/
|
|
141
|
+
let applyLevels = () => undefined;
|
|
142
|
+
/** The tools this server registered, so the permissions page lists only real ones. */
|
|
143
|
+
const registeredNames = new Set();
|
|
144
|
+
const groupOf = (tool) => Object.keys(GROUPS).find((group) => GROUPS[group].includes(tool)) ?? '';
|
|
87
145
|
const environmentCredentials = credentialsFromEnvironment();
|
|
88
146
|
const session = new Session({
|
|
89
147
|
...(environmentCredentials ? { fromEnvironment: environmentCredentials } : {}),
|
|
@@ -120,8 +178,176 @@ async function main() {
|
|
|
120
178
|
await probe.close();
|
|
121
179
|
}
|
|
122
180
|
};
|
|
181
|
+
// This server's entry in the list of running servers the interface shows.
|
|
182
|
+
// Nothing in it is secret: who is signed in is on the overview page anyway.
|
|
183
|
+
const instance = registerInstance({
|
|
184
|
+
pid: process.pid,
|
|
185
|
+
version: VERSION,
|
|
186
|
+
startedAt,
|
|
187
|
+
signedIn: session.signedIn,
|
|
188
|
+
servesInterface: false,
|
|
189
|
+
...(session.address ? { address: session.address } : {}),
|
|
190
|
+
...(session.storeKind ? { storeKind: session.storeKind } : {}),
|
|
191
|
+
});
|
|
192
|
+
const refreshInstance = () => {
|
|
193
|
+
instance.update({
|
|
194
|
+
signedIn: session.signedIn,
|
|
195
|
+
address: session.address,
|
|
196
|
+
storeKind: session.storeKind,
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
// The session restores credentials lazily, on the first tool call, so the
|
|
200
|
+
// entry is brought up to date now and then rather than only on sign-in.
|
|
201
|
+
setInterval(refreshInstance, 15_000).unref();
|
|
202
|
+
process.on('exit', () => instance.remove());
|
|
203
|
+
/**
|
|
204
|
+
* Tells every other running server that the stored credentials changed.
|
|
205
|
+
*
|
|
206
|
+
* The counter is raised in the shared settings, and each server rereads the
|
|
207
|
+
* stores when it sees that. This server raises its own idea of the number
|
|
208
|
+
* first, so it does not throw away the sign-in it just made.
|
|
209
|
+
*/
|
|
210
|
+
const announceCredentials = async () => {
|
|
211
|
+
try {
|
|
212
|
+
settings = await updateSettings((current) => {
|
|
213
|
+
knownGeneration = (current.credentialsGeneration ?? 0) + 1;
|
|
214
|
+
return { ...current, credentialsGeneration: knownGeneration };
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
notify(`other running servers could not be told about the sign-in: ${error.message}`);
|
|
219
|
+
}
|
|
220
|
+
};
|
|
123
221
|
const web = new WebInterface({
|
|
124
222
|
port: config.webPort,
|
|
223
|
+
getPin: () => settings.pin,
|
|
224
|
+
onPinChange: async (next) => {
|
|
225
|
+
try {
|
|
226
|
+
settings = await updateSettings((current) => {
|
|
227
|
+
const { pin: _old, ...rest } = current;
|
|
228
|
+
return next ? { ...rest, pin: next } : rest;
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
return `The PIN could not be saved: ${error.message}`;
|
|
233
|
+
}
|
|
234
|
+
notify(next ? 'a PIN now guards changes in the web interface' : 'the PIN of the web interface was removed');
|
|
235
|
+
return undefined;
|
|
236
|
+
},
|
|
237
|
+
getServers: () => listInstances().map((entry) => ({
|
|
238
|
+
pid: entry.pid,
|
|
239
|
+
version: entry.version,
|
|
240
|
+
startedAt: entry.startedAt,
|
|
241
|
+
signedIn: entry.signedIn,
|
|
242
|
+
servesInterface: entry.servesInterface,
|
|
243
|
+
...(entry.address ? { address: entry.address } : {}),
|
|
244
|
+
...(entry.storeKind ? { storeTitle: STORE_DESCRIPTIONS[entry.storeKind].title } : {}),
|
|
245
|
+
})),
|
|
246
|
+
onServingChange: (serving) => instance.update({ servesInterface: serving }),
|
|
247
|
+
getPermissions: () => {
|
|
248
|
+
const fixed = permissions.limitsFixed();
|
|
249
|
+
const limits = permissions.limits();
|
|
250
|
+
return {
|
|
251
|
+
tools: CONTROLLED.filter((tool) => registeredNames.has(tool)).map((tool) => {
|
|
252
|
+
const source = permissions.source(tool);
|
|
253
|
+
return {
|
|
254
|
+
tool,
|
|
255
|
+
group: groupOf(tool),
|
|
256
|
+
level: permissions.level(tool),
|
|
257
|
+
options: levelsFor(tool),
|
|
258
|
+
fixed: source === 'environment' || source === 'read-only',
|
|
259
|
+
source: permissions.where(tool),
|
|
260
|
+
departs: permissions.level(tool) !== defaultLevel(tool),
|
|
261
|
+
};
|
|
262
|
+
}),
|
|
263
|
+
limits: {
|
|
264
|
+
allowed: limits.allowed ?? [],
|
|
265
|
+
...(limits.maxPerHour !== undefined ? { maxPerHour: limits.maxPerHour } : {}),
|
|
266
|
+
...(limits.until ? { until: limits.until } : {}),
|
|
267
|
+
fixed,
|
|
268
|
+
},
|
|
269
|
+
};
|
|
270
|
+
},
|
|
271
|
+
onLevels: async (chosen) => {
|
|
272
|
+
try {
|
|
273
|
+
settings = await updateSettings((current) => {
|
|
274
|
+
const levels = { ...(current.levels ?? {}) };
|
|
275
|
+
for (const [tool, level] of Object.entries(chosen)) {
|
|
276
|
+
// Only departures are stored, so a default that changes in a later
|
|
277
|
+
// version reaches everyone who never chose otherwise.
|
|
278
|
+
if (level === defaultLevel(tool))
|
|
279
|
+
delete levels[tool];
|
|
280
|
+
else
|
|
281
|
+
levels[tool] = level;
|
|
282
|
+
}
|
|
283
|
+
const { levels: _old, ...rest } = current;
|
|
284
|
+
return Object.keys(levels).length > 0 ? { ...rest, levels } : rest;
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
return `The levels could not be saved: ${error.message}`;
|
|
289
|
+
}
|
|
290
|
+
applyLevels();
|
|
291
|
+
const now = permissions.departures();
|
|
292
|
+
notify(now.length > 0
|
|
293
|
+
? `assistant permissions changed: ${now.map((d) => `${d.tool} ${d.level}`).join(', ')}`
|
|
294
|
+
: 'assistant permissions are back to the default');
|
|
295
|
+
return undefined;
|
|
296
|
+
},
|
|
297
|
+
getRecord: () => {
|
|
298
|
+
const record = recordInForce();
|
|
299
|
+
return {
|
|
300
|
+
fixed: recordFromEnv !== undefined,
|
|
301
|
+
...(record ? { address: record.address, mode: record.mode } : {}),
|
|
302
|
+
};
|
|
303
|
+
},
|
|
304
|
+
onRecord: async (record) => {
|
|
305
|
+
if (record) {
|
|
306
|
+
const problem = recordProblem(record.address);
|
|
307
|
+
if (problem)
|
|
308
|
+
return problem;
|
|
309
|
+
}
|
|
310
|
+
try {
|
|
311
|
+
settings = await updateSettings((current) => {
|
|
312
|
+
const { record: _old, ...rest } = current;
|
|
313
|
+
return record ? { ...rest, record: { address: record.address.trim(), mode: record.mode } } : rest;
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
return `The copy recipient could not be saved: ${error.message}`;
|
|
318
|
+
}
|
|
319
|
+
notify(record ? `every message sent now also goes to ${record.address} (${record.mode})` : 'no copy is added to messages any more');
|
|
320
|
+
return undefined;
|
|
321
|
+
},
|
|
322
|
+
getFilterActions: () => ({ allowed: [...permissions.unlocks()], fixed: permissions.unlocksFixed() }),
|
|
323
|
+
onFilterActions: async (actions) => {
|
|
324
|
+
try {
|
|
325
|
+
settings = await updateSettings((current) => {
|
|
326
|
+
const { filterActions: _old, ...rest } = current;
|
|
327
|
+
return actions.length > 0 ? { ...rest, filterActions: actions } : rest;
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
return `What filters may do could not be saved: ${error.message}`;
|
|
332
|
+
}
|
|
333
|
+
notify(actions.length > 0
|
|
334
|
+
? `filters from an assistant may now also: ${actions.join(', ')}`
|
|
335
|
+
: 'filters from an assistant may only file and flag again');
|
|
336
|
+
return undefined;
|
|
337
|
+
},
|
|
338
|
+
onLimits: async (limits) => {
|
|
339
|
+
try {
|
|
340
|
+
settings = await updateSettings((current) => {
|
|
341
|
+
const { limits: _old, ...rest } = current;
|
|
342
|
+
return Object.keys(limits).length > 0 ? { ...rest, limits } : rest;
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
catch (error) {
|
|
346
|
+
return `The bounds could not be saved: ${error.message}`;
|
|
347
|
+
}
|
|
348
|
+
notify('the bounds on sending without asking changed');
|
|
349
|
+
return undefined;
|
|
350
|
+
},
|
|
125
351
|
onSignIn: async (credentials, storeKind, masterPassword) => {
|
|
126
352
|
const failure = await verify(credentials);
|
|
127
353
|
if (failure)
|
|
@@ -135,6 +361,8 @@ async function main() {
|
|
|
135
361
|
}
|
|
136
362
|
// Drop the old connection so the next call uses the new credentials.
|
|
137
363
|
await connection.close();
|
|
364
|
+
refreshInstance();
|
|
365
|
+
await announceCredentials();
|
|
138
366
|
if (left.length === 0)
|
|
139
367
|
return undefined;
|
|
140
368
|
return {
|
|
@@ -146,6 +374,8 @@ async function main() {
|
|
|
146
374
|
onSignOut: async () => {
|
|
147
375
|
const left = await session.signOut();
|
|
148
376
|
await connection.close();
|
|
377
|
+
refreshInstance();
|
|
378
|
+
await announceCredentials();
|
|
149
379
|
if (left.length === 0)
|
|
150
380
|
return undefined;
|
|
151
381
|
return (`Signed out here, but not everywhere. ${left.join(' ')} Until that is done, the next start ` +
|
|
@@ -229,13 +459,11 @@ async function main() {
|
|
|
229
459
|
: {
|
|
230
460
|
onPorts: async (ports) => {
|
|
231
461
|
try {
|
|
232
|
-
await
|
|
462
|
+
settings = await updateSettings((current) => ({ ...current, ...ports }));
|
|
233
463
|
}
|
|
234
464
|
catch (error) {
|
|
235
465
|
return `The ports could not be saved: ${error.message}`;
|
|
236
466
|
}
|
|
237
|
-
settings.imapPort = ports.imapPort;
|
|
238
|
-
settings.smtpPort = ports.smtpPort;
|
|
239
467
|
// The Connection reads this object on every reconnect, so closing
|
|
240
468
|
// the current one is all that is needed for the change to take.
|
|
241
469
|
config.imapPort = ports.imapPort;
|
|
@@ -245,14 +473,11 @@ async function main() {
|
|
|
245
473
|
return undefined;
|
|
246
474
|
},
|
|
247
475
|
}),
|
|
248
|
-
// The message behind an open confirmation, for the page that shows it.
|
|
249
|
-
// Held in memory by preview.ts and dropped as soon as the answer arrives.
|
|
250
|
-
getPending: (digest) => pendingView(digest),
|
|
251
476
|
noticeDismissed: () => settings.noticeDismissed === true,
|
|
252
477
|
onDismissNotice: async () => {
|
|
253
|
-
settings
|
|
478
|
+
settings = { ...settings, noticeDismissed: true };
|
|
254
479
|
try {
|
|
255
|
-
await
|
|
480
|
+
settings = await updateSettings((current) => ({ ...current, noticeDismissed: true }));
|
|
256
481
|
}
|
|
257
482
|
catch (error) {
|
|
258
483
|
// Worth a line, not worth failing over: the notice is hidden for this
|
|
@@ -291,16 +516,59 @@ async function main() {
|
|
|
291
516
|
},
|
|
292
517
|
notify,
|
|
293
518
|
});
|
|
519
|
+
// Follows the shared settings file, whichever server wrote it. Ports set in
|
|
520
|
+
// the environment stay as they are; a raised sign-in counter means the
|
|
521
|
+
// credentials changed through the interface, possibly in another server.
|
|
522
|
+
const stopWatching = watchSettings((next) => {
|
|
523
|
+
settings = next;
|
|
524
|
+
let reconnect = false;
|
|
525
|
+
if (!explicitPorts.imapPort && next.imapPort !== undefined && next.imapPort !== config.imapPort) {
|
|
526
|
+
config.imapPort = next.imapPort;
|
|
527
|
+
reconnect = true;
|
|
528
|
+
}
|
|
529
|
+
if (!explicitPorts.smtpPort && next.smtpPort !== undefined && next.smtpPort !== config.smtpPort) {
|
|
530
|
+
config.smtpPort = next.smtpPort;
|
|
531
|
+
reconnect = true;
|
|
532
|
+
}
|
|
533
|
+
const generation = next.credentialsGeneration ?? 0;
|
|
534
|
+
if (generation !== knownGeneration) {
|
|
535
|
+
knownGeneration = generation;
|
|
536
|
+
session.reloadShared();
|
|
537
|
+
reconnect = true;
|
|
538
|
+
}
|
|
539
|
+
if (reconnect)
|
|
540
|
+
void connection.close();
|
|
541
|
+
refreshInstance();
|
|
542
|
+
applyLevels();
|
|
543
|
+
});
|
|
544
|
+
// Messages waiting for confirmation are shown by this server itself, on a
|
|
545
|
+
// port of its own: they are held in its memory and nowhere else.
|
|
546
|
+
const preview = new PreviewServer({ getPending: (digest) => pendingView(digest), notify });
|
|
547
|
+
try {
|
|
548
|
+
await preview.start();
|
|
549
|
+
}
|
|
550
|
+
catch (error) {
|
|
551
|
+
notify(`messages waiting for confirmation cannot be previewed: ${error.message}`);
|
|
552
|
+
}
|
|
553
|
+
setPreviewBase((digest) => preview.urlFor(digest));
|
|
294
554
|
// Every tool answer about a missing sign-in names this address, so the model
|
|
295
555
|
// sends the user there instead of asking for the password in the chat.
|
|
296
|
-
setSignInHint(() => (web.
|
|
556
|
+
setSignInHint(() => (web.reachable ? web.url : undefined));
|
|
297
557
|
// So that a tool called while an encrypted file is still closed says what is
|
|
298
558
|
// actually missing: the master password, not the Bridge password.
|
|
299
559
|
setLockedCheck(() => session.locked());
|
|
560
|
+
// And so that a server which does not show the page says why it is not signed
|
|
561
|
+
// in while the one that does is: that sign-in stays with the other server.
|
|
562
|
+
// Read from the list of running servers at the moment of asking.
|
|
563
|
+
const signedInElsewhere = () => !web.running && signedInOnlyElsewhere(listInstances(), process.pid);
|
|
564
|
+
setElsewhereCheck(signedInElsewhere);
|
|
300
565
|
let webUrl;
|
|
301
566
|
try {
|
|
302
567
|
webUrl = await web.start();
|
|
303
|
-
|
|
568
|
+
if (web.running)
|
|
569
|
+
notify(`web interface at ${webUrl}`);
|
|
570
|
+
else if (web.reachable)
|
|
571
|
+
notify(`web interface at ${webUrl}, served by another running proton-mcp`);
|
|
304
572
|
if (!session.signedIn && !environmentCredentials) {
|
|
305
573
|
// Asking the session restores from a store, which is what makes this
|
|
306
574
|
// message true. Without it the answer is always "nothing stored": the
|
|
@@ -353,11 +621,28 @@ async function main() {
|
|
|
353
621
|
// reason to look anything up; the detail lives in the resources.
|
|
354
622
|
instructions: INSTRUCTIONS,
|
|
355
623
|
});
|
|
624
|
+
// Every tool is recorded as it is registered, so its level can show or hide
|
|
625
|
+
// it later. The SDK tells the client whenever that changes the list, and
|
|
626
|
+
// refuses a call to a tool that is switched off.
|
|
627
|
+
const tools = new Map();
|
|
628
|
+
const register = server.registerTool.bind(server);
|
|
629
|
+
server.registerTool = (...args) => {
|
|
630
|
+
const tool = register(...args);
|
|
631
|
+
tools.set(String(args[0]), tool);
|
|
632
|
+
registeredNames.add(String(args[0]));
|
|
633
|
+
return tool;
|
|
634
|
+
};
|
|
356
635
|
registerGuidance(server);
|
|
357
636
|
registerUpdateTool(server, VERSION);
|
|
358
637
|
// Handed nothing but the server: it answers filter requests without
|
|
359
638
|
// touching the Bridge, so there is no connection it could use.
|
|
360
639
|
registerFilterTool(server);
|
|
640
|
+
// Through the browser extension (#59). The account is the one signed in
|
|
641
|
+
// here, so the extension can refuse a Proton page of another account.
|
|
642
|
+
registerBrowserFilterTools(server, {
|
|
643
|
+
getCredentials: () => session.credentials(),
|
|
644
|
+
permissions,
|
|
645
|
+
});
|
|
361
646
|
registerListFolders(server, connection);
|
|
362
647
|
registerMessageTools(server, connection);
|
|
363
648
|
registerSavedAttachmentTools(server, connection, saved);
|
|
@@ -378,15 +663,32 @@ async function main() {
|
|
|
378
663
|
readOnly: () => config.readOnly,
|
|
379
664
|
from: () => session.address,
|
|
380
665
|
codec: sendCodec,
|
|
666
|
+
permissions,
|
|
667
|
+
record: recordInForce,
|
|
381
668
|
});
|
|
382
669
|
registerInterfaceTool(server, {
|
|
383
670
|
url: () => web.url,
|
|
384
671
|
running: () => web.running,
|
|
672
|
+
reachable: () => web.reachable,
|
|
673
|
+
occupant: () => web.occupant,
|
|
674
|
+
pinSet: () => settings.pin !== undefined,
|
|
385
675
|
signedIn: () => session.signedIn,
|
|
676
|
+
signedInElsewhere,
|
|
386
677
|
address: () => session.address,
|
|
387
678
|
storeKind: () => session.storeKind,
|
|
388
679
|
locked: () => session.locked(),
|
|
389
680
|
});
|
|
681
|
+
applyLevels = () => {
|
|
682
|
+
for (const [name, tool] of tools) {
|
|
683
|
+
const off = permissions.level(name) === 'off';
|
|
684
|
+
const enabled = tool.enabled !== false;
|
|
685
|
+
if (off && enabled)
|
|
686
|
+
tool.disable();
|
|
687
|
+
else if (!off && !enabled)
|
|
688
|
+
tool.enable();
|
|
689
|
+
}
|
|
690
|
+
};
|
|
691
|
+
applyLevels();
|
|
390
692
|
return server;
|
|
391
693
|
});
|
|
392
694
|
// Clean shutdown. stdin matters most: when the client dies the stream ends
|
|
@@ -411,7 +713,10 @@ async function main() {
|
|
|
411
713
|
notify('shutdown forced, a call was still running.');
|
|
412
714
|
try {
|
|
413
715
|
saved.stop();
|
|
716
|
+
stopWatching();
|
|
717
|
+
instance.remove();
|
|
414
718
|
await web.stop();
|
|
719
|
+
await preview.stop();
|
|
415
720
|
await connection.close();
|
|
416
721
|
await handle.close();
|
|
417
722
|
}
|
|
@@ -424,5 +729,14 @@ async function main() {
|
|
|
424
729
|
process.on('SIGINT', () => void shutdown());
|
|
425
730
|
process.on('SIGTERM', () => void shutdown());
|
|
426
731
|
}
|
|
427
|
-
|
|
732
|
+
// One more thing the same command does, so that nobody has to install a second
|
|
733
|
+
// package: setting up the helper Chrome starts for the browser extension (#59).
|
|
734
|
+
// Everything else is the server.
|
|
735
|
+
if (process.argv[2] === 'setup-browser') {
|
|
736
|
+
const { setupBrowser } = await import('./browser/setup.js');
|
|
737
|
+
process.exit(setupBrowser({ remove: process.argv.includes('--remove') }));
|
|
738
|
+
}
|
|
739
|
+
else {
|
|
740
|
+
void main();
|
|
741
|
+
}
|
|
428
742
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -93,6 +93,18 @@ export declare class Session {
|
|
|
93
93
|
* swallowed and looked like a clean sign-out (#52).
|
|
94
94
|
*/
|
|
95
95
|
signOut(): Promise<string[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Forgets credentials restored from a shared store, so the next use reads it again.
|
|
98
|
+
*
|
|
99
|
+
* Called when another running server signed in or out through the interface
|
|
100
|
+
* they all share. What the store holds may have changed, and the copy in this
|
|
101
|
+
* process would otherwise outlive a sign-out made somewhere else.
|
|
102
|
+
*
|
|
103
|
+
* Credentials from the environment are kept, because nothing in the interface
|
|
104
|
+
* overrules them. So are those held only in this process, for this session or
|
|
105
|
+
* from an encrypted file opened here: no other server can have changed them.
|
|
106
|
+
*/
|
|
107
|
+
reloadShared(): void;
|
|
96
108
|
/** Replaces a store. Used by tests and by the startup wiring. */
|
|
97
109
|
setStore(kind: StoreKind, store: CredentialStore): void;
|
|
98
110
|
}
|
package/dist/session.js
CHANGED
|
@@ -42,8 +42,11 @@ export class Session {
|
|
|
42
42
|
#notify;
|
|
43
43
|
/** Set once startup has looked for stored credentials. */
|
|
44
44
|
#restored = false;
|
|
45
|
+
/** True when the credentials came from the environment, which nothing here overrules. */
|
|
46
|
+
#fromEnvironment;
|
|
45
47
|
constructor(options = {}) {
|
|
46
48
|
this.#notify = options.notify ?? ((m) => process.stderr.write(`proton-mcp: ${m}\n`));
|
|
49
|
+
this.#fromEnvironment = options.fromEnvironment !== undefined;
|
|
47
50
|
// Taken up right away rather than on first use. Reading the environment
|
|
48
51
|
// costs nothing and cannot block, and leaving it for later made the status
|
|
49
52
|
// claim "not signed in" while the very next tool call worked.
|
|
@@ -224,6 +227,26 @@ export class Session {
|
|
|
224
227
|
this.#restored = true;
|
|
225
228
|
return left;
|
|
226
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Forgets credentials restored from a shared store, so the next use reads it again.
|
|
232
|
+
*
|
|
233
|
+
* Called when another running server signed in or out through the interface
|
|
234
|
+
* they all share. What the store holds may have changed, and the copy in this
|
|
235
|
+
* process would otherwise outlive a sign-out made somewhere else.
|
|
236
|
+
*
|
|
237
|
+
* Credentials from the environment are kept, because nothing in the interface
|
|
238
|
+
* overrules them. So are those held only in this process, for this session or
|
|
239
|
+
* from an encrypted file opened here: no other server can have changed them.
|
|
240
|
+
*/
|
|
241
|
+
reloadShared() {
|
|
242
|
+
if (this.#fromEnvironment)
|
|
243
|
+
return;
|
|
244
|
+
if (this.#storeKind === 'session' || this.#storeKind === 'encrypted-file')
|
|
245
|
+
return;
|
|
246
|
+
this.#credentials = undefined;
|
|
247
|
+
this.#storeKind = undefined;
|
|
248
|
+
this.#restored = false;
|
|
249
|
+
}
|
|
227
250
|
/** Empties every store but the one named, and says which could not be emptied. */
|
|
228
251
|
async #clearAll(except) {
|
|
229
252
|
const left = [];
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAWhD,mFAAmF;AACnF,MAAM,kBAAkB,GACtB,0FAA0F;IAC1F,kBAAkB,CAAA;AAEpB,MAAM,OAAO,OAAO;IAClB,YAAY,CAAyB;IACrC,UAAU,CAAuB;IACjC;;;;;;OAMG;IACH,eAAe,CAAoB;IAC1B,OAAO,CAAoC;IAC3C,OAAO,CAA2B;IAC3C,0DAA0D;IAC1D,SAAS,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|