@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/tools/send.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/tools/send.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/tools/send.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,21 @@ import type { CallToolResult, InputRequiredResult } from '@modelcontextprotocol/
|
|
|
53
53
|
* already taken the user to the page once.
|
|
54
54
|
*/
|
|
55
55
|
export declare const SIGN_IN_KEY = "protonMcpSignIn";
|
|
56
|
-
/**
|
|
57
|
-
|
|
56
|
+
/**
|
|
57
|
+
* The third reason: there is a sign-in, but on another server, in a way that
|
|
58
|
+
* stays there.
|
|
59
|
+
*
|
|
60
|
+
* Every assistant session starts its own server, and they share one page. A
|
|
61
|
+
* password kept for this session only, or read from an encrypted file opened
|
|
62
|
+
* there, lives in the memory of the server that shows the page and nowhere
|
|
63
|
+
* else. The page then shows that server's sign-in, with neither a sign-in
|
|
64
|
+
* form nor an unlock form for this one. Sent there with either message above,
|
|
65
|
+
* the user finds a page that says all is well, and signing in again for this
|
|
66
|
+
* session only signs in the same other server once more.
|
|
67
|
+
*/
|
|
68
|
+
export declare const ELSEWHERE_MESSAGE: string;
|
|
69
|
+
/** Which of the three situations a caller is in. */
|
|
70
|
+
export type MissingCredentials = 'not-signed-in' | 'locked' | 'elsewhere';
|
|
58
71
|
/**
|
|
59
72
|
* Whether the client said it can show a URL.
|
|
60
73
|
*
|
|
@@ -73,7 +73,29 @@ const MESSAGE = 'proton-mcp is not signed in to Proton Mail Bridge yet. Open the
|
|
|
73
73
|
const LOCKED_MESSAGE = 'proton-mcp has credentials stored, in an encrypted file that is not open yet. It needs the ' +
|
|
74
74
|
'master password that was chosen when they were saved. Nothing else is missing: the Bridge ' +
|
|
75
75
|
'password is already on disk, and no address has to be entered again.';
|
|
76
|
+
/**
|
|
77
|
+
* The third reason: there is a sign-in, but on another server, in a way that
|
|
78
|
+
* stays there.
|
|
79
|
+
*
|
|
80
|
+
* Every assistant session starts its own server, and they share one page. A
|
|
81
|
+
* password kept for this session only, or read from an encrypted file opened
|
|
82
|
+
* there, lives in the memory of the server that shows the page and nowhere
|
|
83
|
+
* else. The page then shows that server's sign-in, with neither a sign-in
|
|
84
|
+
* form nor an unlock form for this one. Sent there with either message above,
|
|
85
|
+
* the user finds a page that says all is well, and signing in again for this
|
|
86
|
+
* session only signs in the same other server once more.
|
|
87
|
+
*/
|
|
88
|
+
export const ELSEWHERE_MESSAGE = 'proton-mcp is not signed in here, although the configuration page shows a sign-in. That ' +
|
|
89
|
+
'sign-in belongs to another running proton-mcp, the one that shows the page, and its password ' +
|
|
90
|
+
'stays with that server: it was kept for this session only, or comes from an encrypted file ' +
|
|
91
|
+
'opened there. Every assistant session starts its own server, and such a password does not ' +
|
|
92
|
+
'reach this one. Two ways out, both for the user: on the page, sign out and sign in again, ' +
|
|
93
|
+
'keeping the password where every running server reads it, such as the system keyring; or end ' +
|
|
94
|
+
'the session whose server shows the page, after which this server shows the page itself and ' +
|
|
95
|
+
'asks for what it needs.';
|
|
76
96
|
function messageFor(state) {
|
|
97
|
+
if (state === 'elsewhere')
|
|
98
|
+
return ELSEWHERE_MESSAGE;
|
|
77
99
|
return state === 'locked' ? LOCKED_MESSAGE : MESSAGE;
|
|
78
100
|
}
|
|
79
101
|
/**
|
|
@@ -114,8 +136,11 @@ export function signInFailure(url, note, state = 'not-signed-in') {
|
|
|
114
136
|
? 'Tell the user to open it and enter their master password there. Do not ask for the ' +
|
|
115
137
|
'master password in this conversation: it is the one thing that can decrypt the stored ' +
|
|
116
138
|
'credentials, and it has no business in a transcript.'
|
|
117
|
-
:
|
|
118
|
-
'
|
|
139
|
+
: state === 'elsewhere'
|
|
140
|
+
? 'Tell the user to open it: its list of running servers shows which one is signed in ' +
|
|
141
|
+
'and where its password is kept. Do not ask for the password in this conversation.'
|
|
142
|
+
: 'Tell the user to open it and sign in there. Do not ask for the password in this ' +
|
|
143
|
+
'conversation.';
|
|
119
144
|
return {
|
|
120
145
|
content: [{ type: 'text', text: `${head}\n\nOpen ${url}\n\n${instruction}` }],
|
|
121
146
|
isError: true,
|
|
@@ -158,6 +183,9 @@ export function retryNote(attempt, state = 'not-signed-in') {
|
|
|
158
183
|
if (state === 'locked') {
|
|
159
184
|
return 'The page was opened but the credentials are still locked, so the master password was not entered.';
|
|
160
185
|
}
|
|
186
|
+
if (state === 'elsewhere') {
|
|
187
|
+
return 'The page was opened, but this server is still not signed in: the sign-in shown there still belongs to the server that shows the page.';
|
|
188
|
+
}
|
|
161
189
|
return 'The sign-in page was opened but no credentials arrived, so the sign-in was not completed.';
|
|
162
190
|
}
|
|
163
191
|
if (attempt === 'refused') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-in-required.js","sourceRoot":"","sources":["../../src/tools/sign-in-required.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAE5C,MAAM,OAAO,GACX,+FAA+F;IAC/F,8FAA8F;IAC9F,sCAAsC,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,cAAc,GAClB,6FAA6F;IAC7F,4FAA4F;IAC5F,sEAAsE,CAAA;
|
|
1
|
+
{"version":3,"file":"sign-in-required.js","sourceRoot":"","sources":["../../src/tools/sign-in-required.ts"],"names":[],"mappings":"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"}
|
package/dist/web/layout.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export declare function escapeHtml(value: string): string;
|
|
|
26
26
|
* entry today: Proton Drive is meant to sit beside Proton Mail later, and a
|
|
27
27
|
* structure introduced at that point would move everything the user had learned.
|
|
28
28
|
*/
|
|
29
|
-
export type Section = 'overview' | 'mailboxes' | 'bridge' | 'credentials' | 'activity'
|
|
29
|
+
export type Section = 'overview' | 'mailboxes' | 'bridge' | 'credentials' | 'permissions' | 'activity'
|
|
30
30
|
/** Pages outside the navigation: sign-in, unlock, rejection. */
|
|
31
31
|
| 'none';
|
|
32
32
|
/**
|
|
@@ -43,12 +43,12 @@ export type Section = 'overview' | 'mailboxes' | 'bridge' | 'credentials' | 'act
|
|
|
43
43
|
* browser, because a setting the server holds survives a different browser.
|
|
44
44
|
*/
|
|
45
45
|
export type DisclaimerState =
|
|
46
|
-
/** Shown, with the button. The token is bound to the dismissal path. */
|
|
46
|
+
/** Shown, with the button. The CSRF token is bound to the dismissal path. */
|
|
47
47
|
{
|
|
48
48
|
csrf: string;
|
|
49
49
|
from: Section;
|
|
50
50
|
}
|
|
51
|
-
/** Shown without a button:
|
|
51
|
+
/** Shown without a button: nothing to remember a dismissal with. */
|
|
52
52
|
| 'plain'
|
|
53
53
|
/** Dismissed earlier, so not shown at all. */
|
|
54
54
|
| 'dismissed';
|
|
@@ -61,11 +61,18 @@ export interface LayoutOptions {
|
|
|
61
61
|
* yet, and a rail full of dead links would suggest otherwise.
|
|
62
62
|
*/
|
|
63
63
|
section: Section;
|
|
64
|
-
/** Needed to build the links. Absent before anybody has signed in. */
|
|
65
|
-
token?: string;
|
|
66
64
|
/** Defaults to showing it without a button, the safe direction. */
|
|
67
65
|
disclaimer?: DisclaimerState;
|
|
68
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* The PIN field every form carries while a PIN is set.
|
|
69
|
+
*
|
|
70
|
+
* Asked again on every change rather than remembered in a cookie. A browser
|
|
71
|
+
* that remembered it would hand it to whatever drives that browser, and an
|
|
72
|
+
* assistant with a browser tool can drive the very browser the user signed in
|
|
73
|
+
* with. Empty markup when no PIN is set, so the forms look as they always did.
|
|
74
|
+
*/
|
|
75
|
+
export declare function pinField(required: boolean): string;
|
|
69
76
|
export declare function layout(options: LayoutOptions): string;
|
|
70
77
|
/** Renders a duration the way a person would say it. */
|
|
71
78
|
export declare function formatDuration(ms: number): string;
|
package/dist/web/layout.js
CHANGED
|
@@ -40,6 +40,7 @@ const ICONS = {
|
|
|
40
40
|
bridge: '<path d="M7 8V5m10 3V5M5 8h14v4a7 7 0 0 1-14 0z"/><path d="M12 19v2"/>',
|
|
41
41
|
credentials: '<circle cx="9" cy="12" r="4"/><path d="M13 12h8M18 12v4"/>',
|
|
42
42
|
activity: '<path d="M3 12h4l3 7 4-14 3 7h4"/>',
|
|
43
|
+
permissions: '<path d="M12 3l7 3v5c0 5-3 8-7 10-4-2-7-5-7-10V6z"/><path d="M9 12l2 2 4-4"/>',
|
|
43
44
|
};
|
|
44
45
|
function icon(name) {
|
|
45
46
|
return (`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" ` +
|
|
@@ -72,6 +73,12 @@ function navigation() {
|
|
|
72
73
|
label: 'Credentials',
|
|
73
74
|
icon: icon('credentials'),
|
|
74
75
|
},
|
|
76
|
+
{
|
|
77
|
+
section: 'permissions',
|
|
78
|
+
path: '/permissions',
|
|
79
|
+
label: 'Permissions',
|
|
80
|
+
icon: icon('permissions'),
|
|
81
|
+
},
|
|
75
82
|
{ section: 'activity', path: '/activity', label: 'Activity', icon: icon('activity') },
|
|
76
83
|
],
|
|
77
84
|
},
|
|
@@ -533,15 +540,31 @@ const STYLES = `
|
|
|
533
540
|
const DISCLAIMER = 'This is <strong>proton-mcp</strong>, an unofficial open source tool. It is not made by, ' +
|
|
534
541
|
'affiliated with or endorsed by Proton AG. "Proton" and "Proton Mail" are their trademarks. ' +
|
|
535
542
|
'This interface only talks to the Proton Mail Bridge running on your own machine.';
|
|
536
|
-
|
|
543
|
+
/**
|
|
544
|
+
* The PIN field every form carries while a PIN is set.
|
|
545
|
+
*
|
|
546
|
+
* Asked again on every change rather than remembered in a cookie. A browser
|
|
547
|
+
* that remembered it would hand it to whatever drives that browser, and an
|
|
548
|
+
* assistant with a browser tool can drive the very browser the user signed in
|
|
549
|
+
* with. Empty markup when no PIN is set, so the forms look as they always did.
|
|
550
|
+
*/
|
|
551
|
+
export function pinField(required) {
|
|
552
|
+
if (!required)
|
|
553
|
+
return '';
|
|
554
|
+
return `<label>PIN
|
|
555
|
+
<input type="password" name="pin" autocomplete="off" required>
|
|
556
|
+
</label>
|
|
557
|
+
<p class="hint">Every change here asks for the PIN, so that nothing but a person who knows it can make one.</p>`;
|
|
558
|
+
}
|
|
559
|
+
function disclaimerBanner(state) {
|
|
537
560
|
if (state === 'dismissed')
|
|
538
561
|
return '';
|
|
539
|
-
if (state === 'plain'
|
|
562
|
+
if (state === 'plain') {
|
|
540
563
|
return `<div class="disclaimer"><p>${DISCLAIMER}</p></div>`;
|
|
541
564
|
}
|
|
542
565
|
return `<div class="disclaimer">
|
|
543
566
|
<p>${DISCLAIMER}</p>
|
|
544
|
-
<form method="post" action="/dismiss-notice
|
|
567
|
+
<form method="post" action="/dismiss-notice">
|
|
545
568
|
<input type="hidden" name="csrf" value="${escapeHtml(state.csrf)}">
|
|
546
569
|
<input type="hidden" name="from" value="${escapeHtml(state.from)}">
|
|
547
570
|
<button type="submit" class="dismiss" title="Do not show this again"
|
|
@@ -549,12 +572,12 @@ function disclaimerBanner(state, token) {
|
|
|
549
572
|
</form>
|
|
550
573
|
</div>`;
|
|
551
574
|
}
|
|
552
|
-
function rail(current
|
|
575
|
+
function rail(current) {
|
|
553
576
|
const groups = navigation()
|
|
554
577
|
.map((group) => {
|
|
555
578
|
const links = group.entries
|
|
556
579
|
.map((entry) => {
|
|
557
|
-
const href =
|
|
580
|
+
const href = entry.path;
|
|
558
581
|
const mark = entry.section === current ? ' aria-current="page"' : '';
|
|
559
582
|
return `<a href="${href}"${mark}>${entry.icon}<span>${escapeHtml(entry.label)}</span></a>`;
|
|
560
583
|
})
|
|
@@ -575,8 +598,8 @@ function rail(current, token) {
|
|
|
575
598
|
</div>`;
|
|
576
599
|
}
|
|
577
600
|
export function layout(options) {
|
|
578
|
-
const { title, body, section,
|
|
579
|
-
const navigable = section !== 'none'
|
|
601
|
+
const { title, body, section, disclaimer = 'plain' } = options;
|
|
602
|
+
const navigable = section !== 'none';
|
|
580
603
|
return `<!DOCTYPE html>
|
|
581
604
|
<html lang="en">
|
|
582
605
|
<head>
|
|
@@ -588,10 +611,10 @@ export function layout(options) {
|
|
|
588
611
|
</head>
|
|
589
612
|
<body>
|
|
590
613
|
<div class="frame">
|
|
591
|
-
${navigable ? rail(section
|
|
614
|
+
${navigable ? rail(section) : ''}
|
|
592
615
|
<div class="content">
|
|
593
616
|
<main>
|
|
594
|
-
${disclaimerBanner(disclaimer
|
|
617
|
+
${disclaimerBanner(disclaimer)}
|
|
595
618
|
${body}
|
|
596
619
|
</main>
|
|
597
620
|
</div>
|
package/dist/web/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/web/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/web/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC3B,CAAC;AA+BD;;;;;;;GAOG;AACH,MAAM,KAAK,GAAG;IACZ,QAAQ,EACN,gEAAgE;IAClE,SAAS,EAAE,oCAAoC;IAC/C,MAAM,EAAE,wEAAwE;IAChF,WAAW,EACT,4DAA4D;IAC9D,QAAQ,EAAE,oCAAoC;IAC9C,WAAW,EAAE,+EAA+E;CACpF,CAAA;AAEV,SAAS,IAAI,CAAC,IAAwB;IACpC,OAAO,CACL,gFAAgF;QAChF,qEAAqE,KAAK,CAAC,IAAI,CAAC,QAAQ,CACzF,CAAA;AACH,CAAC;AAED,wEAAwE;AACxE,SAAS,UAAU;IACjB,OAAO;QACL;YACE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;SACzF;QACD;YACE,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE;gBACP;oBACE,OAAO,EAAE,WAAW;oBACpB,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;iBACxB;aACF;SACF;QACD;YACE,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC7E;oBACE,OAAO,EAAE,aAAa;oBACtB,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;iBAC1B;gBACD;oBACE,OAAO,EAAE,aAAa;oBACtB,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;iBAC1B;gBACD,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;aACtF;SACF;KACF,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2bd,CAAA;AAED,wDAAwD;AACxD,MAAM,UAAU,GACd,0FAA0F;IAC1F,6FAA6F;IAC7F,kFAAkF,CAAA;AAoCpF;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAiB;IACxC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IACxB,OAAO;;;kHAGyG,CAAA;AAClH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAsB;IAC9C,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,CAAA;IACpC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,8BAA8B,UAAU,YAAY,CAAA;IAC7D,CAAC;IACD,OAAO;OACF,UAAU;;8CAE6B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;8CACtB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;;;;OAI7D,CAAA;AACP,CAAC;AAED,SAAS,IAAI,CAAC,OAAgB;IAC5B,MAAM,MAAM,GAAG,UAAU,EAAE;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;aACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAA;YACpE,OAAO,YAAY,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAA;QAC5F,CAAC,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,CAAA;QACnB,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,OAAO,qBAAqB,KAAK,IAAI,OAAO,WAAW,KAAK,cAAc,CAAA;IAC5E,CAAC,CAAC;SACD,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEjB,OAAO;;MAEH,MAAM;;SAEH,CAAA;AACT,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,EAAE,GAAG,OAAO,CAAA;IAC9D,MAAM,SAAS,GAAG,OAAO,KAAK,MAAM,CAAA;IAEpC,OAAO;;;;;;SAMA,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM;;;;EAIb,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;;;EAG9B,gBAAgB,CAAC,UAAU,CAAC;EAC5B,IAAI;;;;;;CAML,CAAA;AACD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAA;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACrC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,IAAI,CAAA;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACxC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,QAAQ,OAAO,GAAG,EAAE,IAAI,CAAA;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACtC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,MAAM,OAAO,GAAG,EAAE,MAAM,CAAA;IACvD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE,IAAI,CAAA;AACtD,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,OAAO,OAAO,CAAC,CAAC,CAAC,sBAAsB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;AACzE,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,YAAY,CAAC,OAA2B;IACtD,OAAO,OAAO,CAAC,CAAC,CAAC,uBAAuB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;AAC1E,CAAC"}
|
package/dist/web/pages.d.ts
CHANGED
|
@@ -19,8 +19,9 @@ import { type StoreKind } from '../credentials/store.js';
|
|
|
19
19
|
import type { StoreAvailability } from '../credentials/availability.js';
|
|
20
20
|
export { escapeHtml, formatDuration } from './layout.js';
|
|
21
21
|
export interface LoginPageData {
|
|
22
|
-
token: string;
|
|
23
22
|
csrf: string;
|
|
23
|
+
/** True while a PIN is set: then signing in asks for it as well. */
|
|
24
|
+
pinRequired?: boolean;
|
|
24
25
|
/** See sections.ts: required so that it cannot be lost by omission. */
|
|
25
26
|
disclaimer: DisclaimerState;
|
|
26
27
|
/** Where the Bridge is expected, prefilled into the advanced block. */
|
|
@@ -56,8 +57,9 @@ export interface LoginPageData {
|
|
|
56
57
|
*/
|
|
57
58
|
export declare function loginPage(data: LoginPageData): string;
|
|
58
59
|
export interface UnlockPageData {
|
|
59
|
-
token: string;
|
|
60
60
|
csrf: string;
|
|
61
|
+
/** True while a PIN is set: then both forms ask for it as well. */
|
|
62
|
+
pinRequired?: boolean;
|
|
61
63
|
disclaimer: DisclaimerState;
|
|
62
64
|
/** CSRF token for throwing the file away, bound to that action alone. */
|
|
63
65
|
csrfDiscard: string;
|
package/dist/web/pages.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* sections that appear afterwards are in sections.ts, the frame they share in
|
|
15
15
|
* layout.ts.
|
|
16
16
|
*/
|
|
17
|
-
import { layout, escapeHtml, errorBanner } from './layout.js';
|
|
17
|
+
import { layout, escapeHtml, errorBanner, pinField } from './layout.js';
|
|
18
18
|
import { EXPOSURE_LABELS, } from '../credentials/store.js';
|
|
19
19
|
export { escapeHtml, formatDuration } from './layout.js';
|
|
20
20
|
function exposureTag(exposure) {
|
|
@@ -184,7 +184,6 @@ export function loginPage(data) {
|
|
|
184
184
|
return layout({
|
|
185
185
|
title: 'Sign in',
|
|
186
186
|
section: 'none',
|
|
187
|
-
token: data.token,
|
|
188
187
|
disclaimer: data.disclaimer,
|
|
189
188
|
body: `<h1>Connect to Proton Mail Bridge</h1>
|
|
190
189
|
<p class="lead">Enter the credentials the Bridge generated for your account. This page runs on your
|
|
@@ -192,7 +191,7 @@ own machine and the password is never sent anywhere else.</p>
|
|
|
192
191
|
|
|
193
192
|
${errorBanner(data.error)}
|
|
194
193
|
|
|
195
|
-
<form method="post" action="/sign-in
|
|
194
|
+
<form method="post" action="/sign-in" class="sign-in">
|
|
196
195
|
<input type="hidden" name="csrf" value="${escapeHtml(data.csrf)}">
|
|
197
196
|
<input type="checkbox" id="warning-seen" class="offscreen">
|
|
198
197
|
|
|
@@ -218,6 +217,7 @@ ${options}
|
|
|
218
217
|
${advancedSettings(data)}
|
|
219
218
|
|
|
220
219
|
<div class="card">
|
|
220
|
+
${pinField(data.pinRequired === true)}
|
|
221
221
|
<button type="submit">Connect</button>
|
|
222
222
|
<p class="hint">Nothing is sent until you press this. The Bridge is asked whether the credentials
|
|
223
223
|
work before they are stored anywhere.</p>
|
|
@@ -241,7 +241,6 @@ export function unlockPage(data) {
|
|
|
241
241
|
return layout({
|
|
242
242
|
title: 'Unlock',
|
|
243
243
|
section: 'none',
|
|
244
|
-
token: data.token,
|
|
245
244
|
disclaimer: data.disclaimer,
|
|
246
245
|
body: `<h1>Unlock the stored credentials</h1>
|
|
247
246
|
<p class="lead">Your Bridge password is saved in an encrypted file. Enter the master password you
|
|
@@ -250,12 +249,13 @@ chose for it and the server can connect again.</p>
|
|
|
250
249
|
${errorBanner(data.error)}
|
|
251
250
|
|
|
252
251
|
<div class="card">
|
|
253
|
-
<form method="post" action="/unlock
|
|
252
|
+
<form method="post" action="/unlock">
|
|
254
253
|
<input type="hidden" name="csrf" value="${escapeHtml(data.csrf)}">
|
|
255
254
|
<label for="master">Master password</label>
|
|
256
255
|
<input id="master" name="master" type="password" autocomplete="current-password" autofocus>
|
|
257
256
|
<p class="hint">The file is at <code>${escapeHtml(data.path)}</code>. Nothing but this password
|
|
258
257
|
can open it, not even this server.</p>
|
|
258
|
+
${pinField(data.pinRequired === true)}
|
|
259
259
|
<button type="submit">Unlock</button>
|
|
260
260
|
</form>
|
|
261
261
|
</div>
|
|
@@ -264,8 +264,9 @@ ${errorBanner(data.error)}
|
|
|
264
264
|
<h2>Forgot the master password?</h2>
|
|
265
265
|
<p>Then the file cannot be opened, by anyone. Throwing it away is the only way forward. You will
|
|
266
266
|
have to look your Bridge password up in the Bridge again and sign in from scratch.</p>
|
|
267
|
-
<form method="post" action="/discard-encrypted
|
|
267
|
+
<form method="post" action="/discard-encrypted">
|
|
268
268
|
<input type="hidden" name="csrf" value="${escapeHtml(data.csrfDiscard)}">
|
|
269
|
+
${pinField(data.pinRequired === true)}
|
|
269
270
|
<button type="submit" class="danger">Delete the file and start over</button>
|
|
270
271
|
</form>
|
|
271
272
|
</div>`,
|
|
@@ -277,9 +278,9 @@ export function rejectionPage() {
|
|
|
277
278
|
title: 'Not available',
|
|
278
279
|
section: 'none',
|
|
279
280
|
body: `<h1>Not available</h1>
|
|
280
|
-
<p>This request was refused
|
|
281
|
-
<p class="hint">The
|
|
282
|
-
and it
|
|
281
|
+
<p>This request was refused.</p>
|
|
282
|
+
<p class="hint">The interface answers only to requests from this machine, addressed to 127.0.0.1 or
|
|
283
|
+
localhost, and only to forms it served itself. Open it again from its own address.</p>`,
|
|
283
284
|
});
|
|
284
285
|
}
|
|
285
286
|
//# sourceMappingURL=pages.js.map
|
package/dist/web/pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/web/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAwB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/web/pages.ts"],"names":[],"mappings":"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"}
|
package/dist/web/pending.d.ts
CHANGED
|
@@ -8,10 +8,14 @@
|
|
|
8
8
|
* read.
|
|
9
9
|
*
|
|
10
10
|
* **The answer is not given here.** There is no confirm button on this page and
|
|
11
|
-
* there must never be one. The
|
|
12
|
-
* assistant
|
|
13
|
-
* the thing being supervised. The question is answered
|
|
14
|
-
* where it goes through a person.
|
|
11
|
+
* there must never be one. The link to it travels through the client and so
|
|
12
|
+
* reaches the assistant, which can open it with a browser tool, so a button here
|
|
13
|
+
* could be pressed by the thing being supervised. The question is answered
|
|
14
|
+
* through the client, where it goes through a person.
|
|
15
|
+
*
|
|
16
|
+
* Served by the server that asked, on a port of its own, rather than by the
|
|
17
|
+
* shared interface: the message is held in the memory of that one server, and
|
|
18
|
+
* a decrypted message has no business travelling to another process.
|
|
15
19
|
*
|
|
16
20
|
* ## Rendering somebody else's markup
|
|
17
21
|
*
|
|
@@ -32,7 +36,6 @@ export interface PendingUrl {
|
|
|
32
36
|
kind: 'link' | 'image' | 'style';
|
|
33
37
|
}
|
|
34
38
|
export interface PendingData {
|
|
35
|
-
token: string;
|
|
36
39
|
disclaimer: DisclaimerState;
|
|
37
40
|
/** Which tool asked, so the page says what would actually happen. */
|
|
38
41
|
tool: string;
|
|
@@ -73,4 +76,4 @@ export interface PendingData {
|
|
|
73
76
|
}
|
|
74
77
|
export declare function pendingPage(data: PendingData): string;
|
|
75
78
|
/** Shown when a preview is asked for that is no longer waiting. */
|
|
76
|
-
export declare function noPendingPage(
|
|
79
|
+
export declare function noPendingPage(disclaimer: DisclaimerState): string;
|
package/dist/web/pending.js
CHANGED
|
@@ -8,10 +8,14 @@
|
|
|
8
8
|
* read.
|
|
9
9
|
*
|
|
10
10
|
* **The answer is not given here.** There is no confirm button on this page and
|
|
11
|
-
* there must never be one. The
|
|
12
|
-
* assistant
|
|
13
|
-
* the thing being supervised. The question is answered
|
|
14
|
-
* where it goes through a person.
|
|
11
|
+
* there must never be one. The link to it travels through the client and so
|
|
12
|
+
* reaches the assistant, which can open it with a browser tool, so a button here
|
|
13
|
+
* could be pressed by the thing being supervised. The question is answered
|
|
14
|
+
* through the client, where it goes through a person.
|
|
15
|
+
*
|
|
16
|
+
* Served by the server that asked, on a port of its own, rather than by the
|
|
17
|
+
* shared interface: the message is held in the memory of that one server, and
|
|
18
|
+
* a decrypted message has no business travelling to another process.
|
|
15
19
|
*
|
|
16
20
|
* ## Rendering somebody else's markup
|
|
17
21
|
*
|
|
@@ -177,7 +181,6 @@ for. They are visible in the preview above.</p>
|
|
|
177
181
|
return layout({
|
|
178
182
|
title: 'Waiting to be sent',
|
|
179
183
|
section: 'none',
|
|
180
|
-
token: data.token,
|
|
181
184
|
disclaimer: data.disclaimer,
|
|
182
185
|
body: `<h1>${escapeHtml(what)} is waiting for your answer</h1>
|
|
183
186
|
<p class="lead">Nothing has been sent. Read it here, then answer the question in your assistant.
|
|
@@ -206,11 +209,10 @@ ${quoted}`,
|
|
|
206
209
|
});
|
|
207
210
|
}
|
|
208
211
|
/** Shown when a preview is asked for that is no longer waiting. */
|
|
209
|
-
export function noPendingPage(
|
|
212
|
+
export function noPendingPage(disclaimer) {
|
|
210
213
|
return layout({
|
|
211
214
|
title: 'Nothing waiting',
|
|
212
215
|
section: 'none',
|
|
213
|
-
token,
|
|
214
216
|
disclaimer,
|
|
215
217
|
body: `<h1>Nothing is waiting to be sent</h1>
|
|
216
218
|
<p class="lead">Either the question was already answered, or it was asked long enough ago that the
|
package/dist/web/pending.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending.js","sourceRoot":"","sources":["../../src/web/pending.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pending.js","sourceRoot":"","sources":["../../src/web/pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shows a message waiting for confirmation, from the server that holds it.
|
|
3
|
+
*
|
|
4
|
+
* Until 2026-11-05 this was a page of the interface. Since then every running
|
|
5
|
+
* server shares one interface at a fixed address, served by whichever started
|
|
6
|
+
* first, but a waiting message lives only in the memory of the server that
|
|
7
|
+
* asked about it. Handing it to the server behind the interface would send
|
|
8
|
+
* decrypted mail from one process to another for the sake of a page. So each
|
|
9
|
+
* server shows its own, on a port the operating system picks.
|
|
10
|
+
*
|
|
11
|
+
* What protects the page: it listens on loopback only, refuses any Host header
|
|
12
|
+
* that is not this machine, and finds a message only by the digest of its
|
|
13
|
+
* recipients, subject and body, which nobody can produce without knowing all
|
|
14
|
+
* three already. It serves nothing else, has no form and no button, and keeps
|
|
15
|
+
* the interface's content security policy, which also governs the sandboxed
|
|
16
|
+
* frame the message is drawn in.
|
|
17
|
+
*/
|
|
18
|
+
import { type PendingData } from './pending.js';
|
|
19
|
+
export interface PreviewServerOptions {
|
|
20
|
+
/** The message behind a digest, or nothing when none is waiting. */
|
|
21
|
+
getPending: (digest: string) => Omit<PendingData, 'disclaimer'> | undefined;
|
|
22
|
+
/** Where notices go. stderr, never stdout, which carries the MCP protocol. */
|
|
23
|
+
notify?: (message: string) => void;
|
|
24
|
+
}
|
|
25
|
+
export declare class PreviewServer {
|
|
26
|
+
#private;
|
|
27
|
+
constructor(options: PreviewServerOptions);
|
|
28
|
+
get running(): boolean;
|
|
29
|
+
/** The address of one waiting message, or nothing while not running. */
|
|
30
|
+
urlFor(digest: string): string | undefined;
|
|
31
|
+
start(): Promise<void>;
|
|
32
|
+
stop(): Promise<void>;
|
|
33
|
+
}
|