@cello-protocol/daemon 0.0.211 → 0.0.213
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-admin-handlers.d.ts.map +1 -1
- package/dist/agent-admin-handlers.js +3 -0
- package/dist/agent-admin-handlers.js.map +1 -1
- package/dist/agent-handlers.d.ts.map +1 -1
- package/dist/agent-handlers.js +44 -0
- package/dist/agent-handlers.js.map +1 -1
- package/dist/agent-id-migration.d.ts.map +1 -1
- package/dist/agent-id-migration.js +11 -2
- package/dist/agent-id-migration.js.map +1 -1
- package/dist/assignment-verify.d.ts.map +1 -1
- package/dist/assignment-verify.js +2 -2
- package/dist/assignment-verify.js.map +1 -1
- package/dist/attendance-wiring.d.ts +2 -21
- package/dist/attendance-wiring.d.ts.map +1 -1
- package/dist/attendance-wiring.js +57 -251
- package/dist/attendance-wiring.js.map +1 -1
- package/dist/away-detection.d.ts +16 -21
- package/dist/away-detection.d.ts.map +1 -1
- package/dist/away-detection.js +34 -23
- package/dist/away-detection.js.map +1 -1
- package/dist/boot-agents.d.ts.map +1 -1
- package/dist/close-session-handler.d.ts.map +1 -1
- package/dist/close-session-handler.js +79 -6
- package/dist/close-session-handler.js.map +1 -1
- package/dist/co-attendance.d.ts +1 -1
- package/dist/co-attendance.js +1 -1
- package/dist/consortium-fingerprint.d.ts +115 -0
- package/dist/consortium-fingerprint.d.ts.map +1 -0
- package/dist/consortium-fingerprint.js +175 -0
- package/dist/consortium-fingerprint.js.map +1 -0
- package/dist/content-park.d.ts.map +1 -1
- package/dist/content-park.js +80 -0
- package/dist/content-park.js.map +1 -1
- package/dist/daemon-handle.d.ts +1 -1
- package/dist/daemon-handle.d.ts.map +1 -1
- package/dist/daemon-status-report.d.ts +10 -2
- package/dist/daemon-status-report.d.ts.map +1 -1
- package/dist/daemon-status-report.js +6 -3
- package/dist/daemon-status-report.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +57 -27
- package/dist/daemon.js.map +1 -1
- package/dist/directory-bootstrap.d.ts +3 -1
- package/dist/directory-bootstrap.d.ts.map +1 -1
- package/dist/directory-bootstrap.js +3 -1
- package/dist/directory-bootstrap.js.map +1 -1
- package/dist/directory-connect.d.ts.map +1 -1
- package/dist/directory-connect.js +10 -2
- package/dist/directory-connect.js.map +1 -1
- package/dist/disconnect-cleanup.d.ts +7 -0
- package/dist/disconnect-cleanup.d.ts.map +1 -1
- package/dist/disconnect-cleanup.js +16 -1
- package/dist/disconnect-cleanup.js.map +1 -1
- package/dist/document-flag.d.ts +58 -0
- package/dist/document-flag.d.ts.map +1 -0
- package/dist/document-flag.js +70 -0
- package/dist/document-flag.js.map +1 -0
- package/dist/document-gate-wiring.d.ts +61 -0
- package/dist/document-gate-wiring.d.ts.map +1 -0
- package/dist/document-gate-wiring.js +119 -0
- package/dist/document-gate-wiring.js.map +1 -0
- package/dist/document-notify.d.ts +0 -1
- package/dist/document-notify.d.ts.map +1 -1
- package/dist/document-notify.js +0 -1
- package/dist/document-notify.js.map +1 -1
- package/dist/document-store.d.ts +0 -1
- package/dist/document-store.d.ts.map +1 -1
- package/dist/document-store.js +0 -1
- package/dist/document-store.js.map +1 -1
- package/dist/document-write-path.d.ts.map +1 -1
- package/dist/document-write-path.js +2 -9
- package/dist/document-write-path.js.map +1 -1
- package/dist/inbound-sessions.d.ts +3 -1
- package/dist/inbound-sessions.d.ts.map +1 -1
- package/dist/inbound-sessions.js +12 -4
- package/dist/inbound-sessions.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/initiate-session-handler.d.ts.map +1 -1
- package/dist/initiate-session-handler.js +5 -1
- package/dist/initiate-session-handler.js.map +1 -1
- package/dist/ipc-server.d.ts.map +1 -1
- package/dist/ipc-server.js +52 -2
- package/dist/ipc-server.js.map +1 -1
- package/dist/park-envelope.d.ts +68 -0
- package/dist/park-envelope.d.ts.map +1 -1
- package/dist/park-envelope.js +86 -1
- package/dist/park-envelope.js.map +1 -1
- package/dist/park-recovery.d.ts +46 -0
- package/dist/park-recovery.d.ts.map +1 -1
- package/dist/park-recovery.js +100 -1
- package/dist/park-recovery.js.map +1 -1
- package/dist/relay-only.d.ts.map +1 -1
- package/dist/relay-only.js +7 -4
- package/dist/relay-only.js.map +1 -1
- package/dist/relay-receipt-store.d.ts +75 -17
- package/dist/relay-receipt-store.d.ts.map +1 -1
- package/dist/relay-receipt-store.js +109 -27
- package/dist/relay-receipt-store.js.map +1 -1
- package/dist/seal-carried-close.d.ts +37 -0
- package/dist/seal-carried-close.d.ts.map +1 -0
- package/dist/seal-carried-close.js +179 -0
- package/dist/seal-carried-close.js.map +1 -0
- package/dist/seal-certified-root-check.d.ts +37 -0
- package/dist/seal-certified-root-check.d.ts.map +1 -0
- package/dist/seal-certified-root-check.js +127 -0
- package/dist/seal-certified-root-check.js.map +1 -0
- package/dist/seal-coordinator.d.ts +6 -1
- package/dist/seal-coordinator.d.ts.map +1 -1
- package/dist/seal-coordinator.js +2 -1
- package/dist/seal-coordinator.js.map +1 -1
- package/dist/seal-escalation.d.ts.map +1 -1
- package/dist/seal-escalation.js +54 -0
- package/dist/seal-escalation.js.map +1 -1
- package/dist/seal-local-terminus.d.ts +41 -0
- package/dist/seal-local-terminus.d.ts.map +1 -0
- package/dist/seal-local-terminus.js +170 -0
- package/dist/seal-local-terminus.js.map +1 -0
- package/dist/seal-relay-silence.d.ts +51 -0
- package/dist/seal-relay-silence.d.ts.map +1 -0
- package/dist/seal-relay-silence.js +76 -0
- package/dist/seal-relay-silence.js.map +1 -0
- package/dist/seal-settle.d.ts +38 -0
- package/dist/seal-settle.d.ts.map +1 -0
- package/dist/seal-settle.js +33 -0
- package/dist/seal-settle.js.map +1 -0
- package/dist/session-assignment-parser.d.ts.map +1 -1
- package/dist/session-assignment-parser.js +5 -0
- package/dist/session-assignment-parser.js.map +1 -1
- package/dist/session-ceremony.d.ts +21 -14
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +25 -15
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-content-context.d.ts +11 -2
- package/dist/session-content-context.d.ts.map +1 -1
- package/dist/session-content-ingest.d.ts +0 -3
- package/dist/session-content-ingest.d.ts.map +1 -1
- package/dist/session-content-ingest.js +18 -111
- package/dist/session-content-ingest.js.map +1 -1
- package/dist/session-content-send.d.ts +5 -0
- package/dist/session-content-send.d.ts.map +1 -1
- package/dist/session-content-send.js +58 -0
- package/dist/session-content-send.js.map +1 -1
- package/dist/session-delivery-acks.d.ts +195 -0
- package/dist/session-delivery-acks.d.ts.map +1 -0
- package/dist/session-delivery-acks.js +674 -0
- package/dist/session-delivery-acks.js.map +1 -0
- package/dist/session-leaf-records.d.ts +28 -1
- package/dist/session-leaf-records.d.ts.map +1 -1
- package/dist/session-leaf-records.js +86 -1
- package/dist/session-leaf-records.js.map +1 -1
- package/dist/session-lifecycle.js +12 -12
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/session-node-manager.d.ts +49 -22
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +113 -42
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-node-types.d.ts +18 -12
- package/dist/session-node-types.d.ts.map +1 -1
- package/dist/session-node-types.js +1 -9
- package/dist/session-node-types.js.map +1 -1
- package/dist/session-read-handlers.d.ts.map +1 -1
- package/dist/session-read-handlers.js +125 -4
- package/dist/session-read-handlers.js.map +1 -1
- package/dist/session-records.d.ts +17 -0
- package/dist/session-records.d.ts.map +1 -1
- package/dist/session-records.js +32 -0
- package/dist/session-records.js.map +1 -1
- package/dist/session-relay-client.d.ts +103 -6
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +380 -41
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-relay.d.ts +24 -2
- package/dist/session-relay.d.ts.map +1 -1
- package/dist/session-relay.js +23 -8
- package/dist/session-relay.js.map +1 -1
- package/dist/session-schema.d.ts.map +1 -1
- package/dist/session-schema.js +43 -0
- package/dist/session-schema.js.map +1 -1
- package/dist/session-seal-leaf-store.d.ts +6 -0
- package/dist/session-seal-leaf-store.d.ts.map +1 -1
- package/dist/session-seal-leaf-store.js +21 -4
- package/dist/session-seal-leaf-store.js.map +1 -1
- package/dist/session-seal.d.ts +30 -32
- package/dist/session-seal.d.ts.map +1 -1
- package/dist/session-seal.js +145 -116
- package/dist/session-seal.js.map +1 -1
- package/dist/session-views.d.ts +1 -0
- package/dist/session-views.d.ts.map +1 -1
- package/dist/session-views.js +81 -1
- package/dist/session-views.js.map +1 -1
- package/dist/signaling-connect.d.ts +1 -0
- package/dist/signaling-connect.d.ts.map +1 -1
- package/dist/signaling-connect.js +0 -1
- package/dist/signaling-connect.js.map +1 -1
- package/dist/status-handler.d.ts +9 -1
- package/dist/status-handler.d.ts.map +1 -1
- package/dist/status-handler.js +5 -2
- package/dist/status-handler.js.map +1 -1
- package/dist/test-handlers.js +4 -3
- package/dist/test-handlers.js.map +1 -1
- package/dist/trust-signal-store.d.ts +4 -2
- package/dist/trust-signal-store.d.ts.map +1 -1
- package/dist/trust-signal-store.js +4 -2
- package/dist/trust-signal-store.js.map +1 -1
- package/dist/types.d.ts +64 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/vocabulary.d.ts +22 -4
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +66 -21
- package/dist/vocabulary.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-park.d.ts","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAwD,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"content-park.d.ts","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAwD,MAAM,0BAA0B,CAAC;AAenH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC/D;;;;;OAKG;IACH,eAAe,EAAE,qBAAqB,CAAC;IACvC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,iBAAiB,CAAC;CACpH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe;qCAg4BP,MAAM,uBAA4B,OAAO,CAAC,IAAI,CAAC;iCAkEzD,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;6CAtxBhD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,eACpC,MAAM,cACP,MAAM,EAAE,KACnB,OAAO,CACN;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAG7I;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CACnD;EA8nCF"}
|
package/dist/content-park.js
CHANGED
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
import { randomUUID } from "node:crypto";
|
|
23
23
|
import { ContentParkClient, ContentParkRefusedError, ContentParkUnreachableError } from "./content-park-client.js";
|
|
24
24
|
import { extractErrorMessage } from "./error-message.js";
|
|
25
|
+
// DOD-M15-DELIVERYACK-1 unit 1: the mailbox also carries acknowledgements of OUR messages, parked
|
|
26
|
+
// because this daemon was down when the counterparty read one. Same five rules, other road.
|
|
27
|
+
import { acceptParkedDeliveryAck } from "./session-delivery-acks.js";
|
|
25
28
|
import { decodeParkEnvelope, sealParkEnvelope } from "./park-envelope.js";
|
|
26
29
|
import { contentHashFor, resolveContentHashAlg, isKnownContentHashAlg, CONTENT_HASH_ALGS } from "./wire-content-hash.js";
|
|
27
30
|
import { PARK_REFUSAL_REASONS, PARK_REFUSAL_NOTICE, TERMINAL_SESSION_STATUSES, } from "./park-refusals.js";
|
|
@@ -237,6 +240,83 @@ export function createContentPark(deps) {
|
|
|
237
240
|
// attributed to the honest counterparty and then notarized by the bilateral seal.
|
|
238
241
|
const contentHashBytes = Buffer.from(e.contentHashHex, "hex");
|
|
239
242
|
const ingest = await sessionNodeManager.recoverParkedEntry(recipientAgent.name, e.sessionIdHex, Buffer.from(recipientPubkey, "hex"), unsealed, contentHashBytes, correlationId);
|
|
243
|
+
/**
|
|
244
|
+
* DOD-M15-DELIVERYACK-1 unit 1 — THE ENTRY WAS AN ACKNOWLEDGEMENT OF ONE OF OUR MESSAGES.
|
|
245
|
+
*
|
|
246
|
+
* The counterparty read something we sent while this daemon was DOWN, could not reach us
|
|
247
|
+
* directly, and left the signed acknowledgement here. It is not content: it appends no leaf,
|
|
248
|
+
* enters no transcript, and is not counted as a recovered message — counting it would report
|
|
249
|
+
* mail this operator never received.
|
|
250
|
+
*
|
|
251
|
+
* The envelope gate inside `recoverParkedEntry` has already proved the depositor is this
|
|
252
|
+
* session's counterparty. `acceptParkedDeliveryAck` runs the SECOND, independent check — the
|
|
253
|
+
* acknowledgement's own signature, against the key the SESSION recorded — plus the same bind
|
|
254
|
+
* and the same idempotence the live route uses. Two different keys, two different questions,
|
|
255
|
+
* and both must pass.
|
|
256
|
+
*
|
|
257
|
+
* CONFIRM-DELETE ONLY ON ACCEPTANCE, the same rule content follows: a refused entry is left in
|
|
258
|
+
* the mailbox so a forgery cannot evict itself, and so a transient local fault (no database,
|
|
259
|
+
* a failed write) does not destroy evidence we could have kept on the next drain.
|
|
260
|
+
*/
|
|
261
|
+
if (ingest.ok && "deliveryAck" in ingest) {
|
|
262
|
+
/**
|
|
263
|
+
* WRAPPED, because a LOCAL fault here must not cost the rest of the drain — review F3.
|
|
264
|
+
*
|
|
265
|
+
* `getDb()` and `resolveAgentId()` both throw, and an escape from this loop takes every
|
|
266
|
+
* REMAINING entry with it, messages included, unread, reported to the caller as a generic
|
|
267
|
+
* internal error. The content path never had this shape because `recoverParkedEntry` owns
|
|
268
|
+
* its own failures. The entry is left in the mailbox, so the next drain retries it.
|
|
269
|
+
*/
|
|
270
|
+
let accepted;
|
|
271
|
+
try {
|
|
272
|
+
accepted = acceptParkedDeliveryAck({
|
|
273
|
+
db: sessionNodeManager.getDb(),
|
|
274
|
+
logger,
|
|
275
|
+
agentId: sessionNodeManager.resolveAgentId(recipientAgent.name),
|
|
276
|
+
agentName: recipientAgent.name,
|
|
277
|
+
sessionId: e.sessionIdHex,
|
|
278
|
+
mailboxSlotHex: e.contentHashHex,
|
|
279
|
+
counterpartyPubkeyHex: sessionNodeManager.getSessionRecord(recipientAgent.name, e.sessionIdHex)?.counterparty_pubkey,
|
|
280
|
+
ack: ingest.deliveryAck,
|
|
281
|
+
correlationId,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
logger.error("content.delivery.ack.parked.accept_failed", {
|
|
286
|
+
agentName: recipientAgent.name, sessionId: e.sessionIdHex, correlationId,
|
|
287
|
+
error: extractErrorMessage(err),
|
|
288
|
+
impact: "a local fault stopped this side storing an acknowledgement it had already recovered. " +
|
|
289
|
+
"The entry stays in the mailbox and the next drain retries it; the rest of the " +
|
|
290
|
+
"mailbox, messages included, is still drained",
|
|
291
|
+
});
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
if (accepted.ok) {
|
|
295
|
+
try {
|
|
296
|
+
await client.confirm(node, Buffer.from(recipientPubkey, "hex"), contentHashBytes, kp);
|
|
297
|
+
}
|
|
298
|
+
catch (err) {
|
|
299
|
+
// The proof is stored; failing to clear the mailbox slot costs one redundant drain,
|
|
300
|
+
// which the stored row then absorbs. Never a reason to report the recovery as failed.
|
|
301
|
+
logger.warn("content.park.confirm.failed", {
|
|
302
|
+
sessionId: e.sessionIdHex, contentHash: e.contentHashHex,
|
|
303
|
+
entryKind: "delivery_ack", error: extractErrorMessage(err),
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* ⚠️ A REFUSED ACKNOWLEDGEMENT IS NOT ADDED TO `refusals`, AND THE STRUCTURAL GUARD IN
|
|
309
|
+
* `dod-m15-inboxcause-1` IS WHAT CAUGHT ME PUTTING IT THERE.
|
|
310
|
+
*
|
|
311
|
+
* That list is mail the operator did not receive, and every entry in it raises a notice
|
|
312
|
+
* telling them so. An acknowledgement is not mail: nothing of theirs is missing, nobody is
|
|
313
|
+
* waiting on it, and the notice would read as an accusation about the counterparty — which
|
|
314
|
+
* is the single inference this unit forbids. It is logged (inside `acceptParkedDeliveryAck`)
|
|
315
|
+
* and left in the mailbox unconfirmed, exactly as a refused message is, so a forgery cannot
|
|
316
|
+
* evict itself and a local fault can be retried on the next drain.
|
|
317
|
+
*/
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
240
320
|
if (ingest.ok && ingest.held) {
|
|
241
321
|
// DOD-MSG-4 (review finding #4): a held entry is NOT yet an appended leaf — its sequence is
|
|
242
322
|
// the FUTURE canonical index, not a completed recovery. Do not count it as recovered; log it
|
package/dist/content-park.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-park.js","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,uFAAuF;AACvF,kGAAkG;AAClG,mDAAmD;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACzH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAE1B,MAAM,oBAAoB,CAAC;AAsB5B,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACrF,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF;;;;;;;;;;;;;;;;OAgBG;IACH;;;;;;;;;;;OAWG;IACH,SAAS,eAAe,CACtB,SAAiB,EACjB,SAAiB,EACjB,WAAmB,EACnB,MAAyB,EACzB,GAAmE;QAEnE,8FAA8F;QAC9F,2FAA2F;QAC3F,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtG,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,+EAA+E;IAC/E,oFAAoF;IACpF,qFAAqF;IACrF,qFAAqF;IACrF,0DAA0D;IAC1D;;;;;;;;;;;;OAYG;IACH,MAAM,aAAa,GAAG,gGAAgG,CAAC;IACvH,MAAM,cAAc,GAAG,CAAC,SAA6B,EAA2C,EAAE;QAChG,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,iGAAiG;QACjG,6FAA6F;QAC7F,0DAA0D;QAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;OAeG;IACH,MAAM,kBAAkB,GAAG,CACzB,MAAc,EACd,WAAmB,EACmB,EAAE;QACxC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,eAAe,CAAC;YACrB,KAAK,iBAAiB;gBACpB,OAAO;oBACL,MAAM,EAAE,qBAAqB,MAAM,EAAE;oBACrC,QAAQ,EACN,SAAS,WAAW,2CAA2C,MAAM,uDAAuD;wBAC5H,4HAA4H;wBAC5H,qGAAqG;iBACxG,CAAC;YACJ,KAAK,iBAAiB;gBACpB,OAAO;oBACL,MAAM,EAAE,uBAAuB;oBAC/B,QAAQ,EACN,6HAA6H;wBAC7H,kIAAkI;iBACrI,CAAC;YACJ,KAAK,cAAc;gBACjB,OAAO;oBACL,MAAM,EAAE,0BAA0B;oBAClC,QAAQ,EACN,0HAA0H;wBAC1H,mFAAmF;iBACtF,CAAC;YACJ,KAAK,wBAAwB;gBAC3B,OAAO;oBACL,MAAM,EAAE,4BAA4B;oBACpC,QAAQ,EACN,SAAS,WAAW,uGAAuG;wBAC3H,gGAAgG;iBACnG,CAAC;YACJ,KAAK,4BAA4B;gBAC/B,OAAO;oBACL,MAAM,EAAE,0BAA0B;oBAClC,QAAQ,EACN,SAAS,WAAW,0GAA0G;wBAC9H,qIAAqI;iBACxI,CAAC;YACJ;gBACE,OAAO;oBACL,MAAM,EAAE,sBAAsB,MAAM,EAAE;oBACtC,QAAQ,EACN,oCAAoC,WAAW,yBAAyB,MAAM,mDAAmD;wBACjI,oFAAoF;iBACvF,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,kGAAkG;IAClG,MAAM,oBAAoB,GAAG,CAC3B,GAAgC,EAC2D,EAAE;QAC7F,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,KAAK,GACT,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,iBAAiB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACtF,CAAC,CAAC,sFAAsF,CAAC;QAC7F,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;YAChC,2FAA2F;YAC3F,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC;IACJ,CAAC,CAAC;IAIF,0FAA0F;IAC1F,6FAA6F;IAC7F,4FAA4F;IAC5F,8FAA8F;IAC9F,yFAAyF;IACzF,6FAA6F;IAC7F,mGAAmG;IACnG,oGAAoG;IACpG,wEAAwE;IACxE,KAAK,UAAU,sBAAsB,CACnC,cAAiD,EACjD,WAAmB,EACnB,UAAoB;QAOpB,MAAM,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;QACjE,IAAI,CAAC,EAAE,CAAC,eAAe;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;QAC1D,wFAAwF;QACxF,yFAAyF;QACzF,wCAAwC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,6BAA6B,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/G,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB;;;;;;eAMG;YACH,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5G,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;YACnE,CAAC;YACD;;;;;eAKG;YACH,IAAI,GAAG,YAAY,2BAA2B,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC1C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3E,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,+FAA+F;QAC/F,iGAAiG;QACjG,8FAA8F;QAC9F,kEAAkE;QAClE,MAAM,QAAQ,GAAsE,EAAE,CAAC;QACvF,kFAAkF;QAClF,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC3G,SAAS;YACX,CAAC;YACD,2FAA2F;YAC3F,mFAAmF;YACnF,qFAAqF;YACrF,4FAA4F;YAC5F,0FAA0F;YAC1F,4FAA4F;YAC5F,kFAAkF;YAClF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CACxD,cAAc,CAAC,IAAI,EACnB,CAAC,CAAC,YAAY,EACd,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EACnC,QAAQ,EACR,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,4FAA4F;gBAC5F,6FAA6F;gBAC7F,gGAAgG;gBAChG,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACzI,CAAC;iBAAM,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3C,+FAA+F;gBAC/F,gGAAgG;gBAChG,qGAAqG;gBACrG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;gBACjJ,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/I,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACrB,6FAA6F;gBAC7F,+EAA+E;gBAC/E,SAAS,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;gBACtI,6FAA6F;gBAC7F,qFAAqF;gBACrF,wFAAwF;gBACxF,6FAA6F;gBAC7F,gGAAgG;gBAChG,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/I,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;gBACjD,2FAA2F;gBAC3F,0FAA0F;gBAC1F,6FAA6F;gBAC7F,8EAA8E;gBAC9E,EAAE;gBACF,4FAA4F;gBAC5F,2FAA2F;gBAC3F,qDAAqD;gBACrD,EAAE;gBACF,8FAA8F;gBAC9F,2FAA2F;gBAC3F,iEAAiE;gBACjE,6FAA6F;gBAC7F,uFAAuF;gBACvF,0FAA0F;gBAC1F,0FAA0F;gBAC1F,wFAAwF;gBACxF,+EAA+E;gBAC/E,EAAE;gBACF,2EAA2E;gBAC3E,4FAA4F;gBAC5F,0FAA0F;gBAC1F,sFAAsF;gBACtF,yFAAyF;gBACzF,sDAAsD;gBACtD,0FAA0F;gBAC1F,6FAA6F;gBAC7F,wFAAwF;gBACxF,0FAA0F;gBAC1F,iEAAiE;gBACjE,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IAAI,WAAW,GAAG,KAAK,CAAC;gBACxB;;;;;;;;mBAQG;gBACH,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B;;;;;;;;mBAQG;gBACH,IAAI,YAAY,GAA6B,IAAI,CAAC;gBAClD,0FAA0F;gBAC1F,IAAI,gBAAgB,GAAkB,IAAI,CAAC;gBAC3C;;;;;;;;;;;;mBAYG;gBACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC/F,MAAM,aAAa,GAAG,aAAa,EAAE,MAAM,IAAI,IAAI,CAAC;gBACpD,MAAM,eAAe,GAAG,aAAa,KAAK,IAAI,IAAI,yBAAyB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC/F,IAAI,UAAU,GAAiC,IAAI,CAAC;gBACpD,IAAI,eAAe,GAAG,UAAU,CAAC;gBACjC;;;;;;;;;;;;;mBAaG;gBACH,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBACzC,OAAO,GAAG,IAAI,CAAC;oBACf;;;;;;;;;;;;;;uBAcG;oBACH;;;;;;;;;;;;;;;;uBAgBG;oBACH,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACtD,eAAe,GAAG,GAAG,CAAC,cAAc,IAAI,UAAU,CAAC;oBACnD;;;;;;;uBAOG;oBACH,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE;wBACtB,CAAC,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;wBACpF,CAAC,CAAC,IAAI,CAAC;oBACT,MAAM,WAAW,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC;oBAC5C,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI;wBAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;oBACjF,IAAI,QAAQ,GAAsB,IAAI,CAAC;oBACvC,uFAAuF;oBACvF,oDAAoD;oBACpD,IAAI,UAAU,GAAyD,IAAI,CAAC;oBAC5E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;wBACZ,mFAAmF;wBACnF,sFAAsF;wBACtF,iFAAiF;wBACjF,UAAU,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,qBAAqB,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC7G,CAAC;yBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,iBAAiB,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAChE,UAAU,GAAG;4BACX,MAAM,EAAE,oBAAoB,CAAC,sBAAsB;4BACnD,MAAM,EAAE,mBAAmB,GAAG,CAAC,GAAG,iDAAiD,UAAU,IAAI,SAAS,GAAG;yBAC9G,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE;gCACrC,GAAG,EAAE,GAAG,CAAC,GAAG;gCACZ,oFAAoF;gCACpF,6EAA6E;gCAC7E,IAAI,EAAE,WAAW;6BAClB,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACtB,uFAAuF;4BACvF,oFAAoF;4BACpF,UAAU,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpG,CAAC;oBACH,CAAC;oBACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACxB,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;wBACjC,MAAM,CAAC,KAAK,CACV,UAAU,CAAC,MAAM,KAAK,oBAAoB,CAAC,sBAAsB;4BAC/D,CAAC,CAAC,wCAAwC;4BAC1C,CAAC,CAAC,mCAAmC,EACvC;4BACE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;4BACxF,WAAW,EAAE,GAAG,CAAC,cAAc,IAAI,UAAU;4BAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,aAAa,EAAE,aAAa,IAAI,cAAc;4BAC9C,MAAM,EAAE,6IAA6I;4BACrJ,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,oBAAoB,CAAC,sBAAsB;gCACzE,gFAAgF;gCAChF,+EAA+E;gCAC/E,6EAA6E;gCAC7E,mFAAmF;gCACnF,kFAAkF;gCAClF,yEAAyE;gCACzE,EAAE;gCACF,wFAAwF;gCACxF,gFAAgF;gCAChF,8EAA8E;gCAC9E,kFAAkF;gCAClF,6EAA6E;gCAC7E,iDAAiD;gCACjD,CAAC,CAAC,8ZACE,eAAe;oCACb,CAAC,CAAC,oBAAoB,aAAa,4IAA4I;oCAC/K,CAAC,CAAC,4JACN,EAAE;gCACJ,CAAC,CAAC,8KAA8K;4BAClL,aAAa;yBACd,CACF,CAAC;oBACJ,CAAC;yBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;wBACvE,YAAY,GAAG,oBAAoB,CAAC,mBAAmB,CAAC;wBACxD,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;4BAClD,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;4BACxF,sFAAsF;4BACtF,sFAAsF;4BACtF,WAAW,EAAE,GAAG,CAAC,cAAc,IAAI,mBAAmB;4BACtD,MAAM,EAAE,yEAAyE;4BACjF,aAAa;yBACd,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,wFAAwF;wBACxF,oEAAoE;wBACpE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;4BAC/D,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,aAAa;yBAC/F,CAAC,CAAC;wBACH,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;wBACnF,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;4BAC1F,oFAAoF;4BACpF,mFAAmF;4BACnF,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;gCACtD,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc;gCACxD,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa;6BAChD,CAAC,CAAC;4BACH,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC;6BAAM,IAAI,aAAa,EAAE,CAAC;4BACzB;;;;;;;;;;;;;;;;;;+BAkBG;4BACH,MAAM,IAAI,GAAG,kBAAkB,CAAC,wBAAwB,CACtD,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,IAAI,wBAAwB,EAC/E,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EACvE,aAAa,CACd,CAAC;4BACF,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;4BAC/B,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gCAChD,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;gCACxF,QAAQ,EAAE,IAAI,KAAK,IAAI;gCACvB,MAAM,EAAE,IAAI,KAAK,IAAI;oCACnB,CAAC,CAAC,0GAA0G;oCAC5G,CAAC,CAAC,oIAAoI;gCACxI,aAAa;6BACd,CAAC,CAAC;4BACH,WAAW,GAAG,IAAI,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,qFAAqF;4BACrF,uFAAuF;4BACvF,mFAAmF;4BACnF,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;gCAC5E,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;gCACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;4BAChB,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAC5C,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc,EAAE,IAAI,EAC3D,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACxE,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,YAAY,GAAG,OAAO;wBACpB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB;wBACzC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;oBAC7C,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,qCAAqC,EACtF;wBACE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc;wBACxD,MAAM,EAAE,OAAO;4BACb,CAAC,CAAC,sHAAsH;4BACxH,CAAC,CAAC,8DAA8D;wBAClE,KAAK,EAAE,gBAAgB,EAAE,aAAa;qBACvC,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,uFAAuF;oBACvF,oFAAoF;oBACpF,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;wBACrC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;wBACxF,MAAM,EAAE,mBAAmB,EAAE,aAAa;qBAC3C,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBACxF,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,uFAAuF;wBACvF,4DAA4D;wBAC5D,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC/I,CAAC;gBACH,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB;;;;;;;;;uBASG;oBACH,IAAI,cAAc,GAAG,KAAK,CAAC;oBAC3B,IAAI,cAAc,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;4BACtF,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACtB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC/I,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;4BAC9C,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;4BACxF,MAAM,EAAE,oBAAoB,CAAC,kBAAkB;4BAC/C,MAAM,EACJ,qSAAqS;4BACvS,QAAQ,EACN,iIAAiI;4BACnI,aAAa;yBACd,CAAC,CAAC;oBACL,CAAC;oBACD;;;;;;;;;;;;;uBAaG;oBACH,eAAe,CACb,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc,EACrD,oBAAoB,CAAC,kBAAkB,EACvC,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CACnI,CAAC;gBACJ,CAAC;qBAAM,IAAI,cAAc,EAAE,CAAC;oBAC1B,QAAQ,CAAC,IAAI,CACX,eAAe,CACb,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc,EACrD,oBAAoB,CAAC,wBAAwB,EAC7C,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAChG,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,wFAAwF;oBACxF,yFAAyF;oBACzF,wFAAwF;oBACxF,cAAc;oBACd,MAAM,WAAW,GAAG,YAAY,IAAI,oBAAoB,CAAC,kBAAkB,CAAC;oBAC5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoCG;oBACH;;;;;;;;;;;;;;;;;uBAiBG;oBACH,MAAM,UAAU,GACd,WAAW,KAAK,oBAAoB,CAAC,sBAAsB;wBAC3D,eAAe;wBACf,UAAU,KAAK,MAAM;wBACrB,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;oBAC3B,IAAI,CAAC,UAAU,IAAI,WAAW,KAAK,oBAAoB,CAAC,sBAAsB,IAAI,eAAe,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;wBAC3H;;;;2BAIG;wBACH,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;4BAC9C,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;4BACxF,MAAM,EACJ,sUAAsU;4BACxU,QAAQ,EACN,6OAA6O;4BAC/O,aAAa;yBACd,CAAC,CAAC;oBACL,CAAC;oBACD;;;;;;uBAMG;oBACH,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,IAAI,UAAU,EAAE,CAAC;wBACf,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;4BACtF,QAAQ,GAAG,IAAI,CAAC;4BAChB,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gCACtC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;gCACxF,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,IAAI,WAAW;gCACzE,MAAM,EACJ,0SAA0S;gCAC5S,QAAQ,EACN,oIAAoI;gCACtI,aAAa;6BACd,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACtB,oFAAoF;4BACpF,qFAAqF;4BACrF,uDAAuD;4BACvD,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gCAC5C,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;gCACxF,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC;gCAC/B,MAAM,EAAE,gKAAgK;gCACxK,aAAa;6BACd,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBACD,QAAQ,CAAC,IAAI,CACX,eAAe,CACb,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,cAAc,EAAE,WAAW,EAClE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,CACrG,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uFAAuF;gBACvF,4FAA4F;gBAC5F,yFAAyF;gBACzF,2FAA2F;gBAC3F,+EAA+E;gBAC/E,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9E,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;wBACnD,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI;wBACxF,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,+FAA+F;wBACvG,aAAa;qBACd,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBACxF,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC/I,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,2FAA2F;oBAC3F,wFAAwF;oBACxF,0FAA0F;oBAC1F,yFAAyF;oBACzF,kFAAkF;oBAClF,4CAA4C;oBAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACnG,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACnJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC7F,CAAC;IAED,mGAAmG;IACnG,iGAAiG;IACjG,kGAAkG;IAClG,4EAA4E;IAE5E;;;;;;;;;;;;;;;OAeG;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,uFAAuF;IACvF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEtD,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,OAAO,GAAG,aAAa;QAC3E,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,OAAO,CAAC;YACnB,GAAG,CAAC;gBACF,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjC,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;YACpD,CAAC,QAAQ,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC/C,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,OAAe;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO;QAC3B,MAAM,MAAM,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,cAAc,GAA2B,EAAE,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7E,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,KAAK,IAAI,GAAG,CAAC,SAAS,CAAC;oBACvB,2FAA2F;oBAC3F,YAAY,IAAI,GAAG,CAAC,OAAO,CAAC;oBAC5B,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,QAAQ;wBAAE,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClG,CAAC;qBAAM,CAAC;oBACN,oFAAoF;oBACpF,uFAAuF;oBACvF,uDAAuD;oBACvD,MAAM,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3H,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC;gBACT,wFAAwF;gBACxF,wFAAwF;gBACxF,iFAAiF;gBACjF,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClJ,CAAC;QACH,CAAC;QACD,4FAA4F;QAC5F,kEAAkE;QAClE,sFAAsF;QACtF,6FAA6F;QAC7F,uFAAuF;QACvF,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM;YACrF,OAAO,EAAE,YAAY;YACrB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;IAGD,uEAAuE;IACvE,SAAS,gBAAgB,CAAC,QAAiC;QACzD;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,MAAM,UAAU,GAAe,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;YAC7D;;;;;eAKG;YACH,MAAM,SAAS,GAAG,CAAC,CAAU,EAAiB,EAAE,CAC9C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAErF,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,cAAoC,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM,eAAe,GAAG,MAAM,EAAE,eAAqC,CAAC;YACtE,MAAM,aAAa,GAAG,MAAM,EAAE,UAAU,KAAK,SAAS,CAAC;YACvD,MAAM,UAAU,GAAG,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC;YAEjD,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7D,MAAM,GAAG,GAAG;oBACV,CAAC,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,IAAI;oBACtD,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI;oBACnD,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;oBAC3C,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;iBACxC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mCAAmC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wJAAwJ,EAAE,CAAC;YACtQ,CAAC;YACD,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kJAAkJ,EAAE,CAAC;YAC/M,CAAC;YACD,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,yIAAyI,EAAE,CAAC;YAC1M,CAAC;YAED;;;;;;;;;;eAUG;YACH,IAAI,cAAkC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,EAAE,cAAc,CAAC;YACtC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,+BAA+B,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,GAAG,wBAAwB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC;gBAC1R,CAAC;gBACD,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qRAAqR,EAAE,CAAC;gBACtV,CAAC;gBACD,cAAc,GAAG,MAAM,CAAC;YAC1B,CAAC;YAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV;;;;;;;;;;;;mBAYG;gBACH;;;;;;;;;mBASG;gBACH,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;gBACvE,MAAM,UAAU,GAAG,eAAe;oBAChC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxF,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,UAAU;oBACtB,CAAC,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,UAAU,CAAC;oBAC9D,CAAC,CAAC,eAAe;wBACf,CAAC,CAAC,wBAAwB;wBAC1B,uFAAuF;wBACvF,mCAAmC;wBACnC,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;4BAC3B,CAAC,CAAC,mBAAmB;4BACrB,CAAC,CAAC,eAAe,CAAC;gBACxB,MAAM,eAAe,GAA2B;oBAC9C,0BAA0B,EAAE,kFAAkF;oBAC9G,aAAa,EAAE,UAAU,UAAU,+FAA+F;oBAClI,oBAAoB,EAAE,+FAA+F;oBACrH,oBAAoB,EAAE,sGAAsG;oBAC5H,aAAa,EAAE,4CAA4C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,MAAM,6HAA6H;oBAC9O,sBAAsB,EAAE,4CAA4C,eAAe,sHAAsH;oBACzM,iBAAiB,EAAE,oJAAoJ;iBACxK,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,uEAAuE,EAAE,CAAC;YACpL,CAAC;YAED,IAAI,OAAmB,CAAC;YACxB,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qMAAqM,EAAE,CAAC;gBAClQ,CAAC;gBACD;;;;;;;;;;mBAUG;gBACH,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACnG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,yBAAyB,eAAe,+BAA+B,CAAC,CAAC,CAAC,8DAA8D,EAAE,CAAC;gBACxN,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mBAAmB,UAAU,CAAC,MAAM,qBAAqB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD,EAAE,CAAC;gBACjN,CAAC;gBACD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;gBAEnC;;;;;;;;;;;;mBAYG;gBACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAChF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,WAAW,CAAC,IAAI,sBAAsB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,0HAA0H,EAAE,CAAC;gBAChQ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,WAAW,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,mBAAmB,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,oLAAoL,EAAE,CAAC;gBAC/Y,CAAC;gBAED,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,oBAAoB,WAAW,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBACvI,OAAO,GAAG,MAAM,gBAAgB,CAAC;oBAC/B,MAAM;oBACN,YAAY,EAAE,SAAS;oBACvB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC;oBACpD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;oBAC5C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;oBACpC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5D,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,sCAAsC,EAAE,CAAC;gBACnG,CAAC;gBACD,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YAED;;;;;;;;;;;;;eAaG;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;oBAChC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC;oBACpD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;oBAC5C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;oBACxC,UAAU,EAAE,OAAO;iBACpB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,yFAAyF;gBACzF,iEAAiE;gBACjE,IAAI,CAAC,CAAC,GAAG,YAAY,2BAA2B,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAC7D,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAEF;;;;;;;;;;WAUG;QACH,QAAQ,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;YAClE,MAAM,GAAG,GAAG,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAElD,CAAC;YACF,MAAM,IAAI,GAAG;gBACX,2FAA2F;gBAC3F,2EAA2E;gBAC3E,cAAc,EAAE,OAAO,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrG,SAAS,EAAE,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtF,WAAW,EAAE,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5F,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,IAAI;gBACnB,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,2FAA2F;gBAC3F,8EAA8E;gBAC9E,GAAG,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC;YACF,8FAA8F;YAC9F,8FAA8F;YAC9F,qEAAqE;YACrE,IAAI,IAAI,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;;gBAC7D,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;YAC1D,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;YAChE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,cAAoC,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,MAAM,EAAE,eAAqC,CAAC;YACtE,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wEAAwE,EAAE,CAAC;YACrI,CAAC;YACD,sFAAsF;YACtF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,6FAA6F,EAAE,CAAC;YAC9K,MAAM,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,oBAAoB,cAAc,CAAC,IAAI,kBAAkB,EAAE,CAAC;YACtI,MAAM,IAAI,GAAG,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAE,QAAQ,EAAE,uEAAuE,EAAE,CAAC;YAC5J,uFAAuF;YACvF,qFAAqF;YACrF,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9F,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB;;;;;mBAKG;gBACH,IAAI,GAAG,YAAY,2BAA2B;oBAAE,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACjF,sFAAsF;gBACtF,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;oBAC3C,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,sBAAsB,GAAG,CAAC,MAAM,EAAE;wBAC1C,QAAQ,EACN,4FAA4F;4BAC5F,sFAAsF;4BACtF,wFAAwF;4BACxF,kFAAkF;4BAClF,8CAA8C;qBACjD,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACnJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;YACnE,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,cAAoC,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,MAAM,EAAE,eAAqC,CAAC;YACtE,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wEAAwE,EAAE,CAAC;YACrI,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yCAAyC,EAAE,CAAC;YAC1H,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,gBAAgB,GAA2B;oBAC/C,uBAAuB,EAAE,oBAAoB,cAAc,CAAC,IAAI,kBAAkB;oBAClF,aAAa,EAAE,UAAU,cAAc,CAAC,IAAI,2CAA2C;oBACvF,0BAA0B,EAAE,8EAA8E;oBAC1G,aAAa,EAAE,UAAU,cAAc,CAAC,IAAI,4FAA4F;oBACxI,oBAAoB,EAAE,wEAAwE;oBAC9F,oBAAoB,EAAE,8BAA8B;iBACrD,CAAC;gBACF,mFAAmF;gBACnF,qFAAqF;gBACrF,uFAAuF;gBACvF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,4BAA4B,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBAC5H,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC7F;;;;;mBAKG;gBACH,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,mBAAmB,GAAG,CAAC,MAAM,8HAA8H;iBACtN,CAAC;YACJ,CAAC;YACD;;;;;;;;;;;eAWG;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+FAA+F;IAC/F,+FAA+F;IAC/F,iEAAiE;IACjE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;AAC3E,CAAC"}
|
|
1
|
+
{"version":3,"file":"content-park.js","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon-handle.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import type { TypeRegistry } from "./type-registry.js";
|
|
|
14
14
|
import type { IpcHandler } from "./ipc-server.js";
|
|
15
15
|
export interface DaemonHandle {
|
|
16
16
|
stop(reason: string): Promise<void>;
|
|
17
|
-
getStatus(): DaemonStatusResponse
|
|
17
|
+
getStatus(): Promise<DaemonStatusResponse>;
|
|
18
18
|
/**
|
|
19
19
|
* DOD-M12B-CLOSE-SILENT-WAIT-1 test hook: put a session into the state a normal close sits in for
|
|
20
20
|
* up to eleven minutes. Marks the real waiter map the status surface reads and emits the same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-handle.d.ts","sourceRoot":"","sources":["../src/daemon-handle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,SAAS,IAAI,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-handle.d.ts","sourceRoot":"","sources":["../src/daemon-handle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE;;;;OAIG;IACH,qBAAqB,IAAI,kBAAkB,CAAC;IAC5C;;;;OAIG;IACH,oBAAoB,IAAI,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,IAAI,eAAe,CAAC;IACrC;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC;IAChC;;;;;;;;OAQG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACxC"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* unresolved-node block below it emits on every state except "we looked recently and all is well".
|
|
10
10
|
*/
|
|
11
11
|
import { type ManifestOrigin } from "./manifest-validity.js";
|
|
12
|
+
import { type EnforcedConsortium } from "./consortium-fingerprint.js";
|
|
12
13
|
import type { ActiveSessionInfo, AgentInfo, AgentState, DaemonStatusResponse, DirectorySignalingState, InterruptedSessionInfo } from "./types.js";
|
|
13
14
|
import type { SessionNodeManager } from "./session-node-manager.js";
|
|
14
15
|
import type { RetryQueue } from "./retry-queue.js";
|
|
@@ -20,7 +21,8 @@ export interface DaemonStatusDeps {
|
|
|
20
21
|
agents: ReadonlyArray<AgentInfo>;
|
|
21
22
|
agentStateFor: (a: AgentInfo) => AgentState;
|
|
22
23
|
buildInterruptedSessions: () => InterruptedSessionInfo[];
|
|
23
|
-
|
|
24
|
+
/** DOD-M15-AWAYSCOPE-1: the ENRICHED build — `cello status` is where an operator looks first. */
|
|
25
|
+
buildActiveSessions: () => Promise<ActiveSessionInfo[]>;
|
|
24
26
|
directorySignalingStatus: () => DirectorySignalingState;
|
|
25
27
|
/** Emits on every state except "looked recently, all well" — see the header. */
|
|
26
28
|
unresolvedNodesForStatus: () => {
|
|
@@ -33,8 +35,14 @@ export interface DaemonStatusDeps {
|
|
|
33
35
|
directoryHttpUrl: string | undefined;
|
|
34
36
|
/** Its ABSENCE is the reportable state: no verifier means authentication is not enforced. */
|
|
35
37
|
challengeVerifier: unknown;
|
|
38
|
+
/**
|
|
39
|
+
* The root keys and threshold this daemon actually hands `loadAndVerify` — NOT the compiled-in
|
|
40
|
+
* constant. Review measured that the two differ in two live postures, and printing the bundled
|
|
41
|
+
* fingerprint in either one reassures an operator who is on someone else's network.
|
|
42
|
+
*/
|
|
43
|
+
enforcedConsortium: EnforcedConsortium;
|
|
36
44
|
}
|
|
37
45
|
export declare function createDaemonStatusReport(deps: DaemonStatusDeps): {
|
|
38
|
-
getStatus: () => DaemonStatusResponse
|
|
46
|
+
getStatus: () => Promise<DaemonStatusResponse>;
|
|
39
47
|
};
|
|
40
48
|
//# sourceMappingURL=daemon-status-report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-status-report.d.ts","sourceRoot":"","sources":["../src/daemon-status-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAsD,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-status-report.d.ts","sourceRoot":"","sources":["../src/daemon-status-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAsD,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEjH,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAErG,OAAO,KAAK,EACV,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,uBAAuB,EACvF,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,iFAAiF;IACjF,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,UAAU,CAAC;IAC5C,wBAAwB,EAAE,MAAM,sBAAsB,EAAE,CAAC;IACzD,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxD,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;IACxD,gFAAgF;IAChF,wBAAwB,EAAE,MAAM;QAAE,8BAA8B,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACxF,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE;QAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IACtH,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,6FAA6F;IAC7F,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB;qBAQjC,OAAO,CAAC,oBAAoB,CAAC;EAmE1D"}
|
|
@@ -10,11 +10,12 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { classifyManifestValidity, describeManifestValidity } from "./manifest-validity.js";
|
|
12
12
|
import { describeDirectoryAuth } from "./directory-auth-posture.js";
|
|
13
|
+
import { describeConsortiumFingerprint } from "./consortium-fingerprint.js";
|
|
13
14
|
import { resolveDirectoryUrl } from "./directory-bootstrap.js";
|
|
14
15
|
export function createDaemonStatusReport(deps) {
|
|
15
|
-
const { sessionNodeManager, retryQueue, agents, agentStateFor, buildInterruptedSessions, buildActiveSessions, directorySignalingStatus, unresolvedNodesForStatus, manifestOrigin, manifestProvider, directoryHttpUrl, challengeVerifier, } = deps;
|
|
16
|
+
const { sessionNodeManager, retryQueue, agents, agentStateFor, buildInterruptedSessions, buildActiveSessions, directorySignalingStatus, unresolvedNodesForStatus, manifestOrigin, manifestProvider, directoryHttpUrl, challengeVerifier, enforcedConsortium, } = deps;
|
|
16
17
|
// Build status response factory
|
|
17
|
-
function getStatus() {
|
|
18
|
+
async function getStatus() {
|
|
18
19
|
// M7-SESSION-001 AC-006/AC-007: surface interrupted sessions
|
|
19
20
|
const interrupted_sessions = buildInterruptedSessions();
|
|
20
21
|
return {
|
|
@@ -34,6 +35,8 @@ export function createDaemonStatusReport(deps) {
|
|
|
34
35
|
// window. A field present on every status read for the years a manifest is valid is furniture,
|
|
35
36
|
// not a warning, and it teaches the reader to skip the block that matters.
|
|
36
37
|
...(describeManifestValidity(classifyManifestValidity(manifestProvider?.getCurrentManifest() ?? null, Date.now()), manifestOrigin) ?? {}),
|
|
38
|
+
// DOD-M15-CONSORTIUM-FINGERPRINT-1 — WHICH consortium this client accepts a manifest from.
|
|
39
|
+
...describeConsortiumFingerprint(enforcedConsortium),
|
|
37
40
|
// DOD-M15-DIRAUTH-1: the posture is STATED, in both directions. Unlike every other field in
|
|
38
41
|
// this milestone the healthy case is reported too — the defect is precisely that "enforced"
|
|
39
42
|
// and "skipped" differ only by the absence of a log line, so an operator must be able to
|
|
@@ -70,7 +73,7 @@ export function createDaemonStatusReport(deps) {
|
|
|
70
73
|
retryQueueDepth: retryQueue.getTotalDepth(),
|
|
71
74
|
interrupted_sessions,
|
|
72
75
|
// M8B F16: per-session liveness so a counterparty-gone session is visible.
|
|
73
|
-
active_sessions: buildActiveSessions(),
|
|
76
|
+
active_sessions: await buildActiveSessions(),
|
|
74
77
|
};
|
|
75
78
|
}
|
|
76
79
|
return { getStatus };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-status-report.js","sourceRoot":"","sources":["../src/daemon-status-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAuB,MAAM,wBAAwB,CAAC;AACjH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-status-report.js","sourceRoot":"","sources":["../src/daemon-status-report.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EACV,YAAY,EACb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EACV,YAAY,EACb,MAAM,YAAY,CAAC;AA2EpB,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAKzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAS7E"}
|
package/dist/daemon.js
CHANGED
|
@@ -43,7 +43,8 @@ import { registerTestHandlers } from "./test-handlers.js";
|
|
|
43
43
|
import { registerAgentAdminHandlers } from "./agent-admin-handlers.js";
|
|
44
44
|
import { registerStatusHandler } from "./status-handler.js";
|
|
45
45
|
import { registerBackupRestoreHandlers } from "./backup-restore-handlers.js";
|
|
46
|
-
import {
|
|
46
|
+
import { wireDocumentGate } from "./document-gate-wiring.js";
|
|
47
|
+
import { documentsEnabled } from "./document-flag.js";
|
|
47
48
|
import { createSignalingWiring } from "./signaling-wiring.js";
|
|
48
49
|
import { createAttendanceWiring } from "./attendance-wiring.js";
|
|
49
50
|
import { startBootCore } from "./boot-core.js";
|
|
@@ -58,9 +59,9 @@ import { createSessionNotify } from "./session-notify.js";
|
|
|
58
59
|
import { createConnectionAgents } from "./connection-agents.js";
|
|
59
60
|
import { createDirectoryConnect } from "./directory-connect.js";
|
|
60
61
|
import { createUnresolvedNodesReport } from "./unresolved-nodes-report.js";
|
|
61
|
-
import { createDocumentSurface } from "./document-surface.js";
|
|
62
62
|
import { createIpcSurface } from "./ipc-surface.js";
|
|
63
63
|
import { createDaemonStatusReport } from "./daemon-status-report.js";
|
|
64
|
+
import { logConsortiumAnchor } from "./consortium-fingerprint.js";
|
|
64
65
|
import { createWhoResolver } from "./who-resolver.js";
|
|
65
66
|
import { NO_CURRENT_AGENT_RESPONSE, registrationGuidance } from "./operator-guidance.js";
|
|
66
67
|
import { wireDisconnectCleanup } from "./disconnect-cleanup.js";
|
|
@@ -115,6 +116,14 @@ export async function startDaemon(config) {
|
|
|
115
116
|
}
|
|
116
117
|
async function startDaemonHoldingLock(config, singletonLock) {
|
|
117
118
|
const { celloDir, socketPath, lockFilePath, maxConnections, logger, manifestProvider, manifestPollScheduler, directoryHttpUrl, signalingConnect, challengeVerifier, directoryEndpointResolver, sessionNegotiator, getRelayCircuitAddress, telegramBotClient: injectedTelegramBotClient, } = config;
|
|
119
|
+
/**
|
|
120
|
+
* DOD-M15-CONSORTIUM-FINGERPRINT-1 — what this daemon ACTUALLY verifies manifests against.
|
|
121
|
+
*
|
|
122
|
+
* Straight off the config, because that is what `startBootCore` hands `verifyStartupManifest`.
|
|
123
|
+
* Reading the compiled-in constant instead would print the genuine CELLO fingerprint on a daemon
|
|
124
|
+
* pointed at someone else's consortium, or at none.
|
|
125
|
+
*/
|
|
126
|
+
const enforcedConsortium = { rootKeys: config.manifestRootKeys, threshold: config.manifestThreshold };
|
|
118
127
|
// 040-DAEMONROOT unit 7 (phase 1): transport, gateway, session manager, the manifest gate, the
|
|
119
128
|
// roster sweep and the type registry → boot-core.ts. Three inputs, everything below comes out.
|
|
120
129
|
const { transportSelector, securityGateway, sessionNodeManager, manifestOrigin, manifestVerified, verifiedManifest, verifiedManifestVersion, rosterSweepScheduler, stopRosterSweep, stopHttpManifestPoll, resolveConsortiumRoster, failoverEndpointResolver, getFailoverEndpoint, getUnresolvedNodes, getUnresolvedSweptAt, getDeclaredNodeCount,
|
|
@@ -234,13 +243,25 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
234
243
|
// 040-DAEMONROOT unit 7 (phase 3): what the daemon remembers per IPC CONNECTION rather than per
|
|
235
244
|
// agent — the selection, the online sets, and the two read positions → boot-connection-state.ts.
|
|
236
245
|
const { perConnectionState, onlineAgents, explicitlyOfflineAgents, forgetConnection, getConnectionCursor, advanceConnectionCursor, safeCursorAdvance, getDeliveryBookmark, advanceDeliveryBookmark, safeWatermarkAdvance, } = startBootConnectionState({ sessionNodeManager });
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
246
|
+
/**
|
|
247
|
+
* DOD-M15-AWAYSCOPE-1 — the one answer to "is anyone attending this agent", wired once here.
|
|
248
|
+
*
|
|
249
|
+
* It lives in the composition root because it needs both halves and neither owns the other: the
|
|
250
|
+
* per-connection selections (an IPC-layer fact) and the operator's explicit offline switch.
|
|
251
|
+
* `offline` is checked FIRST — an agent taken down on purpose is not merely unwatched, and
|
|
252
|
+
* reporting it as `unattended` tells the counterparty their message will be read later, which is
|
|
253
|
+
* the opposite of what the switch means.
|
|
254
|
+
*/
|
|
255
|
+
const currentAttendance = (agentName) => explicitlyOfflineAgents.has(agentName)
|
|
256
|
+
? "offline"
|
|
257
|
+
: countAttendance(perConnectionState, agentName) > 0
|
|
258
|
+
? "attended"
|
|
259
|
+
: "unattended";
|
|
260
|
+
sessionNodeManager.setCurrentAttendanceSource(currentAttendance);
|
|
261
|
+
// 040-DAEMONROOT unit 6: attendance and the away reply → attendance-wiring.ts.
|
|
262
|
+
// DOD-M15-AWAYSCOPE-1 took the one-shot rejection out, and with it every seal dependency this
|
|
263
|
+
// wiring used to hold — it can no longer initiate a seal at all, which is the point.
|
|
264
|
+
const { attendanceCount, sendAwayResponse, contentTakes, backgroundSeals, awayAckSent } = createAttendanceWiring({ logger, sessionNodeManager, perConnectionState, securityGateway });
|
|
244
265
|
// M8C-TGDOOR-1: the Telegram doorbell (telegram-doorbell.ts). Content-free by construction — the
|
|
245
266
|
// module is never handed message text, so it cannot leak any (DOD-INV-CONTENTFREE), and it has no
|
|
246
267
|
// session-send seam, so nothing from Telegram can enter a CELLO content path (D6).
|
|
@@ -388,7 +409,7 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
388
409
|
});
|
|
389
410
|
// 040-DAEMONROOT unit 10: the views the daemon builds of its own sessions and agents →
|
|
390
411
|
// session-views.ts. `getStatus` stays here, where its breadth is honest, and calls in.
|
|
391
|
-
const { buildInterruptedSessions, reapDeadHalfOpenSessions,
|
|
412
|
+
const { buildInterruptedSessions, reapDeadHalfOpenSessions, buildActiveSessionsWithAttendance, agentStateFor, } = createSessionViews({
|
|
392
413
|
logger, sessionNodeManager, perConnectionState, onlineAgents, explicitlyOfflineAgents,
|
|
393
414
|
perAgentSignaling, sharedSignaling, frontierMismatches, sealKey, sealInterruptedInProgress,
|
|
394
415
|
pendingSealWaiters,
|
|
@@ -396,12 +417,12 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
396
417
|
// 040-DAEMONROOT unit 17: the whole-daemon status the CLI renders → daemon-status-report.ts.
|
|
397
418
|
const { getStatus } = createDaemonStatusReport({
|
|
398
419
|
sessionNodeManager, retryQueue, agents, agentStateFor, buildInterruptedSessions,
|
|
399
|
-
buildActiveSessions, directorySignalingStatus, manifestOrigin,
|
|
420
|
+
buildActiveSessions: buildActiveSessionsWithAttendance, directorySignalingStatus, manifestOrigin,
|
|
400
421
|
// Resolved at call time: the report it produces is built below this, and a status is only ever
|
|
401
422
|
// rendered later. By value it would be undefined and every status would silently omit the block
|
|
402
423
|
// that says a directory node could not be resolved.
|
|
403
424
|
unresolvedNodesForStatus: () => unresolvedNodesForStatus(),
|
|
404
|
-
manifestProvider, directoryHttpUrl, challengeVerifier,
|
|
425
|
+
manifestProvider, directoryHttpUrl, challengeVerifier, enforcedConsortium,
|
|
405
426
|
});
|
|
406
427
|
// Register IPC handlers
|
|
407
428
|
const handlers = new Map();
|
|
@@ -505,7 +526,8 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
505
526
|
// this handler and the daemon-wide getStatus() the CLI renders.
|
|
506
527
|
registerStatusHandler({
|
|
507
528
|
handlers, getAgentsForConnection, directorySignalingStatus, manifestOrigin, manifestProvider,
|
|
508
|
-
directoryHttpUrl, challengeVerifier, unresolvedNodesForStatus, buildInterruptedSessions, buildActiveSessions,
|
|
529
|
+
directoryHttpUrl, challengeVerifier, unresolvedNodesForStatus, buildInterruptedSessions, buildActiveSessions: buildActiveSessionsWithAttendance,
|
|
530
|
+
enforcedConsortium,
|
|
509
531
|
});
|
|
510
532
|
// ─── MCP-001: no_current_agent guard for session tools ───
|
|
511
533
|
// cello_send / cello_receive are NOT in this stub list — DAEMON-004 registers
|
|
@@ -746,7 +768,12 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
746
768
|
// §16.5's passive notification, wired 2026-08-08. Both halves existed with no production caller
|
|
747
769
|
// — nothing wrote a notice and nothing read one — so an agent learned a document had changed
|
|
748
770
|
// only by polling, and `cello_doc_read` cleared rows that could never exist.
|
|
749
|
-
|
|
771
|
+
// 074-DOCSFLAG: OMITTED with documents off, not passed-and-guarded — `documentSection` already
|
|
772
|
+
// returns `{}` for an absent dep, so the inbox carries no document key at all, the shape it had
|
|
773
|
+
// before the layer existed. A callback returning `[]` would say the same thing twice.
|
|
774
|
+
...(documentsEnabled()
|
|
775
|
+
? { documentNotices: (ownerAgentId) => documentLayer.notifications.pending(ownerAgentId) }
|
|
776
|
+
: {}),
|
|
750
777
|
ownerKeyFor: (agentName) => loadedAgents.find((a) => a.name === agentName)?.pubkey?.toLowerCase() ?? null,
|
|
751
778
|
});
|
|
752
779
|
// The address book — contacts, tiers, monikers, settings, the telegram token. Ten handlers, now
|
|
@@ -795,27 +822,25 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
795
822
|
sessionNodeManager.setOnContentArrived((agentName, sessionId, senderPubkey) => {
|
|
796
823
|
// MONIKER-4 AC2: the message doorbell names the sender the same way the session doorbell does.
|
|
797
824
|
notificationDispatcher.dispatchCelloMessage(agentName, sessionId, senderPubkey, resolveWho(agentName, senderPubkey, sessionId));
|
|
798
|
-
//
|
|
799
|
-
|
|
825
|
+
// DOD-M15-AWAYSCOPE-1 — THE AWAY REPLY FIRED HERE, and it was the defect: an unattended agent
|
|
826
|
+
// auto-acked every inbound message on an already-accepted session, and that greeting took a
|
|
827
|
+
// hash-chain leaf no seal could then certify. Nothing replaces it here — the counterparty learns
|
|
828
|
+
// this side is online-but-unattended out of band, on the liveness frame, which takes no leaf.
|
|
829
|
+
// The doorbell above is the only thing an arriving message may trigger. See attendance-wiring.
|
|
800
830
|
// M8C-TGDOOR-1: message-waiting — coalesced (ring-once-until-read) inside sendTelegramDoorbell.
|
|
801
831
|
void sendTelegramDoorbell(agentName, sessionId, "message_waiting", "New message waiting");
|
|
802
832
|
});
|
|
803
|
-
//
|
|
804
|
-
|
|
833
|
+
// 074-DOCSFLAG: the document layer exists in this process, or it does not → document-gate-wiring.ts.
|
|
834
|
+
// ONE value, default off, gating CONSTRUCTION — with it off the fourteen IPC verbs are never
|
|
835
|
+
// registered and the sweep timer is never created. That module carries the reasoning.
|
|
836
|
+
const { documentLayer, reconcileSweepTimer, reconcileScheduler: builtReconcileScheduler, documentOwnerKeyFor, } = wireDocumentGate({
|
|
805
837
|
logger, sessionNodeManager, loadedAgents, keyProviders,
|
|
806
838
|
securityGateway, celloDir: config.celloDir,
|
|
807
839
|
deliveryOpens, pubkeyOfAgent, openSessionFor, perAgentSignaling, runDiscoveryLookup,
|
|
808
|
-
// The scheduler does not exist yet — it is built below, from this layer's sweep targets. A
|
|
809
|
-
// getter is what keeps the refusal backoff alive; the value would be a captured `undefined`.
|
|
810
840
|
getReconcileScheduler: () => reconcileScheduler,
|
|
811
841
|
notificationDispatcher,
|
|
812
842
|
getCloseSessionHandler: () => handlers.get("cello_close_session"),
|
|
813
|
-
|
|
814
|
-
// 040-DAEMONROOT unit 15: the document operator surface and the sweep that keeps shared documents
|
|
815
|
-
// converging → document-surface.ts.
|
|
816
|
-
const { reconcileSweepTimer, reconcileScheduler: builtReconcileScheduler, } = createDocumentSurface({
|
|
817
|
-
logger, handlers, loadedAgents, keyProviders, perConnectionState, perAgentSignaling,
|
|
818
|
-
resolveCurrentAgent, documentLayer, documentOwnerKeyFor, documentTransportFor,
|
|
843
|
+
handlers, perConnectionState, resolveCurrentAgent,
|
|
819
844
|
});
|
|
820
845
|
// The scheduler is produced by the surface and assigned back here, because two modules built
|
|
821
846
|
// EARLIER hold getters over this binding. They read at call time, which is always after this.
|
|
@@ -855,6 +880,7 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
855
880
|
countAttendanceFor: (agentName) => countAttendance(perConnectionState, agentName),
|
|
856
881
|
forgetConnection,
|
|
857
882
|
forgetTakeLedger: (connectionId) => contentTakes.forget(connectionId),
|
|
883
|
+
announceAttendance: (agentName, attendance) => sessionNodeManager.announceAttendance(agentName, attendance),
|
|
858
884
|
inboundSessionWaiters,
|
|
859
885
|
// A GETTER, though the dispatcher is a const 82 lines ABOVE — so that moving its construction
|
|
860
886
|
// below this line cannot break the disconnect path silently. Reason in full at the dep.
|
|
@@ -866,6 +892,8 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
866
892
|
staleCount: 0,
|
|
867
893
|
goneCount: 0,
|
|
868
894
|
});
|
|
895
|
+
// DOD-M15-CONSORTIUM-FINGERPRINT-1 — which consortium this binary can accept; see its header.
|
|
896
|
+
logConsortiumAnchor(logger, enforcedConsortium);
|
|
869
897
|
// Log daemon.started
|
|
870
898
|
logger.info("daemon.started", {
|
|
871
899
|
pid: process.pid,
|
|
@@ -881,7 +909,9 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
881
909
|
// per daemon no matter how many times stop() is called.
|
|
882
910
|
let stoppedHookFired = false;
|
|
883
911
|
async function stop(reason) {
|
|
884
|
-
|
|
912
|
+
// 074-DOCSFLAG: `undefined` when documents are gated off — there is then no sweep to stop.
|
|
913
|
+
if (reconcileSweepTimer !== undefined)
|
|
914
|
+
clearInterval(reconcileSweepTimer);
|
|
885
915
|
clearInterval(revivalBoundSweepTimer);
|
|
886
916
|
// DOD-M15-RELAYABUSE-1: scheduled park retries. Unref'd, so they never held the process open —
|
|
887
917
|
// cleared so an in-process restart cannot leave one draining into a torn-down manager.
|