@cotal-ai/cli 0.22.0 → 0.23.0

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.
@@ -71,6 +71,10 @@ export declare const attachFlags: readonly [{
71
71
  readonly type: "string";
72
72
  readonly value: "<instance>";
73
73
  readonly description: "target a specific manager instance id (multi-manager space); default = class anycast";
74
+ }, {
75
+ readonly name: "no-reconnect";
76
+ readonly type: "boolean";
77
+ readonly description: "exit when the session ends instead of re-establishing it";
74
78
  }];
75
79
  /** `cotal input`: type into a seat without holding a terminal open. `--text` is a VALUE flag, so
76
80
  * its argument is taken verbatim and may begin with `/` or `-` (`--text "/compact"`) - which is
@@ -116,6 +120,56 @@ export declare const inputFlags: readonly [{
116
120
  export declare function managedAgentComplete(argv: string[]): CompletionResult;
117
121
  export declare function stop(args: ParsedArgs): Promise<void>;
118
122
  export declare function ps(args: ParsedArgs): Promise<void>;
123
+ /** What a caller should DO about a manager refusal. `denied` will not change by asking again;
124
+ * `gone` is the seat the manager no longer knows, so there is nothing left to attach to; anything
125
+ * else is worth another attempt. */
126
+ export type AttachRefusal = "denied" | "gone" | "transient";
127
+ /**
128
+ * Classify a refusal on the manager's error CODE, never on its wording. The wording is operator
129
+ * copy and changes; the code is the contract. Getting this wrong in either direction is a real
130
+ * failure: reading `permission-denied` as transient turns a refusal into an infinite retry loop
131
+ * against a manager that has already said no, and reading `not-found` as transient does the same
132
+ * to a seat that no longer exists.
133
+ */
134
+ export declare function attachRefusal(code: string | undefined): AttachRefusal;
135
+ /**
136
+ * What a re-establishment TELLS the operator while it keeps trying, and what it keeps to itself.
137
+ * Returns the line to print, or undefined for silence.
138
+ *
139
+ * Only the MANAGER's own refusal is relayed, and only when it changes. An operator watching
140
+ * `reconnecting` for ten minutes cannot otherwise tell a sleeping laptop from a manager that is at
141
+ * its session ceiling, and the ceiling is the one a person can act on. Repeating a steady refusal
142
+ * on every attempt would bury it.
143
+ *
144
+ * A LOCAL failure to reach anything is deliberately silent: it is already what `connection lost,
145
+ * reconnecting` says, and the copy on this path is written for someone who just typed a command
146
+ * ("no mesh running at X - run `cotal up`"), which is the wrong thing to tell someone whose wifi
147
+ * dropped.
148
+ */
149
+ export declare function reconnectNotice(est: {
150
+ fromManager?: true;
151
+ message: string;
152
+ }, alreadySaid: string): string | undefined;
153
+ /**
154
+ * The line an exit owes an operator about sessions this attach could not hand back, or nothing.
155
+ *
156
+ * Suppressed on `gone`, and that is not tidiness. That verdict exists because the manager answered
157
+ * `not-found`, which it only answers once the seat has been freed, and freeing a seat ends every
158
+ * session bound to it (`freeSlot` into `endForTarget`, on despawn, self-stop, reap and natural exit
159
+ * alike). The sessions this would name have already been collected, so naming them would be
160
+ * inventing work for someone who is about to close their terminal.
161
+ */
162
+ export declare function heldSessionNotice(pending: number, verdict: AttachVerdict["kind"]): string | undefined;
163
+ /** How the attach finished, decided inside the loop and acted on outside it — so the terminal is
164
+ * always given back before anything prints or exits. */
165
+ type AttachVerdict = {
166
+ kind: "ended";
167
+ } | {
168
+ kind: "gone";
169
+ } | {
170
+ kind: "failed";
171
+ message: string;
172
+ };
119
173
  export declare function attach(args: ParsedArgs): Promise<void>;
120
174
  /**
121
175
  * `cotal input --name <seat> --text <text> [--no-enter]`: deliver one line of text into a running
@@ -129,4 +183,5 @@ export declare function attach(args: ParsedArgs): Promise<void>;
129
183
  * delivered.
130
184
  */
131
185
  export declare function input(args: ParsedArgs): Promise<void>;
186
+ export {};
132
187
  //# sourceMappingURL=agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,gBAAgB,EAAkC,KAAK,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAuB1K,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;EAAgH,CAAC;AACvI,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;EAAkE,CAAC;AACvF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;EAAqH,CAAC;AAC9I;;;;;sDAKsD;AACtD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMiB,CAAC;AAEzC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAQrE;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1D;AA8JD,wBAAsB,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FxD;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC5D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB3D"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,KAAK,gBAAgB,EAAkC,KAAK,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAuB3L,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;EAAgH,CAAC;AACvI,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;EAAkE,CAAC;AAKvF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsI,CAAC;AAC/J;;;;;sDAKsD;AACtD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMiB,CAAC;AAEzC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAQrE;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1D;AA8JD,wBAAsB,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FxD;AAuDD;;qCAEqC;AACrC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAIrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE;IAAE,WAAW,CAAC,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrH;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAIrG;AAiRD;yDACyD;AACzD,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B5D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB3D"}
@@ -1,9 +1,9 @@
1
- import { mintCreds, newIdentity, standaloneConnectOpts } from "@cotal-ai/core";
1
+ import { mintCreds, newIdentity, openSessionRail, standaloneConnectOpts } from "@cotal-ai/core";
2
2
  import { authDir, findCotalRoot, loadMeshes, loadSpaceAuth, targetFlags } from "@cotal-ai/workspace";
3
3
  import { connect } from "@nats-io/transport-node";
4
4
  import { c } from "../ui.js";
5
5
  import { askManager, scatterManager, failIfNotOk, resolveControlTarget, onInstanceOrExit } from "../lib/control.js";
6
- import { attachClient, detachKey, meshSessionTransport } from "../lib/attach-client.js";
6
+ import { attachClient, detachKey, holdTerminal, isTransportEnd, meshSessionTransport } from "../lib/attach-client.js";
7
7
  import { completingFlagValue } from "../lib/completion.js";
