@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.
Files changed (95) hide show
  1. package/README.md +138 -21
  2. package/dist/browser/channel.d.ts +76 -0
  3. package/dist/browser/channel.js +162 -0
  4. package/dist/browser/channel.js.map +1 -0
  5. package/dist/browser/client.d.ts +50 -0
  6. package/dist/browser/client.js +284 -0
  7. package/dist/browser/client.js.map +1 -0
  8. package/dist/browser/connector.d.ts +15 -0
  9. package/dist/browser/connector.js +26 -0
  10. package/dist/browser/connector.js.map +1 -0
  11. package/dist/browser/host.d.ts +50 -0
  12. package/dist/browser/host.js +258 -0
  13. package/dist/browser/host.js.map +1 -0
  14. package/dist/browser/messages.d.ts +163 -0
  15. package/dist/browser/messages.js +338 -0
  16. package/dist/browser/messages.js.map +1 -0
  17. package/dist/browser/paths.d.ts +51 -0
  18. package/dist/browser/paths.js +92 -0
  19. package/dist/browser/paths.js.map +1 -0
  20. package/dist/browser/setup.d.ts +42 -0
  21. package/dist/browser/setup.js +170 -0
  22. package/dist/browser/setup.js.map +1 -0
  23. package/dist/filters/order.d.ts +66 -0
  24. package/dist/filters/order.js +108 -0
  25. package/dist/filters/order.js.map +1 -0
  26. package/dist/filters/sieve.d.ts +184 -0
  27. package/dist/filters/sieve.js +1312 -0
  28. package/dist/filters/sieve.js.map +1 -0
  29. package/dist/instances.d.ts +58 -0
  30. package/dist/instances.js +145 -0
  31. package/dist/instances.js.map +1 -0
  32. package/dist/mail/compose.d.ts +10 -0
  33. package/dist/mail/compose.js.map +1 -1
  34. package/dist/mail/record.d.ts +36 -0
  35. package/dist/mail/record.js +74 -0
  36. package/dist/mail/record.js.map +1 -0
  37. package/dist/permissions.d.ts +139 -0
  38. package/dist/permissions.js +355 -0
  39. package/dist/permissions.js.map +1 -0
  40. package/dist/server.js +330 -16
  41. package/dist/server.js.map +1 -1
  42. package/dist/session.d.ts +12 -0
  43. package/dist/session.js +23 -0
  44. package/dist/session.js.map +1 -1
  45. package/dist/settings.d.ts +81 -11
  46. package/dist/settings.js +160 -25
  47. package/dist/settings.js.map +1 -1
  48. package/dist/tools/confirm.d.ts +4 -2
  49. package/dist/tools/confirm.js +12 -3
  50. package/dist/tools/confirm.js.map +1 -1
  51. package/dist/tools/failures.d.ts +6 -8
  52. package/dist/tools/failures.js +36 -17
  53. package/dist/tools/failures.js.map +1 -1
  54. package/dist/tools/filter-tools.d.ts +82 -0
  55. package/dist/tools/filter-tools.js +729 -0
  56. package/dist/tools/filter-tools.js.map +1 -0
  57. package/dist/tools/filters.d.ts +8 -1
  58. package/dist/tools/filters.js +24 -12
  59. package/dist/tools/filters.js.map +1 -1
  60. package/dist/tools/format.d.ts +15 -0
  61. package/dist/tools/format.js +4 -3
  62. package/dist/tools/format.js.map +1 -1
  63. package/dist/tools/guidance.js +12 -7
  64. package/dist/tools/guidance.js.map +1 -1
  65. package/dist/tools/interface.d.ts +20 -6
  66. package/dist/tools/interface.js +40 -16
  67. package/dist/tools/interface.js.map +1 -1
  68. package/dist/tools/send.d.ts +9 -0
  69. package/dist/tools/send.js +51 -9
  70. package/dist/tools/send.js.map +1 -1
  71. package/dist/tools/sign-in-required.d.ts +15 -2
  72. package/dist/tools/sign-in-required.js +30 -2
  73. package/dist/tools/sign-in-required.js.map +1 -1
  74. package/dist/web/layout.d.ts +12 -5
  75. package/dist/web/layout.js +32 -9
  76. package/dist/web/layout.js.map +1 -1
  77. package/dist/web/pages.d.ts +4 -2
  78. package/dist/web/pages.js +10 -9
  79. package/dist/web/pages.js.map +1 -1
  80. package/dist/web/pending.d.ts +9 -6
  81. package/dist/web/pending.js +9 -7
  82. package/dist/web/pending.js.map +1 -1
  83. package/dist/web/preview-server.d.ts +33 -0
  84. package/dist/web/preview-server.js +102 -0
  85. package/dist/web/preview-server.js.map +1 -0
  86. package/dist/web/sections.d.ts +86 -1
  87. package/dist/web/sections.js +290 -7
  88. package/dist/web/sections.js.map +1 -1
  89. package/dist/web/security.d.ts +48 -13
  90. package/dist/web/security.js +68 -16
  91. package/dist/web/security.js.map +1 -1
  92. package/dist/web/server.d.ts +81 -24
  93. package/dist/web/server.js +478 -117
  94. package/dist/web/server.js.map +1 -1
  95. package/package.json +1 -1
