@trusty-squire/mcp 1.1.13-rc.8 → 1.1.13

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 (162) hide show
  1. package/README.md +139 -62
  2. package/assets/login/vnc-input.js +9 -0
  3. package/assets/login/vnc.html +214 -202
  4. package/assets/screencaps/connect-walkthrough.png +0 -0
  5. package/assets/screencaps/connect-walkthrough.svg +1 -1
  6. package/dist/api-client.d.ts +26 -3
  7. package/dist/api-client.d.ts.map +1 -1
  8. package/dist/api-client.js +19 -31
  9. package/dist/api-client.js.map +1 -1
  10. package/dist/bin.js +2 -3
  11. package/dist/bin.js.map +1 -1
  12. package/dist/bot/browser.d.ts +134 -77
  13. package/dist/bot/browser.d.ts.map +1 -1
  14. package/dist/bot/browser.js +1788 -1543
  15. package/dist/bot/browser.js.map +1 -1
  16. package/dist/bot/compact-observation-v2.d.ts +167 -0
  17. package/dist/bot/compact-observation-v2.d.ts.map +1 -0
  18. package/dist/bot/compact-observation-v2.js +1038 -0
  19. package/dist/bot/compact-observation-v2.js.map +1 -0
  20. package/dist/bot/credential-shape.d.ts +2 -0
  21. package/dist/bot/credential-shape.d.ts.map +1 -1
  22. package/dist/bot/credential-shape.js +21 -8
  23. package/dist/bot/credential-shape.js.map +1 -1
  24. package/dist/bot/element-fingerprint.d.ts +9 -0
  25. package/dist/bot/element-fingerprint.d.ts.map +1 -0
  26. package/dist/bot/element-fingerprint.js +147 -0
  27. package/dist/bot/element-fingerprint.js.map +1 -0
  28. package/dist/bot/email-verification.d.ts +7 -1
  29. package/dist/bot/email-verification.d.ts.map +1 -1
  30. package/dist/bot/email-verification.js +48 -14
  31. package/dist/bot/email-verification.js.map +1 -1
  32. package/dist/bot/google-login.d.ts +28 -52
  33. package/dist/bot/google-login.d.ts.map +1 -1
  34. package/dist/bot/google-login.js +246 -1119
  35. package/dist/bot/google-login.js.map +1 -1
  36. package/dist/bot/install-completion.d.ts +1 -2
  37. package/dist/bot/install-completion.d.ts.map +1 -1
  38. package/dist/bot/install-completion.js +1 -2
  39. package/dist/bot/install-completion.js.map +1 -1
  40. package/dist/bot/login-state.d.ts +13 -7
  41. package/dist/bot/login-state.d.ts.map +1 -1
  42. package/dist/bot/login-state.js +50 -114
  43. package/dist/bot/login-state.js.map +1 -1
  44. package/dist/bot/oauth-providers.d.ts +1 -1
  45. package/dist/bot/oauth-providers.d.ts.map +1 -1
  46. package/dist/bot/oauth-providers.js +3 -3
  47. package/dist/bot/oauth-providers.js.map +1 -1
  48. package/dist/bot/oauth-scope.d.ts +4 -0
  49. package/dist/bot/oauth-scope.d.ts.map +1 -0
  50. package/dist/bot/oauth-scope.js +58 -0
  51. package/dist/bot/oauth-scope.js.map +1 -0
  52. package/dist/bot/operator-browser-watchdog.d.ts +127 -0
  53. package/dist/bot/operator-browser-watchdog.d.ts.map +1 -0
  54. package/dist/bot/operator-browser-watchdog.js +438 -0
  55. package/dist/bot/operator-browser-watchdog.js.map +1 -0
  56. package/dist/bot/owner-process-reaper-worker.d.ts +2 -0
  57. package/dist/bot/owner-process-reaper-worker.d.ts.map +1 -0
  58. package/dist/bot/owner-process-reaper-worker.js +17 -0
  59. package/dist/bot/owner-process-reaper-worker.js.map +1 -0
  60. package/dist/bot/owner-process-reaper.d.ts +103 -0
  61. package/dist/bot/owner-process-reaper.d.ts.map +1 -0
  62. package/dist/bot/owner-process-reaper.js +1058 -0
  63. package/dist/bot/owner-process-reaper.js.map +1 -0
  64. package/dist/bot/pay-operator.d.ts +13 -2
  65. package/dist/bot/pay-operator.d.ts.map +1 -1
  66. package/dist/bot/pay-operator.js +319 -123
  67. package/dist/bot/pay-operator.js.map +1 -1
  68. package/dist/bot/profile.d.ts +10 -1
  69. package/dist/bot/profile.d.ts.map +1 -1
  70. package/dist/bot/profile.js +137 -11
  71. package/dist/bot/profile.js.map +1 -1
  72. package/dist/bot/promote-to-skill.js +1 -1
  73. package/dist/bot/promote-to-skill.js.map +1 -1
  74. package/dist/bot/provision-session.d.ts +60 -164
  75. package/dist/bot/provision-session.d.ts.map +1 -1
  76. package/dist/bot/provision-session.js +2049 -1546
  77. package/dist/bot/provision-session.js.map +1 -1
  78. package/dist/bot/remote-login-display.d.ts +61 -0
  79. package/dist/bot/remote-login-display.d.ts.map +1 -0
  80. package/dist/bot/remote-login-display.js +765 -0
  81. package/dist/bot/remote-login-display.js.map +1 -0
  82. package/dist/bot/session/hosts.d.ts +8 -0
  83. package/dist/bot/session/hosts.d.ts.map +1 -0
  84. package/dist/bot/session/hosts.js +36 -0
  85. package/dist/bot/session/hosts.js.map +1 -0
  86. package/dist/bot/session/lifecycle.d.ts +56 -0
  87. package/dist/bot/session/lifecycle.d.ts.map +1 -0
  88. package/dist/bot/session/lifecycle.js +962 -0
  89. package/dist/bot/session/lifecycle.js.map +1 -0
  90. package/dist/bot/session/model.d.ts +175 -0
  91. package/dist/bot/session/model.d.ts.map +1 -0
  92. package/dist/bot/session/model.js +77 -0
  93. package/dist/bot/session/model.js.map +1 -0
  94. package/dist/install/cli.d.ts +29 -9
  95. package/dist/install/cli.d.ts.map +1 -1
  96. package/dist/install/cli.js +243 -322
  97. package/dist/install/cli.js.map +1 -1
  98. package/dist/install/interactive.d.ts +1 -0
  99. package/dist/install/interactive.d.ts.map +1 -1
  100. package/dist/install/interactive.js +19 -5
  101. package/dist/install/interactive.js.map +1 -1
  102. package/dist/install/ui.d.ts.map +1 -1
  103. package/dist/install/ui.js +3 -15
  104. package/dist/install/ui.js.map +1 -1
  105. package/dist/operator-env.js +1 -1
  106. package/dist/operator-env.js.map +1 -1
  107. package/dist/server-instance-registry.d.ts +103 -0
  108. package/dist/server-instance-registry.d.ts.map +1 -0
  109. package/dist/server-instance-registry.js +392 -0
  110. package/dist/server-instance-registry.js.map +1 -0
  111. package/dist/server.d.ts +15 -1
  112. package/dist/server.d.ts.map +1 -1
  113. package/dist/server.js +164 -62
  114. package/dist/server.js.map +1 -1
  115. package/dist/session-guard.d.ts +28 -0
  116. package/dist/session-guard.d.ts.map +1 -0
  117. package/dist/session-guard.js +84 -0
  118. package/dist/session-guard.js.map +1 -0
  119. package/dist/session.d.ts +57 -13
  120. package/dist/session.d.ts.map +1 -1
  121. package/dist/session.js +246 -127
  122. package/dist/session.js.map +1 -1
  123. package/dist/tools/audit-log.d.ts +16 -2
  124. package/dist/tools/audit-log.d.ts.map +1 -1
  125. package/dist/tools/audit-log.js +223 -13
  126. package/dist/tools/audit-log.js.map +1 -1
  127. package/dist/tools/audit-rollup.d.ts +80 -0
  128. package/dist/tools/audit-rollup.d.ts.map +1 -0
  129. package/dist/tools/audit-rollup.js +0 -0
  130. package/dist/tools/audit-rollup.js.map +1 -0
  131. package/dist/tools/fetch-credential.d.ts +37 -0
  132. package/dist/tools/fetch-credential.d.ts.map +1 -0
  133. package/dist/tools/fetch-credential.js +153 -0
  134. package/dist/tools/fetch-credential.js.map +1 -0
  135. package/dist/tools/index.d.ts +3 -1
  136. package/dist/tools/index.d.ts.map +1 -1
  137. package/dist/tools/index.js +7 -3
  138. package/dist/tools/index.js.map +1 -1
  139. package/dist/tools/operate-pay.d.ts +4 -4
  140. package/dist/tools/operate-pay.d.ts.map +1 -1
  141. package/dist/tools/operate-pay.js +163 -96
  142. package/dist/tools/operate-pay.js.map +1 -1
  143. package/dist/tools/provision-drive.d.ts +43 -35
  144. package/dist/tools/provision-drive.d.ts.map +1 -1
  145. package/dist/tools/provision-drive.js +268 -164
  146. package/dist/tools/provision-drive.js.map +1 -1
  147. package/dist/tools/use-credential.d.ts.map +1 -1
  148. package/dist/tools/use-credential.js +3 -2
  149. package/dist/tools/use-credential.js.map +1 -1
  150. package/package.json +4 -6
  151. package/dist/bot/operator-direct-identity.d.ts +0 -26
  152. package/dist/bot/operator-direct-identity.d.ts.map +0 -1
  153. package/dist/bot/operator-direct-identity.js +0 -120
  154. package/dist/bot/operator-direct-identity.js.map +0 -1
  155. package/dist/bot/operator-profile-pool.d.ts +0 -97
  156. package/dist/bot/operator-profile-pool.d.ts.map +0 -1
  157. package/dist/bot/operator-profile-pool.js +0 -855
  158. package/dist/bot/operator-profile-pool.js.map +0 -1
  159. package/dist/bot/xvfb.d.ts +0 -13
  160. package/dist/bot/xvfb.d.ts.map +0 -1
  161. package/dist/bot/xvfb.js +0 -146
  162. package/dist/bot/xvfb.js.map +0 -1
