@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
@@ -18,11 +18,9 @@
18
18
  * call's and expires with it; an answer is two such calls, the read that finds the pause and then
19
19
  * a write pinned to that pause's token. An open mesh has no credential system and connects bare.
20
20
  *
21
- * A USER-AUTH mesh hosts no runs, and the manager says so instead of standing this host up: a
22
- * hosted run's spawns, turns and despawns ride a caller derived from the run id under the static
23
- * owner, which is no user's, so on a user mesh they would be refused at the manager's own owner
24
- * check and the program would fail at its first seat. Until a run carries its starting user's
25
- * owner into that caller, the family is `unimplemented` there, named as such.
21
+ * A registered signerless user-auth manager may host runs only with all four closed callbacks.
22
+ * Its issuer checks the admitted caller and signs the fixed attempt profiles for manager-held
23
+ * nkeys; the runtime derives its stable effect caller under the admitted owner's account.
26
24
  *
27
25
  * A manager restart takes its runs back: at boot, every run recorded `running` under this
28
26
  * endpoint is resumed under a fresh takeover, epoch + 1, from its recorded program. A run whose
@@ -45,7 +43,10 @@ import { randomBytes } from "node:crypto";
45
43
  import { credsAuthenticator } from "@nats-io/transport-node";
46
44
  import { jetstream, jetstreamManager } from "@nats-io/jetstream";
47
45
  import { Kvm } from "@nats-io/kv";
48
- import { COTAL_LANG_RUN_HOST, DEFAULT_SERVER, EpEnvelopeError, LANG_PROBLEM_DETAIL_KIND, RUN_ACTIVATION_WAIT_MS, RUN_HOST_KIND, dialerFor, inspectCredHealth, mintCreds, newIdentity, newTakeoverId, admissionBucket, createRunAdmission, readRunAdmission, revokeRunAdmission, withIssuerSession, isIssuedCaller, EP_UNBOUND_CALLER_AUTHORITY, openRecordsBucket, readRunProgram, readRunRecord, registry, standaloneConnectOpts, walkKvEntries, } from "@cotal-ai/core";
46
+ import { COTAL_LANG_RUN_HOST, DEFAULT_SERVER, EpEnvelopeError, LANG_PROBLEM_DETAIL_KIND, RUN_ACTIVATION_WAIT_MS, RUN_HOST_KIND, dialerFor, inspectCredHealth, mintCreds, newIdentity, newTakeoverId, admissionBucket, createRunAdmission, readRunAdmission, revokeRunAdmission, withIssuerSession, epRequestSubject, isIssuedCaller, EP_UNBOUND_CALLER_AUTHORITY, openRecordsBucket, readRunProgram, readRunRecord, registry, standaloneConnectOpts, walkKvEntries, } from "@cotal-ai/core";
47
+ /** The signerless callback set. RunHosting is remote exactly when ALL four are supplied; a partial
48
+ * set refuses construction, and nothing falls back to a local signer or a bare connection. */
49
+ const REMOTE_CALLBACKS = ["admitRun", "issueAttempt", "issueOperator", "renewRun"];
49
50
  const DEFAULT_CHECKPOINT_TIMEOUT = "1h";
50
51
  /** How many launches (start or resume) may be in their activation wait at once. Each holds a
51
52
  * standing connection and a minted credential; past this a caller is refused `resource-exhausted`
@@ -57,8 +58,15 @@ export class RunHosting {
57
58
  launching = 0;
58
59
  reconciled = false;
59
60
  stopping = false;
61
+ remote;
60
62
  constructor(ctx) {
61
63
  this.ctx = ctx;
64
+ const present = REMOTE_CALLBACKS.filter((k) => ctx[k] !== undefined);
65
+ if (present.length !== 0 && present.length !== REMOTE_CALLBACKS.length)
66
+ throw new Error(`signerless run hosting needs every closed callback (${REMOTE_CALLBACKS.join(", ")}); got only ${present.join(", ")}`);
67
+ this.remote = present.length === REMOTE_CALLBACKS.length;
68
+ if (this.remote && ctx.auth !== undefined)
69
+ throw new Error("signerless run hosting holds no space signer");
62
70
  }
63
71
  /** The one registered run host. Absent means the composition root never imported the runtime,
64
72
  * which is a configuration error named here rather than a silent no-op surface. */