8
8
  /**
9
9
  * The manager's operator clients — thin control-plane request/reply commands (`stop`/`ps`/
@@ -19,7 +19,11 @@ const nameFlag = (what) => ({ name: "name", type: "string", value: "<n>", descri
19
19
  const onFlag = { name: "on", type: "string", value: "<instance>", description: "target a specific manager instance id (multi-manager space); default = class anycast" };
20
20
  export const stopFlags = [...targetFlags, nameFlag("managed agent to stop (required)"), onFlag];
21
21
  export const psFlags = [...targetFlags, onFlag];
22
- export const attachFlags = [...targetFlags, nameFlag("managed agent to attach to (required)"), onFlag];
22
+ /** `--no-reconnect`: one session, exit when it ends, whatever ended it. The default reconnects,
23
+ * which is right for a person at a terminal and wrong for a script that wants a single run with a
24
+ * single exit code. */
25
+ const noReconnectFlag = { name: "no-reconnect", type: "boolean", description: "exit when the session ends instead of re-establishing it" };
26
+ export const attachFlags = [...targetFlags, nameFlag("managed agent to attach to (required)"), onFlag, noReconnectFlag];
23
27
  /** `cotal input`: type into a seat without holding a terminal open. `--text` is a VALUE flag, so
24
28
  * its argument is taken verbatim and may begin with `/` or `-` (`--text "/compact"`) - which is
25
29
  * the point: a harness command is exactly the payload that would be eaten by a positional
@@ -280,44 +284,400 @@ export async function ps(args) {
280
284
  printAgentRow(r, " ");
281
285
  }
282
286
  }
283
- export async function attach(args) {
284
- const v = args.values;
285
- if (!v.name) {
286
- console.error(c.red("--name is required"));
287
- process.exit(1);
287
+ /** Re-establishment backoff, in order; the last value is the cap and repeats forever. A seat that
288
+ * exists is worth waiting for — the operator asked to be attached to it, and the alternative is
289
+ * the terminal they walked away from being gone when they come back. */
290
+ const RECONNECT_BACKOFF_MS = [1_000, 2_000, 5_000, 10_000, 30_000];
291
+ /** How long any single wait on a LINK may take before the loop stops waiting on it. Neither
292
+ * `flush()` nor `drain()` carries a deadline of its own, and `connect`'s `timeout` covers only the
293
+ * dial: a link that half-opens AFTER connect (the exact slow death this command exists for) would
294
+ * otherwise pin the loop, and the detach key with it, until the connection's own heartbeat gave up
295
+ * around two minutes later. */
296
+ const LINK_DEADLINE_MS = 5_000;
297
+ /** Race a link round trip against a deadline, and answer `no` if the deadline wins. The timer is
298
+ * deliberately NOT unref'd: it is the only thing keeping the process alive while we wait on a
299
+ * socket that will never answer, and an unref'd one lets node empty its loop and abort the whole
300
+ * command on a pending await instead of finishing the wait and printing why. It is cleared as soon
301
+ * as either side settles, so a healthy link is never held open for the remainder of the deadline. */
302
+ const withDeadline = async (work, ms) => {
303
+ let timer;
304
+ const deadline = new Promise((r) => { timer = setTimeout(() => r(false), ms); });
305
+ try {
306
+ return await Promise.race([work, deadline]);
307
+ }
308
+ finally {
309
+ clearTimeout(timer);
288
310
  }
311
+ };
312
+ /** Did a flush RETURN inside the deadline? That, and not the publish, is what says a frame left:
313
+ * publishing is a local buffer write. A rejection and a timeout are the same answer here, `no`. */
314
+ const flushed = (nc) => withDeadline(nc.flush().then(() => true, () => false), LINK_DEADLINE_MS);
315
+ /** Give a connection back, bounded. Draining is another flush, so a link that has already missed
316
+ * its deadline is closed outright instead of being asked to drain through the same dead socket.
317
+ * A drain that REJECTS has closed nothing either: it gives up inside that same flush, before the
318
+ * close it would have done, so a rejection means close it here or leak the socket. */
319
+ const closeLink = async (nc) => {
320
+ const drained = await withDeadline(nc.drain().then(() => true, () => false), LINK_DEADLINE_MS);
321
+ // The close gets the same deadline as everything else on this path. Tearing a socket down is
322
+ // local work and should not be able to wait at all, but "should not" is what the drain above was
323
+ // supposed to be too, and a bound that covers every wait but one is a bound with a footnote.
324
+ if (!drained)
325
+ await withDeadline(nc.close().then(() => true, () => true), LINK_DEADLINE_MS);
326
+ };
327
+ /** A session that ran at least this long counts as one that WORKED, whether or not the seat spoke.
328
+ * Below it, a link that comes up for the control round trip and dies again is a flap, and resetting
329
+ * the backoff on those re-mints a grant, a credential and a hand-back connection every second. */
330
+ const SESSION_WORKED_MS = 5_000;
331
+ /**
332
+ * Classify a refusal on the manager's error CODE, never on its wording. The wording is operator
333
+ * copy and changes; the code is the contract. Getting this wrong in either direction is a real
334
+ * failure: reading `permission-denied` as transient turns a refusal into an infinite retry loop
335
+ * against a manager that has already said no, and reading `not-found` as transient does the same
336
+ * to a seat that no longer exists.
337
+ */
338
+ export function attachRefusal(code) {
339
+ if (code === "permission-denied")
340
+ return "denied";
341
+ if (code === "not-found")
342
+ return "gone";
343
+ return "transient";
344
+ }
345
+ /**
346
+ * What a re-establishment TELLS the operator while it keeps trying, and what it keeps to itself.
347
+ * Returns the line to print, or undefined for silence.
348
+ *
349
+ * Only the MANAGER's own refusal is relayed, and only when it changes. An operator watching
350
+ * `reconnecting` for ten minutes cannot otherwise tell a sleeping laptop from a manager that is at
351
+ * its session ceiling, and the ceiling is the one a person can act on. Repeating a steady refusal
352
+ * on every attempt would bury it.
353
+ *
354
+ * A LOCAL failure to reach anything is deliberately silent: it is already what `connection lost,
355
+ * reconnecting` says, and the copy on this path is written for someone who just typed a command
356
+ * ("no mesh running at X - run `cotal up`"), which is the wrong thing to tell someone whose wifi
357
+ * dropped.
358
+ */
359
+ export function reconnectNotice(est, alreadySaid) {
360
+ if (!est.fromManager || est.message === alreadySaid)
361
+ return undefined;
362
+ return `[cotal: ${est.message}]`;
363
+ }
364
+ /**
365
+ * The line an exit owes an operator about sessions this attach could not hand back, or nothing.
366
+ *
367
+ * Suppressed on `gone`, and that is not tidiness. That verdict exists because the manager answered
368
+ * `not-found`, which it only answers once the seat has been freed, and freeing a seat ends every
369
+ * session bound to it (`freeSlot` into `endForTarget`, on despawn, self-stop, reap and natural exit
370
+ * alike). The sessions this would name have already been collected, so naming them would be
371
+ * inventing work for someone who is about to close their terminal.
372
+ */
373
+ export function heldSessionNotice(pending, verdict) {
374
+ if (pending < 1 || verdict === "gone")
375
+ return undefined;
376
+ const what = pending === 1 ? "a session" : `${pending} sessions`;
377
+ return `[cotal: the manager still holds ${what} from the lost link; each frees when the seat or the manager ends it]`;
378
+ }
379
+ /**
380
+ * Ask the manager for a session and open it: a FRESH grant, a FRESH per-session caller credential,
381
+ * a FRESH connection, every time. Nothing is carried over from a previous attempt, so a reconnect
382
+ * re-runs the manager's whole authorization path (`serveGated` → `authorizeNamed` → a one-use
383
+ * holder-bound grant with its own TTL) exactly as the first attach did. A revoked or expired grant
384
+ * cannot be kept alive by reconnecting, because no grant is ever presented twice.
385
+ */
386
+ async function establishAttachSession(v, on, reconnect, first) {
387
+ // A reconnect must never cross a path that can END THE PROCESS. The mesh resolve and its
388
+ // preflight are written to do exactly that ("no mesh running at X - run `cotal up`"), which is
389
+ // the right answer for a person who just typed a command and the wrong one for a link that is
390
+ // coming back. So a RE-ESTABLISHMENT asks for the throwing form and treats the refusal as the
391
+ // transient it is.
392
+ //
393
+ // Keyed off `first`, NOT off the reconnect flag, and the difference is user-visible. A refusal
394
+ // that escapes as an exception is rendered by the dispatcher's generic handler, which prints
395
+ // `✗ ${message}` over a sentence that already opens with `✗` and drops the refusal's hint line.
396
+ // The reconnect flag is on by DEFAULT, so keying on it sent the very first attach down that path
397
+ // and turned today's "no mesh running at X - run `cotal up`" into a double mark with no remedy.
398
+ // The first attempt is not a re-establishment and has nothing to survive for.
399
+ //
400
+ // `pinForTarget` is deliberately not crossed here: seat locality is resolved ONCE, before the
401
+ // loop, and the pin is carried in. It is the other step on this path that exits.
289
402
  // Same reach routing as stop: static mesh → any-mode on the `control-caller-admin` instrument;
290
403
  // user mesh → the operator's own bearer with owner reach, the manager deciding (own owner-domain
291
404
  // passes with "spawn", cross-owner needs ledger "admin").
292
- // Same seat-locality rule as stop, and it matters more here: attaching to a seat means reaching
293
- // the process, which only its host manager has.
294
- const on = await pinForTarget(v, "cotal attach");
295
- const t = await resolveControlTarget(v, "control-caller-admin", on);
405
+ const t = await resolveControlTarget(v, "control-caller-admin", on, first ? {} : { onRefusal: "throw" });
296
406
  const reach = t.auth.bearer ? "owner" : "any";
297
407
  const reply = await askManager(t.space, t.server, "attach", { name: v.name }, t.auth, reach, undefined, { instanceId: on });
298
- failIfNotOk(reply);
408
+ if (!reply.ok)
409
+ return { ok: false, kind: attachRefusal(reply.code), message: reply.error ?? "error", fromManager: true };
299
410
  // P2 item 6: the reply is the holder-bound §13.6 session GRANT (no ws:// URL). Redeem it over the
300
411
  // mesh — mint a per-session, rails-only caller cred from the local space seed, connect, and drive
301
412
  // the terminal through the session rail. USER mesh (bearer, no local seed): refuse LOUD — the
302
413
  // 2-step user-mode redemption callout is the #29 follow-up, deliberately not wired here.
303
414
  const { grant } = reply.data;
304
415
  const auth = loadSpaceAuth(authDir(findCotalRoot()), t.space);
305
- if (!auth) {
306
- console.error(c.red("mesh attach needs the local space seed (static auth mesh); user-mode session redemption is the #29 callout follow-up, not wired yet"));
307
- process.exit(1);
308
- }
416
+ if (!auth)
417
+ return {
418
+ ok: false, kind: "fatal",
419
+ message: "mesh attach needs the local space seed (static auth mesh); user-mode session redemption is the #29 callout follow-up, not wired yet",
420
+ };
309
421
  const id = newIdentity();
310
422
  const creds = await mintCreds(auth, id, "session-caller", {
311
423
  sessionCaller: { endpoint: grant.endpoint, sessionId: grant.sessionId, epoch: grant.serving.epoch },
312
424
  expiresAt: Math.floor(grant.exp / 1000), // grant.exp is ms (now+ttlMs); the JWT exp is seconds
313
425
  });
314
- const nc = await connect({ servers: t.server, ...standaloneConnectOpts({ creds, tls: false }), inboxPrefix: `_INBOX_${id.id}`, maxReconnectAttempts: -1 });
315
- console.error(c.dim(`attached to ${v.name} - ${detachKey().label} to detach`));
426
+ // maxReconnectAttempts is the whole difference between the two modes, and it is deliberate.
427
+ // ONE-SHOT keeps the old -1: the NATS layer redials forever under a single session.
428
+ // RECONNECTING uses 0, because that redial is what breaks the attach rather than saving it — the
429
+ // session is already dead by the time the link comes back (the serving rail either kept
430
+ // advancing `seq` into a subject nobody was subscribed to, so the restored subscription faults
431
+ // with `gap`, or it stalled out and closed while this side was away, so nothing ever arrives
432
+ // again). Owning re-establishment here means the link coming back produces a real session with a
433
+ // real repaint, instead of a restored socket over a session that ended without us.
434
+ const nc = await connect({
435
+ servers: t.server,
436
+ ...standaloneConnectOpts({ creds, tls: false }),
437
+ inboxPrefix: `_INBOX_${id.id}`,
438
+ maxReconnectAttempts: reconnect ? 0 : -1,
439
+ // Detection latency is part of the defect, not a detail of it. A laptop waking from sleep does
440
+ // not always get a socket error: the connection can sit half-open, and on the stock two-minute
441
+ // ping with two misses the client would not learn its link was dead for about four minutes,
442
+ // with the terminal frozen the whole time. Ten seconds puts that in tens of seconds. Only on
443
+ // the reconnecting path, so `--no-reconnect` keeps today's timing along with today's exit.
444
+ //
445
+ // NOT MEASURED by this change's suite, and said so rather than implied: the smoke severs the
446
+ // link by destroying sockets, so every number it prints is close detection. A fault model that
447
+ // half-opens a link is what would grade this line, and it does not exist here yet.
448
+ ...(reconnect ? { pingInterval: 10_000 } : {}),
449
+ });
450
+ return { ok: true, nc, grant, creds, inbox: id.id, server: t.server };
451
+ }
452
+ /**
453
+ * Tell the manager a session is over, so it gets its slot back.
454
+ *
455
+ * NOTHING on the serving side reaps a session whose caller went away while the seat is quiet: the
456
+ * rail's stall watchdog only arms once the send window FILLS (`endpoint-session-rail.ts`), an idle
457
+ * seat never fills it, and the bridge has no expiry timer of its own. Measured against a manager
458
+ * with an idle seat: 45s of dead link left the live-session count at 1, and the reconnect took it
459
+ * to 2 — one slot per outage, held until the seat or the manager ends it, against a ceiling of 64.
460
+ *
461
+ * The mechanism is the advisory close frame the rail already defines; the manager's bridge ends on
462
+ * it. It has to be published with THIS session's caller credential, the only one scoped to this
463
+ * session's subjects, so a re-establishment cannot send it on the abandoned session's behalf — a
464
+ * fresh session's credential covers a fresh session's subjects. Hence a short-lived connection
465
+ * minted from the credential the abandoned session already had.
466
+ */
467
+ async function releaseAbandonedSession(s) {
468
+ const nc = await connect({
469
+ servers: s.server,
470
+ ...standaloneConnectOpts({ creds: s.creds, tls: false }),
471
+ inboxPrefix: `_INBOX_${s.inbox}`,
472
+ maxReconnectAttempts: 0,
473
+ timeout: LINK_DEADLINE_MS,
474
+ // The same short ping the reconnecting session uses. This connection exists BECAUSE a link died,
475
+ // so it is the last one that should be left waiting on the stock two-minute heartbeat to find
476
+ // out that the replacement died too.
477
+ pingInterval: 10_000,
478
+ });
479
+ try {
480
+ // The rail is opened only because `close()` is the public way to speak the framing; no timers,
481
+ // and it tears itself down on the same call.
482
+ openSessionRail({ nc, grant: s.grant, role: "caller", onData: () => { }, idleCreditMs: 0, stallTimeoutMs: 0 }).close();
483
+ // Throwing is what keeps the record: the caller holds the session until a flush RETURNS.
484
+ if (!(await flushed(nc)))
485
+ throw new Error(`the close frame for session ${s.grant.sessionId} never left`);
486
+ }
487
+ finally {
488
+ await closeLink(nc);
489
+ }
490
+ }
491
+ /** Watch stdin for the detach key while there is NO session reading it. Without this the key is
492
+ * dead for as long as a reconnect takes, which is exactly when an operator is most likely to give
493
+ * up and press it. Non-detach keystrokes are dropped: there is no seat to send them to, and
494
+ * buffering them would replay a burst into the agent on reconnect. */
495
+ function watchDetachKey(byte) {
496
+ const stdin = process.stdin;
497
+ let hit;
498
+ const pressed = new Promise((r) => { hit = r; });
499
+ const onData = (d) => { if (d.length === 1 && d[0] === byte)
500
+ hit(); };
501
+ stdin.on("data", onData);
502
+ stdin.resume();
503
+ return { pressed, stop: () => { stdin.off("data", onData); stdin.pause(); } };
504
+ }
505
+ /**
506
+ * The attach loop. One session at a time; when the LINK breaks and the operator did not detach, it
507
+ * re-establishes with backoff and keeps going, because the seat is still there and the terminal the
508
+ * operator walked away from should still be theirs when they come back.
509
+ */
510
+ async function runAttachLoop(vv, pin, reconnect, key, hold) {
511
+ let first = true;
512
+ let attempt = 0; // consecutive re-establishment attempts since the last live session
513
+ // Sessions the manager still counts, waiting to be told. A LIST rather than one slot: a second
514
+ // link death before the first hand-back lands would overwrite the first and leak it with nothing
515
+ // said. It cannot grow without bound, because every entry needed a successful establishment, and
516
+ // successful establishments are exactly what the manager's own session ceiling counts.
517
+ const abandoned = [];
518
+ let saidWhy = ""; // the last transient refusal printed, so a steady reason prints once, not per attempt
519
+ // Give the manager its slots back. Oldest first, and one failure ends the round rather than
520
+ // skipping ahead, because the reason is the link and the link is the same for all of them.
521
+ const releaseAbandoned = async () => {
522
+ while (abandoned.length > 0) {
523
+ try {
524
+ await releaseAbandonedSession(abandoned[0]);
525
+ abandoned.shift();
526
+ }
527
+ catch {
528
+ break;
529
+ }
530
+ }
531
+ };
532
+ // Every exit runs through here, so the one thing an operator cannot see for themselves is never
533
+ // swallowed. It TRIES first: an operator who detaches during the backoff may well be doing it
534
+ // because the link came back, and returning straight out would leave a slot held that one dial
535
+ // would have freed. The attempt is bounded exactly like every other, and what it could not
536
+ // deliver is what gets said. What to say, and when to say nothing, is `heldSessionNotice`.
537
+ const done = async (v) => {
538
+ if (v.kind !== "gone")
539
+ await releaseAbandoned();
540
+ const notice = heldSessionNotice(abandoned.length, v.kind);
541
+ if (notice)
542
+ console.error(c.dim(notice));
543
+ return v;
544
+ };
545
+ for (;;) {
546
+ if (!first) {
547
+ // Back off BEFORE the attempt, and stay interruptible: the detach key must work while we
548
+ // wait, not only while a session is up. The timer is CLEARED rather than left to the race,
549
+ // because losing a `Promise.race` does not stop a `setTimeout`: the detach is honoured at
550
+ // once, the terminal comes back and `detached from` prints, and then node holds the process
551
+ // open until the abandoned timer fires. On the 30s rung that is half a minute of a shell that
552
+ // has already said it detached and will not give the prompt back. Measured before this line
553
+ // existed: press to first output 0.1s, press to EXIT 27.0s with the next attempt 26.9s away,
554
+ // and 8.3s with it 8.1s away, tracking the rung rather than the work.
555
+ const ms = RECONNECT_BACKOFF_MS[Math.min(attempt, RECONNECT_BACKOFF_MS.length - 1)];
556
+ const watch = watchDetachKey(key.byte);
557
+ let timer;
558
+ const waited = new Promise((r) => { timer = setTimeout(() => r(false), ms); });
559
+ const detached = await Promise.race([waited, watch.pressed.then(() => true)]);
560
+ clearTimeout(timer);
561
+ watch.stop();
562
+ if (detached)
563
+ return await done({ kind: "ended" });
564
+ attempt++;
565
+ }
566
+ // Give the manager its slots back BEFORE claiming another one. The order is load-bearing at the
567
+ // ceiling: a client that claims first is refused by the very sessions it abandoned. A failure
568
+ // is retried on the next attempt and accounted for by `done` if it never lands.
569
+ await releaseAbandoned();
570
+ let est;
571
+ try {
572
+ est = await establishAttachSession(vv, pin, reconnect, first);
573
+ }
574
+ catch (e) {
575
+ // The FIRST attempt throws exactly as it always has — the CLI's top-level handler renders
576
+ // it. Only a reconnect turns a thrown establishment into another attempt.
577
+ if (first)
578
+ throw e;
579
+ est = { ok: false, kind: "transient", message: e.message };
580
+ }
581
+ if (!est.ok) {
582
+ // Nothing changes for the first attach: any refusal is the same loud exit as before.
583
+ if (first || est.kind === "fatal" || est.kind === "denied")
584
+ return await done({ kind: "failed", message: est.message });
585
+ if (est.kind === "gone")
586
+ return await done({ kind: "gone" });
587
+ const notice = reconnectNotice(est, saidWhy);
588
+ if (notice) {
589
+ saidWhy = est.message;
590
+ console.error(c.dim(notice));
591
+ }
592
+ continue; // transient: the manager or the link is unreachable right now
593
+ }
594
+ saidWhy = "";
595
+ if (first)
596
+ console.error(c.dim(`attached to ${vv.name} - ${key.label} to detach`));
597
+ else
598
+ console.error(c.dim("[cotal: reconnected]"));
599
+ first = false;
600
+ let outcome;
601
+ const startedAt = Date.now();
602
+ const transport = meshSessionTransport(est.nc, est.grant);
603
+ try {
604
+ // The manager replays its byte-exact backlog snapshot on every open (the `ready` handshake
605
+ // in session/bridge.ts), so the reconnected screen repaints through the path that already
606
+ // exists; there is no second backlog here.
607
+ outcome = await attachClient(transport, hold);
608
+ }
609
+ finally {
610
+ // Hand the session back. With the link still up that is one advisory frame over the
611
+ // connection already open (a rail that broke while the socket lived — a stall, a gap — is
612
+ // exactly this case, and it is idempotent after a detach has already closed it). The FLUSH is
613
+ // what decides whether it left, not the publish: a link can die between the closed-check and
614
+ // the frame, which is the same slow death this whole change is about. Only a flush that
615
+ // returned counts as handed back; anything else keeps the credential for the next attempt,
616
+ // and see releaseAbandonedSession for why no other credential can carry it.
617
+ let handedBack = false;
618
+ if (!est.nc.isClosed()) {
619
+ transport.close();
620
+ handedBack = await flushed(est.nc);
621
+ }
622
+ if (!handedBack && reconnect) {
623
+ abandoned.push({ grant: est.grant, creds: est.creds, inbox: est.inbox, server: est.server });
624
+ }
625
+ await closeLink(est.nc);
626
+ }
627
+ // The backoff resets on a session that WORKED, not on one that merely opened. `carried` is not
628
+ // enough on its own: a seat that has produced nothing has an empty backlog snapshot, so a
629
+ // perfectly healthy attach to a QUIET agent would never reset and would climb to the 30s cap
630
+ // over a few blips, which is the seat this whole change cares most about. A session that simply
631
+ // lasted is the other half of the same question.
632
+ if (outcome.carried || Date.now() - startedAt >= SESSION_WORKED_MS)
633
+ attempt = 0;
634
+ if (!reconnect) {
635
+ // One-shot: a faulted session still throws, so `--no-reconnect` exits the way it does today.
636
+ if (outcome.error)
637
+ throw outcome.error;
638
+ return await done({ kind: "ended" });
639
+ }
640
+ if (!isTransportEnd(outcome.reason)) {
641
+ // A faulted end this classification does not recognise is NOT a detach. Printing
642
+ // `detached from` over it would be the silent swallow this whole change exists to remove,
643
+ // so it exits non-zero carrying the fault. Every `fireEnd` site passes a reason today, so
644
+ // this is a guard against a future one that forgets, not a live path.
645
+ if (outcome.error)
646
+ return await done({ kind: "failed", message: outcome.error.message });
647
+ return await done({ kind: "ended" });
648
+ }
649
+ console.error(c.dim("[cotal: connection lost, reconnecting]"));
650
+ }
651
+ }
652
+ export async function attach(args) {
653
+ const v = args.values;
654
+ if (!v.name) {
655
+ console.error(c.red("--name is required"));
656
+ process.exit(1);
657
+ }
658
+ const reconnecting = v["no-reconnect"] !== true;
659
+ // Seat-locality first, exactly as `stop` does it: attaching to a seat means reaching the process,
660
+ // which only its host manager has. Resolved ONCE — the seat does not move between reconnects, and
661
+ // a manager that stops answering is a transient the loop already retries through.
662
+ const on = await pinForTarget(v, "cotal attach");
663
+ const detach = detachKey();
664
+ const hold = holdTerminal();
665
+ let verdict;
316
666
  try {
317
- await attachClient(meshSessionTransport(nc, grant));
667
+ verdict = await runAttachLoop(v, on, reconnecting, detach, hold);
318
668
  }
319
669
  finally {
320
- await nc.drain().catch(() => nc.close());
670
+ // The terminal comes back before anything else happens, whatever ended the attach — including
671
+ // a throw out of the one-shot path, which is how `--no-reconnect` keeps its old exit.
672
+ hold.restore();
673
+ }
674
+ if (verdict.kind === "failed") {
675
+ console.error(c.red(`✗ ${verdict.message}`));
676
+ process.exit(1);
677
+ }
678
+ if (verdict.kind === "gone") {
679
+ console.error(c.dim(`\nseat ${v.name} is gone`));
680
+ return;
321
681
  }
322
682
  console.error(c.dim(`\ndetached from ${v.name}`));
323
683
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"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"}
@@ -34,13 +34,52 @@ export interface TerminalTransport {
34
34
  /** Detach: signal the remote and stop locally. */
35
35
  close(): void;
36
36
  }
