@cotal-ai/manager 0.49.0 → 0.50.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.
package/dist/manager.d.ts CHANGED
@@ -11,6 +11,13 @@ import type { NatsConnection } from "@nats-io/transport-node";
11
11
  * launch-parity smoke can assert every launch client's request timeout OUTLIVES this window — the tier
12
12
  * rule forbids the clients importing it directly. */
13
13
  export declare const READINESS_TIMEOUT_MS = 30000;
14
+ /** Bracketed-paste delimiters (DECSET 2004). `input` wraps a seat's text in these so the return it
15
+ * writes afterwards is a KEYSTROKE rather than the newline trailing a pasted block: a TUI that
16
+ * classifies a fast burst as a paste consumes that trailing newline and the text sits unsubmitted
17
+ * in the composer until the next call's return (issue #1649). Framing, never content - these bytes
18
+ * are not counted into the receipt, so `bytes` still reports what the caller asked to deliver. */
19
+ export declare const PASTE_START = "\u001B[200~";
20
+ export declare const PASTE_END = "\u001B[201~";
14
21
  /** Pick a `setInterval` period for {@link Manager.renewDaemonCreds} that guarantees at least one
15
22
  * tick lands inside every renewal owner's `[renewAt, exp)` window.
16
23
  *
@@ -663,6 +670,11 @@ export declare class Manager {
663
670
  private leaseRenewInFlight;
664
671
  /** The class-2 renewal owner's half-TTL schedule (D5 slice 5); armed only on auth meshes. */
665
672
  private credRenewTimer?;
673
+ /** #1634: does THIS manager own the delivery daemon's credential renewal? True only while the
674
+ * daemon reloads from this manager's store AND this manager holds the per-space renewal lease.
675
+ * Starts false: a manager that has not proved both must not remint. */
676
+ private daemonRenewalOwner;
677
+ private daemonRenewalLeaseTimer?;
666
678
  private maintenanceState;
667
679
  private lifecycleInFlight;
668
680
  private lifecycleDrainWaiters;