@@ -116,10 +124,14 @@ export class RunHosting {
116
124
  async admit(ctx, runId) {
117
125
  const caller = ctx.subject.caller;
118
126
  const auth = this.ctx.auth;
119
- if (auth === undefined)
127
+ if (auth === undefined && !this.remote)
120
128
  throw new EpEnvelopeError("unimplemented", `an open mesh issues no caller authority and keeps no admission, so it hosts no run in space ${this.ctx.space}; runs need a static-auth mesh (SPEC 14.8)`);
121
129
  if (ctx.subject.rail !== "v1" || !isIssuedCaller(caller))
122
130
  throw new EpEnvelopeError("permission-denied", `run-start binds a run to the caller's issued authority, and this request rode the legacy rail with none; re-mint the credential as an issuance and call on the versioned rail (SPEC 13.15, 14.8)`, [{ kind: EP_UNBOUND_CALLER_AUTHORITY, owner: caller.owner, actor: caller.actor, uid: caller.uid }]);
131
+ if (this.remote)
132
+ return { admission: await this.admitRemote(this.ctx.admitRun, ctx, runId), revoked: undefined };
133
+ if (auth === undefined)
134
+ throw new EpEnvelopeError("unimplemented", "an open mesh admits no hosted run (SPEC 14.8)");
123
135
  const ref = { space: this.ctx.space, owner: caller.owner, actor: caller.actor, uid: caller.uid, generation: caller.generation };
124
136
  const resolved = await withIssuerSession({ servers: this.ctx.servers ?? DEFAULT_SERVER, space: this.ctx.space, auth, tls: false }, (s) => s.store.resolve(ref, s.sourceIsLive));
125
137
  const admission = {
@@ -136,6 +148,22 @@ export class RunHosting {
136
148
  await this.withAdmitter(runId, (kv) => createRunAdmission(kv, admission));
137
149
  return { admission, revoked: undefined };
138
150
  }
151
+ /** The signerless arm of {@link admit}: the issuing host resolves and writes; this host only
152
+ * checks the answer names the run, endpoint, instance and caller it asked for. */
153
+ async admitRemote(admitRun, ctx, runId) {
154
+ const p = ctx.subject;
155
+ const subject = epRequestSubject(this.ctx.space, {
156
+ route: p.route === "inst" ? { mode: "inst", instanceId: p.instanceId } : { mode: p.route },
157
+ endpoint: p.endpoint, command: p.command, caller: p.caller, nonce: p.nonce,
158
+ });
159
+ const admission = await admitRun({ runId, subject });
160
+ const c = admission.caller;
161
+ if (admission.runId !== runId || admission.endpoint !== this.ctx.endpoint || admission.space !== this.ctx.space ||
162
+ admission.instanceId !== this.ctx.instanceId || !isIssuedCaller(c) || !isIssuedCaller(p.caller) ||
163
+ c.owner !== p.caller.owner || c.actor !== p.caller.actor || c.uid !== p.caller.uid || c.generation !== p.caller.generation)
164
+ throw new EpEnvelopeError("internal", `run ${runId}: the issuing host answered an admission for other coordinates; refused`);
165
+ return admission;
166
+ }
139
167
  /** One admission-store write over an ephemeral `run-admitter` credential pinned to this run. */
140
168
  async withAdmitter(runId, fn) {
141
169
  const auth = this.ctx.auth;
@@ -166,6 +194,8 @@ export class RunHosting {
166
194
  * admission; every later channel effect of the run refuses on reading it, and a drive parked in
167
195
  * a wait ends within one poll. Idempotent. */
168
196
  async revoke(runId, by, reason) {
197
+ if (this.remote)
198
+ throw new EpEnvelopeError("unimplemented", "a signerless host writes no revocation marker; revoke through the issuing host");
169
199
  await this.withAdmitter(runId, (kv) => revokeRunAdmission(kv, this.ctx.endpoint, { version: 1, runId, by, reason, revokedAt: Date.now() }));
170
200
  }
171
201
  /** `run-resume`: take a recorded run over under a fresh takeover and continue it from its journal.
@@ -250,6 +280,34 @@ export class RunHosting {
250
280
  now: Date.now(),
251
281
  }));
252
282
  }
283
+ /** `run-answer` with `amend`: file a later answer beside a settled pause's accepted one. The same
284
+ * two credentials an answer rides: a READ that replays the journal to the settled step and reads
285
+ * which answer its settle accepted, then an ANSWERING one minted for that token alone. Nothing
286
+ * is presented, so the pause stays settled. `by` is decided by the serve layer, as for an answer. */
287
+ async amend(args, by, authorize) {
288
+ const host = this.host();
289
+ const endpoint = args.endpoint ?? this.ctx.endpoint;
290
+ let accepted;
291
+ try {
292
+ accepted = await this.withOperator({ endpoint, runId: args.runId }, (planes, _kv, takeoverId) => host.locateAccepted(planes, { endpoint, runId: args.runId, takeoverId, stepKey: args.stepKey }));
293
+ }
294
+ catch (e) {
295
+ if (e instanceof EpEnvelopeError)
296
+ throw e;
297
+ if (e.name === "CheckpointNotAmendable")
298
+ throw new EpEnvelopeError("not-found", e.message);
299
+ throw e;
300
+ }
301
+ await authorize?.(accepted);
302
+ return await this.withOperator({ endpoint, answers: { token: accepted.token } }, (planes) => host.amend(planes, {
303
+ endpoint,
304
+ accepted,
305
+ by,
306
+ ...(args.value !== undefined ? { value: args.value } : {}),
307
+ ...(args.artifact !== undefined ? { artifact: args.artifact } : {}),
308
+ now: Date.now(),
309
+ }));
310
+ }
253
311
  /** `run-status`: the record plus the journal view. */
254
312
  async status(args) {
255
313
  const host = this.host();
@@ -341,6 +399,8 @@ export class RunHosting {
341
399
  * coordinates when it is past its renewal point; the connection presents the fresh one on its
342
400
  * next (re)connect. Open mesh: nothing to renew. */
343
401
  async renew() {
402
+ if (this.ctx.renewRun)
403
+ return this.renewRemote(this.ctx.renewRun);
344
404
  const auth = this.ctx.auth;
345
405
  if (!auth)
346
406
  return;
@@ -368,6 +428,48 @@ export class RunHosting {
368
428
  }
369
429
  }
370
430
  }
431
+ /** Both-or-none adoption of the host-issued pair for the attempt's own coordinates. The pair is
432
+ * adopted only while the same attempt still holds the slot; anything else keeps last-good. */
433
+ async renewRemote(renewRun) {
434
+ for (const run of [...this.runs.values()]) {
435
+ if (run.creds === undefined || run.mediatorCreds === undefined || run.fencingToken === undefined)
436
+ continue;
437
+ if (inspectCredHealth(run.creds).state === "healthy" && inspectCredHealth(run.mediatorCreds).state === "healthy")
438
+ continue;
439
+ try {
440
+ const pair = await renewRun({
441
+ runId: run.runId, holder: `${this.ctx.holder.id}.${run.takeoverId}`, takeoverId: run.takeoverId,
442
+ epoch: run.epoch, fencingToken: run.fencingToken, driver: run.identity, mediator: run.mediatorIdentity,
443
+ });
444
+ for (const [name, cred] of [["driver", pair.driver], ["mediator", pair.mediator]])
445
+ if (typeof cred !== "string" || inspectCredHealth(cred).state !== "healthy")
446
+ throw new Error(`host returned an unusable run-${name} credential`);
447
+ // Neither holder changes until BOTH candidates have proved broker connectivity. A JWT
448
+ // with coherent local claims can still carry a bad signature or a revoked account.
449
+ for (const cred of [pair.driver, pair.mediator]) {
450
+ const candidate = await dialerFor(this.ctx.servers ?? DEFAULT_SERVER)({
451
+ servers: this.ctx.servers ?? DEFAULT_SERVER,
452
+ ...standaloneConnectOpts({ creds: cred, tls: false }),
453
+ maxReconnectAttempts: 0,
454
+ });
455
+ await candidate.close();
456
+ }
457
+ if (this.stopping || this.runs.get(run.runId) !== run)
458
+ throw new Error("the attempt left this host while its renewal was in flight");
459
+ run.creds = pair.driver;
460
+ run.mediatorCreds = pair.mediator;
461
+ run.renewalDebt = undefined;
462
+ await Promise.all([
463
+ run.nc?.reconnect().catch(() => { }),
464
+ run.mediatorNc?.reconnect().catch(() => { }),
465
+ ]);
466
+ }
467
+ catch (e) {
468
+ run.renewalDebt = { at: Date.now(), reason: e.message };
469
+ this.ctx.log(`! run-driver/mediator renewal for ${run.runId}: ${e.message} - last-good kept, nothing minted locally`);
470
+ }
471
+ }
472
+ }
371
473
  /** Shutdown: ask every drive to stop at its next boundary and drain the connections of those
372
474
  * that reach one. A drive parked in a pause reaches no boundary; its connection is closed under
373
475
  * it, so nothing it writes on the way out can land and its record stays `running`, which is what
@@ -438,20 +540,25 @@ export class RunHosting {
438
540
  async drive(host, req, slot) {
439
541
  const { takeoverId, identity, mediatorIdentity } = slot;
440
542
  const auth = this.ctx.auth;
441
- const creds = auth
543
+ if (this.remote && slot.placements.length !== 0)
544
+ throw new EpEnvelopeError("unimplemented", `run ${req.runId}: a signerless host issues no placed-spawn mediator; drive a program with a placed spawn from a static-auth manager`);
545
+ const issued = this.remote
546
+ ? await this.ctx.issueAttempt({ runId: req.runId, takeoverId, epoch: req.epoch, fencingToken: req.fencingToken, driver: identity, mediator: mediatorIdentity })
547
+ : undefined;
548
+ const creds = issued ? issued.driver : auth
442
549
  ? await mintCreds(auth, identity, "run-driver", {
443
550
  runDriver: { endpoint: this.ctx.endpoint, runId: req.runId, takeoverId, instanceId: this.ctx.instanceId, epoch: req.epoch },
444
551
  })
445
552
  : undefined;
446
553
  const placement = slot.placements.length === 1 ? { instanceId: slot.placements[0].instanceId } : undefined;
447
- const mediatorCreds = auth
554
+ const mediatorCreds = issued ? issued.mediator : auth
448
555
  ? await mintCreds(auth, mediatorIdentity, "run-mediator", {
449
556
  runMediator: { endpoint: this.ctx.endpoint, runId: req.runId, takeoverId, instanceId: this.ctx.instanceId, epoch: req.epoch, ...(placement !== undefined ? { placement } : {}) },
450
557
  })
451
558
  : undefined;
452
559
  // The attempt's coordinates on the slot before the connection: the renewal loop re-mints from
453
560
  // these, and the epoch is a per-attempt fact.
454
- const holder = Object.assign(slot, { epoch: req.epoch, ...(creds !== undefined ? { creds, mediatorCreds } : {}) });
561
+ const holder = Object.assign(slot, { epoch: req.epoch, fencingToken: req.fencingToken, ...(creds !== undefined ? { creds, mediatorCreds } : {}) });
455
562
  const enc = new TextEncoder();
456
563
  // A STANDING connection: the drive may park for hours inside a pause, so it reconnects without
457
564
  // bound and presents whatever credential the renewal loop last minted.
@@ -569,13 +676,18 @@ export class RunHosting {
569
676
  const takeoverId = newTakeoverId();
570
677
  const endpoint = scope.endpoint ?? this.ctx.endpoint;
571
678
  const auth = this.ctx.auth;
679
+ const pin = { takeoverId, ...(scope.runId !== undefined ? { runId: scope.runId } : {}), ...(scope.answers !== undefined ? { answers: scope.answers } : {}) };
680
+ if (this.remote && endpoint !== this.ctx.endpoint)
681
+ throw new EpEnvelopeError("permission-denied", `a signerless host serves reads and answers for its own endpoint ${this.ctx.endpoint} only`);
682
+ const operator = newIdentity();
683
+ const creds = this.remote
684
+ ? await this.ctx.issueOperator({ identity: operator, ...pin })
685
+ : auth ? await mintCreds(auth, operator, "run-operator", { runOperator: { endpoint, ...pin } }) : undefined;
572
686
  const nc = await dialerFor(this.ctx.servers ?? DEFAULT_SERVER)({
573
687
  servers: this.ctx.servers ?? DEFAULT_SERVER,
574
- ...(auth
688
+ ...(creds !== undefined
575
689
  ? standaloneConnectOpts({
576
- creds: await mintCreds(auth, newIdentity(), "run-operator", {
577
- runOperator: { endpoint, takeoverId, ...(scope.runId !== undefined ? { runId: scope.runId } : {}), ...(scope.answers !== undefined ? { answers: scope.answers } : {}) },
578
- }),
690
+ creds,
579
691
  /* not yet wired to a recorded transport */ tls: false,
580
692
  })
581
693
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"run-hosting.js","sourceRoot":"","sources":["../src/run-hosting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-hosting.js","sourceRoot":"","sources":["../src/run-hosting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAW,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,2BAA2B,EAI3B,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,aAAa,GAad,MAAM,gBAAgB,CAAC;AAqCxB;+FAC+F;AAC/F,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,CAAU,CAAC;AAuB5F,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC;;6FAE6F;AAC7F,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,OAAO,UAAU;IAQQ;IAPZ,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,SAAS,GAAG,CAAC,CAAC;IACd,UAAU,GAAG,KAAK,CAAC;IACnB,QAAQ,GAAG,KAAK,CAAC;IAER,MAAM,CAAU;IAEjC,YAA6B,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;QACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM;YACpE,MAAM,IAAI,KAAK,CAAC,uDAAuD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC;QACzD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC7G,CAAC;IAED;wFACoF;IAC5E,IAAI;QACV,OAAO,QAAQ,CAAC,OAAO,CAAU,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;IAED;wCACoC;IAC5B,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,yGAAyG,CAAC,CAAC;IACxJ,CAAC;IAED;;;;;;;mDAO+C;IAC/C,KAAK,CAAC,KAAK,CAAC,GAAmB,EAAE,IAAyD;QACxF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,4FAA4F;YAC5F,sFAAsF;YACtF,2FAA2F;YAC3F,6BAA6B;YAC7B,MAAM,IAAI,eAAe,CACvB,aAAa,EACb,kCAAkC,OAAO,CAAC,MAAM,CAAC,MAAM,WAAW,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAC3G,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACvB,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,sKAAsK,CAAC,CAAC;QACrN,4FAA4F;QAC5F,iEAAiE;QACjE,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACtB,IAAI,EAAE,KAAK;YACX,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,0BAA0B;YACnD,SAAS;YACT,UAAU;SACX,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;4EAEwE;IAChE,KAAK,CAAC,KAAK,CAAC,GAAmB,EAAE,KAAa;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM;YACpC,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,+FAA+F,IAAI,CAAC,GAAG,CAAC,KAAK,4CAA4C,CAAC,CAAC;QACxM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YACtD,MAAM,IAAI,eAAe,CACvB,mBAAmB,EACnB,kMAAkM,EAClM,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CACnG,CAAC;QACJ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAS,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAClH,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;QACpH,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QAChI,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CACvI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACxC,MAAM,SAAS,GAAiB;YAC9B,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;YACrB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;YAC3B,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;YAC/B,MAAM;YACN,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW;YACtC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED;uFACmF;IAC3E,KAAK,CAAC,WAAW,CAAC,QAAoD,EAAE,GAAmB,EAAE,KAAa;QAChH,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QACtB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;YAC3F,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;SAC3E,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3B,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK;YAC3G,SAAS,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/F,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU;YAC5H,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,KAAK,yEAAyE,CAAC,CAAC;QAC/H,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gGAAgG;IACxF,KAAK,CAAC,YAAY,CAAI,KAAa,EAAE,EAA0B;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;QACpH,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;YAC3C,GAAG,qBAAqB,CAAC;gBACvB,KAAK,EAAE,MAAM,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;gBACpH,2CAA2C,CAAC,GAAG,EAAE,KAAK;aACvD,CAAC;YACF,oBAAoB,EAAE,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;yFAEqF;IAC7E,KAAK,CAAC,QAAQ,CAAC,KAAa;QAClC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAChI,CAAC;IAED;;mDAE+C;IAC/C,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,EAAU,EAAE,MAAc;QACpD,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,gFAAgF,CAAC,CAAC;QAC9I,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9I,CAAC;IAED;;;yEAGqE;IACrE,KAAK,CAAC,MAAM,CAAC,IAAyC;QACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,KAA4H,CAAC;QACjI,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtE,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxE,wFAAwF;gBACxF,2EAA2E;gBAC3E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpG,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS;oBACjC,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,OAAO,IAAI,CAAC,KAAK,mBAAmB,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM,6CAA6C,CAAC,CAAC;gBACrL,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,KAAK,SAAS;gBACrB,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,KAAK,2BAA2B,IAAI,CAAC,GAAG,CAAC,QAAQ,kDAAkD,CAAC,CAAC;YAC1J,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAC7B,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,OAAO,IAAI,CAAC,KAAK,8HAA8H,IAAI,CAAC,KAAK,6BAA6B,CAAC,CAAC;YAC3O,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,EAAE;gBACb,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,OAAO,IAAI,CAAC,KAAK,yDAAyD,CAAC,CAAC;YAC/H,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;gBACvC,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,KAAK,mHAAmH,CAAC,CAAC;YACnL,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,iGAAiG;QACjG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACtB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;YACrC,YAAY,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;YACnD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,0BAA0B;SACpD,EAAE,IAAI,CAAC,CAAC;QACT,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;;;4EAIwE;IACxE,KAAK,CAAC,MAAM,CACV,IAA+F,EAC/F,EAAU,EACV,SAA4D;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACpD,IAAI,IAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAC1F,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qFAAqF;YACrF,uFAAuF;YACvF,IAAI,CAAC,YAAY,eAAe;gBAAE,MAAM,CAAC,CAAC;YAC1C,IAAK,CAAuB,CAAC,IAAI,KAAK,mBAAmB;gBAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YACxH,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CACtF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,QAAQ;YACR,IAAI;YACJ,EAAE;YACF,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;0GAGsG;IACtG,KAAK,CAAC,KAAK,CACT,IAA+F,EAC/F,EAAU,EACV,SAAqE;QAErE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACpD,IAAI,QAA+B,CAAC;QACpC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAC9F,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe;gBAAE,MAAM,CAAC,CAAC;YAC1C,IAAK,CAAuB,CAAC,IAAI,KAAK,wBAAwB;gBAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YAC7H,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAC1F,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,QAAQ;YACR,QAAQ;YACR,EAAE;YACF,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,MAAM,CAAC,IAA0C;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAChG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,KAAK,2BAA2B,QAAQ,EAAE,CAAC,CAAC;QACvH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,IAAI,CAAC,IAA2B;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CACjH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;gGAK4F;IAC5F,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,SAAS,GAAyH,EAAE,CAAC;QACzI,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC3D,MAAM,GAAG,GAAqB,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,MAAM,aAAa,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,SAAS,CAAC,EAAE,CAAC;oBAC3E,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,KAAK,KAAK,SAAS;wBAAE,SAAS;oBAClC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACjE,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;oBACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;wBAAE,SAAS;oBACjE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACnE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,mIAAmI,KAAK,6BAA6B,CAAC,CAAC;wBAClM,SAAS;oBACX,CAAC;oBACD,yFAAyF;oBACzF,wFAAwF;oBACxF,IAAI,SAA2B,CAAC;oBAChC,IAAI,CAAC;wBACH,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3F,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,kBAAmB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;wBACrE,SAAS;oBACX,CAAC;oBACD,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,6BAA6B,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC9G,SAAS;oBACX,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxL,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,yCAA0C,CAAW,CAAC,OAAO,wGAAwG,CAAC,CAAC;YACpL,OAAO;QACT,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC1F,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBACpH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;YACtR,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,6BAA8B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0CAA0C,SAAS,CAAC,MAAM,0BAA0B,CAAC,CAAC;IACrG,CAAC;IAED;;yDAEqD;IACrD,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG;gBACV,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU;gBACzE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK;gBACjD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrG,CAAC;YACF,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChF,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,KAAK,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChG,IAAI,CAAC;oBACH,GAAG,CAAC,aAAa,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxG,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,KAAK,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;mGAC+F;IACvF,KAAK,CAAC,WAAW,CAAC,QAAoD;QAC5E,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;gBAAE,SAAS;YAC3G,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,KAAK,SAAS;gBAAE,SAAS;YAC3H,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;oBAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC/F,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,gBAAgB;iBACvG,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAU;oBACxF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;wBACzE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,aAAa,CAAC,CAAC;gBACxE,sFAAsF;gBACtF,mFAAmF;gBACnF,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;wBACpE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;wBAC3C,GAAG,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;wBACrD,oBAAoB,EAAE,CAAC;qBACxB,CAAC,CAAC;oBACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG;oBACnD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAChF,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAClC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC5B,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChB,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;oBACnC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;gBACnE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,qCAAqC,GAAG,CAAC,KAAK,KAAM,CAAW,CAAC,OAAO,2CAA2C,CAAC,CAAC;YACnI,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;gEAI4D;IAC5D,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAgE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC9J,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpI,IAAI,OAAO;gBAAE,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;;gBACzD,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,2EAA2E;IAC3E,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;sCAEkC;IAC1B,KAAK,CAAC,KAAa,EAAE,aAAkE,EAAE;QAC/F,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,KAAK,0CAA0C,CAAC,CAAC;QACxH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,GAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC;QAC9H,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;8DAC0D;IAClD,IAAI,CAAC,IAAe;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED;;iGAE6F;IACrF,KAAK,CAAC,MAAM,CAClB,IAAa,EACb,GAAoO,EACpO,OAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,iDAAiD,CAAC,CAAC;YAC/G,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa;gBACjC,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,GAAG,aAAa,oFAAoF,CAAC,CAAC;YACxJ,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,0FAA0F;YAC1F,2EAA2E;YAC3E,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,IAAa,EACb,GAAoO,EACpO,IAAe;QAEf,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,OAAO,GAAG,CAAC,KAAK,qHAAqH,CAAC,CAAC;QACpL,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAa,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;YAChK,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YACzC,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE;gBAC5C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;aAC5H,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5G,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACnD,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE;gBACtD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACjL,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,8FAA8F;QAC9F,8CAA8C;QAC9C,MAAM,MAAM,GAAc,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9J,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,+FAA+F;QAC/F,uEAAuE;QACvE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;YAC3C,GAAG,CAAC,KAAK,KAAK,SAAS;gBACrB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,QAAQ,CAAC,EAAE,EAAE,EAAE;gBACnI,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB,EAAE,CAAC,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,MAAqB,CAAC;QAC1B,IAAI,QAAuB,CAAC;QAC5B,IAAI,UAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAC5I,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;gBAC/D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;gBAC3C,GAAG,CAAC,aAAa,KAAK,SAAS;oBAC7B,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,gBAAgB,CAAC,EAAE,EAAE,EAAE;oBACnJ,CAAC,CAAC,EAAE,CAAC;gBACP,oBAAoB,EAAE,CAAC,CAAC;aACzB,CAAC,CAAC;YACH,QAAQ,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAClL,sFAAsF;YACtF,uFAAuF;YACvF,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,iDAAiD,CAAC,CAAC;QACjH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;QACjC,wFAAwF;QACxF,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,UAAU,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAChH,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE;gBACjG,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;gBAC/B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,wBAAwB,EAAE,GAAG,CAAC,OAAO;gBACrC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,yFAAyF;gBACzF,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,EAAE,QAAQ,CAAC,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3D,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,2FAA2F;YAC3F,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YACzC,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,2FAA2F;YAC3F,qFAAqF;YACrF,wFAAwF;YACxF,mCAAmC;YACnC,KAAK,CAAC,OAAO,CAAC,2DAA4D,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACjG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAAC,GAAG,CAAC,QAAQ,WAAW,GAAG,CAAC,KAAK,cAAc,UAAU,GAAG,CAAC,CAAC;IAChK,CAAC;IAED;;4FAEwF;IAChF,KAAK,CAAC,SAAS,CAAC,EAAM,EAAE,GAAqC,EAAE,KAAmB;QACxF,MAAM,QAAQ,GAAG,KAAK,IAAsB,EAAE,CAC5C,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC;QAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;QACrD,SAAS,CAAC;YACR,IAAI,MAAM,QAAQ,EAAE;gBAAE,OAAO;YAC7B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO,CAAY,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,MAAM,QAAQ,EAAE;oBAAE,OAAO;gBAC7B,MAAM,IAAI,eAAe,CACvB,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,EAClE,OAAO,GAAG,CAAC,KAAK,mBAAmB,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBACvB,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,OAAO,GAAG,CAAC,KAAK,uCAAuC,sBAAsB,GAAG,IAAI,yFAAyF,GAAG,CAAC,KAAK,gBAAgB,CAAC,CAAC;QACrP,CAAC;IACH,CAAC;IAED;;;0DAGsD;IAC9C,KAAK,CAAC,YAAY,CACxB,KAAyE,EACzE,EAAqE;QAErE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7J,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ;YAC/C,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,mEAAmE,IAAI,CAAC,GAAG,CAAC,QAAQ,OAAO,CAAC,CAAC;QAC9I,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM;YACvB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,aAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc;YAC3C,GAAG,CAAC,KAAK,KAAK,SAAS;gBACrB,CAAC,CAAC,qBAAqB,CAAC;oBACpB,KAAK;oBACL,2CAA2C,CAAC,GAAG,EAAE,KAAK;iBACvD,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB,EAAE,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvD,OAAO,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QACzH,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF;AAED,4FAA4F;AAC5F,SAAS,YAAY,CAAC,CAA0B;IAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAgC,CAAC;IACpE,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,GAAmB;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,gBAAgB,GAAG,CAAC,KAAK,UAAU,CAAC;IAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,cAAc,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxH,CAAC"}
@@ -1,10 +1,13 @@
1
- import type { AgentHandle, AttachSession, LaunchSpec, RuntimeReference } from "@cotal-ai/core";
1
+ import { type AgentHandle, type AttachSession, type LaunchSpec, type RuntimeReference } from "@cotal-ai/core";
2
2
  import type { CustodialRuntime, RuntimeReapEvidence } from "./index.js";
3
+ /** Where custodial pty seats keep their records: `COTAL_SEAT_ROOT`, else `~/.cotal/seats`. */
4
+ export declare function custodyRoot(): string;
3
5
  /**
4
- * Production pty runtime on Linux: a one-shot launcher starts a detached
5
- * per-seat custodian, then this process holds only a proxy AgentHandle.
6
- * `createRuntime("pty")` does not construct this class off Linux. Spawn and
7
- * adopt still throw the named transport error if it is instantiated there.
6
+ * Linux custodial pty: a one-shot launcher starts a detached per-seat
7
+ * custodian, then this process holds only a proxy AgentHandle.
8
+ * `createRuntime("pty")` no longer spawns through this class (#1391); it uses
9
+ * it only to adopt and reap seats a pre-repair manager left running. Spawn and
10
+ * adopt throw the named transport error off Linux.
8
11
  */
9
12
  export declare class CustodialPtyRuntime implements CustodialRuntime {
10
13
  private readonly root;
@@ -12,10 +15,10 @@ export declare class CustodialPtyRuntime implements CustodialRuntime {
12
15
  readonly supportsRelease = true;
13
16
  /**
14
17
  * Private cache of active SeatRecords keyed by custody reference id, populated on spawn and adopt
15
- * and pruned on reap or release. When a managed seat cleanly exits, its custodian unlinks the
16
- * on-disk custody file; this pinned record allows reapSeat to prove the kernel start identities and
17
- * process group are gone without requiring the file to linger. An unadopted reference without a
18
- * pinned record falls back to fail-closed absent handling (RuntimeReapUnproven).
18
+ * and pruned on reap or release. Custody records are retained on disk across seat exit so that
19
+ * reapSeat can verify kernel start identities and ensure the process group is gone even after a
20
+ * manager process restarts. An unadopted reference without a pinned or on-disk record falls back
21
+ * to fail-closed absent handling (RuntimeReapUnproven).
19
22
  */
20
23
  private readonly records;
21
24
  constructor(root?: string);
@@ -1 +1 @@
1
- {"version":3,"file":"custodial-pty.d.ts","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOxE;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAY9C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXjC,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,eAAe,QAAQ;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE5B,IAAI,GAAE,MAA4D;IAI/F;;8FAE0F;IAC1F,OAAO,IAAI,gBAAgB;IAK3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,WAAW;IAsB7F,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW;IAezC,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAUtE;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"custodial-pty.d.ts","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtI,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGxE,8FAA8F;AAC9F,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAY9C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXjC,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,eAAe,QAAQ;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE5B,IAAI,GAAE,MAAsB;IAIzD;;8FAE0F;IAC1F,OAAO,IAAI,gBAAgB;IAK3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,WAAW;IA6B7F,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW;IAezC,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAUtE;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { mkdirSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
+ import { discardLaunchArtifacts } from "@cotal-ai/core";
4
5
  import { adoptSeatSync, launchSeat, loadSeat, reapSeat, seatId, unsupportedTransport } from "@cotal-ai/seat";
5
- function defaultCustodyRoot() {
6
- return join(homedir(), ".cotal", "seats");
6
+ /** Where custodial pty seats keep their records: `COTAL_SEAT_ROOT`, else `~/.cotal/seats`. */
7
+ export function custodyRoot() {
8
+ return process.env.COTAL_SEAT_ROOT ?? join(homedir(), ".cotal", "seats");
7
9
  }
8
10
  /**
9
- * Production pty runtime on Linux: a one-shot launcher starts a detached
10
- * per-seat custodian, then this process holds only a proxy AgentHandle.
11
- * `createRuntime("pty")` does not construct this class off Linux. Spawn and
12
- * adopt still throw the named transport error if it is instantiated there.
11
+ * Linux custodial pty: a one-shot launcher starts a detached per-seat
12
+ * custodian, then this process holds only a proxy AgentHandle.
13
+ * `createRuntime("pty")` no longer spawns through this class (#1391); it uses
14
+ * it only to adopt and reap seats a pre-repair manager left running. Spawn and
15
+ * adopt throw the named transport error off Linux.
13
16
  */
14
17
  export class CustodialPtyRuntime {
15
18
  root;
@@ -17,13 +20,13 @@ export class CustodialPtyRuntime {
17
20
  supportsRelease = true;
18
21
  /**
19
22
  * Private cache of active SeatRecords keyed by custody reference id, populated on spawn and adopt
20
- * and pruned on reap or release. When a managed seat cleanly exits, its custodian unlinks the
21
- * on-disk custody file; this pinned record allows reapSeat to prove the kernel start identities and
22
- * process group are gone without requiring the file to linger. An unadopted reference without a
23
- * pinned record falls back to fail-closed absent handling (RuntimeReapUnproven).
23
+ * and pruned on reap or release. Custody records are retained on disk across seat exit so that
24
+ * reapSeat can verify kernel start identities and ensure the process group is gone even after a
25
+ * manager process restarts. An unadopted reference without a pinned or on-disk record falls back
26
+ * to fail-closed absent handling (RuntimeReapUnproven).
24
27
  */
25
28
  records = new Map();
26
- constructor(root = process.env.COTAL_SEAT_ROOT ?? defaultCustodyRoot()) {
29
+ constructor(root = custodyRoot()) {
27
30
  this.root = root;
28
31
  mkdirSync(this.root, { recursive: true, mode: 0o700 });
29
32
  }
@@ -36,14 +39,22 @@ export class CustodialPtyRuntime {
36
39
  return { kind: this.kind, id: seatId() };
37
40
  }
38
41
  spawn(name, spec, cwd, reference) {
39
- if (process.platform !== "linux")
40
- throw unsupportedTransport();
41
- if (reference !== undefined && reference.kind !== "pty")
42
- throw new Error(`cannot spawn under runtime kind "${reference.kind}" with pty`);
42
+ try {
43
+ if (process.platform !== "linux")
44
+ throw unsupportedTransport();
45
+ if (reference !== undefined && reference.kind !== "pty")
46
+ throw new Error(`cannot spawn under runtime kind "${reference.kind}" with pty`);
47
+ }
48
+ catch (e) {
49
+ // Refused before any process exists, so no child will read the launch's files (core
50
+ // launch-artifacts). Every later refusal is launchSeat's, which removes them the same way.
51
+ discardLaunchArtifacts(spec.artifacts);
52
+ throw e;
53
+ }
43
54
  const rec = launchSeat({
44
55
  root: this.root,
45
56
  name,
46
- spec: { command: spec.command, args: spec.args, env: spec.env ?? {}, confirm: spec.confirm },
57
+ spec: { command: spec.command, args: spec.args, env: spec.env ?? {}, confirm: spec.confirm, artifacts: spec.artifacts },
47
58
  cwd,
48
59
  ...(reference ? { id: reference.id } : {}),
49
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"custodial-pty.js","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custodial-pty.js","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,8 @@ export declare class RuntimeReapUnproven extends Error {
39
39
  */
40
40
  export interface CustodialRuntime extends Runtime {
41
41
  reserve(): RuntimeReference;
42
+ /** Also removes the launch artifacts (core launch-artifacts) the custody record still lists, once
43
+ * the seat is proved gone, even when another manager launched it. */
42
44
  reap(reference: RuntimeReference): Promise<RuntimeReapEvidence>;
43
45
  }
44
46
  /** Whether this backend custodies its own processes. Both methods are required together: a runtime
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAwB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIzI,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEvF,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAI9F;AAED;;;;;qFAKqF;AACrF,MAAM,MAAM,mBAAmB,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;6EAE6E;AAC7E,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzB,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB;CAQ7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,OAAO,IAAI,gBAAgB,CAAC;IAC5B,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjE;AAED;;gEAEgE;AAChE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAGhF;AAED;;iCAEiC;AACjC,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAUhD;AAED;;2FAE2F;AAC3F,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAE/C;;qFAEqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CA0BzE;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAQ1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,WAAW,EAEhB,KAAK,OAAO,EACZ,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEvF,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAI9F;AAED;;;;;qFAKqF;AACrF,MAAM,MAAM,mBAAmB,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;6EAE6E;AAC7E,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzB,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB;CAQ7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,OAAO,IAAI,gBAAgB,CAAC;IAC5B;0EACsE;IACtE,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjE;AAED;;gEAEgE;AAChE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAGhF;AAED;;iCAEiC;AACjC,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAUhD;AAyBD;;2FAE2F;AAC3F,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAE/C;;qFAEqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzE;AA4ID,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAQ1E"}