37
+ /**
38
+ * The operator's terminal, held ACROSS attach attempts. A reconnect re-establishes the SESSION,
39
+ * not the terminal: restoring raw mode and leaving the child's alternate screen between attempts
40
+ * would flash the shell's screen back and then repaint over it, which is exactly the garble the
41
+ * reconnect is supposed to spare the operator. So the two facts that outlive one session — the
42
+ * mode the terminal was in before we touched it, and whether the child has us in its alternate
43
+ * screen — live here, and the undo runs exactly once, when the attach really ends.
44
+ *
45
+ * `attachClient` creates its own when no hold is passed, which is the one-shot behaviour: enter on
46
+ * ready, undo on end.
47
+ */
48
+ export interface TerminalHold {
49
+ /** Raw mode on, remembering what we found. Idempotent across reconnects. */
50
+ enterRaw(): void;
51
+ /** Is the child in its alternate screen right now? Carried across reconnects so the final undo
52
+ * leaves that buffer exactly when the child put us there. */
53
+ altScreen: boolean;
54
+ /** Undo every mode we changed, leave the alternate screen if the child put us there, and give
55
+ * the terminal back the raw mode it had. Idempotent. */
56
+ restore(): void;
57
+ }
58
+ export declare function holdTerminal(): TerminalHold;
59
+ /**
60
+ * Why a session ended, as {@link attachClient} resolves it. The reason is the peer's distinct `end`
61
+ * reason, the transport's own (`detached`, `peer-closed`, `connection-closed`), or the broken
62
+ * rail's protocol-fault name. `error` is set when the end was a fault rather than a clean close;
63
+ * it is DATA here rather than a rejection, because a caller that reconnects has to read the reason
64
+ * to decide, and an exception carries it only as prose.
65
+ */
66
+ export interface AttachOutcome {
67
+ readonly reason: string;
68
+ readonly error?: Error;
69
+ /** Did any seat output actually reach the terminal? The manager replays its backlog snapshot on
70
+ * every open, so a session that carried nothing never got that far — which is how a caller that
71
+ * reconnects tells a session that worked from one that died on the way up. */
72
+ readonly carried: boolean;
73
+ }
74
+ /** Did the session end because the LINK broke (so re-establishing is the honest response)? */
75
+ export declare function isTransportEnd(reason: string): boolean;
37
76
  /**
38
77
  * Drive a manager's attach session from the terminal: raw-mode stdin streams to the remote PTY,
39
78
  * PTY output streams to stdout, and SIGWINCH-style resizes are forwarded. The detach key (Ctrl-]
40
79
  * by default, {@link detachKey}) detaches without killing the agent. Transport-agnostic over the
41
80
  * mesh §13.6 session.
42
81
  */
