@songsid/agend 2.1.9 → 2.1.10-beta.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 +8 -3
- package/README.zh-TW.md +11 -5
- package/dist/backend/codex.d.ts +13 -0
- package/dist/backend/codex.js +74 -2
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/kiro.d.ts +0 -2
- package/dist/backend/kiro.js +8 -7
- package/dist/backend/kiro.js.map +1 -1
- package/dist/channel/adapters/telegram.js +4 -3
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/mcp-operation-response.js +5 -4
- package/dist/channel/mcp-operation-response.js.map +1 -1
- package/dist/channel/mcp-server.js +9 -0
- package/dist/channel/mcp-server.js.map +1 -1
- package/dist/channel/types.d.ts +7 -0
- package/dist/cli.js +12 -4
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +13 -0
- package/dist/config-validator.js.map +1 -1
- package/dist/config.js +26 -0
- package/dist/config.js.map +1 -1
- package/dist/daemon.d.ts +23 -0
- package/dist/daemon.js +63 -6
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-outbox.js +18 -23
- package/dist/delivery-outbox.js.map +1 -1
- package/dist/fleet-manager.d.ts +34 -0
- package/dist/fleet-manager.js +121 -22
- package/dist/fleet-manager.js.map +1 -1
- package/dist/forged-envelope-scan.js +2 -5
- package/dist/forged-envelope-scan.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +9 -0
- package/dist/instance-lifecycle.js +37 -13
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/locale.js +166 -4
- package/dist/locale.js.map +1 -1
- package/dist/login-controller.d.ts +38 -0
- package/dist/login-controller.js +227 -6
- package/dist/login-controller.js.map +1 -1
- package/dist/login-flows.d.ts +7 -0
- package/dist/login-flows.js +1 -0
- package/dist/login-flows.js.map +1 -1
- package/dist/outbound-handlers.js +14 -16
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/routing-engine.d.ts +17 -2
- package/dist/routing-engine.js +48 -5
- package/dist/routing-engine.js.map +1 -1
- package/dist/setup-wizard.js +3 -1
- package/dist/setup-wizard.js.map +1 -1
- package/dist/tunnel/cloudflared.d.ts +23 -5
- package/dist/tunnel/cloudflared.js +32 -13
- package/dist/tunnel/cloudflared.js.map +1 -1
- package/dist/tunnel/manager.d.ts +6 -0
- package/dist/tunnel/manager.js +60 -22
- package/dist/tunnel/manager.js.map +1 -1
- package/dist/tunnel/public-fetch.d.ts +30 -0
- package/dist/tunnel/public-fetch.js +156 -0
- package/dist/tunnel/public-fetch.js.map +1 -0
- package/dist/tunnel/types.d.ts +8 -2
- package/dist/tunnel/types.js +8 -2
- package/dist/tunnel/types.js.map +1 -1
- package/dist/types.d.ts +24 -0
- package/dist/ui/view.html +14 -0
- package/dist/ui/web-terminal/terminal.html +1 -0
- package/dist/wake-coordinator.d.ts +0 -15
- package/dist/wake-coordinator.js +19 -3
- package/dist/wake-coordinator.js.map +1 -1
- package/dist/web-host-guard.d.ts +47 -0
- package/dist/web-host-guard.js +75 -0
- package/dist/web-host-guard.js.map +1 -0
- package/dist/web-terminal-http.d.ts +34 -0
- package/dist/web-terminal-http.js +63 -0
- package/dist/web-terminal-http.js.map +1 -1
- package/package.json +1 -1
package/dist/login-controller.js
CHANGED
|
@@ -26,12 +26,31 @@
|
|
|
26
26
|
* step is audited to the event log without token/cookie/URL secrets
|
|
27
27
|
* - fleet shutdown cancels the active session and waits for the confirmed
|
|
28
28
|
* tmux kill (no orphaned login CLI)
|
|
29
|
+
*
|
|
30
|
+
* Public link (web_terminal.tunnel.allow_public, default OFF — with it off none of this
|
|
31
|
+
* exists): for a flow marked `tunnelOk` the confirmation grows an "Open public link" button
|
|
32
|
+
* beside "Local link only". Pressing it is the consent, once per login — nothing is ever
|
|
33
|
+
* exposed on a standing basis. Then:
|
|
34
|
+
* - a Cloudflare Quick Tunnel is put in front of THIS session's listener only, through the
|
|
35
|
+
* fleet-wide ManagedTunnel (lease, confirmed stop); the listener is told the tunnel's
|
|
36
|
+
* exact host before the readiness probe arrives under it, and marks cookies Secure on it
|
|
37
|
+
* - the public URL and the access token go ONLY to the requester, as two private messages;
|
|
38
|
+
* the channel gets one line and never the URL. If either private message cannot be
|
|
39
|
+
* delivered the tunnel and session are closed — there is no "post it in the channel" path
|
|
40
|
+
* - fail closed: a tunnel that dies ends the session; a session that ends (done, cancelled,
|
|
41
|
+
* TTL, shutdown, failed delivery) closes the tunnel BEFORE the window is released, and a
|
|
42
|
+
* tunnel that cannot be confirmed stopped is announced loudly and blocks further tunnels
|
|
43
|
+
* - the link is minted fresh each time and never logged or audited (the host name is part of
|
|
44
|
+
* the capability)
|
|
29
45
|
*/
|
|
30
46
|
import { homedir } from "node:os";
|
|
31
47
|
import { LOGIN_BACKEND_ALIASES, LOGIN_FLOWS, checkAuthStatus } from "./login-flows.js";
|
|
32
48
|
import { t } from "./locale.js";
|
|
33
49
|
import { MAX_TTL_MS, TmuxTerminalBackend, WebTerminalSession, } from "./web-terminal.js";
|
|
34
50
|
import { WebTerminalHttpServer } from "./web-terminal-http.js";
|
|
51
|
+
import { allowedHostNames } from "./web-host-guard.js";
|
|
52
|
+
import { ManagedTunnel, newTunnelSid } from "./tunnel/manager.js";
|
|
53
|
+
import { CloudflaredProvider } from "./tunnel/cloudflared.js";
|
|
35
54
|
export const LOGIN_TOKEN_RESEND_PREFIX = "login-token:";
|
|
36
55
|
export const DEFAULT_WEB_TERMINAL_TTL_MINUTES = 10;
|
|
37
56
|
/** Design §3.1: a requester may create at most this many sessions per window. */
|
|
@@ -111,6 +130,8 @@ export class LoginController {
|
|
|
111
130
|
shutdownGeneration = 0;
|
|
112
131
|
backendFactory = new TmuxTerminalBackend();
|
|
113
132
|
startTimes = new Map();
|
|
133
|
+
/** One tunnel owner for the process: the lease it writes is fleet-wide, so this must not be per-login. */
|
|
134
|
+
managedTunnel = null;
|
|
114
135
|
constructor(deps) {
|
|
115
136
|
this.deps = deps;
|
|
116
137
|
}
|
|
@@ -186,7 +207,9 @@ export class LoginController {
|
|
|
186
207
|
return t("login.web_shutting_down");
|
|
187
208
|
this.deps.releaseWindow(claim); // nothing runs until the button is pressed
|
|
188
209
|
const logoutFirst = tokenPresent && flow.preCommand?.when === "token-present";
|
|
189
|
-
const
|
|
210
|
+
const publicLink = this.tunnelAllowed(cfg, flow);
|
|
211
|
+
const confirmation = t(flow.deviceAuth ? "login.device_confirm" : "login.web_confirm", backend)
|
|
212
|
+
+ (publicLink ? t("login.tunnel_confirm_extra") : "");
|
|
190
213
|
try {
|
|
191
214
|
await this.deps.postButtons({
|
|
192
215
|
prefix: "login-confirm:",
|
|
@@ -196,7 +219,12 @@ export class LoginController {
|
|
|
196
219
|
? `${confirmation}\n${t("login.still_valid_precommand", backend, flow.preCommand.command)}`
|
|
197
220
|
: confirmation,
|
|
198
221
|
choices: [
|
|
199
|
-
|
|
222
|
+
// Consent is a separate, labelled button — never a side effect of the ordinary one.
|
|
223
|
+
...(publicLink ? [{ action: tokenPresent ? "go-relogin-tunnel" : "go-tunnel", label: t("login.tunnel_go") }] : []),
|
|
224
|
+
{
|
|
225
|
+
action: tokenPresent ? "go-relogin" : "go",
|
|
226
|
+
label: publicLink ? t("login.tunnel_go_local") : t(flow.deviceAuth ? "login.device_confirm_go" : "login.web_confirm_go"),
|
|
227
|
+
},
|
|
200
228
|
{ action: "cancel", label: t("login.relogin_cancel") },
|
|
201
229
|
],
|
|
202
230
|
expiredText: t("buttons.stale"),
|
|
@@ -215,6 +243,12 @@ export class LoginController {
|
|
|
215
243
|
return null;
|
|
216
244
|
}
|
|
217
245
|
const userId = chat.userId;
|
|
246
|
+
const wantTunnel = opts.tunnel === true;
|
|
247
|
+
if (wantTunnel && !this.tunnelAllowed(cfg, flow)) {
|
|
248
|
+
// A stale button, or the config was switched off after the prompt went out.
|
|
249
|
+
this.audit("tunnel_refused", { backend, requester: userId });
|
|
250
|
+
return t("login.tunnel_not_allowed", backend);
|
|
251
|
+
}
|
|
218
252
|
const command = this.buildCommand(flow, opts.tokenPresent === true);
|
|
219
253
|
const ttlMs = this.ttlMs(cfg);
|
|
220
254
|
const spec = {
|
|
@@ -235,11 +269,24 @@ export class LoginController {
|
|
|
235
269
|
const logger = this.deps.logger;
|
|
236
270
|
const entry = {
|
|
237
271
|
claim, session: null, http: null, backend, chat,
|
|
238
|
-
requesterUserId: userId, url: "", tokenDelivered: false, silent: false,
|
|
272
|
+
requesterUserId: userId, url: "", tokenDelivered: false, silent: false, tunnel: null,
|
|
239
273
|
};
|
|
240
274
|
const events = {
|
|
241
|
-
|
|
275
|
+
// A public-link login never relays the provider's own sign-in URL/code to the channel: they are as
|
|
276
|
+
// sensitive as the link and token that were kept out of it, the browser terminal already shows them,
|
|
277
|
+
// and the channel is the one place this mode promises not to put anything. Local and device-auth
|
|
278
|
+
// logins keep their contract.
|
|
279
|
+
onHint: (url, code) => {
|
|
280
|
+
if (wantTunnel) {
|
|
281
|
+
this.audit("hint_not_relayed", { backend, requester: userId, hadCode: code !== null });
|
|
282
|
+
return Promise.resolve();
|
|
283
|
+
}
|
|
284
|
+
return this.sendHint(chat, backend, url, code);
|
|
285
|
+
},
|
|
242
286
|
onDone: async (result) => {
|
|
287
|
+
// The tunnel goes first and the window is held until it is confirmed gone: a login that
|
|
288
|
+
// is over must not leave its listener reachable while the fleet believes it is free.
|
|
289
|
+
await this.closeTunnel(entry);
|
|
243
290
|
this.releaseEntry(entry);
|
|
244
291
|
if (!entry.silent)
|
|
245
292
|
await this.reportDone(chat, backend, result);
|
|
@@ -264,14 +311,26 @@ export class LoginController {
|
|
|
264
311
|
const http = (this.deps.createHttp ?? ((s, l, o) => new WebTerminalHttpServer(s, l, o)))(entry.session, logger, {
|
|
265
312
|
bind: cfg?.web_terminal?.bind,
|
|
266
313
|
hostname: cfg?.hostname || "localhost",
|
|
314
|
+
allowedHosts: allowedHostNames(cfg),
|
|
267
315
|
});
|
|
268
316
|
entry.http = http;
|
|
269
|
-
|
|
317
|
+
const listening = await http.listen();
|
|
318
|
+
entry.url = listening.url;
|
|
270
319
|
if (this.stale(generation, claim))
|
|
271
320
|
return this.abort(entry, t("login.web_shutting_down"), "fleet shutdown");
|
|
321
|
+
if (wantTunnel) {
|
|
322
|
+
const failed = await this.openTunnel(entry, http, listening.port, cfg, ttlMs);
|
|
323
|
+
if (failed !== null)
|
|
324
|
+
return failed;
|
|
325
|
+
if (this.stale(generation, claim))
|
|
326
|
+
return this.abort(entry, t("login.web_shutting_down"), "fleet shutdown");
|
|
327
|
+
}
|
|
272
328
|
}
|
|
273
329
|
catch (err) {
|
|
274
|
-
|
|
330
|
+
// In public mode the text is fixed: nothing a provider or the network said goes to the chat.
|
|
331
|
+
return this.abort(entry, wantTunnel
|
|
332
|
+
? t("login.tunnel_failed", t("login.tunnel_reason.other"))
|
|
333
|
+
: t("login.failed", backend, err.message), "startup failed");
|
|
275
334
|
}
|
|
276
335
|
// Delivery is part of starting: a link nobody received, or a token that
|
|
277
336
|
// reached neither the requester nor a resend button, means the session
|
|
@@ -279,6 +338,18 @@ export class LoginController {
|
|
|
279
338
|
// awaits aborts instead of announcing a terminal that no longer exists.
|
|
280
339
|
if (this.stale(generation, claim))
|
|
281
340
|
return this.abort(entry, t("login.web_shutting_down"), "fleet shutdown");
|
|
341
|
+
if (entry.tunnel) {
|
|
342
|
+
// Public mode never uses the channel for the link or the token (D-b): two private
|
|
343
|
+
// messages or nothing. The caller posts the one-line status we return.
|
|
344
|
+
const minutes = Math.round(ttlMs / 60_000);
|
|
345
|
+
if (!(await this.sendTunnelLink(entry, minutes, command)) || !(await this.sendToken(entry, { offerResend: false }))) {
|
|
346
|
+
return this.abort(entry, t("login.tunnel_dm_failed"), "private delivery failed");
|
|
347
|
+
}
|
|
348
|
+
if (this.stale(generation, claim))
|
|
349
|
+
return this.abort(entry, t("login.web_shutting_down"), "fleet shutdown");
|
|
350
|
+
this.audit("tunnel_delivered", { backend, requester: userId });
|
|
351
|
+
return t("login.tunnel_started", backend, String(minutes));
|
|
352
|
+
}
|
|
282
353
|
if (!(await this.sendLink(entry, Math.round(ttlMs / 60_000), command))) {
|
|
283
354
|
return this.abort(entry, t("login.failed", backend, t("login.web_link_failed")), "link delivery failed");
|
|
284
355
|
}
|
|
@@ -317,6 +388,7 @@ export class LoginController {
|
|
|
317
388
|
// kill ≤31 s). Releasing ownership early would let the fleet exit while
|
|
318
389
|
// the dedicated tmux server is still being torn down.
|
|
319
390
|
await entry.session.cancel("fleet shutdown").catch(err => this.deps.logger.warn(safeErr(err), "web login shutdown failed"));
|
|
391
|
+
await this.closeTunnel(entry);
|
|
320
392
|
await entry.http?.close().catch(() => { });
|
|
321
393
|
this.releaseEntry(entry);
|
|
322
394
|
}
|
|
@@ -362,11 +434,148 @@ export class LoginController {
|
|
|
362
434
|
if (entry.session.state === "running") {
|
|
363
435
|
await entry.session.cancel(detail).catch(err => this.deps.logger.warn(safeErr(err), "web login abort failed"));
|
|
364
436
|
}
|
|
437
|
+
await this.closeTunnel(entry);
|
|
365
438
|
await entry.http?.close().catch(() => { });
|
|
366
439
|
this.releaseEntry(entry);
|
|
367
440
|
this.audit("aborted", { backend: entry.backend, requester: entry.requesterUserId, detail });
|
|
368
441
|
return report;
|
|
369
442
|
}
|
|
443
|
+
// ── Public link ──
|
|
444
|
+
/**
|
|
445
|
+
* Whether this flow may be offered over a public tunnel right now. Every term is required, and
|
|
446
|
+
* the answer is recomputed at both ends of the button press.
|
|
447
|
+
*/
|
|
448
|
+
tunnelAllowed(cfg, flow) {
|
|
449
|
+
if (flow.tunnelOk !== true || flow.noShellEscape !== true || flow.deviceAuth)
|
|
450
|
+
return false;
|
|
451
|
+
if (cfg?.web_terminal?.enabled === false)
|
|
452
|
+
return false;
|
|
453
|
+
if (cfg?.web_terminal?.tunnel?.allow_public !== true)
|
|
454
|
+
return false;
|
|
455
|
+
return this.deps.createTunnel !== undefined || this.deps.tunnelDataDir !== undefined;
|
|
456
|
+
}
|
|
457
|
+
tunnelPort(cfg) {
|
|
458
|
+
if (this.deps.createTunnel)
|
|
459
|
+
return this.deps.createTunnel(cfg);
|
|
460
|
+
const dataDir = this.deps.tunnelDataDir();
|
|
461
|
+
this.managedTunnel ??= new ManagedTunnel({ dataDir, log: m => this.deps.logger.info({}, m) });
|
|
462
|
+
const managed = this.managedTunnel;
|
|
463
|
+
const provider = new CloudflaredProvider({ protocol: cfg?.web_terminal?.tunnel?.protocol });
|
|
464
|
+
return { start: ctx => managed.start(provider, ctx), stop: reason => managed.stop(reason) };
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Put a tunnel in front of this session's listener. Returns null on success, or the report to
|
|
468
|
+
* hand the caller after the session has been aborted.
|
|
469
|
+
*/
|
|
470
|
+
async openTunnel(entry, http, port, cfg, ttlMs) {
|
|
471
|
+
const abort = new AbortController();
|
|
472
|
+
const tunnel = { port: this.tunnelPort(cfg), abort, starting: null, handle: null, closing: null };
|
|
473
|
+
entry.tunnel = tunnel;
|
|
474
|
+
this.audit("tunnel_requested", { backend: entry.backend, requester: entry.requesterUserId });
|
|
475
|
+
tunnel.starting = tunnel.port.start({
|
|
476
|
+
sid: newTunnelSid(),
|
|
477
|
+
origin: new URL(`http://127.0.0.1:${port}`),
|
|
478
|
+
pagePath: new URL(entry.url).pathname,
|
|
479
|
+
readinessMarker: http.readinessMarker,
|
|
480
|
+
expiresAt: (this.deps.now ?? Date.now)() + ttlMs,
|
|
481
|
+
signal: abort.signal,
|
|
482
|
+
// The provider's readiness probe arrives under the public host: the listener has to
|
|
483
|
+
// expect exactly that one name before it, and drop it again if no tunnel results.
|
|
484
|
+
onCandidateHost: host => http.setExternalHost(host),
|
|
485
|
+
});
|
|
486
|
+
let result;
|
|
487
|
+
try {
|
|
488
|
+
result = await tunnel.starting;
|
|
489
|
+
}
|
|
490
|
+
catch (err) {
|
|
491
|
+
http.setExternalHost(null);
|
|
492
|
+
const kind = tunnelErrorKind(err?.errorKind);
|
|
493
|
+
this.audit("tunnel_failed", { backend: entry.backend, requester: entry.requesterUserId, errorKind: kind });
|
|
494
|
+
return this.abort(entry, t("login.tunnel_failed", t(`login.tunnel_reason.${kind}`)), "tunnel failed");
|
|
495
|
+
}
|
|
496
|
+
// The login ended (cancel, TTL, shutdown) while the tunnel was coming up: closeTunnel is already
|
|
497
|
+
// on its way to stop it, and nothing here may re-publish a host it just took away.
|
|
498
|
+
if (tunnel.closing !== null) {
|
|
499
|
+
return this.abort(entry, t("login.cancelled", entry.backend), "closed while the tunnel was starting");
|
|
500
|
+
}
|
|
501
|
+
if (!result.ok) {
|
|
502
|
+
http.setExternalHost(null);
|
|
503
|
+
const kind = tunnelErrorKind(result.errorKind);
|
|
504
|
+
this.audit("tunnel_failed", { backend: entry.backend, requester: entry.requesterUserId, errorKind: kind, leaseHeld: result.leaseHeld });
|
|
505
|
+
// Only the allowlisted kind becomes words: `result.message` is the provider's own text, and a TLS or
|
|
506
|
+
// network error in it can carry the tunnel's random host name straight into the channel.
|
|
507
|
+
// `leaseHeld`: a tunnel process exists that nobody can account for. Not a fallback — a stop.
|
|
508
|
+
const report = result.leaseHeld
|
|
509
|
+
? t("login.tunnel_unconfirmed", "", t("login.tunnel_reason.lease-held"))
|
|
510
|
+
: t("login.tunnel_failed", t(`login.tunnel_reason.${kind}`));
|
|
511
|
+
return this.abort(entry, report, "tunnel failed");
|
|
512
|
+
}
|
|
513
|
+
tunnel.handle = result.handle;
|
|
514
|
+
http.setExternalHost(new URL(result.handle.baseUrl).host);
|
|
515
|
+
entry.url = result.handle.pageUrl;
|
|
516
|
+
result.handle.onUnexpectedExit(() => {
|
|
517
|
+
this.audit("tunnel_lost", { backend: entry.backend, requester: entry.requesterUserId });
|
|
518
|
+
// The page is gone the moment the tunnel is: end the login rather than leave a window open on nothing.
|
|
519
|
+
void entry.session.cancel(t("login.tunnel_lost")).catch(err => this.deps.logger.warn(safeErr(err), "web login tunnel-loss cancel failed"));
|
|
520
|
+
});
|
|
521
|
+
return null;
|
|
522
|
+
}
|
|
523
|
+
/** Idempotent: every end of a public-link login funnels through here, and the second caller joins the first. */
|
|
524
|
+
closeTunnel(entry) {
|
|
525
|
+
const tunnel = entry.tunnel;
|
|
526
|
+
if (!tunnel)
|
|
527
|
+
return Promise.resolve();
|
|
528
|
+
tunnel.closing ??= this.doCloseTunnel(entry, tunnel);
|
|
529
|
+
return tunnel.closing;
|
|
530
|
+
}
|
|
531
|
+
async doCloseTunnel(entry, tunnel) {
|
|
532
|
+
// Nothing may reach this listener under the public name from here on, whatever the process does next.
|
|
533
|
+
entry.http?.setExternalHost(null);
|
|
534
|
+
tunnel.abort.abort();
|
|
535
|
+
// A start still in flight is cancelled by the abort and settles after proving its child gone; stopping
|
|
536
|
+
// before it settles would find nothing active and let the start finish into a tunnel nobody owns.
|
|
537
|
+
await tunnel.starting?.catch(() => { });
|
|
538
|
+
let result;
|
|
539
|
+
try {
|
|
540
|
+
result = await tunnel.port.stop("login ended");
|
|
541
|
+
}
|
|
542
|
+
catch {
|
|
543
|
+
result = { confirmed: false, reason: "stopping the tunnel threw", pid: null, identity: null };
|
|
544
|
+
}
|
|
545
|
+
// Again, after the stop: whatever ran in between, the public name is not this listener's any more.
|
|
546
|
+
entry.http?.setExternalHost(null);
|
|
547
|
+
if (result.confirmed) {
|
|
548
|
+
this.audit("tunnel_closed", { backend: entry.backend, requester: entry.requesterUserId });
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
this.audit("tunnel_unconfirmed", { backend: entry.backend, requester: entry.requesterUserId, pid: result.pid });
|
|
552
|
+
this.deps.logger.error({ pid: result.pid }, "login tunnel could not be confirmed stopped");
|
|
553
|
+
const where = result.pid !== null ? ` (pid ${result.pid})` : "";
|
|
554
|
+
await entry.chat.adapter.sendText(entry.chat.chatId, t("login.tunnel_unconfirmed", where, t("login.tunnel_reason.stop-unconfirmed")), { threadId: entry.chat.threadId })
|
|
555
|
+
.catch(() => { });
|
|
556
|
+
}
|
|
557
|
+
/** First of the two private messages: the public link. Never the channel. Returns delivery success. */
|
|
558
|
+
async sendTunnelLink(entry, ttlMinutes, command) {
|
|
559
|
+
const { chat } = entry;
|
|
560
|
+
if (typeof chat.adapter.sendDirect !== "function") {
|
|
561
|
+
this.audit("tunnel_link_failed", { backend: entry.backend, requester: entry.requesterUserId, via: "none" });
|
|
562
|
+
return false;
|
|
563
|
+
}
|
|
564
|
+
try {
|
|
565
|
+
await chat.adapter.sendDirect(entry.requesterUserId, t("login.tunnel_link", entry.backend, String(ttlMinutes), command, entry.url), {
|
|
566
|
+
format: "text",
|
|
567
|
+
disablePreview: true,
|
|
568
|
+
});
|
|
569
|
+
this.audit("tunnel_link_sent", { backend: entry.backend, requester: entry.requesterUserId, via: "dm" });
|
|
570
|
+
return true;
|
|
571
|
+
}
|
|
572
|
+
catch (err) {
|
|
573
|
+
// Never the message: a provider error may echo the payload (the URL).
|
|
574
|
+
this.deps.logger.warn({ ...safeErr(err), backend: entry.backend }, "web terminal tunnel link DM failed");
|
|
575
|
+
this.audit("tunnel_link_failed", { backend: entry.backend, requester: entry.requesterUserId, via: "dm", ...safeErr(err) });
|
|
576
|
+
return false;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
370
579
|
buildCommand(flow, tokenPresent) {
|
|
371
580
|
const pre = flow.preCommand;
|
|
372
581
|
const runPre = pre && (pre.when === "always" || (pre.when === "token-present" && tokenPresent));
|
|
@@ -491,6 +700,18 @@ export class LoginController {
|
|
|
491
700
|
catch { /* never break the flow */ }
|
|
492
701
|
}
|
|
493
702
|
}
|
|
703
|
+
/**
|
|
704
|
+
* The only tunnel failure vocabulary that reaches a chat. A provider's message is free text — it can
|
|
705
|
+
* contain the tunnel's host (a TLS name mismatch does) — so it is mapped to one of these kinds, each of
|
|
706
|
+
* which has a fixed sentence in the locale table, and anything unrecognised becomes "other".
|
|
707
|
+
*/
|
|
708
|
+
const TUNNEL_ERROR_KINDS = new Set([
|
|
709
|
+
"binary-missing", "binary-not-executable", "not-logged-in", "spawn-failed", "no-url",
|
|
710
|
+
"bad-url", "readiness-failed", "timeout", "cancelled", "lease-held",
|
|
711
|
+
]);
|
|
712
|
+
function tunnelErrorKind(kind) {
|
|
713
|
+
return typeof kind === "string" && TUNNEL_ERROR_KINDS.has(kind) ? kind : "other";
|
|
714
|
+
}
|
|
494
715
|
function escapeHtml(s) {
|
|
495
716
|
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
496
717
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-controller.js","sourceRoot":"","sources":["../src/login-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"login-controller.js","sourceRoot":"","sources":["../src/login-controller.ts"],"names":[],"mappings":"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"}
|
package/dist/login-flows.d.ts
CHANGED
|
@@ -106,6 +106,13 @@ export interface LoginFlow {
|
|
|
106
106
|
* command, no shell" depends on it.
|
|
107
107
|
*/
|
|
108
108
|
noShellEscape?: true;
|
|
109
|
+
/**
|
|
110
|
+
* This flow may be offered over a public tunnel (web_terminal.tunnel.allow_public) — an
|
|
111
|
+
* ADDITIONAL review on top of `noShellEscape`: the link then reaches the internet instead of
|
|
112
|
+
* this machine, so it is opt-in per flow and only for CLIs whose login terminal was checked
|
|
113
|
+
* to put nothing sensitive on screen beyond the sign-in itself.
|
|
114
|
+
*/
|
|
115
|
+
tunnelOk?: true;
|
|
109
116
|
/**
|
|
110
117
|
* Remote /login is declined outright for this backend (every mode), with a
|
|
111
118
|
* user-facing reason. Kept in LOGIN_FLOWS only for authCheck /
|
package/dist/login-flows.js
CHANGED
|
@@ -110,6 +110,7 @@ export const LOGIN_FLOWS = {
|
|
|
110
110
|
},
|
|
111
111
|
"kiro-cli": {
|
|
112
112
|
noShellEscape: true, // login TUI reviewed: menu/prompts/device code only, no shell
|
|
113
|
+
tunnelOk: true, // the escape hatch exists for this flow: a phone can finish the browser sign-in
|
|
113
114
|
backend: "kiro-cli",
|
|
114
115
|
command: "kiro-cli login",
|
|
115
116
|
authCheck: { argv: ["kiro-cli", "whoami", "--format", "json"] },
|
package/dist/login-flows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-flows.js","sourceRoot":"","sources":["../src/login-flows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"login-flows.js","sourceRoot":"","sources":["../src/login-flows.ts"],"names":[],"mappings":"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"}
|
|
@@ -133,9 +133,7 @@ async function deliverCrossInstanceWithRetry(ctx, targetInstanceName, targetLabe
|
|
|
133
133
|
correlation_id: correlationId,
|
|
134
134
|
error: lastError.message,
|
|
135
135
|
});
|
|
136
|
-
const notice =
|
|
137
|
-
+ `${crossInstanceRetry.retries + 1} attempts (${lastError.message}). `
|
|
138
|
-
+ `correlation_id: ${correlationId}`;
|
|
136
|
+
const notice = t("delivery.legacy_failed", senderLabel, targetLabel, crossInstanceRetry.retries + 1, lastError.message, correlationId);
|
|
139
137
|
// Both topics: the sender's agent needs to know its send did not land, and a human
|
|
140
138
|
// watching the target needs to know something was addressed to it and never arrived.
|
|
141
139
|
ctx.notifyInstanceTopic?.(senderLabel, notice);
|
|
@@ -222,12 +220,12 @@ const sendToInstance = async (ctx, rawArgs, respond, meta) => {
|
|
|
222
220
|
const useSteer = steerCapable && !queuedPredecessor;
|
|
223
221
|
const steerFallbackWarning = steer === true && !useSteer
|
|
224
222
|
? isExternalSession
|
|
225
|
-
? "
|
|
223
|
+
? t("delivery.steer_external")
|
|
226
224
|
: queuedPredecessor
|
|
227
|
-
? "
|
|
225
|
+
? t("delivery.steer_predecessor")
|
|
228
226
|
: targetBackend === undefined
|
|
229
|
-
? "
|
|
230
|
-
:
|
|
227
|
+
? t("delivery.steer_unknown")
|
|
228
|
+
: t("delivery.steer_unsupported", targetBackend)
|
|
231
229
|
: undefined;
|
|
232
230
|
const correlationId = parsedCorrelationId || `cid-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
233
231
|
const operationId = ctx.admitDurableDelivery ? meta.operationId ?? randomUUID() : meta.operationId;
|
|
@@ -291,7 +289,7 @@ const sendToInstance = async (ctx, rawArgs, respond, meta) => {
|
|
|
291
289
|
}
|
|
292
290
|
catch (err) {
|
|
293
291
|
ctx.logger.error({ err, source: meta.instanceName, target: targetInstanceName }, "Durable outbound admission failed closed");
|
|
294
|
-
respond(null,
|
|
292
|
+
respond(null, t("delivery.admission_failed", sanitizeError(err, ctx, "durable delivery admission")));
|
|
295
293
|
return;
|
|
296
294
|
}
|
|
297
295
|
}
|
|
@@ -364,12 +362,12 @@ const sendToInstance = async (ctx, rawArgs, respond, meta) => {
|
|
|
364
362
|
const targetDaemon = ctx.lifecycle.daemons.get(targetInstanceName);
|
|
365
363
|
const targetStateWarning = targetDaemon?.isErrorState
|
|
366
364
|
? targetDaemon.isCrashLoop
|
|
367
|
-
?
|
|
365
|
+
? t("delivery.target_crash", targetName)
|
|
368
366
|
: targetDaemon.lastErrorType === "rate_limit" || targetDaemon.lastErrorType === "timeout"
|
|
369
|
-
?
|
|
367
|
+
? t("delivery.target_limit", targetName)
|
|
370
368
|
: targetDaemon.lastErrorType === "auth_error"
|
|
371
|
-
?
|
|
372
|
-
:
|
|
369
|
+
? t("delivery.target_auth", targetName)
|
|
370
|
+
: t("delivery.target_error", targetName)
|
|
373
371
|
: undefined;
|
|
374
372
|
const warnings = [steerFallbackWarning, targetStateWarning].filter((value) => !!value);
|
|
375
373
|
respond({ sent: true, queued: true, target: targetName, target_state: state,
|
|
@@ -1661,12 +1659,12 @@ const deliveryStatus = (ctx, rawArgs, respond, meta) => {
|
|
|
1661
1659
|
return;
|
|
1662
1660
|
}
|
|
1663
1661
|
if (!ctx.queryDurableDeliveryStatus) {
|
|
1664
|
-
respond(null, "
|
|
1662
|
+
respond(null, t("delivery.unavailable"));
|
|
1665
1663
|
return;
|
|
1666
1664
|
}
|
|
1667
1665
|
if (typeof meta.instanceName !== "string" || meta.instanceName.length === 0) {
|
|
1668
1666
|
// Missing authenticated identity is never an operator query.
|
|
1669
|
-
respond(null, "
|
|
1667
|
+
respond(null, t("delivery.not_found"));
|
|
1670
1668
|
return;
|
|
1671
1669
|
}
|
|
1672
1670
|
const selector = deliveryStatusSelector(v.data);
|
|
@@ -1675,14 +1673,14 @@ const deliveryStatus = (ctx, rawArgs, respond, meta) => {
|
|
|
1675
1673
|
// token. Ignore any identity-like argument; the schema is strict as well.
|
|
1676
1674
|
const page = ctx.queryDurableDeliveryStatus(meta.instanceName, selector);
|
|
1677
1675
|
if (page.items.length === 0) {
|
|
1678
|
-
respond(null, "
|
|
1676
|
+
respond(null, t("delivery.not_found"));
|
|
1679
1677
|
return;
|
|
1680
1678
|
}
|
|
1681
1679
|
respond(page);
|
|
1682
1680
|
}
|
|
1683
1681
|
catch (err) {
|
|
1684
1682
|
ctx.logger.warn({ err, caller: meta.instanceName }, "Delivery status query failed");
|
|
1685
|
-
respond(null, "
|
|
1683
|
+
respond(null, t("delivery.unavailable"));
|
|
1686
1684
|
}
|
|
1687
1685
|
};
|
|
1688
1686
|
// ── Registry ────────────────────────────────────────────────────────────
|