@@ -1,212 +1,224 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
6
- <title>Trusty Squire — sign in</title>
7
- <!--
8
- Trusty Squire branded noVNC client. Served by websockify from a
9
- temp dir that also holds the installed noVNC `core/` (see
10
- google-login.ts runHeadlessChrome). Deliberately uses ONLY noVNC's
11
- stable RFB API — the `RFB` default export, its constructor, the
12
- `scaleViewport`/`resizeSession` properties, the
13
- connect/disconnect/securityfailure events, and `rfb.sendKey()` —
14
- all stable across every noVNC 1.x release.
15
- -->
16
- <style>
17
- html, body { margin: 0; height: 100%; background: #0f1115; color: #e6e8ec;
18
- font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
19
- /* Flex column so the header takes whatever height it needs (a long
20
- sub-line on narrow phones wraps to a second row instead of being
21
- truncated by a hard-coded 39px), and #screen fills the rest. */
22
- body { display: flex; flex-direction: column; overflow: hidden; }
23
- #bar { flex: none; display: flex; align-items: center; gap: 8px;
24
- padding: 10px 14px; background: #171a21; border-bottom: 1px solid #272b35;
25
- font-size: 13px; line-height: 1.35; flex-wrap: wrap; }
26
- #bar b { color: #fff; }
27
- #bar span.sub { color: #9aa0ab; }
28
- #dot { width: 8px; height: 8px; border-radius: 50%; background: #e0a23a;
29
- flex: none; }
30
- #dot.ok { background: #3fb950; }
31
- #dot.err { background: #f85149; }
32
- #screen { flex: 1; position: relative; background: #0f1115; min-height: 0; }
33
- /* Overlay siblings of #screen — `position: fixed` against the
34
- viewport, NOT positioned inside #screen. RFB appends a <canvas>
35
- child to #screen at connect time, and that canvas can cover any
36
- absolutely-positioned children even with z-index. Sibling +
37
- fixed keeps them above the canvas unconditionally. */
38
- #msg { position: fixed; top: 50%; left: 0; right: 0; text-align: center;
39
- transform: translateY(-50%); color: #9aa0ab; font-size: 14px; padding: 0 24px;
40
- pointer-events: none; z-index: 9; }
41
- /* The keyboard button. Always visible (no media-query gating —
42
- desktop users see a tiny ⌨ they ignore; better than a phone user
43
- finding nothing). Position fixed against the viewport so the OS
44
- gesture nav area at the bottom can't swallow taps meant for it. */
45
- #kb {
46
- position: fixed; right: 16px;
47
- bottom: max(96px, env(safe-area-inset-bottom, 16px));
48
- width: 64px; height: 64px;
49
- display: flex; align-items: center; justify-content: center;
50
- border-radius: 50%; border: none; background: #4f46e5; color: #fff;
51
- font-size: 28px; line-height: 1; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
52
- cursor: pointer; z-index: 20;
53
- -webkit-tap-highlight-color: transparent; touch-action: manipulation;
54
- transition: background 120ms, transform 80ms;
55
- }
56
- #kb:active, #kb.tapped { transform: scale(0.92); background: #3fb950; }
57
- /* Hidden input the button focuses. The noVNC-canonical pattern:
58
- 1×1 px, positioned off-screen, matching foreground+background so
59
- any flicker is invisible, z-index: -1 so it can't intercept any
60
- tap. iOS Safari refuses to pop the soft keyboard for an element
61
- it considers "invisible" — opacity:0 is one of those triggers —
62
- but a 1px element positioned off-screen counts as visible enough. */
63
- #kbInput {
64
- position: fixed; left: -40px; top: 0;
65
- width: 1px; height: 1px;
66
- background: #fff; color: #fff; caret-color: transparent;
67
- border: 0; padding: 0; margin: 0;
68
- z-index: -1;
69
- }
70
- </style>
71
- </head>
72
- <body>
73
- <div id="bar">
74
- <span id="dot"></span>
75
- <b>Trusty Squire</b>
76
- <span class="sub">— sign in to your account, then return to your terminal.</span>
77
- </div>
78
- <div id="screen"></div>
79
- <!-- Overlays as body-level siblings, not children of #screen — see
80
- the #msg / #kb CSS comments above. -->
81
- <div id="msg">Connecting to the secure login window&hellip;</div>
82
- <!-- inputmode=text + autocorrect/autocapitalize/spellcheck off so the
83
- soft keyboard never offers autocomplete suggestions for a typed
84
- password, and never enriches characters before we forward them. -->
85
- <input id="kbInput" type="text" inputmode="text" autocomplete="off"
86
- autocorrect="off" autocapitalize="off" spellcheck="false"
87
- aria-hidden="true" tabindex="-1" />
88
- <button id="kb" type="button" aria-label="Show keyboard">⌨</button>
89
- <script type="module">
90
- import RFB from "./core/rfb.js";
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
6
+ <title>Trusty Squire — sign in</title>
7
+ <!-- This page uses only noVNC's stable RFB API. The VNC password is read
8
+ from the URL fragment so it is never sent to the tunnel or proxy. -->
9
+ <style>
10
+ html,
11
+ body {
12
+ margin: 0;
13
+ height: 100%;
14
+ background: #0f1115;
15
+ color: #e6e8ec;
16
+ font-family:
17
+ ui-sans-serif,
18
+ system-ui,
19
+ -apple-system,
20
+ "Segoe UI",
21
+ Roboto,
22
+ sans-serif;
23
+ }
24
+ body {
25
+ display: flex;
26
+ flex-direction: column;
27
+ overflow: hidden;
28
+ }
29
+ #bar {
30
+ flex: none;
31
+ display: flex;
32
+ align-items: center;
33
+ gap: 8px;
34
+ padding: 10px 14px;
35
+ background: #171a21;
36
+ border-bottom: 1px solid #272b35;
37
+ font-size: 13px;
38
+ line-height: 1.35;
39
+ flex-wrap: wrap;
40
+ }
41
+ #bar b {
42
+ color: #fff;
43
+ }
44
+ #bar span.sub {
45
+ color: #9aa0ab;
46
+ }
47
+ #dot {
48
+ width: 8px;
49
+ height: 8px;
50
+ border-radius: 50%;
51
+ background: #e0a23a;
52
+ flex: none;
53
+ }
54
+ #dot.ok {
55
+ background: #3fb950;
56
+ }
57
+ #dot.err {
58
+ background: #f85149;
59
+ }
60
+ #screen {
61
+ flex: 1;
62
+ position: relative;
63
+ background: #0f1115;
64
+ min-height: 0;
65
+ }
66
+ #msg {
67
+ position: fixed;
68
+ top: 50%;
69
+ left: 0;
70
+ right: 0;
71
+ text-align: center;
72
+ transform: translateY(-50%);
73
+ color: #9aa0ab;
74
+ font-size: 14px;
75
+ padding: 0 24px;
76
+ pointer-events: none;
77
+ z-index: 9;
78
+ }
79
+ #kb {
80
+ position: fixed;
81
+ right: 16px;
82
+ bottom: max(96px, env(safe-area-inset-bottom, 16px));
83
+ width: 64px;
84
+ height: 64px;
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ border-radius: 50%;
89
+ border: none;
90
+ background: #4f46e5;
91
+ color: #fff;
92
+ font-size: 28px;
93
+ line-height: 1;
94
+ box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
95
+ cursor: pointer;
96
+ z-index: 20;
97
+ -webkit-tap-highlight-color: transparent;
98
+ touch-action: manipulation;
99
+ transition:
100
+ background 120ms,
101
+ transform 80ms;
102
+ }
103
+ #kb:active,
104
+ #kb.tapped {
105
+ transform: scale(0.92);
106
+ background: #3fb950;
107
+ }
108
+ #kbInput {
109
+ position: fixed;
110
+ left: -40px;
111
+ top: 0;
112
+ width: 1px;
113
+ height: 1px;
114
+ background: #fff;
115
+ color: #fff;
116
+ caret-color: transparent;
117
+ border: 0;
118
+ padding: 0;
119
+ margin: 0;
120
+ z-index: -1;
121
+ }
122
+ </style>
123
+ </head>
124
+ <body>
125
+ <div id="bar">
126
+ <span id="dot"></span>
127
+ <b>Trusty Squire</b>
128
+ <span class="sub">— sign in to your account, then return to your terminal.</span>
129
+ </div>
130
+ <div id="screen"></div>
131
+ <div id="msg">Connecting to the secure login window&hellip;</div>
132
+ <input
133
+ id="kbInput"
134
+ type="text"
135
+ inputmode="text"
136
+ autocomplete="off"
137
+ autocorrect="off"
138
+ autocapitalize="off"
139
+ spellcheck="false"
140
+ aria-hidden="true"
141
+ tabindex="-1"
142
+ />
143
+ <button id="kb" type="button" aria-label="Show keyboard">⌨</button>
144
+ <script type="module">
145
+ import RFB from "./core/rfb.js";
146
+ import keysyms from "./core/input/keysymdef.js";
147
+ import { sendTextAsKeysyms } from "./vnc-input.js";
91
148
 