43
- export declare function attachClient(transport: TerminalTransport): Promise<void>;
82
+ export declare function attachClient(transport: TerminalTransport, hold?: TerminalHold): Promise<AttachOutcome>;
44
83
  /**
45
84
  * The mesh §13.6 SESSION transport: the item-6 replacement for the loopback WebSocket. Given a
46
85
  * connection scoped to the session's eps rails and the redeemed grant, it opens the caller rail,
@@ -1 +1 @@
1
- {"version":3,"file":"attach-client.d.ts","sourceRoot":"","sources":["../../src/lib/attach-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAgF,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGjI;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAYhF;AAwDD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C;kEAC8D;IAC9D,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACxD,uCAAuC;IACvC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uCAAuC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,kDAAkD;IAClD,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+HxE;AAGD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,iBAAiB,CA4C/F"}
1
+ {"version":3,"file":"attach-client.d.ts","sourceRoot":"","sources":["../../src/lib/attach-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAgF,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGjI;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAYhF;AAwDD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C;kEAC8D;IAC9D,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACxD,uCAAuC;IACvC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uCAAuC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,kDAAkD;IAClD,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,QAAQ,IAAI,IAAI,CAAC;IACjB;kEAC8D;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB;6DACyD;IACzD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,YAAY,IAAI,YAAY,CAoB3C;AAYD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB;;mFAE+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAqBD,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA2ItG;AAGD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,iBAAiB,CA0D/F"}
@@ -70,13 +70,71 @@ const lastIndexOfRe = (re, s) => {
70
70
  last = m.index;
71
71
  return last;
72
72
  };
73
+ export function holdTerminal() {
74
+ const stdin = process.stdin;
75
+ const wasRaw = stdin.isRaw ?? false;
76
+ let entered = false;
77
+ let restored = false;
78
+ return {
79
+ altScreen: false,
80
+ enterRaw() {
81
+ if (entered)
82
+ return;
83
+ entered = true;
84
+ if (stdin.isTTY)
85
+ stdin.setRawMode(true);
86
+ },
87
+ restore() {
88
+ if (restored)
89
+ return;
90
+ restored = true;
91
+ if (process.stdout.isTTY)
92
+ process.stdout.write(RESTORE + (this.altScreen ? ALT_LEAVE_SEQ : ""));
93
+ if (stdin.isTTY)
94
+ stdin.setRawMode(wasRaw);
95
+ stdin.pause();
96
+ },
97
+ };
98
+ }
99
+ /** Register the stdout EPIPE/EIO no-op ONCE for the process. Idempotent by construction: a
100
+ * reconnecting attach calls {@link attachClient} once per attempt and each call would otherwise
101
+ * add another listener that nothing ever removes. */
102
+ let stdoutErrorSwallowed = false;
103
+ function swallowStdoutPipeErrors() {
104
+ if (stdoutErrorSwallowed)
105
+ return;
106
+ stdoutErrorSwallowed = true;
107
+ process.stdout.on("error", () => { });
108
+ }
109
+ /**
110
+ * The TRANSPORT-class end reasons: the link broke, the session did not finish. Every one of these
111
+ * means the seat is still there and a fresh session would reach it.
112
+ *
113
+ * The nine fault names are core's own, not a list invented here: `openSessionRail`'s
114
+ * `onProtocolError` documents its whole vocabulary as "the session is broken — close and
115
+ * re-establish" (SPEC 13.6). Added to them are the three ends that are not rail faults but are
116
+ * still the link dying: the peer closing its rail, and this side's NATS connection going away.
117
+ *
118
+ * Deliberately NOT here, so a reconnect never papers over a finished session: `detached` (the
119
+ * operator pressed the key), and the manager's terminal reasons — `process-exit` (the agent
120
+ * exited), `target-despawn`, `manager-restart`, `expired` (the grant's TTL elapsed). Those end the
121
+ * attach, and the CLI says which.
122
+ */
123
+ const TRANSPORT_END_REASONS = new Set([
124
+ "garbled-frame", "gap", "credit-overrun", "flood", "subscription", "stall", "handler", "publish", "seq-exhausted",
125
+ "peer-closed", "closed", "connection-closed",
126
+ ]);
127
+ /** Did the session end because the LINK broke (so re-establishing is the honest response)? */
128
+ export function isTransportEnd(reason) {
129
+ return TRANSPORT_END_REASONS.has(reason);
130
+ }
73
131
  /**
74
132
  * Drive a manager's attach session from the terminal: raw-mode stdin streams to the remote PTY,
75
133
  * PTY output streams to stdout, and SIGWINCH-style resizes are forwarded. The detach key (Ctrl-]
76
134
  * by default, {@link detachKey}) detaches without killing the agent. Transport-agnostic over the
77
135
  * mesh §13.6 session.
78
136
  */