@@ -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
- /** Which of the two situations a caller is in. */
57
- export type MissingCredentials = 'not-signed-in' | 'locked';
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
- : 'Tell the user to open it and sign in there. Do not ask for the password in this ' +
118
- 'conversation.';
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;AAKxE,SAAS,UAAU,CAAC,KAAyB;IAC3C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAA;AACtD,CAAC;AAUD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAC3B,GAAuB,EACvB,IAAa,EACb,KAAK,GAAuB,eAAe;IAE3C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAErD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,IAAI,GACR,KAAK,KAAK,QAAQ;YAChB,CAAC,CAAC,GAAG,IAAI,kFAAkF;gBACzF,4EAA4E;gBAC5E,uFAAuF;gBACvF,uCAAuC;YACzC,CAAC,CAAC,GAAG,IAAI,gFAAgF;gBACvF,4EAA4E,CAAA;QAClF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC7D,CAAC;IAED,MAAM,WAAW,GACf,KAAK,KAAK,QAAQ;QAChB,CAAC,CAAC,qFAAqF;YACrF,wFAAwF;YACxF,sDAAsD;QACxD,CAAC,CAAC,kFAAkF;YAClF,eAAe,CAAA;IAErB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,YAAY,GAAG,OAAO,WAAW,EAAE,EAAE,CAAC;QAC7E,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,KAAK,GAAuB,eAAe;IAE3C,OAAO,aAAa,CAAC;QACnB,aAAa,EAAE;YACb,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;SAC5E;KACF,CAAC,CAAA;AACJ,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,SAAS,GAAI,GAAqB,EAAE,MAAM,EAAE,cAAc,CAAA;IAChE,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAA;IAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAClD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAA;IACzE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,SAAS,CACvB,OAAqB,EACrB,KAAK,GAAuB,eAAe;IAE3C,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO,mGAAmG,CAAA;QAC5G,CAAC;QACD,OAAO,2FAA2F,CAAA;IACpG,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,iEAAiE,CAAA;IAC1E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"sign-in-required.js","sourceRoot":"","sources":["../../src/tools/sign-in-required.ts"],"names":[],"mappings":"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"}
@@ -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: no valid session to remember a dismissal against. */
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;
@@ -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
- function disclaimerBanner(state, token) {
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' || token === undefined) {
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?token=${escapeHtml(token)}">
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, token) {
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 = `${entry.path}?token=${escapeHtml(token)}`;
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, token, disclaimer = 'plain' } = options;
579
- const navigable = section !== 'none' && token !== undefined;
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, token) : ''}
614
+ ${navigable ? rail(section) : ''}
592
615
  <div class="content">
593
616
  <main>
594
- ${disclaimerBanner(disclaimer, token)}
617
+ ${disclaimerBanner(disclaimer)}
595
618
  ${body}
596
619
  </main>
597
620
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/web/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/web/layout.ts"],"names":[],"mappings":"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"}
@@ -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?token=${escapeHtml(data.token)}" class="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?token=${escapeHtml(data.token)}">
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?token=${escapeHtml(data.token)}">
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. Either the link is wrong or it has expired.</p>
281
- <p class="hint">The address for this interface is printed by the server when it asks you to sign in,
282
- and it changes every time the server restarts.</p>`,
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
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/web/pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/web/pages.ts"],"names":[],"mappings":"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"}
@@ -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 access token for this interface reaches the
12
- * assistant through `open_configuration`, so a button here could be pressed by
13
- * the thing being supervised. The question is answered through the client,
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(token: string, disclaimer: DisclaimerState): string;
79
+ export declare function noPendingPage(disclaimer: DisclaimerState): string;
@@ -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 access token for this interface reaches the
12
- * assistant through `open_configuration`, so a button here could be pressed by
13
- * the thing being supervised. The question is answered through the client,
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(token, disclaimer) {
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
@@ -1 +1 @@
1
- {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../src/web/pending.ts"],"names":[],"mappings":"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"}
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
+ }