92
- // The VNC password rides in the URL fragment (#password=...), never
93
- // the query string — a fragment is never sent to the server, so the
94
- // secret stays out of the cloudflared edge logs and any proxy.
95
- const params = new URLSearchParams(location.hash.replace(/^#/, ""));
96
- const password = params.get("p") || params.get("password") || "";
97
- const dot = document.getElementById("dot");
98
- const msg = document.getElementById("msg");
99
- const screen = document.getElementById("screen");
100
- const kbBtn = document.getElementById("kb");
101
- const kbInput = document.getElementById("kbInput");
149
+ const params = new URLSearchParams(location.hash.replace(/^#/, ""));
150
+ const password = params.get("p") || params.get("password") || "";
151
+ const dot = document.getElementById("dot");
152
+ const msg = document.getElementById("msg");
153
+ const screen = document.getElementById("screen");
154
+ const kbBtn = document.getElementById("kb");
155
+ const kbInput = document.getElementById("kbInput");
156
+ const wsUrl =
157
+ (location.protocol === "https:" ? "wss://" : "ws://") + location.host + "/websockify";
102
158
 
103
- const wsUrl =
104
- (location.protocol === "https:" ? "wss://" : "ws://") +
105
- location.host +
106
- "/websockify";
159
+ let rfb;
160
+ try {
161
+ rfb = new RFB(screen, wsUrl, { credentials: { password }, shared: true });
162
+ rfb.scaleViewport = true;
163
+ rfb.resizeSession = false;
164
+ } catch (err) {
165
+ dot.className = "err";
166
+ msg.textContent = "Could not start the login window: " + err;
167
+ }
107
168
 
108
- let rfb;
109
- try {
110
- rfb = new RFB(screen, wsUrl, { credentials: { password }, shared: true });
111
- rfb.scaleViewport = true;
112
- rfb.resizeSession = false;
113
- } catch (err) {
114
- dot.className = "err";
115
- msg.textContent = "Could not start the login window: " + err;
116
- }
169
+ if (rfb) {
170
+ rfb.addEventListener("connect", () => {
171
+ dot.className = "ok";
172
+ msg.style.display = "none";
173
+ });
174
+ rfb.addEventListener("disconnect", () => {
175
+ dot.className = "err";
176
+ msg.style.display = "";
177
+ msg.textContent =
178
+ "Login window closed. If you finished signing in, return to " +
179
+ "your terminal — you can close this tab.";
180
+ });
181
+ rfb.addEventListener("securityfailure", () => {
182
+ dot.className = "err";
183
+ msg.style.display = "";
184
+ msg.textContent = "Could not authenticate to the login window.";
185
+ });
117
186
 
118
- if (rfb) {
119
- rfb.addEventListener("connect", () => {
120
- dot.className = "ok";
121
- msg.style.display = "none";
122
- });
123
- rfb.addEventListener("disconnect", () => {
124
- dot.className = "err";
125
- msg.style.display = "";
126
- msg.textContent =
127
- "Login window closed. If you finished signing in, return to " +
128
- "your terminal — you can close this tab.";
129
- });
130
- rfb.addEventListener("securityfailure", () => {
131
- dot.className = "err";
132
- msg.style.display = "";
133
- msg.textContent = "Could not authenticate to the login window.";
134
- });
187
+ kbBtn.addEventListener("click", (event) => {
188
+ event.preventDefault();
189
+ kbBtn.classList.add("tapped");
190
+ setTimeout(() => kbBtn.classList.remove("tapped"), 200);
191
+ kbInput.blur();
192
+ kbInput.value = "";
193
+ kbInput.focus();
194
+ });
135
195
 
136
- // Tap → soft keyboard pop. The blur+focus dance is load-bearing:
137
- // focus() on an already-focused element is a no-op so the OS
138
- // won't re-trigger the keyboard; blur first forces a fresh focus
139
- // event. The whole sequence stays inside the click handler so
140
- // iOS Safari and Android Chrome both accept the focus() as
141
- // gesture-bound. Focusing a real <input> is what pops the OS
142
- // keyboard — focusing the RFB div (rfb.focus() in noVNC 1.x)
143
- // wouldn't.
144
- //
145
- // The .tapped class flashes the button green for 200ms so the
146
- // user can see the tap registered even if the OS doesn't (yet)
147
- // pop the keyboard — separates "did my tap reach the button?"
148
- // from "does focus() pop the keyboard on this device?"
149
- kbBtn.addEventListener("click", (e) => {
150
- e.preventDefault();
151
- kbBtn.classList.add("tapped");
152
- setTimeout(() => kbBtn.classList.remove("tapped"), 200);
153
- kbInput.blur();
154
- kbInput.value = "";
155
- kbInput.focus();
156
- });
196
+ const SPECIAL_KEYS = {
197
+ Backspace: 0xff08,
198
+ Tab: 0xff09,
199
+ Enter: 0xff0d,
200
+ Escape: 0xff1b,
201
+ ArrowLeft: 0xff51,
202
+ ArrowUp: 0xff52,
203
+ ArrowRight: 0xff53,
204
+ ArrowDown: 0xff54,
205
+ Delete: 0xffff,
206
+ };
157
207
 
158
- // X11 keysyms for the keys mobile keyboards send that don't
159
- // arrive as text in the `input` event. (Reference:
160
- // https://github.com/novnc/noVNC/blob/master/core/input/keysym.js
161
- // — these values are stable.)
162
- const SPECIAL_KEYS = {
163
- Backspace: 0xff08,
164
- Tab: 0xff09,
165
- Enter: 0xff0d,
166
- Escape: 0xff1b,
167
- ArrowLeft: 0xff51,
168
- ArrowUp: 0xff52,
169
- ArrowRight: 0xff53,
170
- ArrowDown: 0xff54,
171
- Delete: 0xffff,
172
- };
208
+ kbInput.addEventListener("input", () => {
209
+ sendTextAsKeysyms(rfb, kbInput.value, keysyms);
210
+ kbInput.value = "";
211
+ });
173
212
 
174
- // Forward typed characters. The `input` event fires once per
175
- // commit (each char on most soft keyboards; sometimes batched
176
- // when an IME finalizes). We send a press+release for each
177
- // character, then clear the input so it never accumulates the
178
- // user's password.
179
- let lastKbValue = "";
180
- kbInput.addEventListener("input", () => {
181
- const newValue = kbInput.value;
182
- if (newValue.length > 0) {
183
- for (const ch of newValue) {
184
- const keysym = ch.charCodeAt(0);
185
- rfb.sendKey(keysym, null, true);
186
- rfb.sendKey(keysym, null, false);
213
+ kbInput.addEventListener("keydown", (event) => {
214
+ const keysym = SPECIAL_KEYS[event.key];
215
+ if (keysym !== undefined) {
216
+ event.preventDefault();
217
+ rfb.sendKey(keysym, event.code, true);
218
+ rfb.sendKey(keysym, event.code, false);
187
219
  }
188
- } else if (lastKbValue.length > 0 && newValue.length === 0) {
189
- // Soft keyboards sometimes fire `input` with an empty value
190
- // when the user taps Backspace and there was only one char.
191
- rfb.sendKey(SPECIAL_KEYS.Backspace, "Backspace", true);
192
- rfb.sendKey(SPECIAL_KEYS.Backspace, "Backspace", false);
193
- }
194
- kbInput.value = "";
195
- lastKbValue = "";
196
- });
197
-
198
- // Special keys come through as keydown events. preventDefault
199
- // so the input doesn't try to act on them locally (e.g. Enter
200
- // submitting a form that doesn't exist).
201
- kbInput.addEventListener("keydown", (e) => {
202
- const keysym = SPECIAL_KEYS[e.key];
203
- if (keysym !== undefined) {
204
- e.preventDefault();
205
- rfb.sendKey(keysym, e.code, true);
206
- rfb.sendKey(keysym, e.code, false);
207
- }
208
- });
209
- }
210
- </script>
211
- </body>
220
+ });
221
+ }
222
+ </script>
223
+ </body>
212
224
  </html>
@@ -1,6 +1,6 @@
1
1
  <svg width="880.00" height="650.67" xmlns="http://www.w3.org/2000/svg">
2
2
  <rect width="878.00" height="648.67" fill="#0d0d10" rx="8.00" ry="8.00" stroke="#1e1e23" stroke-width="1.00" x="0.50px" y="0.50px"/>
3
3
  <g font-family="Menlo,&apos;JetBrains Mono&apos;,&apos;Fira Code&apos;,Consolas,monospace" font-size="13.00px" fill="#c4c4c4" clip-path="url(#terminalMask)">
4
- <text x="28.00px" y="61.85px" xml:space="preserve"/><text x="28.00px" y="80.70px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve">Trusty Squire</tspan></text><text x="28.00px" y="99.55px" xml:space="preserve"/><text x="28.00px" y="118.40px" xml:space="preserve"><tspan xml:space="preserve">Setting up this machine.</tspan></text><text x="28.00px" y="137.25px" xml:space="preserve"/><text x="28.00px" y="156.10px" xml:space="preserve"><tspan xml:space="preserve">Connect your Google and GitHub OAuth accounts so the bot can sign you</tspan></text><text x="28.00px" y="174.95px" xml:space="preserve"><tspan xml:space="preserve">up for any service — some support Google only, some GitHub only.</tspan></text><text x="28.00px" y="193.80px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Network detected</tspan></text><text x="28.00px" y="212.65px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Machine token issued</tspan></text><text x="28.00px" y="231.50px" xml:space="preserve"/><text x="28.00px" y="250.35px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve">1/2 · </tspan><tspan xml:space="preserve">Connect your Google account</tspan></text><text x="28.00px" y="269.20px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">┌ sign in ───────────────────────────────────────────────────────────────────┐</tspan></text><text x="28.00px" y="288.05px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ Open this URL to sign in and confirm: </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="306.90px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="325.75px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ </tspan><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve" text-decoration="underline">https://vnc.trustysquire.ai/?p=k7m2x8q9p4r </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="344.60px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">└────────────────────────────────────────────────────────────────────────────┘</tspan></text><text x="28.00px" y="363.45px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Session saved (keytar)</tspan></text><text x="28.00px" y="382.30px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Wrote Cursor MCP config at ~/Library/.../mcp.json</tspan></text><text x="28.00px" y="401.15px" xml:space="preserve"/><text x="28.00px" y="420.00px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve">2/2 · </tspan><tspan xml:space="preserve">Connect your GitHub account</tspan></text><text x="28.00px" y="438.85px" xml:space="preserve"><tspan xml:space="preserve">Some services are GitHub-only (Railway, Vercel, parts of Cloudflare).</tspan></text><text x="28.00px" y="457.70px" xml:space="preserve"><tspan xml:space="preserve">Add GitHub? [Y/n] </tspan><tspan xml:space="preserve">y</tspan></text><text x="28.00px" y="476.55px" xml:space="preserve"><tspan xml:space="preserve">Opening browser for GitHub sign-in…</tspan></text><text x="28.00px" y="495.40px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ GitHub session added.</tspan></text><text x="28.00px" y="514.25px" xml:space="preserve"><tspan xml:space="preserve">──────────────────────────────────────────────────────────────────────────────</tspan></text><text x="28.00px" y="533.10px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">┌────────────────────────────────────────────────────────────────────────────┐</tspan></text><text x="28.00px" y="551.95px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ Squire on duty. Restart Cursor to pick up the new tools. </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="570.80px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="589.65px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ Try it — ask your agent: </tspan><tspan xml:space="preserve"/><tspan xml:space="preserve" fill="#C5C8C6">&quot;sign me up for Resend&quot; </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="608.50px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">└────────────────────────────────────────────────────────────────────────────┘</tspan></text>
4
+ <text x="28.00px" y="61.85px" xml:space="preserve"/><text x="28.00px" y="80.70px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve">Trusty Squire</tspan></text><text x="28.00px" y="99.55px" xml:space="preserve"/><text x="28.00px" y="118.40px" xml:space="preserve"><tspan xml:space="preserve">Setting up this machine.</tspan></text><text x="28.00px" y="137.25px" xml:space="preserve"/><text x="28.00px" y="156.10px" xml:space="preserve"><tspan xml:space="preserve">Connect your Google and GitHub OAuth accounts so the bot can sign you</tspan></text><text x="28.00px" y="174.95px" xml:space="preserve"><tspan xml:space="preserve">up for any service — some support Google only, some GitHub only.</tspan></text><text x="28.00px" y="193.80px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Network detected</tspan></text><text x="28.00px" y="212.65px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Machine token issued</tspan></text><text x="28.00px" y="231.50px" xml:space="preserve"/><text x="28.00px" y="250.35px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve">1/2 · </tspan><tspan xml:space="preserve">Connect your Google account</tspan></text><text x="28.00px" y="269.20px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">┌ sign in ───────────────────────────────────────────────────────────────────┐</tspan></text><text x="28.00px" y="288.05px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ Open this URL to sign in and confirm: </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="306.90px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="325.75px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ </tspan><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve" text-decoration="underline">https://vnc.trustysquire.ai/?p=k7m2x8q9p4r </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="344.60px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">└────────────────────────────────────────────────────────────────────────────┘</tspan></text><text x="28.00px" y="363.45px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Session saved (~/.config/trusty-squire/session.json)</tspan></text><text x="28.00px" y="382.30px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ Wrote Cursor MCP config at ~/Library/.../mcp.json</tspan></text><text x="28.00px" y="401.15px" xml:space="preserve"/><text x="28.00px" y="420.00px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52"/><tspan xml:space="preserve">2/2 · </tspan><tspan xml:space="preserve">Connect your GitHub account</tspan></text><text x="28.00px" y="438.85px" xml:space="preserve"><tspan xml:space="preserve">Some services are GitHub-only (Railway, Vercel, parts of Cloudflare).</tspan></text><text x="28.00px" y="457.70px" xml:space="preserve"><tspan xml:space="preserve">Add GitHub? [Y/n] </tspan><tspan xml:space="preserve">y</tspan></text><text x="28.00px" y="476.55px" xml:space="preserve"><tspan xml:space="preserve">Opening browser for GitHub sign-in…</tspan></text><text x="28.00px" y="495.40px" xml:space="preserve"><tspan xml:space="preserve" fill="#31BB71"/><tspan xml:space="preserve">✓ GitHub session added.</tspan></text><text x="28.00px" y="514.25px" xml:space="preserve"><tspan xml:space="preserve">──────────────────────────────────────────────────────────────────────────────</tspan></text><text x="28.00px" y="533.10px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">┌────────────────────────────────────────────────────────────────────────────┐</tspan></text><text x="28.00px" y="551.95px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ Squire on duty. Restart Cursor to pick up the new tools. </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="570.80px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="589.65px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">│ Try it — ask your agent: </tspan><tspan xml:space="preserve"/><tspan xml:space="preserve" fill="#C5C8C6">&quot;sign me up for Resend&quot; </tspan><tspan xml:space="preserve" fill="#cf3a52">│</tspan></text><text x="28.00px" y="608.50px" xml:space="preserve"><tspan xml:space="preserve" fill="#cf3a52">└────────────────────────────────────────────────────────────────────────────┘</tspan></text>
5
5
  </g>
6
6
  <svg x="0.00px" y="0.00px"><circle cx="13.50" cy="12.00" r="5.50" fill="#FF5A54"/><circle cx="32.50" cy="12.00" r="5.50" fill="#E6BF29"/><circle cx="51.50" cy="12.00" r="5.50" fill="#52C12B"/></svg><defs><clipPath id="terminalMask"><rect x="0.00" y="0.00" width="878.00" height="620.67"/></clipPath></defs></svg>
@@ -7,6 +7,7 @@ export declare class ApiCallError extends Error {
7
7
  readonly body?: unknown | undefined;
8
8
  constructor(status: number, code: string, message: string, body?: unknown | undefined);
9
9
  }
10
+ export declare function isPaymentApprovalTransportTimeout(error: unknown): boolean;
10
11
  export interface ApiClientConfig {
11
12
  apiBaseUrl: string;
12
13
  registryBaseUrl: string;
@@ -86,6 +87,22 @@ export interface CredentialMutationApproval {
86
87
  expires_at: string;
87
88
  error?: string;
88
89
  }
90
+ export interface CredentialFetchApproval {
91
+ approval_id: string;
92
+ approval_url: string;
93
+ status: "pending" | "approved" | "consumed" | "denied" | "expired" | "failed";
94
+ credential: {
95
+ reference: string;
96
+ service: string | null;
97
+ name: string;
98
+ };
99
+ field: string | null;
100
+ field_names: string[];
101
+ expires_at: string;
102
+ fields?: Record<string, string>;
103
+ fetched_at?: string;
104
+ error?: string;
105
+ }
89
106
  export interface DirectoryEntry {
90
107
  service: string;
91
108
  latest_version: string;
@@ -108,7 +125,7 @@ export interface UsageResponse {
108
125
  }
109
126
  export interface PaymentApproval {
110
127
  id: string;
111
- status: "pending" | "approved" | "expired";
128
+ status: "pending" | "approved" | "denied" | "expired";
112
129
  merchant: string;
113
130
  checkout_origin: string;
114
131
  amount_cents: number;
@@ -143,7 +160,7 @@ export declare class ApiClient {
143
160
  agent: string;
144
161
  expires_at: string;
145
162
  }>;
146
- getPaymentApproval(id: string, candidateRead?: boolean | "immediate" | "peek" | "wait-peek"): Promise<PaymentApproval>;
163
+ getPaymentApproval(id: string, candidateRead?: boolean | "immediate" | "peek" | "wait-peek", waitMs?: number, transportTimeoutMs?: number): Promise<PaymentApproval>;
147
164
  confirmPaymentApproval(id: string, submission: {
148
165
  jws: string;
149
166
  sealed_card: string;
@@ -219,6 +236,13 @@ export declare class ApiClient {
219
236
  };
220
237
  }): Promise<CredentialMutationApproval>;
221
238
  getCredentialMutationApproval(id: string): Promise<CredentialMutationApproval>;
239
+ createCredentialFetchApproval(input: {
240
+ reference?: string;
241
+ service?: string;
242
+ name?: string;
243
+ field?: string;
244
+ }): Promise<CredentialFetchApproval>;
245
+ getCredentialFetchApproval(id: string): Promise<CredentialFetchApproval>;
222
246
  useCredential(input: {
223
247
  reference?: string;
224
248
  service?: string;
@@ -373,5 +397,4 @@ export interface InstallAsnPayload {
373
397
  class: "residential" | "datacenter" | "unknown";
374
398
  }
375
399
  export declare function issueMachineToken(apiBaseUrl: string, fetchImpl?: typeof fetch, asn?: InstallAsnPayload, timeoutMs?: number): Promise<MachineInstallResponse>;
376
- export declare function shortenVncUrl(apiBaseUrl: string, longUrl: string, fetchImpl?: typeof fetch): Promise<string>;
377
400
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}