@cotal-ai/manager 0.57.0 → 0.59.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.
Files changed (53) hide show
  1. package/README.md +13 -0
  2. package/dist/commands.d.ts.map +1 -1
  3. package/dist/commands.js +98 -16
  4. package/dist/commands.js.map +1 -1
  5. package/dist/console/session-bundle.js +1 -1
  6. package/dist/endpoint-evict.d.ts +9 -4
  7. package/dist/endpoint-evict.d.ts.map +1 -1
  8. package/dist/endpoint-evict.js +82 -26
  9. package/dist/endpoint-evict.js.map +1 -1
  10. package/dist/holder-liveness.d.ts +4 -0
  11. package/dist/holder-liveness.d.ts.map +1 -1
  12. package/dist/holder-liveness.js +95 -3
  13. package/dist/holder-liveness.js.map +1 -1
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +3 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/manager-service-contract.d.ts +15 -6
  19. package/dist/manager-service-contract.d.ts.map +1 -1
  20. package/dist/manager-service-contract.js +84 -13
  21. package/dist/manager-service-contract.js.map +1 -1
  22. package/dist/manager.d.ts +165 -67
  23. package/dist/manager.d.ts.map +1 -1
  24. package/dist/manager.js +706 -233
  25. package/dist/manager.js.map +1 -1
  26. package/dist/remote-authority.d.ts +54 -3
  27. package/dist/remote-authority.d.ts.map +1 -1
  28. package/dist/remote-authority.js +168 -2
  29. package/dist/remote-authority.js.map +1 -1
  30. package/dist/resume.d.ts.map +1 -1
  31. package/dist/resume.js +3 -0
  32. package/dist/resume.js.map +1 -1
  33. package/dist/run-hosting.d.ts +66 -1
  34. package/dist/run-hosting.d.ts.map +1 -1
  35. package/dist/run-hosting.js +126 -14
  36. package/dist/run-hosting.js.map +1 -1
  37. package/dist/runtime/custodial-pty.d.ts +12 -9
  38. package/dist/runtime/custodial-pty.d.ts.map +1 -1
  39. package/dist/runtime/custodial-pty.js +27 -16
  40. package/dist/runtime/custodial-pty.js.map +1 -1
  41. package/dist/runtime/index.d.ts +2 -0
  42. package/dist/runtime/index.d.ts.map +1 -1
  43. package/dist/runtime/index.js +148 -5
  44. package/dist/runtime/index.js.map +1 -1
  45. package/dist/runtime/pty.d.ts +3 -4
  46. package/dist/runtime/pty.d.ts.map +1 -1
  47. package/dist/runtime/pty.js +13 -6
  48. package/dist/runtime/pty.js.map +1 -1
  49. package/package.json +15 -13
  50. package/dist/ui.d.ts +0 -10
  51. package/dist/ui.d.ts.map +0 -1
  52. package/dist/ui.js +0 -10
  53. package/dist/ui.js.map +0 -1
package/README.md CHANGED
@@ -14,6 +14,19 @@ each other; they meet at runtime over NATS.
14
14
  See [docs/architecture.md](../../docs/architecture.md) (*Manager*) and the
15
15
  [root AGENTS.md](../../AGENTS.md) for the tier rules.
16
16
 
17
+ ## Remote authority clients
18
+
19
+ The package root exports `remoteManagerClient`, the stock request builders and response validators
20
+ used by the remote manager path, plus `registerRemoteManagerAuthority` and the
21
+ `RemoteManagerIdentityState` type. `managerClusterArtifacts()` provides the canonical document
22
+ and manifest used by registration and the activation request, with both digests. Embeddings can
23
+ use these without private module imports or a copied contract.
24
+ The namespace covers standing renewal, run admission and attempts, maintenance, enrollment and
25
+ retirement. Registration requires host-issued prepare credentials and uses the native registration
26
+ barrier. The host still authenticates requests and owns issuance policy; these helpers grant no
27
+ authority. Keep each account's five private manager identities separate, and retain the stock
28
+ account, identity, epoch and active-run checks when composing callbacks.
29
+
17
30
  ## Startup reconciliation
18
31
 