79
- export function attachClient(transport) {
137
+ export function attachClient(transport, hold) {
80
138
  // Resolve the detach key before connecting so a bad COTAL_DETACH_KEY fails loudly up front
81
139
  // (matching the manager's other fail-fast exits) instead of after an attach we'd only tear down.
82
140
  let detach;
@@ -87,17 +145,24 @@ export function attachClient(transport) {
87
145
  console.error(c.red(`✗ ${e.message}`));
88
146
  process.exit(1);
89
147
  }
90
- return new Promise((resolve, reject) => {
148
+ // A caller that reconnects owns the terminal across attempts and undoes it once at the end;
149
+ // without a hold this session owns it, which is the one-shot behaviour.
150
+ const ownsTerminal = hold === undefined;
151
+ const term = hold ?? holdTerminal();
152
+ return new Promise((resolve) => {
91
153
  const stdin = process.stdin;
92
- const wasRaw = stdin.isRaw ?? false;
93
154
  // A broken local pipe (terminal closed / SIGHUP) makes stdout writes async-error on a later
94
155
  // tick; with no listener that EPIPE/EIO becomes an uncaughtException — crashing on the per-frame
95
- // PTY write or the on-detach restore write. Register a no-op listener once here (not in cleanup,
96
- // so it outlives the async error tick) to turn it into a handled no-op.
97
- process.stdout.on("error", () => { });
98
- // Wheel-scroll state (see MOUSE_ON above): whether the child is in the alternate screen, and a
99
- // buffer for an SGR mouse report split across stdin reads.
100
- let altScreen = false;
156
+ // PTY write or the on-detach restore write. It must outlive the async error tick, so it is NOT
157
+ // removed in cleanup which is exactly why it is registered once per PROCESS rather than once
158
+ // per attempt: a reconnect loop calls this function again on every re-establishment, and one
159
+ // listener per attempt walks into MaxListenersExceededWarning during a long outage.
160
+ swallowStdoutPipeErrors();
161
+ // Wheel-scroll state (see MOUSE_ON above): whether the child is in the alternate screen (on the
162
+ // hold, since it outlives one session) and a buffer for an SGR mouse report split across stdin
163
+ // reads (per-session: bytes still in flight when a link dies are gone with it).
164
+ // Did this session ever put bytes on the terminal (see AttachOutcome.carried)?
165
+ let carried = false;
101
166
  let mouseBuf = "";
102
167
  // Carry the tail of the previous output frame so an alt-screen escape split across ws frames
103
168
  // (e.g. `ESC[?10` then `49h`) is still detected; 16 bytes covers these private-mode sequences.
@@ -112,10 +177,10 @@ export function attachClient(transport) {
112
177
  if (enter === -1 && leave === -1)
113
178
  return;
114
179
  const nowAlt = enter > leave;
115
- if (nowAlt === altScreen)
180
+ if (nowAlt === term.altScreen)
116
181
  return;
117
- altScreen = nowAlt;
118
- if (altScreen) {
182
+ term.altScreen = nowAlt;
183
+ if (term.altScreen) {
119
184
  if (process.stdout.isTTY)
120
185
  process.stdout.write(MOUSE_ON);
121
186
  }
@@ -134,7 +199,7 @@ export function attachClient(transport) {
134
199
  return;
135
200
  }
136
201
  // Inline child: forward keystrokes raw (its wheel scrolls the local terminal, not the app).
137
- if (!altScreen) {
202
+ if (!term.altScreen) {
138
203
  transport.send(d);
139
204
  return;
140
205
  }
@@ -181,36 +246,38 @@ export function attachClient(transport) {
181
246
  stdin.off("data", onInput);
182
247
  process.stdout.off("resize", sendResize);
183
248
  // Undo terminal modes the (still-running) agent's TUI enabled — it won't restore us on detach.
184
- // If the child put us in its alternate screen (altScreen), leave it too so the terminal isn't
185
- // stranded in the alt buffer; an inline child (altScreen=false) keeps its scrollback.
186
- if (process.stdout.isTTY)
187
- process.stdout.write(RESTORE + (altScreen ? ALT_LEAVE_SEQ : ""));
188
- if (stdin.isTTY)
189
- stdin.setRawMode(wasRaw);
190
- stdin.pause();
249
+ // If the child put us in its alternate screen, leave it too so the terminal isn't stranded in
250
+ // the alt buffer; an inline child keeps its scrollback. Only when this session OWNS the
251
+ // terminal: a reconnecting caller undoes it once, after the last attempt, so the screen does
252
+ // not flash back to the shell and get repainted over between sessions.
253
+ if (ownsTerminal)
254
+ term.restore();
255
+ else
256
+ stdin.pause();
191
257
  };
192
258
  transport.onReady(() => {
193
259
  // Make an override visible (the CLI's "attached to X — Ctrl-] to detach" hint still prints the
194
260
  // default label). Only on override, so the default case stays free of duplicate noise.
195
261
  if (detach.overridden)
196
262
  console.error(c.dim(`detach key: ${detach.label} (via COTAL_DETACH_KEY)`));
197
- if (stdin.isTTY)
198
- stdin.setRawMode(true);
263
+ term.enterRaw();
199
264
  stdin.resume();
200
265
  sendResize();
201
266
  process.stdout.on("resize", sendResize);
202
267
  stdin.on("data", onInput);
203
268
  });
204
269
  transport.onData((data) => {
270
+ carried = true;
205
271
  trackAltScreen(data);
206
272
  process.stdout.write(data);
207
273
  });
208
- transport.onEnd((err) => {
274
+ transport.onEnd((err, reason) => {
209
275
  cleanup();
210
- if (err)
211
- reject(err);
212
- else
213
- resolve();
276
+ // The reason is DATA, not an exception: a reconnecting caller reads it to decide whether the
277
+ // link broke or the session finished. A transport with nothing to say about a faulted end
278
+ // reports `error`, which is never in the transport-class set; the loop exits non-zero on it
279
+ // rather than calling it a detach, so an unnamed fault is still loud.
280
+ resolve({ reason: reason ?? (err ? "error" : "detached"), carried, ...(err ? { error: err } : {}) });
214
281
  });
215
282
  });
216
283
  }
@@ -253,8 +320,16 @@ export function meshSessionTransport(nc, grant) {
253
320
  onDataCb?.(Buffer.from(`\r\n[cotal: ${frame.bytes} bytes dropped - backpressure]\r\n`));
254
321
  },
255
322
  onClose: () => fireEnd(undefined, "peer-closed"),
256
- onProtocolError: (reason) => fireEnd(new Error(`mesh session transport error: ${reason}`)),
323
+ // The fault NAME rides alongside the error. It used to live only inside the message, where the
324
+ // only way to tell a broken link from a finished session was to parse English.
325
+ onProtocolError: (reason) => fireEnd(new Error(`mesh session transport error: ${reason}`), reason),
257
326
  });
327
+ // The connection going away ends the session, and says so. Without this a link that dies past the
328
+ // serving side's stall watchdog leaves the caller subscribed to a session nobody is serving: the
329
+ // manager's `end` and `close` frames were published while this side was disconnected and EPS has
330
+ // no retention, so they are simply gone, and the attach hangs on a dead session with no output,
331
+ // no error and no end. `nc.closed()` is the one signal that still arrives.
332
+ void nc.closed().then((err) => fireEnd(err ?? undefined, "connection-closed"));
258
333
  // The caller's `out` subscription must be live before the serving side is asked to replay (EPS is
259
334
  // at-most-once, no retention). flush() forces the SUB, then we send `ready` and go.
260
335
  void nc.flush().then(() => {
@@ -265,7 +340,12 @@ export function meshSessionTransport(nc, grant) {
265
340
  }
266
341
  catch { /* broken/full: the onProtocolError path ends the session */ }
267
342
  onReadyCb?.();
268
- }).catch((e) => fireEnd(e));
343
+ // A flush that FAILS means the connection went away before the session ever opened, which is the
344
+ // link and not the session. Without a reason here the end reads as a plain `error`, which is in
345
+ // no classification, so a reconnect would treat a link that died between connect() and the first
346
+ // flush as a finished session and stop: the exact failure this path exists to remove, in the
347
+ // window where a flapping link is most likely to land.
348
+ }).catch((e) => fireEnd(e, "connection-closed"));
269
349
  return {
270
350
  onReady: (cb) => { onReadyCb = cb; },
271
351
  onData: (cb) => { onDataCb = cb; },
@@ -1 +1 @@
1
- {"version":3,"file":"attach-client.js","sourceRoot":"","sources":["../../src/lib/attach-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach-client.js","sourceRoot":"","sources":["../../src/lib/attach-client.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { connectOrExit, connectUserControlOrExit, endpointAuth, reachableOrExit, refuseStaticCredsForKnownUserAuthOrExit, resolveTargetOrExit, preflightOrExit, classifyPreflightFailure, userViewAuth, userViewAuthOrExit, type UserViewAuth, type ConnectFlags, type Connection, type RawAuth, type PreflightFailure, } from "@cotal-ai/workspace";
1
+ export { connectOrExit, connectOrThrow, ConnectRefusal, connectUserControlOrExit, endpointAuth, reachableOrExit, refuseStaticCredsForKnownUserAuthOrExit, resolveTargetOrExit, preflightOrExit, classifyPreflightFailure, userViewAuth, userViewAuthOrExit, type UserViewAuth, type ConnectFlags, type Connection, type RawAuth, type PreflightFailure, } from "@cotal-ai/workspace";
2
2
  //# sourceMappingURL=connect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/lib/connect.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,uCAAuC,EACvC,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/lib/connect.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,uCAAuC,EACvC,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // The connect-or-exit wrappers moved into `@cotal-ai/workspace` (stage 4) so every command
2
2
  // surface — this CLI and @cotal-ai/web — resolves meshes identically. Re-exported here
3
3
  // so existing importers (and `connect.smoke.ts`) keep resolving them from this module unchanged.
4
- export { connectOrExit, connectUserControlOrExit, endpointAuth, reachableOrExit, refuseStaticCredsForKnownUserAuthOrExit, resolveTargetOrExit, preflightOrExit, classifyPreflightFailure, userViewAuth, userViewAuthOrExit, } from "@cotal-ai/workspace";
4
+ export { connectOrExit, connectOrThrow, ConnectRefusal, connectUserControlOrExit, endpointAuth, reachableOrExit, refuseStaticCredsForKnownUserAuthOrExit, resolveTargetOrExit, preflightOrExit, classifyPreflightFailure, userViewAuth, userViewAuthOrExit, } from "@cotal-ai/workspace";
5
5
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/lib/connect.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,uFAAuF;AACvF,iGAAiG;AACjG,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,uCAAuC,EACvC,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,GAMnB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/lib/connect.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,uFAAuF;AACvF,iGAAiG;AACjG,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,uCAAuC,EACvC,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,GAMnB,MAAM,qBAAqB,CAAC"}
@@ -33,7 +33,15 @@ export declare function resolveControlTarget(flags: ConnectFlags, profile: Profi
33
33
  * so the one-shot credential carries the exact `ep.inst.…` rows for it. Omitted ⇒ class rails
34
34
  * only, exactly as before. It has to arrive HERE rather than at the invoke: the instrument is
35
35
  * minted during this resolve, and a credential cannot gain a rail after it is issued. */
36
- instanceId?: string): Promise<{
36
+ instanceId?: string,
37
+ /** `onRefusal: "throw"` makes an unresolvable or unreachable mesh a THROWN
38
+ * {@link ConnectRefusal} instead of a printed sentence and `process.exit(1)`. A command that is
39
+ * one shot deep wants the exit; a loop that has to survive the broker being briefly gone (the
40
+ * attach reconnect) cannot use a path that ends the process, and "no mesh running at X - run
41
+ * `cotal up`" is the wrong answer to a link that is coming back. */
42
+ opts?: {
43
+ onRefusal?: "exit" | "throw";
44
+ }): Promise<{
37
45
  space: string;
38
46
  server: string;
39
47
  auth: ControlAuth;
@@ -48,8 +56,13 @@ export type ControlReach = "owner" | "any";
48
56
  * deadline elapsed with nothing attributed to the request). `up`'s resume readiness poll keys on it;
49
57
  * it used to key on the message prefix, which turned an operator-facing string into a control-flow
50
58
  * predicate in another file. */
59
+ /** The manager's error CODE, when there was one. A caller that has to DECIDE on a refusal — the
60
+ * attach loop distinguishing "you may not" from "that seat is gone" from "try again" — was left
61
+ * matching English, because both renderings below collapse the envelope to
62
+ * `message ?? code` and the code is the only stable half. */
51
63
  export type ManagerReply = ControlReply & {
52
64
  unanswered?: boolean;
65
+ code?: string;
53
66
  };
54
67
  /** What the calling command declares about pinning. Passed ONLY by a command that offers `--on`
55
68
  * (`ps`, `stop`, `attach`, `spawn --detach`), with `instanceId` set to what the operator typed, if
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/lib/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/lib/control.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { PermissionViolationError, connect } from "@nats-io/transport-node";
3
3
  import { jetstreamManager } from "@nats-io/jetstream";
4
4
  import { authDir, endpointAuth, findCotalRoot, isWorkspaceTargetError, loadSpaceAuth, resolveMeshTarget, pruneStaleMeshes, renderWorkspaceError, soleSpaceOf, } from "@cotal-ai/workspace";
5
5
  import { c, staleStoreHint } from "../ui.js";
6
- import { connectOrExit, connectUserControlOrExit } from "./connect.js";
6
+ import { connectOrExit, connectOrThrow, connectUserControlOrExit } from "./connect.js";
7
7
  /** The only {@link MeshTargetErrorCode}s that mean "there is NO registry entry here", and so the
8
8
  * only ones the mode peek in {@link resolveControlTarget} may absorb. **Every other code is
9
9
  * NON-ABSENCE and must fail loud** — which is the precise claim, and covers more than one
@@ -36,7 +36,14 @@ export async function resolveControlTarget(flags, profile,
36
36
  * so the one-shot credential carries the exact `ep.inst.…` rows for it. Omitted ⇒ class rails
37
37
  * only, exactly as before. It has to arrive HERE rather than at the invoke: the instrument is
38
38
  * minted during this resolve, and a credential cannot gain a rail after it is issued. */
39
- instanceId) {
39
+ instanceId,
40
+ /** `onRefusal: "throw"` makes an unresolvable or unreachable mesh a THROWN
41
+ * {@link ConnectRefusal} instead of a printed sentence and `process.exit(1)`. A command that is
42
+ * one shot deep wants the exit; a loop that has to survive the broker being briefly gone (the
43
+ * attach reconnect) cannot use a path that ends the process, and "no mesh running at X - run
44
+ * `cotal up`" is the wrong answer to a link that is coming back. */
45
+ opts = {}) {
46
+ const connect_ = opts.onRefusal === "throw" ? connectOrThrow : connectOrExit;
40
47
  const withSpace = flags.creds
41
48
  ? { ...flags, space: flags.space ?? soleSpaceOf(authDir(findCotalRoot())) ?? DEFAULT_SPACE }
42
49
  : flags;
@@ -96,7 +103,7 @@ instanceId) {
96
103
  }
97
104
  }
98
105
  // Static / open / raw-creds: mint the requested instrument (or bare open connect).
99
- const conn = await connectOrExit(withSpace, profile, ...(instanceId !== undefined ? [{ instanceId }] : []));
106
+ const conn = await connect_(withSpace, profile, ...(instanceId !== undefined ? [{ instanceId }] : []));
100
107
  return {
101
108
  space: conn.space,
102
109
  server: conn.server,
@@ -170,7 +177,11 @@ async function askManagerEp(space, server, op, args, auth, reach, timeoutMs, pin
170
177
  // the spawn-scoped user bearers - the 1c.2b read narrowing - and hangs their stop/attach).
171
178
  const info = await invokeCommand(nc, space, service, "inspect", { name }, { deadlineMs: 10_000 });
172
179
  if (info.reply.ok !== true)
173
- return { ok: false, error: `could not resolve "${name}": ${info.reply.error?.message ?? info.reply.error?.code ?? "inspect failed"}` };
180
+ return {
181
+ ok: false,
182
+ error: `could not resolve "${name}": ${info.reply.error?.message ?? info.reply.error?.code ?? "inspect failed"}`,
183
+ ...(info.reply.error?.code ? { code: info.reply.error.code } : {}),
184
+ };
174
185
  const row = info.reply.data;
175
186
  // A STATIC row's `id` is the bare actor under the caller's own owner; a USER-mode row's `id`
176
187
  // is the composite `owner.actor` principal key - split it (an embedded dot would break the
@@ -204,7 +215,11 @@ async function askManagerEp(space, server, op, args, auth, reach, timeoutMs, pin
204
215
  ? await submitAndFollowGoal(nc, space, BASELINE_LIFECYCLE_ENDPOINT, caller, timeoutMs ?? START_TIMEOUT_MS, submit)
205
216
  : await submit();
206
217
  if (r.reply.ok !== true)
207
- return { ok: false, error: r.reply.error?.message ?? r.reply.error?.code ?? "error" };
218
+ return {
219
+ ok: false,
220
+ error: r.reply.error?.message ?? r.reply.error?.code ?? "error",
221
+ ...(r.reply.error?.code ? { code: r.reply.error.code } : {}),
222
+ };
208
223
  // The ep `models` reply is normalized to `{catalogs}` — unwrap so call sites keep the ctl shape.
209
224
  const data = mapped.command === "models" ? r.reply.data.catalogs : r.reply.data;
210
225
  return { ok: true, ...(data !== undefined ? { data } : {}) };
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/lib/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/lib/control.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/cli",
3
3
  "description": "Cotal mesh CLI: up, join, watch, console, spawn, mint, channels, history, ext.",
4
- "version": "0.22.0",
4
+ "version": "0.23.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -28,8 +28,8 @@
28
28
  "yaml": "^2.9.0",
29
29
  "zod": "^4.4.3",
30
30
  "ws": "^8.21.0",
31
- "@cotal-ai/core": "0.22.0",
32
- "@cotal-ai/workspace": "0.22.0"
31
+ "@cotal-ai/core": "0.23.0",
32
+ "@cotal-ai/workspace": "0.23.0"
33
33
  },
34
34
  "optionalDependencies": {
35
35
  "@eplightning/nats-server-darwin-arm64": "^2.14.0",