@@ -740,7 +752,27 @@ export declare class Manager {
740
752
  * challenge runs again before every remint, so a later daemon on a foreign store is
741
753
  * refused then rather than certified by an earlier absence. A request timeout is not
742
754
  * absence: a hung rail would skip the proof, so it fails closed. */
743
- private assertDaemonSharesSecretStore;
755
+ private daemonStoreRelation;
756
+ /** Keep this manager's renewal lease alive between credential passes (#1634). The manager bucket
757
+ * expires keys at MANAGER_LEASE_TTL_MS, far below the credential pass's cadence, so the lease
758
+ * needs its own heartbeat like the per-instance liveness lease. A non-owner calls this too: the
759
+ * CAS is how a survivor picks up a dead owner's expired lease with no operator step. Never
760
+ * throws; a failed heartbeat leaves ownership to the next pass rather than ending the process. */
761
+ private keepDaemonRenewalLease;
762
+ /** Decide whether THIS manager owns the daemon's credential renewal (#1634). Both conditions are
763
+ * required, because each answers a question the other cannot:
764
+ *
765
+ * 1. The daemon must reload from this manager's store (#1447). Reminting into a store the daemon
766
+ * never reads writes bytes nobody adopts, and fingerprint-only `reloadCreds` would then name a
767
+ * generation the daemon cannot see.
768
+ * 2. This manager must hold the per-space renewal lease. Store identity CANNOT pick one owner on
769
+ * its own: `sameSecretStoreIdentity` is pure equality with no holder and no tiebreak, so every
770
+ * manager sharing one store passes it, and two owners reminting on independent timers have no
771
+ * ordering between them - one's write lands between the other's re-sign and its adoption
772
+ * request, which is the #773 refusal the challenge exists to prevent.
773
+ *
774
+ * A manager failing either test serves the space normally and skips only the daemon remint. */
775
+ private claimDaemonRenewalOwnership;
744
776
  /** One class-2 renewal pass (D5 slice 5): re-sign `.cotal/delivery.creds` + `.cotal/membership-rw.creds`
745
777
  * for their existing nkeys, then request the delivery daemon's EXPLICIT `reloadCreds` adoption on the
746
778
  * delivery-admin rail and persist the audit record (`.cotal/renewal.json`) that `cotal doctor auth`
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
package/dist/manager.js CHANGED
@@ -4,9 +4,9 @@ import { hostname } from "node:os";
4
4
  import { credsAuthenticator } from "@nats-io/transport-node";
5
5
  import { existsSync, lstatSync, readFileSync, rmSync } from "node:fs";
6
6
  import { join, dirname, resolve } from "node:path";
7
- import { CotalEndpoint, DEFAULT_SERVER, DEV_OWNER, MANAGER_LEASE_RENEW_MS, STANDING_RENEWABLE_TTL_SEC, divergentSecretStoreRefusal, parseSecretStoreIdentity, sameSecretStoreIdentity, agentFilePath, clearSpaceHistory, dialerFor, connectorServers, spawnEnvAllow, deprovisionAgent, firstFreeName, spawnNameError, idFromCreds, inspectCredHealth, composeWirePersona, loadAgentFile, listPersonaCatalog, personaCatalogDescription, personaCatalogReadable, loadCotalConfig, mintCreds, mintGeneration, mintAcceptedToken, openIssuedStore, acceptedBucket, issuedBucket, mintLifecycleUid, managedRetirementOpId, mkSecretDir, newIdentity, actionContext, parsePrincipalKey, parseShareSelection, principalKey, probeConnect, provisionAgent, provisionAgentDurables, registry, resolveAuthProvider, saveAgentFile, subjectMatches, AUTH_ENDPOINT, EP_CMD_RETIRE_LIFECYCLE, epRequestSubject, epCallerReplyFilter, parseEpSubject, controlServiceSubject, eventChannelPrincipal, } from "@cotal-ai/core";
7
+ import { CotalEndpoint, DEFAULT_SERVER, DEV_OWNER, MANAGER_LEASE_RENEW_MS, STANDING_RENEWABLE_TTL_SEC, divergentSecretStoreNotice, parseSecretStoreIdentity, sameSecretStoreIdentity, agentFilePath, clearSpaceHistory, dialerFor, connectorServers, spawnEnvAllow, deprovisionAgent, firstFreeName, spawnNameError, idFromCreds, inspectCredHealth, composeWirePersona, loadAgentFile, listPersonaCatalog, personaCatalogDescription, personaCatalogReadable, loadCotalConfig, mintCreds, mintGeneration, mintAcceptedToken, openIssuedStore, acceptedBucket, issuedBucket, mintLifecycleUid, managedRetirementOpId, mkSecretDir, newIdentity, actionContext, parsePrincipalKey, parseShareSelection, principalKey, probeConnect, provisionAgent, provisionAgentDurables, registry, resolveAuthProvider, saveAgentFile, subjectMatches, AUTH_ENDPOINT, EP_CMD_RETIRE_LIFECYCLE, epRequestSubject, epCallerReplyFilter, parseEpSubject, controlServiceSubject, eventChannelPrincipal, } from "@cotal-ai/core";
8
8
  import { agentAuthState, agentCredsDir, agentLifecycleSecretFilePaths, agentSecretFilePaths, agentSecretKeyForFile, authDir, connectorInstallHint, DEFAULT_CONNECTOR, defaultAgentType, DELIVERY_CREDS_KIND, extensionConnectors, findCotalRoot, getSpaceAuth, hasUserAuthState, loadExtensionsManifest, loadManagerInstanceIdentity, loadMeshes, manifestExtensionNames, materializeFromManifest, materializeSecretToFile, MEMBERSHIP_RW_CREDS_KIND, mergeLaunchOptions, remintDaemonCreds, resolveOnPath, createManagerInstanceIdentity, spaceMaterialKey, SYSTEM_CREDS_FILES, userAuthStateDir, workspaceSecretStore, writeRenewalRecord } from "@cotal-ai/workspace";
9
- import { createRuntime, isCustodialRuntime, requireRuntimeAdopt, requireRuntimeReap, } from "./runtime/index.js";
9
+ import { createRuntime, isCustodialRuntime, requireRuntimeAdopt, requireRuntimeReap, RuntimeReapUnproven, } from "./runtime/index.js";
10
10
  import { AttachEndpoint } from "./attach-endpoint.js";
11
11
  import { makeManagerEndpointEvictionEvidence, makeManagerEndpointEvictor } from "./endpoint-evict.js";
12
12
  import { makeManagerHolderLivenessProbe } from "./holder-liveness.js";
@@ -70,6 +70,19 @@ const DELIVERY_ADMIN_RELOAD_TIMEOUT_MS = 15_000;
70
70
  /** A hard preservation stop should settle quickly. The manager still waits and reports a partial
71
71
  * cut rather than pretending a child is gone. Held in ManagerOptions so fake runtimes can shorten it. */
72
72
  const PRESERVE_STOP_TIMEOUT_MS = 10_000;
73
+ /** How much of an `input` text is written to a seat's pty at a time. Comfortably under the 4096-byte
74
+ * kernel input buffer, so a slice is never re-split at a boundary the manager did not choose: the
75
+ * tail of an oversized write stays queued and swallows the submit key that follows it (issue #1649).
76
+ * Sized in CHARS against a byte buffer on purpose — a multi-byte character can only make a slice
77
+ * shorter in characters than in bytes, never longer, so the margin cannot be eaten from below. */
78
+ const INPUT_SLICE_CHARS = 2048;
79
+ /** Bracketed-paste delimiters (DECSET 2004). `input` wraps a seat's text in these so the return it
80
+ * writes afterwards is a KEYSTROKE rather than the newline trailing a pasted block: a TUI that
81
+ * classifies a fast burst as a paste consumes that trailing newline and the text sits unsubmitted
82
+ * in the composer until the next call's return (issue #1649). Framing, never content - these bytes
83
+ * are not counted into the receipt, so `bytes` still reports what the caller asked to deliver. */
84
+ export const PASTE_START = "\x1b[200~";
85
+ export const PASTE_END = "\x1b[201~";
73
86
  /** Pick a `setInterval` period for {@link Manager.renewDaemonCreds} that guarantees at least one
74
87
  * tick lands inside every renewal owner's `[renewAt, exp)` window.
75
88
  *
@@ -477,6 +490,11 @@ export class Manager {
477
490
  leaseRenewInFlight = false;
478
491
  /** The class-2 renewal owner's half-TTL schedule (D5 slice 5); armed only on auth meshes. */
479
492
  credRenewTimer;
493
+ /** #1634: does THIS manager own the delivery daemon's credential renewal? True only while the
494
+ * daemon reloads from this manager's store AND this manager holds the per-space renewal lease.
495
+ * Starts false: a manager that has not proved both must not remint. */
496
+ daemonRenewalOwner = false;
497
+ daemonRenewalLeaseTimer;
480
498
  maintenanceState = "active";
481
499
  lifecycleInFlight = 0;
482
500
  lifecycleDrainWaiters = [];
@@ -769,7 +787,15 @@ export class Manager {
769
787
  // every half-TTL: re-sign the daemon creds files for their EXISTING nkeys, request the explicit
770
788
  // `reloadCreds` adoption on the delivery-admin rail, and persist the audit record doctor renders.
771
789
  if (this.auth) {
772
- await this.assertDaemonSharesSecretStore();
790
+ // #1634: a space may be served by several managers, so ownership of the daemon's credential
791
+ // renewal is decided here rather than by being the only manager able to start.
792
+ await this.claimDaemonRenewalOwnership();
793
+ // ARMED BEFORE the first remint, not after. That first `renewDaemonCreds()` re-signs through
794
+ // the SecretStore, and a slow or contended store makes the one pass outlast the lease's
795
+ // MANAGER_LEASE_TTL_MS. Arming afterwards leaves the whole first remint unprotected: the lease
796
+ // expires mid-pass, a second manager's CAS create succeeds, and both remint into one store.
797
+ this.daemonRenewalLeaseTimer = setInterval(() => { void this.keepDaemonRenewalLease(); }, MANAGER_LEASE_RENEW_MS);
798
+ this.daemonRenewalLeaseTimer.unref?.();
773
799
  await this.renewDaemonCreds();
774
800
  this.credRenewTimer = setInterval(() => { void this.renewDaemonCreds(); }, credRenewIntervalMs(STANDING_RENEWABLE_TTL_SEC));
775
801
  this.credRenewTimer.unref?.();
@@ -831,7 +857,7 @@ export class Manager {
831
857
  * challenge runs again before every remint, so a later daemon on a foreign store is
832
858
  * refused then rather than certified by an earlier absence. A request timeout is not
833
859
  * absence: a hung rail would skip the proof, so it fails closed. */
834
- async assertDaemonSharesSecretStore() {
860
+ async daemonStoreRelation() {
835
861
  let reply;
836
862
  try {
837
863
  reply = await this.ep.requestDeliveryAdmin("reloadStoreIdentity", {}, 5_000);
@@ -851,10 +877,54 @@ export class Manager {
851
877
  catch (e) {
852
878
  throw new Error(`delivery daemon named an unreadable SecretStore: ${e.message}`);
853
879
  }
854
- if (!sameSecretStoreIdentity(this.secretStoreIdentity, daemon))
855
- throw new Error(divergentSecretStoreRefusal(this.secretStoreIdentity, daemon));
880
+ if (!sameSecretStoreIdentity(this.secretStoreIdentity, daemon)) {
881
+ console.error(`! ${divergentSecretStoreNotice(this.secretStoreIdentity, daemon)}`);
882
+ return "divergent";
883
+ }
856
884
  return "shared";
857
885
  }
886
+ /** Keep this manager's renewal lease alive between credential passes (#1634). The manager bucket
887
+ * expires keys at MANAGER_LEASE_TTL_MS, far below the credential pass's cadence, so the lease
888
+ * needs its own heartbeat like the per-instance liveness lease. A non-owner calls this too: the
889
+ * CAS is how a survivor picks up a dead owner's expired lease with no operator step. Never
890
+ * throws; a failed heartbeat leaves ownership to the next pass rather than ending the process. */
891
+ async keepDaemonRenewalLease() {
892
+ if (!this.auth)
893
+ return;
894
+ try {
895
+ const held = await this.ep.holdDaemonRenewalLease(this.managerInstanceId);
896
+ if (this.daemonRenewalOwner && !held)
897
+ console.error(`! daemon credential renewal for space "${this.space}" passed to another manager (this one lost the renewal lease) - it keeps serving its seats`);
898
+ this.daemonRenewalOwner = held;
899
+ }
900
+ catch (e) {
901
+ console.error(`! could not refresh the daemon renewal lease: ${e.message} - ownership is re-decided on the next pass`);
902
+ }
903
+ }
904
+ /** Decide whether THIS manager owns the daemon's credential renewal (#1634). Both conditions are
905
+ * required, because each answers a question the other cannot:
906
+ *
907
+ * 1. The daemon must reload from this manager's store (#1447). Reminting into a store the daemon
908
+ * never reads writes bytes nobody adopts, and fingerprint-only `reloadCreds` would then name a
909
+ * generation the daemon cannot see.
910
+ * 2. This manager must hold the per-space renewal lease. Store identity CANNOT pick one owner on
911
+ * its own: `sameSecretStoreIdentity` is pure equality with no holder and no tiebreak, so every
912
+ * manager sharing one store passes it, and two owners reminting on independent timers have no
913
+ * ordering between them - one's write lands between the other's re-sign and its adoption
914
+ * request, which is the #773 refusal the challenge exists to prevent.
915
+ *
916
+ * A manager failing either test serves the space normally and skips only the daemon remint. */
917
+ async claimDaemonRenewalOwnership() {
918
+ if ((await this.daemonStoreRelation()) === "divergent") {
919
+ // Not our daemon's store: drop any lease we hold rather than sit on it, so the manager that
920
+ // CAN remint is not blocked behind us.
921
+ if (this.daemonRenewalOwner)
922
+ await this.ep.releaseDaemonRenewalLease();
923
+ this.daemonRenewalOwner = false;
924
+ return;
925
+ }
926
+ await this.keepDaemonRenewalLease();
927
+ }
858
928
  /** One class-2 renewal pass (D5 slice 5): re-sign `.cotal/delivery.creds` + `.cotal/membership-rw.creds`
859
929
  * for their existing nkeys, then request the delivery daemon's EXPLICIT `reloadCreds` adoption on the
860
930
  * delivery-admin rail and persist the audit record (`.cotal/renewal.json`) that `cotal doctor auth`
@@ -866,7 +936,10 @@ export class Manager {
866
936
  if (!release)
867
937
  return;
868
938
  try {
869
- await this.assertDaemonSharesSecretStore();
939
+ // #1634: re-decide every pass, so a daemon that moved onto this manager's store becomes
940
+ // ownable, one that moved off retires this manager's ownership, and a crashed owner's expired
941
+ // lease is taken over by a survivor.
942
+ await this.claimDaemonRenewalOwnership();
870
943
  // Re-sign through the manager's ONE store — the SAME store the delivery daemon reads
871
944
  // (`runDelivery(args, store)`), so a hosted remint writes the store the daemon renews from,
872
945
  // never a divergent one. Locally this is the workstation FS store (`.cotal/*.creds`).
@@ -874,9 +947,11 @@ export class Manager {
874
947
  // overwriting from ANY signer form (full or stripped). A same-label alternate full bundle is
875
948
  // self-bound, not broker-bound, so the manager-hosted path proves every re-sign before it could
876
949
  // clobber the last-good with a broker-dead cred; a wrong-account signer's cred is refused here.
877
- const results = await remintDaemonCreds(this.workspaceRoot, this.space, this.secrets, {
878
- preflight: (creds) => this.probeStaticCredential(creds).then((r) => r.ok),
879
- });
950
+ const results = this.daemonRenewalOwner
951
+ ? await remintDaemonCreds(this.workspaceRoot, this.space, this.secrets, {
952
+ preflight: (creds) => this.probeStaticCredential(creds).then((r) => r.ok),
953
+ })
954
+ : [];
880
955
  const resigned = results.filter((r) => r.ok);
881
956
  let adoption;
882
957
  if (resigned.length) {
@@ -907,7 +982,10 @@ export class Manager {
907
982
  console.error(`! credential renewal: daemon adoption failed: ${adoption.error}`);
908
983
  // `writeRenewalRecord` redacts the ephemeral fingerprint at the persistence boundary (covering
909
984
  // the `doctor auth --fix` writer too), so the results pass straight through.
910
- writeRenewalRecord(this.workspaceRoot, { ts: new Date().toISOString(), owner: "manager", results, adoption });
985
+ // A non-owner (#1634) re-signed nothing, so it writes no record: an empty one renders in
986
+ // `doctor auth` as a pass that never ran.
987
+ if (this.daemonRenewalOwner)
988
+ writeRenewalRecord(this.workspaceRoot, { ts: new Date().toISOString(), owner: "manager", results, adoption });
911
989
  this.warnOnSystemCredExpiry();
912
990
  // F5(b) (Unit B): the MANAGER is the renewal owner for its managed-static agent creds —
913
991
  // supervisor-side PUSH remint for recorded LIVE slots (the child JWT is never proof of
@@ -1505,6 +1583,8 @@ export class Manager {
1505
1583
  clearInterval(this.leaseTimer);
1506
1584
  if (this.credRenewTimer)
1507
1585
  clearInterval(this.credRenewTimer);
1586
+ if (this.daemonRenewalLeaseTimer)
1587
+ clearInterval(this.daemonRenewalLeaseTimer);
1508
1588
  if (this.sessionKeyRenewTimer)
1509
1589
  clearInterval(this.sessionKeyRenewTimer);
1510
1590
  let releaseFailures = [];
@@ -1519,6 +1599,9 @@ export class Manager {
1519
1599
  await this.stopRetainedAgentsOnExit();
1520
1600
  }
1521
1601
  await this.ep.releaseManagerLease(this.managerInstanceId, this.leaseRevision);
1602
+ // #1634: hand the renewal lease back on a clean stop so a sibling picks it up on its next pass
1603
+ // rather than waiting out the bucket TTL. A non-owner holds no revision and this is a no-op.
1604
+ await this.ep.releaseDaemonRenewalLease();
1522
1605
  // Capture BEFORE the serve loop is torn down: `stopServiceServe` clears the state, and what is
1523
1606
  // being asked here is "did this process register a service instance", which only the state
1524
1607
  // before teardown can answer. Deregistration runs AFTER the serve loop has drained, so no
@@ -6614,10 +6697,17 @@ export class Manager {
6614
6697
  else {
6615
6698
  try {
6616
6699
  const evidence = await requireRuntimeReap(this.runtime, got);
6617
- disposal = `the spawned seat was reaped (${evidence.outcome === "absent" ? "already forgotten by the runtime" : evidence.detail})`;
6700
+ disposal = `the spawned seat was reaped (${evidence.detail})`;
6618
6701
  }
6619
6702
  catch (e) {
6620
- disposal = `the spawned seat could NOT be reaped: ${e.message}`;
6703
+ // Two unrelated failures used to share one sentence here, and the difference is the part the
6704
+ // reader has to act on. A runtime that cannot reap at all left nothing behind to find. An
6705
+ // UNPROVEN reap may have left a live seat under a reference no durable row names, which is
6706
+ // the one case where somebody has to go looking, so it says so and names what to look for.
6707
+ disposal =
6708
+ e instanceof RuntimeReapUnproven
6709
+ ? `the spawned seat was NOT proved gone and may still be running as ${e.reference.kind}:${e.reference.id} (${e.message})`
6710
+ : `the spawned seat could NOT be reaped: ${e.message}`;
6621
6711
  }
6622
6712
  }
6623
6713
  throw new Error(`runtime "${this.runtime.kind}" reserved custody ${reserved.kind}:${reserved.id} for "${name}" but spawned ` +
@@ -6639,8 +6729,11 @@ export class Manager {
6639
6729
  console.error(`static retirement ${a.name}: no custody reference reached this terminal, though runtime "${this.runtime.kind}" custodies its seats; any seat it launched is not addressable from here`);
6640
6730
  return;
6641
6731
  }
6732
+ // An unproven reap throws from here rather than printing, so it propagates into
6733
+ // driveStaticRetirement's catch, which records the failure and HOLDS the name. That is the whole
6734
+ // point of refusing: the alias must not be freed while a seat nobody proved gone may still run.
6642
6735
  const evidence = await requireRuntimeReap(this.runtime, a.runtime);
6643
- console.error(`static retirement ${a.name}: orphan seat process ${evidence.outcome === "absent" ? `already forgotten by runtime "${a.runtime.kind}" (${a.runtime.id})` : evidence.detail}`);
6736
+ console.error(`static retirement ${a.name}: orphan seat process ${evidence.detail}`);
6644
6737
  }
6645
6738
  /** The static F1 terminal for one departed incarnation (Unit B): delegates the gate/head CAS
6646
6739
  * sequence to the shared core saga over the executor transport; the footprint teardown (creds
@@ -7384,16 +7477,67 @@ export class Manager {
7384
7477
  // The contract validated `text` (non-empty, <= 64KiB) and `enter` (boolean) before this ran, so
7385
7478
  // the only decision left is the carriage return. `!== false` and not `?? true`: an ABSENT enter
7386
7479
  // and an explicit `true` must behave identically, and only `false` may suppress the return.
7387
- const data = `${String(args.text)}${args.enter !== false ? "\r" : ""}`;
7388
- const intendedBytes = Buffer.byteLength(data, "utf8");
7389
- let bytes;
7390
- try {
7391
- bytes = await write(data);
7392
- }
7393
- catch (error) {
7394
- throw new EpEnvelopeError("unavailable", `input for seat "${a.name}" failed: ${error.message}`);
7480
+ //
7481
+ // THE TEXT IS DELIVERED AS A BRACKETED PASTE AND THE RETURN FOLLOWS IT AS ITS OWN WRITE, and
7482
+ // that is the whole of issue #1649. A TUI harness reads keystrokes, so a return fused onto the
7483
+ // tail of the text (`${text}\r`) is the text's last character rather than the submit key: the
7484
+ // line waits in the composer and the NEXT call's return submits the PREVIOUS call's text, so
7485
+ // every delivery runs one call behind while the op still reports the full byte count.
7486
+ //
7487
+ // Separating the return is necessary and NOT sufficient, which is the part that cost a second
7488
+ // round of measurement. A TUI classifies a fast burst of input as a PASTE and eats the newline
7489
+ // that trails it (Jcode spells this `paste_guard::consume_paste_trailing_enter`), so a text big
7490
+ // enough to need more than one write is still one call behind even when the return is written
7491
+ // alone. Measured on a real seat, delivering in 2048-char slices with a yield before the return:
7492
+ // 120 and 700 bytes submitted on their own call, 2500 and 3100 bytes did not - each appeared
7493
+ // only when the NEXT call's return arrived. That is the reported symptom exactly.
7494
+ //
7495
+ // Bracketed paste states the boundary instead of guessing at it. `ESC[200~ text ESC[201~`
7496
+ // delimits the pasted block, so the return after it is unambiguously a keystroke and the guard
7497
+ // has no trailing newline to consume. This is a CLASSIFIER, not a race, so a sleep would be the
7498
+ // wrong instrument: measured on a real seat, a 250ms pause before the return still lost the
7499
+ // submission while 1000ms carried it, and any margin chosen from those numbers is a guess a
7500
+ // loaded host breaks. Bracketed delivery submitted 120, 2600 and 5912 bytes (the issue's own
7501
+ // size) each on its own call. The terminal advertises support by enabling DECSET 2004, which
7502
+ // Jcode's TUI does.
7503
+ //
7504
+ // The bytes the SEAT receives as text are unchanged, and the receipt still counts the text plus
7505
+ // the return: the paste markers are framing this op adds, never content the caller asked to
7506
+ // deliver, so counting them would make `bytes` disagree with what the caller sent.
7507
+ const text = String(args.text);
7508
+ const submit = args.enter !== false;
7509
+ const intendedBytes = Buffer.byteLength(text, "utf8") + (submit ? 1 : 0);
7510
+ const parts = [{ data: PASTE_START, counted: false }];
7511
+ for (let i = 0; i < text.length; i += INPUT_SLICE_CHARS)
7512
+ parts.push({ data: text.slice(i, i + INPUT_SLICE_CHARS), counted: true });
7513
+ parts.push({ data: PASTE_END, counted: false });
7514
+ // `enter:false` still presses nothing: the text is delivered into the composer and left there.
7515
+ if (submit)
7516
+ parts.push({ data: "\r", counted: true });
7517
+ let bytes = 0;
7518
+ for (const [i, part] of parts.entries()) {
7519
+ // Yield BEFORE each write but the first, so the child drains the previous slice rather than
7520
+ // the pty buffer merging them. `setImmediate` runs after I/O, which a microtask would not.
7521
+ if (i > 0)
7522
+ await new Promise((resolve) => setImmediate(resolve));
7523
+ let accepted;
7524
+ try {
7525
+ accepted = await write(part.data);
7526
+ }
7527
+ catch (error) {
7528
+ throw new EpEnvelopeError("unavailable", `input for seat "${a.name}" failed: ${error.message}`);
7529
+ }
7530
+ if (!Number.isSafeInteger(accepted)) {
7531
+ throw new EpEnvelopeError("unavailable", `input for seat "${a.name}" failed: runtime accepted ${String(accepted)} of ${intendedBytes} bytes`);
7532
+ }
7533
+ // A short write on ANY part is a failed delivery, including a marker: a paste block that was
7534
+ // opened but not closed would leave the seat's composer in paste mode.
7535
+ if (accepted !== Buffer.byteLength(part.data, "utf8"))
7536
+ throw new EpEnvelopeError("unavailable", `input for seat "${a.name}" failed: runtime accepted ${accepted} of ${Buffer.byteLength(part.data, "utf8")} bytes of one write`);
7537
+ if (part.counted)
7538
+ bytes += accepted;
7395
7539
  }
7396
- if (!Number.isSafeInteger(bytes) || bytes !== intendedBytes)
7540
+ if (bytes !== intendedBytes)
7397
7541
  throw new EpEnvelopeError("unavailable", `input for seat "${a.name}" failed: runtime accepted ${String(bytes)} of ${intendedBytes} bytes`);
7398
7542
  return { name: a.name, bytes };
7399
7543
  }
@@ -7491,7 +7635,7 @@ export class Manager {
7491
7635
  const roster = new Map(this.ep.getRoster().map((p) => [p.card.name, p]));
7492
7636
  // The roster is only evidence while THIS observer's presence watch is fresh. A stale view
7493
7637
  // (whole-bucket silence past TTL) or an unpopulated one (snapshot not yet replayed) cannot
7494
- // support "offline" or "absent" for anyone: netcup 2026-09-09 rendered every live seat as
7638
+ // support "offline" or "absent" for anyone: a live deployment on 2026-09-09 rendered every live seat as
7495
7639
  // one of those for hours after the presence stream was recreated under a still-open watch.
7496
7640
  // Carry the view state on the row so the renderer can say "unknown" instead of a verdict.
7497
7641
  // An endpoint that reports no view (test doubles built on `getRoster` alone) is read as