19
32
  On an authenticated static mesh, the manager starts reconciling durable orphaned static slots,
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAe7B,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAiCxE;AAQD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,SAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAAE,CAuDvO"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAgB7B,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CA+BxE;AAQD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,SAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAAE,CAuDvO"}
package/dist/commands.js CHANGED
@@ -2,18 +2,19 @@ import { existsSync, readFileSync, rmSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { Kvm } from "@nats-io/kv";
4
4
  import { dialerFor, isReachable, epAuthBucket, recordsBucket, instancePinnedInstrumentCapabilities, mintCreds, mintLifecycleUid, newIdentity, remoteManagerActors, remoteManagerRegistrationProof, resolveAuthProvider, standaloneConnectOpts, DEFAULT_SERVER, DEFAULT_SPACE, DEV_OWNER, registry, } from "@cotal-ai/core";
5
- import { authDir, canonicalLocalProcessPath, consumeManagerShutdownIntent, findCotalRoot, getSpaceAuth, hasUserAuthState, isWorkspaceTargetError, loadManagerInstanceIdentity, parsePositiveIntegerFlag, publishManagerSpareCapability, reclaimDeadPreUpgradeRecord, removeIdentityPin, resolveMeshTarget, soleSpaceOf, workspaceSecretStore, writeIdentityPin, MANAGER_DELIVERY_AWARE_MARKER, MANAGER_PIDFILE, refreshRegistrationPolicy, } from "@cotal-ai/workspace";
5
+ import { authDir, canonicalLocalProcessPath, consumeManagerShutdownIntent, findCotalRoot, getSpaceAuth, hasUserAuthState, isWorkspaceTargetError, loadManagerInstanceIdentity, parsePositiveIntegerFlag, publishManagerSpareCapability, reclaimDeadPreUpgradeRecord, removePidPair, resolveMeshTarget, soleSpaceOf, workspaceSecretStore, writePidPair, c, MANAGER_DELIVERY_AWARE_MARKER, MANAGER_PIDFILE, refreshRegistrationPolicy, } from "@cotal-ai/workspace";
6
6
  import { Manager } from "./manager.js";
7
7
  import { MANAGER_ENDPOINT } from "./manager-service-contract.js";
8
- import { makeManagerEndpointEvictor } from "./endpoint-evict.js";
8
+ import { makeManagerEndpointHolderEvictor } from "./endpoint-evict.js";
9
9
  import { makeManagerHolderLivenessProbe } from "./holder-liveness.js";
10
10
  import { GateReconcileRefused, reconcileEndpointGate } from "./reconcile-gate.js";
11
11
  import { InstanceDeregisterRefused, deregisterEndpointInstance, makeInstanceProbe } from "./deregister-instance.js";
12
12
  import { loadRoster } from "./roster.js";
13
13
  import { loadLaunchSpec, materializePersona, launchAgentToStartOpts } from "./launch.js";
14
14
  import {} from "./runtime/index.js";
15
- import { c } from "./ui.js";
16
- import { currentRegistrationProof, loadOrCreateRemoteManagerIdentity, materialCredential, remoteManagedAgentEnrollmentMaterial, remoteManagedAgentEnrollmentRequest, remoteManagedAgentPrepareRetirementRequest, remoteManagedAgentRetirementPrepared, remoteManagerAdminAuthorizationRequest, remoteManagerAdminAuthorized, remoteManagerAuthorityRequest, remoteManagerGoalIndexEntries, remoteManagerMaintenanceRequest, remoteManagerMaintenanceResult, remoteRetainedAgentValidationRequest, retainedAgentAuthority } from "./remote-authority.js";
15
+ import { custodyRoot } from "./runtime/custodial-pty.js";
16
+ import { drainSeats } from "@cotal-ai/seat";
17
+ import { currentRegistrationProof, loadOrCreateRemoteManagerIdentity, materialCredential, remoteStandingBundleRenewal, remoteManagedAgentEnrollmentMaterial, remoteManagedAgentEnrollmentRequest, remoteManagedAgentPrepareRetirementRequest, remoteManagedAgentRetirementPrepared, remoteManagerAdminAuthorizationRequest, remoteManagerAdminAuthorized, remoteManagerAuthorityRequest, remoteManagerGoalIndexEntries, remoteManagerMaintenanceRequest, remoteManagerMaintenanceResult, remoteRetainedAgentValidationRequest, retainedAgentAuthority, remoteRunAdmission, remoteRunAdmissionRequest, remoteRunAttemptCredentials, remoteRunAttemptRequest, remoteRunRenewalCredentials } from "./remote-authority.js";
17
18
  import { registerRemoteManagerAuthority } from "./remote-register.js";
18
19
  import { managerClusterArtifacts } from "./manager-service-contract.js";
19
20
  /**
@@ -50,19 +51,18 @@ export function recordManagerPid(root, space) {
50
51
  const pidPath = canonicalLocalProcessPath(MANAGER_PIDFILE, ctx);
51
52
  const markerPath = canonicalLocalProcessPath(MANAGER_DELIVERY_AWARE_MARKER, ctx);
52
53
  const mine = String(process.pid);
53
- writeFileSync(pidPath, mine);
54
- writeIdentityPin(pidPath, process.pid);
54
+ // #969/#1238: publish the pair by rename so a later teardown never sees a torn pairing.
55
+ writePidPair(pidPath, process.pid);
55
56
  // Written together and removed together: the marker proves the LIVE pid is a non-hosting build,
56
57
  // and it is only meaningful while it names that same pid.
57
58
  writeFileSync(markerPath, mine);
58
59
  return () => {
59
60
  for (const p of [markerPath, pidPath]) {
60
61
  try {
61
- if (readFileSync(p, "utf8").trim() === mine) {
62
- if (p === pidPath)
63
- removeIdentityPin(pidPath);
62
+ if (p === pidPath)
63
+ removePidPair(pidPath, mine);
64
+ else if (readFileSync(p, "utf8").trim() === mine)
64
65
  rmSync(p, { force: true });
65
- }
66
66
  }
67
67
  catch {
68
68
  /* already gone, or unreadable: leaving a record we cannot prove is ours is the safe error */
@@ -201,6 +201,8 @@ async function runManager(args, defaultRuntime) {
201
201
  throw new Error(`the registered auth provider "${provider.name}" does not implement the host-owned manager goal-index scan protocol`);
202
202
  if (!provider.authorizeRemoteManagerAdmin)
203
203
  throw new Error(`the registered auth provider "${provider.name}" does not implement the host-owned manager admin authorization protocol`);
204
+ if (!provider.requestRemoteRunAdmission || !provider.requestRemoteRunAttempt)
205
+ throw new Error(`the registered auth provider "${provider.name}" does not implement both closed hosted-run admission and issuance calls`);
204
206
  const request = remoteManagerAuthorityRequest(state, "cli", "prepare");
205
207
  const agentBearerExchangeUrl = target.agentBearerExchangeUrl;
206
208
  if (typeof agentBearerExchangeUrl !== "string" || !agentBearerExchangeUrl)
@@ -247,13 +249,28 @@ async function runManager(args, defaultRuntime) {
247
249
  request: remoteManagerAuthorityRequest(state, "cli", "activate", registrationProof, contractArtifacts),
248
250
  });
249
251
  const retainedRegistrationProof = currentRegistrationProof(activate);
252
+ const supervisorCreds = materialCredential(material, "supervisor", state.identities.supervisor);
253
+ // The closed all-duty family renewal over the same registration, proof and store. Without it
254
+ // the manager renews its executor alone and the serve, goal-writer and session-ledger
255
+ // connections die at their expiry.
256
+ const standing = remoteStandingBundleRenewal({
257
+ state, owner: material.owner, registrationProof: retainedRegistrationProof, supervisorCreds,
258
+ call: (renewalRequest) => provider.managerServiceAuthority({
259
+ store: workspaceSecretStore(findCotalRoot()),
260
+ dir: join(findCotalRoot(), ".cotal", "auth", space),
261
+ request: renewalRequest,
262
+ }),
263
+ });
264
+ const runCall = { store: workspaceSecretStore(findCotalRoot()), dir: join(findCotalRoot(), ".cotal", "auth", space) };
265
+ const runBase = () => ({ proof: retainedRegistrationProof, account: standing.accountPublicKey, epoch: registered.processEpoch });
250
266
  remoteAuthority = {
267
+ ...standing,
251
268
  owner: material.owner,
252
269
  actors,
253
270
  instanceId: state.instanceId,
254
271
  lifecycleUid: state.lifecycleUid,
255
272
  identities: state.identities,
256
- supervisorCreds: materialCredential(material, "supervisor", state.identities.supervisor),
273
+ supervisorCreds,
257
274
  executorCreds: materialCredential(material, "executor", state.identities.executor),
258
275
  renewExecutor: async () => {
259
276
  const renewed = await provider.managerServiceAuthority({
@@ -266,6 +283,42 @@ async function runManager(args, defaultRuntime) {
266
283
  serveCreds: materialCredential(activate, "serve", state.identities.serve),
267
284
  goalWriterCreds: materialCredential(activate, "goalWriter", state.identities.goalWriter),
268
285
  sessionLedgerCreds: materialCredential(activate, "sessionLedger", state.identities.sessionLedger),
286
+ runHosting: {
287
+ admitRun: async (run) => {
288
+ const { proof, account, epoch } = runBase();
289
+ const request = remoteRunAdmissionRequest(state, proof, account, epoch, { runId: run.runId, subject: run.subject });
290
+ const result = await provider.requestRemoteRunAdmission({ ...runCall, request });
291
+ return remoteRunAdmission(result, request);
292
+ },
293
+ issueAttempt: async ({ runId, takeoverId, epoch, fencingToken, driver, mediator }) => {
294
+ const base = runBase();
295
+ const request = remoteRunAttemptRequest(state, base.proof, base.account, base.epoch, { attempt: { runId, takeoverId, epoch, fencingToken, driverId: driver.id, mediatorId: mediator.id } });
296
+ const result = await provider.requestRemoteRunAttempt({ ...runCall, request });
297
+ const pair = remoteRunAttemptCredentials(result, request, material.owner, { driver, mediator });
298
+ if (!("driver" in pair))
299
+ throw new Error("host returned an operator instead of a run pair");
300
+ return pair;
301
+ },
302
+ issueOperator: async ({ identity, takeoverId, runId, answers }) => {
303
+ const { proof, account, epoch } = runBase();
304
+ const request = remoteRunAttemptRequest(state, proof, account, epoch, { operator: { id: identity.id, takeoverId, ...(runId !== undefined ? { runId } : {}), ...(answers !== undefined ? { answers } : {}) } });
305
+ const result = await provider.requestRemoteRunAttempt({ ...runCall, request });
306
+ const credential = remoteRunAttemptCredentials(result, request, material.owner, { operator: identity });
307
+ if (!("operator" in credential))
308
+ throw new Error("host returned a run pair instead of an operator");
309
+ return credential.operator;
310
+ },
311
+ renewRun: async ({ runId, holder, takeoverId, epoch, fencingToken, driver, mediator }) => {
312
+ const base = runBase();
313
+ const request = {
314
+ ...remoteManagerAuthorityRequest(state, "cli", "renewRunDriver", base.proof),
315
+ accountPublicKey: base.account, processEpoch: base.epoch,
316
+ run: { runId, holder, takeoverId, epoch, fencingToken, driverId: driver.id, mediatorId: mediator.id },
317
+ };
318
+ const result = await provider.managerServiceAuthority({ ...runCall, request });
319
+ return remoteRunRenewalCredentials(result, request, material.owner, driver, mediator);
320
+ },
321
+ },
269
322
  serveGrant: registered.serveGrant,
270
323
  agentBearerExchangeUrl,
271
324
  mintSessionServing: async (session) => {
@@ -477,11 +530,12 @@ async function runManager(args, defaultRuntime) {
477
530
  process.exit(0);
478
531
  })
479
532
  .catch((e) => {
480
- process.exitCode = 1;
481
- // The record is NOT released here: the stop did not complete, so this process may still be
482
- // running and still holding the control plane. A record removed under a failed stop is the
483
- // orphan-the-process defect the pidfile contract exists to prevent.
533
+ // The record is NOT released here: the stop did not complete, so a seat may still be running
534
+ // under this instance's lease. A record removed under a failed stop is the orphan defect the
535
+ // pidfile contract exists to prevent. The process still exits: stop() has closed what it could,
536
+ // and the shuttingDown latch would otherwise leave it deaf to every later signal (#2290).
484
537
  console.error(c.red(`✗ ${e.message}`));
538
+ process.exit(1);
485
539
  });
486
540
  };
487
541
  process.on("SIGINT", shutdown);
@@ -588,7 +642,7 @@ async function runReconcileGate(args) {
588
642
  const report = await reconcileEndpointGate({
589
643
  kv, space, endpoint, instanceId,
590
644
  probeHolder: makeManagerHolderLivenessProbe({ space, servers, auth, log: (l) => console.error(c.dim(` ${l}`)) }),
591
- evict: makeManagerEndpointEvictor({ space, servers, auth, log: (l) => console.error(c.dim(` ${l}`)) }),
645
+ evictHolders: makeManagerEndpointHolderEvictor({ space, servers, auth, log: (l) => console.error(c.dim(` ${l}`)) }),
592
646
  log: (l) => console.error(` ${l}`),
593
647
  recordsKv,
594
648
  });
@@ -686,6 +740,26 @@ async function runDeregisterInstance(args) {
686
740
  await probeNc.drain().catch(() => probeNc.close());
687
741
  }
688
742
  }
743
+ /**
744
+ * `cotal seats`: the custody records an earlier Linux manager left when the pty runtime still
745
+ * started a detached custodian per seat (#1391). Read-only unless `--drain`, which retires each seat
746
+ * whose agent has exited and keeps every seat whose agent still runs. A refusal exits non-zero: it is
747
+ * a record nothing could prove safe to remove, so an operator has to look at it.
748
+ */
749
+ async function runSeats(args) {
750
+ const root = custodyRoot();
751
+ const entries = await drainSeats(root, { drain: args.values.drain === true });
752
+ if (entries.length === 0) {
753
+ console.log(`no seat custody records under ${root}`);
754
+ return;
755
+ }
756
+ for (const e of entries)
757
+ console.log(`${e.id} ${e.state.padEnd(10)} ${e.name ?? "-"} ${e.detail}`);
758
+ const count = (state) => entries.filter((e) => e.state === state).length;
759
+ console.error(c.dim(`• ${entries.length} record(s) under ${root}: ${count("live-child")} live-child, ${count("childless")} childless, ${count("drained")} drained, ${count("refused")} refused`));
760
+ if (count("refused") > 0)
761
+ process.exitCode = 1;
762
+ }
689
763
  /** The manager's commands: the `supervise` daemon runner, and the guarded `reconcile-gate` repair.
690
764
  * Self-registered on import; the `cotal` binary resolves them from the registry. */
691
765
  const managerCommands = [
@@ -740,6 +814,14 @@ const managerCommands = [
740
814
  ],
741
815
  run: runDeregisterInstance,
742
816
  },
817
+ {
818
+ kind: "command",
819
+ name: "seats",
820
+ group: "Manager",
821
+ summary: "list the pty seat custodians an earlier Linux manager left on this machine - [--drain] retires each seat whose agent has exited and never signals one whose agent still runs",
822
+ flags: [{ name: "drain", type: "boolean", description: "retire every seat whose agent has exited; a seat whose agent still runs is kept" }],
823
+ run: runSeats,
824
+ },
743
825
  ];
744
826
  registry.register(...managerCommands);
745
827
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -9366,7 +9366,7 @@ ${stack}`;
9366
9366
  throw new Error(`subject exceeds ${MAX_EP_SUBJECT_BYTES} bytes: ${subject.slice(0, 80)}\u2026`);
9367
9367
  return subject;
9368
9368
  }
9369
- var EP_AUTHZ_MODES = Object.freeze(["self", "owner", "any", "child", "ledger", "handle"]);
9369
+ var EP_AUTHZ_MODES = Object.freeze(["self", "owner", "any", "child", "ledger", "handle", "exact"]);
9370
9370
  var AUTHZ_SET = new Set(EP_AUTHZ_MODES);
9371
9371
  function epsSubject(space, endpoint, sessionId, epoch, dir) {
9372
9372
  return assertSized(`${spacePrefix(space)}.eps.${endpointToken(endpoint)}.${assertIdToken(sessionId, "sessionId")}.${assertEpoch(epoch)}.${dir}`);
@@ -11,10 +11,10 @@
11
11
  *
12
12
  * NO-ORACLE = LOUD (no-fallbacks): if the daemon is unreachable the evictor THROWS an error NAMING
13
13
  * THE CURE, so the barrier's PHASE-2 failure carries it and the gate stays frozen for reconciliation
14
- * — a crash-restart on an auth mesh NEVER skips eviction. A reachable daemon that reports the
15
- * principal still connected (or a garbled/contradictory result) returns `false` (not verified),
16
- * which the barrier also treats as fail-closed. Verified-gone is conclusive only as (scan complete,
17
- * none remain).
14
+ * — a crash-restart on an auth mesh NEVER skips eviction. A reachable daemon that REFUSES throws its
15
+ * own reason instead (it answered, so it is never reported as unreachable), and a garbled or
16
+ * contradictory answer throws too; the barrier treats all of these as fail-closed. Verified-gone is
17
+ * conclusive only as (scan complete, none remain).
18
18
  */
19
19
  import { type EvictionResult, type SpaceAuth } from "@cotal-ai/core";
20
20
  /** Build the registration barrier's `evict(holderPrincipal) → verifiedGone` over the delivery
@@ -28,4 +28,9 @@ export declare function makeManagerEndpointEvictionEvidence(opts: {
28
28
  }): (holderPrincipal: string) => Promise<EvictionResult>;
29
29
  /** Boolean adapter for barriers that only consume the verified-gone decision. */
30
30
  export declare function makeManagerEndpointEvictor(opts: Parameters<typeof makeManagerEndpointEvictionEvidence>[0]): (holderPrincipal: string) => Promise<boolean>;
31
+ /** The repair's family evictor: verify-evict a SET of holders over ONE scoped connection, with one
32
+ * `evictPrincipals` request (one shared daemon sweep) per {@link EVICT_PRINCIPALS_MAX} holders.
33
+ * Answers `verifiedGone` per holder in input order. A daemon that does not serve the batch verb,
34
+ * or any unreachable or unusable reply, throws naming the cure: nothing is reported verified. */
35
+ export declare function makeManagerEndpointHolderEvictor(opts: Parameters<typeof makeManagerEndpointEvictionEvidence>[0]): (holderPrincipals: readonly string[]) => Promise<boolean[]>;
31
36
  //# sourceMappingURL=endpoint-evict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-evict.d.ts","sourceRoot":"","sources":["../src/endpoint-evict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAyC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5G;;wFAEwF;AACxF,wBAAgB,mCAAmC,CAAC,IAAI,EAAE;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,GAAG,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CA0DvD;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAGzJ"}
1
+ {"version":3,"file":"endpoint-evict.d.ts","sourceRoot":"","sources":["../src/endpoint-evict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAkF,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuBrJ;;wFAEwF;AACxF,wBAAgB,mCAAmC,CAAC,IAAI,EAAE;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,GAAG,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CA8CvD;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAGzJ;AAED;;;kGAGkG;AAClG,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CA2C7K"}
@@ -11,12 +11,30 @@
11
11
  *
12
12
  * NO-ORACLE = LOUD (no-fallbacks): if the daemon is unreachable the evictor THROWS an error NAMING
13
13
  * THE CURE, so the barrier's PHASE-2 failure carries it and the gate stays frozen for reconciliation
14
- * — a crash-restart on an auth mesh NEVER skips eviction. A reachable daemon that reports the
15
- * principal still connected (or a garbled/contradictory result) returns `false` (not verified),
16
- * which the barrier also treats as fail-closed. Verified-gone is conclusive only as (scan complete,
17
- * none remain).
14
+ * — a crash-restart on an auth mesh NEVER skips eviction. A reachable daemon that REFUSES throws its
15
+ * own reason instead (it answered, so it is never reported as unreachable), and a garbled or
16
+ * contradictory answer throws too; the barrier treats all of these as fail-closed. Verified-gone is
17
+ * conclusive only as (scan complete, none remain).
18
18
  */
19
- import { CotalEndpoint, mintCreds, newIdentity } from "@cotal-ai/core";
19
+ import { CotalEndpoint, EVICT_PRINCIPALS_MAX, mintCreds, newIdentity } from "@cotal-ai/core";
20
+ /** Accept one daemon eviction result only when it verifiably describes `principal`. A garbled,
21
+ * foreign or internally contradictory result throws, so it never authorizes. */
22
+ function checkedEviction(principal, data, log) {
23
+ const d = data;
24
+ if (d === undefined || d === null || d.principal !== principal ||
25
+ typeof d.kicked !== "number" || !Number.isSafeInteger(d.kicked) || d.kicked < 0 ||
26
+ typeof d.remaining !== "number" || !Number.isSafeInteger(d.remaining) || d.remaining < 0 ||
27
+ typeof d.verifiedGone !== "boolean" || typeof d.scanComplete !== "boolean") {
28
+ log(`manager-endpoint-evict: ${principal}: garbled or foreign eviction result (${JSON.stringify(data ?? null)}); a result that does not verifiably describe this principal never authorizes`);
29
+ throw new Error(`the delivery daemon returned garbled or foreign eviction evidence for "${principal}"`);
30
+ }
31
+ // An internally CONTRADICTORY success never authorizes (verified-gone is (scan complete, none remain)).
32
+ if (d.verifiedGone === true && (d.scanComplete !== true || d.remaining !== 0)) {
33
+ log(`manager-endpoint-evict: ${principal}: verifiedGone with scanComplete=${String(d.scanComplete)} remaining=${d.remaining}; a contradictory result never authorizes`);
34
+ throw new Error(`the delivery daemon returned contradictory eviction evidence for "${principal}"`);
35
+ }
36
+ return d;
37
+ }
20
38
  /** Build the registration barrier's `evict(holderPrincipal) → verifiedGone` over the delivery
21
39
  * daemon's `ctl.delivery-admin` rail. Per-call connection (eviction is a rare, heavyweight barrier
22
40
  * step; a standing privileged connection would be a wider surface holding nothing). */
@@ -24,6 +42,7 @@ export function makeManagerEndpointEvictionEvidence(opts) {
24
42
  return async (principal) => {
25
43
  const id = newIdentity();
26
44
  let ep;
45
+ let r;
27
46
  try {
28
47
  // A per-eviction SCOPED cred for ONE ~15s delivery-admin call (60s TTL bounds a copied cred to
29
48
  // a minute). endpoint-evictor holds EXACTLY its own delivery-admin request+reply rail — no
@@ -42,27 +61,7 @@ export function makeManagerEndpointEvictionEvidence(opts) {
42
61
  });
43
62
  ep.on("error", () => { });
44
63
  await ep.start();
45
- const r = await ep.requestDeliveryAdmin("evictPrincipal", { principal }, 15_000);
46
- if (!r.ok) {
47
- // The daemon is REACHABLE but refused (e.g. the principal is still connected — a genuine live
48
- // predecessor). Not verified gone → fail-closed (the barrier leaves the gate frozen).
49
- opts.log(`manager-endpoint-evict: ${principal}: the delivery daemon refused the eviction: ${r.error ?? "(no error copy)"}`);
50
- throw new Error(`the delivery daemon refused eviction of "${principal}": ${r.error ?? "no error copy"}`);
51
- }
52
- const d = r.data;
53
- if (d === undefined || d === null || d.principal !== principal ||
54
- typeof d.kicked !== "number" || !Number.isSafeInteger(d.kicked) || d.kicked < 0 ||
55
- typeof d.remaining !== "number" || !Number.isSafeInteger(d.remaining) || d.remaining < 0 ||
56
- typeof d.verifiedGone !== "boolean" || typeof d.scanComplete !== "boolean") {
57
- opts.log(`manager-endpoint-evict: ${principal}: garbled or foreign eviction result (${JSON.stringify(r.data ?? null)}); a result that does not verifiably describe this principal never authorizes`);
58
- throw new Error(`the delivery daemon returned garbled or foreign eviction evidence for "${principal}"`);
59
- }
60
- // An internally CONTRADICTORY success never authorizes (verified-gone is (scan complete, none remain)).
61
- if (d.verifiedGone === true && (d.scanComplete !== true || d.remaining !== 0)) {
62
- opts.log(`manager-endpoint-evict: ${principal}: verifiedGone with scanComplete=${String(d.scanComplete)} remaining=${d.remaining}; a contradictory result never authorizes`);
63
- throw new Error(`the delivery daemon returned contradictory eviction evidence for "${principal}"`);
64
- }
65
- return d;
64
+ r = await ep.requestDeliveryAdmin("evictPrincipal", { principal }, 15_000);
66
65
  }
67
66
  catch (e) {
68
67
  // NO-ORACLE = LOUD (pin 3, SPEC 13.1, no-fallbacks): the delivery-admin rail is unreachable, so
@@ -75,6 +74,15 @@ export function makeManagerEndpointEvictionEvidence(opts) {
75
74
  finally {
76
75
  await ep?.stop().catch(() => { });
77
76
  }
77
+ // The daemon ANSWERED from here on, so nothing below is relabelled as unreachable: a refusal
78
+ // carries the daemon's own reason (e.g. a missing $SYS cred and how to re-mint it).
79
+ if (!r.ok) {
80
+ // The daemon is REACHABLE but refused (e.g. the principal is still connected — a genuine live
81
+ // predecessor). Not verified gone → fail-closed (the barrier leaves the gate frozen).
82
+ opts.log(`manager-endpoint-evict: ${principal}: the delivery daemon refused the eviction: ${r.error ?? "(no error copy)"}`);
83
+ throw new Error(`the delivery daemon refused eviction of "${principal}": ${r.error ?? "no error copy"}`);
84
+ }
85
+ return checkedEviction(principal, r.data, opts.log);
78
86
  };
79
87
  }
80
88
  /** Boolean adapter for barriers that only consume the verified-gone decision. */
@@ -82,4 +90,52 @@ export function makeManagerEndpointEvictor(opts) {
82
90
  const evidence = makeManagerEndpointEvictionEvidence(opts);
83
91
  return async (principal) => (await evidence(principal)).verifiedGone;
84
92
  }
93
+ /** The repair's family evictor: verify-evict a SET of holders over ONE scoped connection, with one
94
+ * `evictPrincipals` request (one shared daemon sweep) per {@link EVICT_PRINCIPALS_MAX} holders.
95
+ * Answers `verifiedGone` per holder in input order. A daemon that does not serve the batch verb,
96
+ * or any unreachable or unusable reply, throws naming the cure: nothing is reported verified. */
97
+ export function makeManagerEndpointHolderEvictor(opts) {
98
+ return async (principals) => {
99
+ const id = newIdentity();
100
+ let ep;
101
+ try {
102
+ const creds = await mintCreds(opts.auth, id, "endpoint-evictor", { expiresInSeconds: 60 });
103
+ ep = new CotalEndpoint({
104
+ space: opts.space,
105
+ servers: opts.servers,
106
+ creds,
107
+ card: { id: id.id, name: "manager-endpoint-evict", kind: "endpoint" },
108
+ channels: [],
109
+ consume: false,
110
+ watchChannels: false,
111
+ watchPresence: false,
112
+ registerPresence: false,
113
+ });
114
+ ep.on("error", () => { });
115
+ await ep.start();
116
+ const verified = [];
117
+ for (let i = 0; i < principals.length; i += EVICT_PRINCIPALS_MAX) {
118
+ const chunk = principals.slice(i, i + EVICT_PRINCIPALS_MAX);
119
+ const r = await ep.requestDeliveryAdmin("evictPrincipals", { principals: chunk }, 15_000);
120
+ if (!r.ok) {
121
+ opts.log(`manager-endpoint-evict: the delivery daemon refused the family eviction: ${r.error ?? "(no error copy)"}`);
122
+ throw new Error(`the delivery daemon refused the family eviction: ${r.error ?? "no error copy"}`);
123
+ }
124
+ if (!Array.isArray(r.data) || r.data.length !== chunk.length) {
125
+ opts.log(`manager-endpoint-evict: the family eviction answered ${Array.isArray(r.data) ? r.data.length : "no"} result(s) for ${chunk.length} holder(s); a result set that does not match the request never authorizes`);
126
+ throw new Error(`the delivery daemon returned a family eviction result set that does not match the ${chunk.length} holder(s) asked about`);
127
+ }
128
+ chunk.forEach((p, j) => verified.push(checkedEviction(p, r.data[j], opts.log).verifiedGone));
129
+ }
130
+ return verified;
131
+ }
132
+ catch (e) {
133
+ throw new Error(`the delivery daemon could not verify-evict the credential family on the ctl.delivery-admin rail (${e instanceof Error ? e.message : String(e)}); ` +
134
+ `the gate stays frozen. Start the delivery daemon (\`cotal up\` runs it) at this version and retry — eviction is never skipped (SPEC 13.1)`);
135
+ }
136
+ finally {
137
+ await ep?.stop().catch(() => { });
138
+ }
139
+ };
140
+ }
85
141
  //# sourceMappingURL=endpoint-evict.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-evict.js","sourceRoot":"","sources":["../src/endpoint-evict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-evict.js","sourceRoot":"","sources":["../src/endpoint-evict.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,10 @@
19
19
  * command exists to avoid;
20
20
  * - a garbled reply, or one that does not ECHO the principal asked about, is `unestablishable` —
21
21
  * a result that does not verifiably describe THIS principal never authorizes.
22
+ *
23
+ * Each query also reads the delivery lease (`lease.0`) before it is sent, and a refusal or an
24
+ * unreachable rail reads it again, so the refusal names what is blocking the rail instead of always
25
+ * advising a restart (#1062). Those reads are diagnostic only: they change the copy, never the verdict.
22
26
  */
23
27
  import { type SpaceAuth } from "@cotal-ai/core";
24
28
  import type { HolderLiveness } from "./reconcile-gate.js";