@cello-protocol/daemon 0.0.181 → 0.0.183
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-id-migration.d.ts +9 -0
- package/dist/agent-id-migration.d.ts.map +1 -1
- package/dist/agent-id-migration.js +73 -1
- package/dist/agent-id-migration.js.map +1 -1
- package/dist/agent-selection.d.ts +73 -0
- package/dist/agent-selection.d.ts.map +1 -0
- package/dist/agent-selection.js +80 -0
- package/dist/agent-selection.js.map +1 -0
- package/dist/agent-settings-keys.d.ts.map +1 -1
- package/dist/agent-settings-keys.js +18 -0
- package/dist/agent-settings-keys.js.map +1 -1
- package/dist/assignment-verify.d.ts +62 -0
- package/dist/assignment-verify.d.ts.map +1 -0
- package/dist/assignment-verify.js +185 -0
- package/dist/assignment-verify.js.map +1 -0
- package/dist/backup-restore.d.ts +102 -0
- package/dist/backup-restore.d.ts.map +1 -0
- package/dist/backup-restore.js +340 -0
- package/dist/backup-restore.js.map +1 -0
- package/dist/bin/cello-daemon.js +91 -49
- package/dist/bin/cello-daemon.js.map +1 -1
- package/dist/close-commitment.d.ts +67 -0
- package/dist/close-commitment.d.ts.map +1 -0
- package/dist/close-commitment.js +78 -0
- package/dist/close-commitment.js.map +1 -0
- package/dist/close-session-handler.d.ts +20 -0
- package/dist/close-session-handler.d.ts.map +1 -1
- package/dist/close-session-handler.js +351 -58
- package/dist/close-session-handler.js.map +1 -1
- package/dist/consortium-bootstrap.d.ts +2 -0
- package/dist/consortium-bootstrap.d.ts.map +1 -1
- package/dist/consortium-bootstrap.js +182 -9
- package/dist/consortium-bootstrap.js.map +1 -1
- package/dist/content-encryption-status.d.ts +97 -0
- package/dist/content-encryption-status.d.ts.map +1 -0
- package/dist/content-encryption-status.js +122 -0
- package/dist/content-encryption-status.js.map +1 -0
- package/dist/content-park-client.d.ts +10 -0
- package/dist/content-park-client.d.ts.map +1 -1
- package/dist/content-park-client.js +84 -3
- package/dist/content-park-client.js.map +1 -1
- package/dist/content-park.d.ts.map +1 -1
- package/dist/content-park.js +323 -21
- package/dist/content-park.js.map +1 -1
- package/dist/daemon.d.ts +13 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +1168 -141
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-session-suspects.d.ts.map +1 -1
- package/dist/delivery-session-suspects.js +5 -0
- package/dist/delivery-session-suspects.js.map +1 -1
- package/dist/directory-auth-posture.d.ts +87 -0
- package/dist/directory-auth-posture.d.ts.map +1 -0
- package/dist/directory-auth-posture.js +134 -0
- package/dist/directory-auth-posture.js.map +1 -0
- package/dist/directory-bootstrap.d.ts +66 -3
- package/dist/directory-bootstrap.d.ts.map +1 -1
- package/dist/directory-bootstrap.js +133 -7
- package/dist/directory-bootstrap.js.map +1 -1
- package/dist/document-delivery-transport.d.ts +22 -2
- package/dist/document-delivery-transport.d.ts.map +1 -1
- package/dist/document-delivery-transport.js +11 -3
- package/dist/document-delivery-transport.js.map +1 -1
- package/dist/document-handlers.d.ts.map +1 -1
- package/dist/document-handlers.js +119 -0
- package/dist/document-handlers.js.map +1 -1
- package/dist/document-layer.d.ts +0 -2
- package/dist/document-layer.d.ts.map +1 -1
- package/dist/document-layer.js.map +1 -1
- package/dist/inbound-sessions.d.ts +31 -1
- package/dist/inbound-sessions.d.ts.map +1 -1
- package/dist/inbound-sessions.js +276 -16
- package/dist/inbound-sessions.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/initiate-session-handler.d.ts.map +1 -1
- package/dist/initiate-session-handler.js +34 -3
- package/dist/initiate-session-handler.js.map +1 -1
- package/dist/ipc-server.d.ts +5 -1
- package/dist/ipc-server.d.ts.map +1 -1
- package/dist/ipc-server.js +19 -3
- package/dist/ipc-server.js.map +1 -1
- package/dist/manifest-deps.d.ts +0 -11
- package/dist/manifest-deps.d.ts.map +1 -1
- package/dist/manifest-deps.js +28 -2
- package/dist/manifest-deps.js.map +1 -1
- package/dist/manifest-validity.d.ts +153 -0
- package/dist/manifest-validity.d.ts.map +1 -0
- package/dist/manifest-validity.js +268 -0
- package/dist/manifest-validity.js.map +1 -0
- package/dist/notification-handlers.d.ts.map +1 -1
- package/dist/notification-handlers.js +15 -0
- package/dist/notification-handlers.js.map +1 -1
- package/dist/outbound-sessions.d.ts +31 -0
- package/dist/outbound-sessions.d.ts.map +1 -1
- package/dist/outbound-sessions.js +217 -17
- package/dist/outbound-sessions.js.map +1 -1
- package/dist/park-envelope.d.ts +95 -1
- package/dist/park-envelope.d.ts.map +1 -1
- package/dist/park-envelope.js +195 -4
- package/dist/park-envelope.js.map +1 -1
- package/dist/refusal-reasons.d.ts +72 -0
- package/dist/refusal-reasons.d.ts.map +1 -0
- package/dist/refusal-reasons.js +69 -0
- package/dist/refusal-reasons.js.map +1 -0
- package/dist/register-handler.d.ts.map +1 -1
- package/dist/register-handler.js +76 -0
- package/dist/register-handler.js.map +1 -1
- package/dist/registration-manager.d.ts.map +1 -1
- package/dist/registration-manager.js +20 -1
- package/dist/registration-manager.js.map +1 -1
- package/dist/relay-only.d.ts +133 -0
- package/dist/relay-only.d.ts.map +1 -0
- package/dist/relay-only.js +183 -0
- package/dist/relay-only.js.map +1 -0
- package/dist/restart-seal-resolver.d.ts.map +1 -1
- package/dist/restart-seal-resolver.js +6 -0
- package/dist/restart-seal-resolver.js.map +1 -1
- package/dist/retry-queue.d.ts +49 -2
- package/dist/retry-queue.d.ts.map +1 -1
- package/dist/retry-queue.js +55 -10
- package/dist/retry-queue.js.map +1 -1
- package/dist/roster-freshness.d.ts +169 -0
- package/dist/roster-freshness.d.ts.map +1 -0
- package/dist/roster-freshness.js +249 -0
- package/dist/roster-freshness.js.map +1 -0
- package/dist/seal-certificate-pull.d.ts +17 -1
- package/dist/seal-certificate-pull.d.ts.map +1 -1
- package/dist/seal-certificate-pull.js +37 -3
- package/dist/seal-certificate-pull.js.map +1 -1
- package/dist/seal-coordinator.d.ts +17 -1
- package/dist/seal-coordinator.d.ts.map +1 -1
- package/dist/seal-coordinator.js +71 -0
- package/dist/seal-coordinator.js.map +1 -1
- package/dist/seal-failure-store.d.ts +104 -0
- package/dist/seal-failure-store.d.ts.map +1 -0
- package/dist/seal-failure-store.js +126 -0
- package/dist/seal-failure-store.js.map +1 -0
- package/dist/seal-flows.d.ts.map +1 -1
- package/dist/seal-flows.js +35 -6
- package/dist/seal-flows.js.map +1 -1
- package/dist/seal-upgrade.d.ts +20 -5
- package/dist/seal-upgrade.d.ts.map +1 -1
- package/dist/seal-upgrade.js +28 -5
- package/dist/seal-upgrade.js.map +1 -1
- package/dist/session-assignment-parser.d.ts +41 -5
- package/dist/session-assignment-parser.d.ts.map +1 -1
- package/dist/session-assignment-parser.js +77 -14
- package/dist/session-assignment-parser.js.map +1 -1
- package/dist/session-ceremony.d.ts +35 -0
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +97 -0
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-connection-gater.d.ts +46 -7
- package/dist/session-connection-gater.d.ts.map +1 -1
- package/dist/session-connection-gater.js +163 -12
- package/dist/session-connection-gater.js.map +1 -1
- package/dist/session-content-handlers.d.ts +12 -0
- package/dist/session-content-handlers.d.ts.map +1 -1
- package/dist/session-content-handlers.js +149 -8
- package/dist/session-content-handlers.js.map +1 -1
- package/dist/session-node-manager.d.ts +653 -40
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +5938 -374
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-read-handlers.d.ts +27 -0
- package/dist/session-read-handlers.d.ts.map +1 -1
- package/dist/session-read-handlers.js +127 -6
- package/dist/session-read-handlers.js.map +1 -1
- package/dist/session-relay-client.d.ts +177 -2
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +564 -16
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-salt-agreement.d.ts +338 -0
- package/dist/session-salt-agreement.d.ts.map +1 -0
- package/dist/session-salt-agreement.js +478 -0
- package/dist/session-salt-agreement.js.map +1 -0
- package/dist/signal-submission.d.ts.map +1 -1
- package/dist/signal-submission.js +10 -1
- package/dist/signal-submission.js.map +1 -1
- package/dist/signaling-connect.d.ts +18 -1
- package/dist/signaling-connect.d.ts.map +1 -1
- package/dist/signaling-connect.js +206 -6
- package/dist/signaling-connect.js.map +1 -1
- package/dist/types.d.ts +75 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +10 -0
- package/dist/vocabulary.js.map +1 -1
- package/dist/wire-content-hash.d.ts +68 -0
- package/dist/wire-content-hash.d.ts.map +1 -1
- package/dist/wire-content-hash.js +83 -0
- package/dist/wire-content-hash.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-session-handler.js","sourceRoot":"","sources":["../src/close-session-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAKzC,OAAO,EAAE,oBAAoB,EAAyB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,wBAAwB,IAAI,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAiEvH,MAAM,UAAU,2BAA2B,CAAC,IAAsB;IAChE,MAAM,EACJ,uBAAuB,EACvB,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EACvE,yBAAyB,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,yBAAyB,EAC5F,sBAAsB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,OAAO,EAAE,yBAAyB,EACxG,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,oBAAoB,EAC7F,oBAAoB,GACrB,GAAG,IAAI,CAAC;IACT,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,IAAI,0BAA0B,CAAC;IAErF;;;;;;;;;;;OAWG;IACH,MAAM,yBAAyB,GAAG,KAAK,CAAC;IAExC;;;;;;;;;;;;;;;OAeG;IACH,KAAK,UAAU,wBAAwB,CACrC,SAAiB,EACjB,SAAiB,EACjB,aAAqB;IACrB,6FAA6F;IAC7F,WAA+C;QAE/C,IAAI,iBAAiB,GAAG,wBAAwB,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;QAElF,8FAA8F;QAC9F,+FAA+F;QAC/F,+FAA+F;QAC/F,iGAAiG;QACjG,EAAE;QACF,6FAA6F;QAC7F,+FAA+F;QAC/F,gGAAgG;QAChG,gGAAgG;QAChG,wBAAwB;QACxB,IAAI,CAAC,iBAAiB,IAAI,WAAW,IAAI,kBAAkB,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,aAAa,CAAC,CAAC;gBACxH,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC,CAAC;oBACxG,mFAAmF;oBACnF,6FAA6F;oBAC7F,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;wBAAE,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,2FAA2F;oBAC3F,0FAA0F;oBAC1F,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBAChH,CAAC;YACH,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,4FAA4F;YAC5F,wFAAwF;YACxF,qCAAqC;YACrC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAC;YAC/G,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,IAAI,IAAI,CAAC;QACjF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,sBAAsB,CACjC,SAAS,EAAE,MAAM,EAAE,UAAU,EAC7B,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,EAClE,aAAa,EAAE,iBAAiB,CACjC,CAAC;QACF,IAAI,MAAM,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAC;YAC5G,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mFAAmF;QACnF,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+EAA+E;IAC/E,mFAAmF;IACnF,iCAAiC;IACjC,uCAAuC;IACvC,oDAAoD;IACpD,oDAAoD;IACpD,iCAAiC;IACjC,qFAAqF;IACrF;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;QACpC,2CAA2C;QAC3C,yBAAyB;QACzB,8BAA8B;QAC9B,gBAAgB;QAChB,oBAAoB;KACrB,CAAC,CAAC;IAEH;;;;;;OAMG;IACH,MAAM,YAAY,GAAG,KAAK,EAAE,MAA2C,EAAE,YAAoB,EAAoB,EAAE;QACjH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,KAA0C,CAAC;QAC1D,IAAI,MAAM,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,KAAK,CAAC;QACpE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEpE,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAA2B,CAAC,CAAC;QACtF,gGAAgG;QAChG,+FAA+F;QAC/F,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,6FAA6F;YAC7F,mFAAmF;YACnF,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;gBACjD,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;aAClF,CAAC,CAAC;YACH,OAAO;gBACL,GAAI,KAAiC;gBACrC,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE;aACxG,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;YACjD,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW;YACvD,MAAM,EAAE,uFAAuF;SAChG,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,IAAI;YACR,SAAS;YACT,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,4FAA4F;gBAC5F,sFAAsF;gBACtF,6FAA6F;SAChG,CAAC;IACJ,CAAC,CAAC;IAEF,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;IAElD;;;;OAIG;IACH,MAAM,wBAAwB,GAAG,CAC/B,MAAqB,EACrB,SAAiB,EACjB,UAA+D,EAC/D,aAAqB,EACrB,OAA2C,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAC3E,EAAE,CACF,uBAAuB,CACrB;QACE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,wBAAwB,EAAE,OAAO,EAAE,cAAc;QACvF,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;KAC1E,EACD,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,CAC9D,CAAC;IAEJ;;;;;;;OAOG;IACH,MAAM,iBAAiB,GAAG,KAAK,EAC7B,MAAqB,EACrB,SAAiB,EACjB,aAAqB,EAUrB,EAAE;QACF,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACvG,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,kCAAkC,EAAE,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;gBACrD,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa;aACvD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;gBACzD,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa;gBAChF,MAAM,EACJ,iJAAiJ;aACpJ,CAAC,CAAC;QACL,CAAC;QAED,2FAA2F;QAC3F,yFAAyF;QACzF,wFAAwF;QACxF,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE;YAC7B,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE;YAC1F,CAAC,CAAC,OAAO,SAAS,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,cAAc,KAAK,QAAQ;gBAC7F,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE;gBAC1F,CAAC,CAAC,IAAI,CAAC;QACX,6FAA6F;QAC7F,gGAAgG;QAChG,6FAA6F;QAC7F,qCAAqC;QACrC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAElH,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE;YAClF,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,MAA2C,EAAE,YAAoB,EAAoB,EAAE;QAC7G,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,kGAAkG;QAClG,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAA2B,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,yBAAyB,CAAC;QACnC,CAAC;QAED,6EAA6E;QAC7E,8EAA8E;QAC9E,kFAAkF;QAClF,gFAAgF;QAChF,6EAA6E;QAC7E,MAAM,SAAS,GAAG,MAAM,EAAE,UAAgC,CAAC;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,gBAAgB;gBACxB,QAAQ,EAAE,kEAAkE;aAC7E,CAAC;QACJ,CAAC;QAED,8FAA8F;QAC9F,+FAA+F;QAC/F,+FAA+F;QAC/F,gGAAgG;QAChG,oCAAoC;QACpC,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACnC,qFAAqF;gBACrF,mFAAmF;gBACnF,OAAO,EAAE,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;gBAC3G,UAAU,EAAE,OAAO,MAAM,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,YAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;aACrG,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC/E,CAAC;QAED,+FAA+F;QAC/F,2FAA2F;QAC3F,2FAA2F;QAC3F,sDAAsD;QACtD,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,0FAA0F;aACrG,CAAC;QACJ,CAAC;QAED,iGAAiG;QACjG,iCAAiC;QACjC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,uIAAuI;aAClJ,CAAC;QACJ,CAAC;QAED,8FAA8F;QAC9F,4FAA4F;QAC5F,6FAA6F;QAC7F,iGAAiG;QACjG,4CAA4C;QAC5C,EAAE;QACF,gGAAgG;QAChG,iGAAiG;QACjG,+FAA+F;QAC/F,iGAAiG;QACjG,0EAA0E;QAC1E,EAAE;QACF,kGAAkG;QAClG,iGAAiG;QACjG,gEAAgE;QAChE,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC7B,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC9B,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;aACzF,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,wBAAwB;gBAChC,wFAAwF;gBACxF,uCAAuC;gBACvC,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,QAAQ,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI;oBAChC,CAAC,CAAC,4KAA4K;oBAC9K,CAAC,CAAC,0IAA0I;aAC/I,CAAC;QACJ,CAAC;QAED,+FAA+F;QAC/F,8FAA8F;QAC9F,gGAAgG;QAChG,8FAA8F;QAC9F,kGAAkG;QAClG,kFAAkF;QAClF,yFAAyF;QACzF,sFAAsF;QACtF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5D,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,wKAAwK;aACnL,CAAC;QACJ,CAAC;QAED,6FAA6F;QAC7F,iGAAiG;QACjG,qGAAqG;QACrG,sGAAsG;QACtG,qGAAqG;QACrG,oGAAoG;QACpG,sFAAsF;QACtF,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,2CAA2C,EAAE,CAAC;YAC/H,CAAC;YACD,4FAA4F;YAC5F,kFAAkF;YAClF,8FAA8F;YAC9F,8FAA8F;YAC9F,kFAAkF;YAClF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,aAAa,IAAI,MAAM,CAAC,MAAM,KAAK,0BAA0B,CAAC;YACtG,yFAAyF;YACzF,4FAA4F;YAC5F,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;YACnC,wFAAwF;YACxF,2FAA2F;YAC3F,8FAA8F;YAC9F,yFAAyF;YACzF,8CAA8C;YAC9C,EAAE;YACF,8FAA8F;YAC9F,+FAA+F;YAC/F,sDAAsD;YACtD,0FAA0F;YAC1F,4FAA4F;YAC5F,+FAA+F;YAC/F,2FAA2F;YAC3F,4FAA4F;YAC5F,IAAI,MAAM,GAAsC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YACzF,IAAI,CAAC;gBACH,yFAAyF;gBACzF,2FAA2F;gBAC3F,0FAA0F;gBAC1F,uFAAuF;gBACvF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC1B,kBAAkB,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC;oBACzF,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,EAAE;wBACzD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;wBAC3G,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACd,CAAC,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;oBAC1C,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa;oBACtD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,MAAM,EAAE,iFAAiF;iBAC1F,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,SAAS;gBACT,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,oBAAoB,EAAE,IAAI;gBAC1B,wBAAwB,EAAE,MAAM,CAAC,MAAM;gBACvC,aAAa;gBACb,4FAA4F;gBAC5F,gDAAgD;gBAChD,oBAAoB,EAAE,aAAa;aACpC,CAAC,CAAC;YACH,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,iBAAiB;gBACzB,qBAAqB,EAAE,IAAI;gBAC3B,0BAA0B,EAAE,MAAM,CAAC,MAAM;gBACzC,QAAQ,EAAE,WAAW,SAAS,iOAAiO;oBAC7P,CAAC,IAAI;wBACH,CAAC,CAAC,oOAAoO;wBACtO,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,eAAe;4BACjC,CAAC,CAAC,uSAAuS;4BACzS,CAAC,CAAC,wBAAwB,MAAM,CAAC,MAAM,6KAA6K,CAAC;oBACzN,CAAC,aAAa;wBACZ,CAAC,CAAC,2DAA2D,MAAM,CAAC,MAAM,mPAAmP;wBAC7T,CAAC,CAAC,EAAE,CAAC;aACV,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,EAAE;QACF,iGAAiG;QACjG,gGAAgG;QAChG,mCAAmC;QACnC,EAAE;QACF,yFAAyF;QACzF,8FAA8F;QAC9F,+FAA+F;QAC/F,mDAAmD;QACnD,iGAAiG;QACjG,6FAA6F;QAC7F,2FAA2F;QAC3F,+FAA+F;QAC/F,iGAAiG;QACjG,mFAAmF;QACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC;QAC/E,IAAI,SAAS,GAAG,QAAQ;YACtB,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;YAChE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAChH,+FAA+F;QAC/F,iGAAiG;QACjG,8FAA8F;QAC9F,iGAAiG;QACjG,+FAA+F;QAC/F,mGAAmG;QACnG,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,oBAAoB,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;gBACtE,SAAS,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,4FAA4F;gBAC5F,iFAAiF;gBACjF,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;oBACjD,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS;oBACvC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBAC7C,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS;gBACvC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY;gBAClE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY;aACjE,CAAC,CAAC;YACH,8FAA8F;YAC9F,6FAA6F;YAC7F,+FAA+F;YAC/F,+FAA+F;YAC/F,qDAAqD;YACrD,MAAM,OAAO,GACX,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,YAAY,+CAA+C,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClH,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,qHAAqH,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjL,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,oBAAoB;gBAC5B,cAAc,EAAE,SAAS,CAAC,aAAa;gBACvC,aAAa,EAAE,SAAS,CAAC,SAAS;gBAClC,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,aAAa,EAAE,SAAS,CAAC,YAAY;gBACrC,QAAQ,EACN,2NAA2N;oBAC3N,YAAY,SAAS,CAAC,QAAQ,wCAAwC,SAAS,CAAC,YAAY,GAAG,CAAC,EAAE;oBAClG,OAAO;oBACP,+OAA+O,SAAS,mDAAmD,SAAS,uDAAuD;aAC9W,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,8BAA8B;gBACtC,QAAQ,EAAE,+OAA+O;aAC1P,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;YAClG,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,wBAAwB;gBAChC,QAAQ,EAAE,2NAA2N;aACtO,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,sFAAsF;QACtF,mEAAmE;QACnE,4EAA4E;QAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,4DAA4D;YAC5D,MAAM,wBAAwB,GAC5B,OAAO,MAAM,EAAE,wBAAwB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;YACnC,6FAA6F;YAC7F,uFAAuF;YACvF,6FAA6F;YAC7F,wFAAwF;YACxF,IAAI,cAAc,GAA8E,IAAI,CAAC;YAErG,4CAA4C;YAC5C,EAAE;YACF,wFAAwF;YACxF,uFAAuF;YACvF,wFAAwF;YACxF,wFAAwF;YACxF,yFAAyF;YACzF,8FAA8F;YAC9F,2FAA2F;YAC3F,oDAAoD;YACpD,EAAE;YACF,yFAAyF;YACzF,4FAA4F;YAC5F,+FAA+F;YAC/F,yFAAyF;YACzF,+FAA+F;YAC/F,8CAA8C;YAC9C,EAAE;YACF,gGAAgG;YAChG,+FAA+F;YAC/F,2FAA2F;YAC3F,EAAE;YACF,2FAA2F;YAC3F,6FAA6F;YAC7F,6FAA6F;YAC7F,4FAA4F;YAC5F,0FAA0F;YAC1F,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAsB,EAAoB,EAAE;gBAClE,oFAAoF;gBACpF,0FAA0F;gBAC1F,yFAAyF;gBACzF,6EAA6E;gBAC7E,2FAA2F;gBAC3F,wFAAwF;gBACxF,6FAA6F;gBAC7F,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,2CAA2C,CAAC;gBAC/F,IAAI,CAAC,WAAW;oBAAE,OAAO,MAAM,CAAC;gBAEhC,yFAAyF;gBACzF,wFAAwF;gBACxF,4FAA4F;gBAC5F,sFAAsF;gBACtF,0FAA0F;gBAC1F,4FAA4F;gBAC5F,0FAA0F;gBAC1F,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;wBAC9C,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa;wBACtD,MAAM,EAAE,kIAAkI;qBAC3I,CAAC,CAAC;oBACH,OAAO;wBACL,GAAI,MAAkC;wBACtC,YAAY,EAAE,qBAAqB;wBACnC,QAAQ,EACN,8WAA8W;qBACjX,CAAC;gBACJ,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBACtE,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;oBACvB,kFAAkF;oBAClF,kFAAkF;oBAClF,yFAAyF;oBACzF,mEAAmE;oBACnE,IAAI,CAAC,MAAM,CAAC,EAAE;wBAAE,OAAO,MAAM,CAAC;oBAC9B,OAAO;wBACL,GAAI,MAAkC;wBACtC,YAAY,EAAE,aAAa;wBAC3B,mBAAmB,EAAE,GAAG,CAAC,MAAM;wBAC/B,QAAQ,EACN,sHAAsH,GAAG,CAAC,MAAM,IAAI;4BACpI,4JAA4J;4BAC5J,4DAA4D;qBAC/D,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,GAAG,CAAC,CAAC,iDAAiD;gBAEzE,0FAA0F;gBAC1F,6FAA6F;gBAC7F,yFAAyF;gBACzF,yFAAyF;gBACzF,0FAA0F;gBAC1F,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;oBACzD,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa;oBAC1E,GAAG,CAAC,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjG,CAAC,CAAC;gBACH,OAAO;oBACL,GAAI,MAAkC;oBACtC,YAAY,EAAE,aAAa;oBAC3B,mBAAmB,EAAE,GAAG,CAAC,MAAM;oBAC/B,GAAG,CAAC,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClG,QAAQ,EAAE,GAAG,CAAC,QAAQ;iBACvB,CAAC;YACJ,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,0FAA0F;gBAC1F,wFAAwF;gBACxF,4CAA4C;gBAC5C,cAAc,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC7F,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,wBAAwB,CAAC,CAAC;gBAE1G,0FAA0F;gBAC1F,4FAA4F;gBAC5F,0FAA0F;gBAC1F,0FAA0F;gBAC1F,iDAAiD;gBACjD,MAAM,YAAY,GAAI,MAA2C,CAAC,mBAAmB,CAAC;gBACtF,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,2CAA2C,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;oBAChH,OAAO,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;gBACD,cAAc,GAAG,MAAM,wBAAwB,CAC7C,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,qBAAqB,EAAE,YAAY,EAAE,CACrF,CAAC;gBACF,yFAAyF;gBACzF,2DAA2D;gBAC3D,IAAI,CAAC,cAAc;oBAAE,OAAO,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBACrH,0FAA0F;gBAC1F,4FAA4F;gBAC5F,iFAAiF;gBACjF,OAAO,MAAM,QAAQ,CACnB,MAAM,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,wBAAwB,EAAE,cAAc,CAAC,GAAG,CAAC,CAChH,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,uEAAuE;gBACvE,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC;wBAAC,MAAM,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAAC,CAAC;oBACnD,OAAO,GAAY,EAAE,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAAC,CAAC;gBACtJ,CAAC;gBACD,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,oEAAoE;QACpE,yEAAyE;QACzE,EAAE;QACF,8EAA8E;QAC9E,kFAAkF;QAClF,kFAAkF;QAClF,gFAAgF;QAChF,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;YACnC,qGAAqG;YACrG,8FAA8F;YAC9F,iGAAiG;YACjG,mGAAmG;YACnG,mGAAmG;YACnG,mDAAmD;YACnD,IAAI,cAAc,GAA8E,IAAI,CAAC;YACrG,IAAI,CAAC;gBACH,qFAAqF;gBACrF,4FAA4F;gBAC5F,0FAA0F;gBAC1F,cAAc,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC7F,kFAAkF;gBAClF,kFAAkF;gBAClF,6EAA6E;gBAC7E,4EAA4E;gBAC5E,6DAA6D;gBAC7D,IAAI,WAAkD,CAAC;gBACvD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAiB,CAAC,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC3E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBACpG,oFAAoF;gBACpF,0FAA0F;gBAC1F,qFAAqF;gBACrF,yDAAyD;gBACzD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,kCAAkC,EAAE,CAAC;oBACvE,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;oBAEjE,0FAA0F;oBAC1F,2FAA2F;oBAC3F,2FAA2F;oBAC3F,kFAAkF;oBAClF,EAAE;oBACF,qFAAqF;oBACrF,wFAAwF;oBACxF,0FAA0F;oBAC1F,6FAA6F;oBAC7F,4FAA4F;oBAC5F,wFAAwF;oBACxF,4FAA4F;oBAC5F,YAAY;oBACZ,EAAE;oBACF,uFAAuF;oBACvF,6FAA6F;oBAC7F,+DAA+D;oBAC/D,EAAE;oBACF,wFAAwF;oBACxF,6EAA6E;oBAC7E,2FAA2F;oBAC3F,2FAA2F;oBAC3F,4FAA4F;oBAC5F,0FAA0F;oBAC1F,yFAAyF;oBACzF,4FAA4F;oBAC5F,2EAA2E;oBAC3E,0FAA0F;oBAC1F,0FAA0F;oBAC1F,qFAAqF;oBACrF,wFAAwF;oBACxF,sFAAsF;oBACtF,wFAAwF;oBACxF,sFAAsF;oBACtF,yFAAyF;oBACzF,qDAAqD;oBACrD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;wBAC1C,0BAA0B;wBAC1B,6BAA6B;wBAC7B,+BAA+B;wBAC/B,0BAA0B;wBAC1B,mBAAmB;wBACnB,oBAAoB;wBACpB,mBAAmB;qBACpB,CAAC,CAAC;oBACH,MAAM,SAAS,GACb,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;wBAC5C,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;wBACrE,CAAC,CAAC,IAAI,CAAC;oBACX,IAAI,SAAS,EAAE,WAAW,EAAE,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;4BACpC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,wBAAwB,EAAE,aAAa;yBAC5F,CAAC,CAAC;wBACH,wBAAwB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;wBACrE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC;oBAC5F,CAAC;oBAED,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;wBAC1C,4EAA4E;wBAC5E,yCAAyC;wBACzC,OAAO,MAAM,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oBACtE,CAAC;oBACD,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,QAAQ,EAAE,8GAA8G;qBACzH,CAAC;gBACJ,CAAC;gBACD,iFAAiF;gBACjF,gFAAgF;gBAChF,qFAAqF;gBACrF,sFAAsF;gBACtF,mFAAmF;gBACnF,kFAAkF;gBAClF,sFAAsF;gBACtF,oFAAoF;gBACpF,gDAAgD;gBAChD,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,IAAI,OAAO,CAAC;gBAC7F,yEAAyE;gBACzE,EAAE;gBACF,oFAAoF;gBACpF,2FAA2F;gBAC3F,uFAAuF;gBACvF,6FAA6F;gBAC7F,0FAA0F;gBAC1F,2DAA2D;gBAC3D,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;oBAChD,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa;oBACtF,MAAM,EAAE,wCAAwC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,4MAA4M;iBACpS,CAAC,CAAC;gBACH,IAAI,KAAqC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtG,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjE,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;gBACjE,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;oBAC7H,wBAAwB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,iHAAiH;oBACvL,uFAAuF;oBACvF,kFAAkF;oBAClF,sEAAsE;oBACtE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBACtG,CAAC;gBAED,yFAAyF;gBACzF,0FAA0F;gBAC1F,sFAAsF;gBACtF,0FAA0F;gBAC1F,wFAAwF;gBACxF,2FAA2F;gBAC3F,0FAA0F;gBAC1F,wFAAwF;gBACxF,iFAAiF;gBACjF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE;oBAC1B,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;oBACpF,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,kCAAkC;wBAClD,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;wBAC1C,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ;wBAC3C,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;wBACpF,CAAC,CAAC,IAAI,CAAC;gBACX,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,wBAAwB;wBAChC,QAAQ,EAAE,yOAAyO;qBACpP,CAAC;gBACJ,CAAC;gBAED,sFAAsF;gBACtF,2FAA2F;gBAC3F,2FAA2F;gBAC3F,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YACtF,CAAC;oBAAS,CAAC;gBACT,8FAA8F;gBAC9F,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC;wBAAC,MAAM,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAAC,CAAC;oBACnD,OAAO,GAAY,EAAE,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAAC,CAAC;gBACtJ,CAAC;gBACD,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,+FAA+F;QAC/F,+FAA+F;QAC/F,4FAA4F;QAC5F,6FAA6F;QAC7F,+FAA+F;QAC/F,EAAE;QACF,4FAA4F;QAC5F,6FAA6F;QAC7F,2FAA2F;QAC3F,4FAA4F;QAC5F,2FAA2F;QAC3F,+FAA+F;QAC/F,8FAA8F;QAC9F,wEAAwE;QACxE,IAAI,MAAM,CAAC,MAAM,KAAK,0BAA0B,EAAE,CAAC;YACjD,0FAA0F;YAC1F,4FAA4F;YAC5F,yCAAyC;YACzC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAClD,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBACtE,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;oBACvB,uFAAuF;oBACvF,oFAAoF;oBACpF,uFAAuF;oBACvF,sEAAsE;oBACtE,+EAA+E;oBAC/E,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,QAAQ,EACN,6FAA6F,GAAG,CAAC,MAAM,IAAI;4BAC3G,4JAA4J;4BAC5J,mGAAmG;qBACtG,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,GAAG,CAAC;gBACvB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,CAAC,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClG,QAAQ,EAAE,GAAG,CAAC,QAAQ;iBACvB,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,yBAAyB,MAAM,CAAC,MAAM,0EAA0E;SAC3H,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"close-session-handler.js","sourceRoot":"","sources":["../src/close-session-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,6 +127,8 @@ export interface ConsortiumRouting {
|
|
|
127
127
|
getUnresolvedNodes: () => NodeResolveFailure[];
|
|
128
128
|
/** When the reading getUnresolvedNodes returns was taken (ISO), or null if no sweep has run. */
|
|
129
129
|
getUnresolvedSweptAt: () => string | null;
|
|
130
|
+
/** Nodes the VERIFIED manifest declares — the denominator a threshold is computed from. */
|
|
131
|
+
getDeclaredNodeCount: () => number | null;
|
|
130
132
|
/** Null-safe accessor for the ceremony/handler getDirectoryEndpoint sites. */
|
|
131
133
|
getFailoverEndpoint: () => Promise<DirectoryEndpoint | null>;
|
|
132
134
|
/** Stops the daemon-level HTTP manifest poll. Undefined when no poll was started. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consortium-bootstrap.d.ts","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"consortium-bootstrap.d.ts","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { startHttpManifestPoll } from "./http-manifest-poll.js";
|
|
3
|
-
import {
|
|
3
|
+
import { classifyManifestValidity } from "./manifest-validity.js";
|
|
4
|
+
import { resolveDirectoryUrl, manifestNodesToEndpoints, FAST_PROBE, createRosterAwareEndpointResolver, } from "./directory-bootstrap.js";
|
|
4
5
|
/**
|
|
5
6
|
* Load + verify the manifest, then resolve its node set to live endpoints.
|
|
6
7
|
*
|
|
@@ -20,17 +21,52 @@ export async function verifyStartupManifest(deps) {
|
|
|
20
21
|
}
|
|
21
22
|
try {
|
|
22
23
|
const manifest = await manifestProvider.loadAndVerify(manifestRootKeys, manifestThreshold);
|
|
24
|
+
/**
|
|
25
|
+
* DOD-M15-EXPIRY-CONSUMER-POLICY-1 — THIS GATE HAD THE NaN HOLE ITS OWN CLASSIFIER WAS WRITTEN
|
|
26
|
+
* TO CLOSE, and the whole line's premise rested on it.
|
|
27
|
+
*
|
|
28
|
+
* It was `new Date(manifest.expires)` compared with `<=`. `new Date("nonsense")` is Invalid
|
|
29
|
+
* Date, and **every comparison against NaN is false** — so a manifest with an unparseable
|
|
30
|
+
* `expires` passed BOTH checks, set `manifestVerified = true`, and started the daemon on an
|
|
31
|
+
* artefact nobody can date. `manifest-validity.ts` says exactly this about exactly this code —
|
|
32
|
+
* *"the startup check's own shape waves a garbage timestamp through as though it were
|
|
33
|
+
* in-window"* — and fixed it for the RUNTIME classifier while leaving the startup gate as it
|
|
34
|
+
* found it. `signal-submission.ts` and `preauth-capability.ts` both get it right; this was the
|
|
35
|
+
* odd one out.
|
|
36
|
+
*
|
|
37
|
+
* **It also falsified the argument the rest of this line rests on.** Everything else here reasons
|
|
38
|
+
* that a lapsed manifest exists only inside a LONG-RUNNING daemon, so refusing would strand a
|
|
39
|
+
* live operator. For the unparseable case that was untrue: such a daemon starts FRESH into the
|
|
40
|
+
* lapsed-equivalent state and stays there permanently — while both new events tell the operator
|
|
41
|
+
* *"do not restart, it will not come back."* It comes back cleanly, forever, on the same broken
|
|
42
|
+
* file. Wrong advice, in the one case where refusing costs nothing.
|
|
43
|
+
*
|
|
44
|
+
* Now one policy object for the startup gate and the runtime surface, which is what this DoD
|
|
45
|
+
* line is about. Refuses anything that is not affirmatively in-window.
|
|
46
|
+
*/
|
|
47
|
+
const validity = classifyManifestValidity(manifest, Date.now());
|
|
48
|
+
if (validity.state === "unreadable_window" || (validity.state === "expired" && !Number.isFinite(Date.parse(manifest.expires)))) {
|
|
49
|
+
logger.error("directory.auth.manifest.unreadable.window", {
|
|
50
|
+
manifestVersion: manifest.version,
|
|
51
|
+
notBefore: manifest.not_before,
|
|
52
|
+
expires: manifest.expires,
|
|
53
|
+
detail: "a validity-window field does not parse — the artefact is malformed, not merely stale. " +
|
|
54
|
+
"A hand-edited file or a broken generator is the usual cause. Refusing rather than treating " +
|
|
55
|
+
"an undateable manifest as in-window.",
|
|
56
|
+
});
|
|
57
|
+
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes, unresolvedSweptAt };
|
|
58
|
+
}
|
|
23
59
|
const now = new Date();
|
|
24
60
|
const notBefore = new Date(manifest.not_before);
|
|
25
61
|
const expiresAt = new Date(manifest.expires);
|
|
26
|
-
if (now < notBefore) {
|
|
62
|
+
if (validity.state === "not_yet_valid" || now < notBefore) {
|
|
27
63
|
logger.error("directory.auth.manifest.not.yet.valid", {
|
|
28
64
|
manifestVersion: manifest.version,
|
|
29
65
|
notBefore: manifest.not_before,
|
|
30
66
|
});
|
|
31
67
|
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes, unresolvedSweptAt };
|
|
32
68
|
}
|
|
33
|
-
if (expiresAt <= now) {
|
|
69
|
+
if (validity.state === "expired" || expiresAt <= now) {
|
|
34
70
|
logger.error("directory.auth.manifest.expired", {
|
|
35
71
|
manifestVersion: manifest.version,
|
|
36
72
|
expiresAt: manifest.expires,
|
|
@@ -110,34 +146,141 @@ export function createConsortiumRouting(deps) {
|
|
|
110
146
|
let unresolvedSweptAt = deps.initialUnresolvedSweptAt ?? null;
|
|
111
147
|
const getUnresolvedNodes = () => [...unresolvedNodes];
|
|
112
148
|
const getUnresolvedSweptAt = () => unresolvedSweptAt;
|
|
113
|
-
|
|
149
|
+
/**
|
|
150
|
+
* When the reading currently held was STARTED (epoch ms), so a slow sweep cannot overwrite a
|
|
151
|
+
* newer one — `DOD-M15-STALEROSTER-1` review F6.
|
|
152
|
+
*/
|
|
153
|
+
let unresolvedStartedAtMs = deps.initialUnresolvedSweptAt ? Date.parse(deps.initialUnresolvedSweptAt) : 0;
|
|
154
|
+
const resolveConsortiumRoster = async (budget) => {
|
|
114
155
|
const m = manifestProvider?.getCurrentManifest();
|
|
115
|
-
if (!m)
|
|
156
|
+
if (!m) {
|
|
157
|
+
// DOD-M15-STALEROSTER-1 review F13: this returns before the write and used to return before
|
|
158
|
+
// any log too, so "there is no manifest to probe" was indistinguishable from a clean sweep —
|
|
159
|
+
// the background sweep would tick forever, succeed every time, and never move the reading.
|
|
160
|
+
logger.warn("directory.roster.sweep.no_manifest", {
|
|
161
|
+
impact: "no roster measurement was taken — there is no verified manifest to enumerate nodes from, " +
|
|
162
|
+
"so cello_status keeps whatever reading it already had.",
|
|
163
|
+
});
|
|
116
164
|
return null;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* STAMP THE START, NOT THE FINISH — review F6.
|
|
168
|
+
*
|
|
169
|
+
* `unresolvedSweptAt = new Date()` after the await recorded when the sweep COMPLETED, and there
|
|
170
|
+
* is no mutual exclusion between the ten callers. The background sweep uses the patient probe
|
|
171
|
+
* (up to ~16 s) while the failover resolver uses FAST_PROBE (2 s), so the two overlap routinely:
|
|
172
|
+
* a slow-but-healthy node is marked unresolved by the fast sweep, the patient sweep finishes
|
|
173
|
+
* later and resolves it — or the reverse — and whichever lands last is stamped "measured now, 0
|
|
174
|
+
* seconds old". The operator gets a confidently fresh reading assembled from a race.
|
|
175
|
+
*
|
|
176
|
+
* Recording the start time and discarding a completion that began before the reading currently
|
|
177
|
+
* held makes last-writer-wins into newest-measurement-wins.
|
|
178
|
+
*/
|
|
179
|
+
const startedAtMs = Date.now();
|
|
117
180
|
const failures = [];
|
|
118
181
|
const endpoints = await manifestNodesToEndpoints(m.nodes, {
|
|
119
182
|
logger,
|
|
120
183
|
fetchFn,
|
|
121
184
|
onNodeUnresolved: (f) => failures.push(f),
|
|
185
|
+
...(budget ? { probeBudget: budget } : {}),
|
|
122
186
|
});
|
|
123
|
-
|
|
124
|
-
|
|
187
|
+
if (startedAtMs >= unresolvedStartedAtMs) {
|
|
188
|
+
unresolvedNodes = failures;
|
|
189
|
+
unresolvedSweptAt = new Date(startedAtMs).toISOString();
|
|
190
|
+
unresolvedStartedAtMs = startedAtMs;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
// Not an error — a slower sweep that began earlier finished later. Its endpoints are still
|
|
194
|
+
// returned to ITS caller; only the shared reading is left alone.
|
|
195
|
+
logger.info("directory.roster.sweep.superseded", {
|
|
196
|
+
startedAt: new Date(startedAtMs).toISOString(),
|
|
197
|
+
heldReadingStartedAt: new Date(unresolvedStartedAtMs).toISOString(),
|
|
198
|
+
impact: "this sweep's result was discarded for the status reading because a newer measurement is already held.",
|
|
199
|
+
});
|
|
200
|
+
}
|
|
125
201
|
return endpoints;
|
|
126
202
|
};
|
|
203
|
+
/**
|
|
204
|
+
* How many nodes the VERIFIED MANIFEST declares — no probe, no derivation.
|
|
205
|
+
*
|
|
206
|
+
* DOD-M15-ERRSTRING-1 (review MEDIUM-2). The roster-shortfall note first computed
|
|
207
|
+
* `declared = reachable + unresolved`, which silently undercounts: `manifestNodesToEndpoints`
|
|
208
|
+
* also drops nodes for an invalid endpoint and for a peer-id mismatch, and neither calls
|
|
209
|
+
* `onNodeUnresolved`. With 5 declared, 2 peer-id mismatches and 1 probe failure, that arithmetic
|
|
210
|
+
* yields a threshold of 2 and the note reports ceremonies CAN complete — when the real threshold
|
|
211
|
+
* is 3 and they cannot. The line whose job is to name a shortfall would have denied it.
|
|
212
|
+
*
|
|
213
|
+
* Worse, when every drop is a silent one the note is empty — mute on exactly the security-relevant
|
|
214
|
+
* case, since a peer-id mismatch is a node you most want named.
|
|
215
|
+
*/
|
|
216
|
+
const getDeclaredNodeCount = () => manifestProvider?.getCurrentManifest()?.nodes.length ?? null;
|
|
127
217
|
// DECLARED membership, straight off the verified manifest — no probe. Lets the resolver reject a
|
|
128
218
|
// primary that resolves but belongs to a different consortium (the compiled-in default URL after
|
|
129
219
|
// a consortium move) without mistaking a momentarily-down member for a non-member.
|
|
220
|
+
/**
|
|
221
|
+
* DOD-M15-EXPIRY-CONSUMER-POLICY-1 — THE FOURTH CONSUMER, missed by the line's own enumeration and
|
|
222
|
+
* found by its review. The line named three; this is where the residual risk actually lives.
|
|
223
|
+
*
|
|
224
|
+
* This is the consortium MEMBERSHIP set: it lets the resolver reject a directory endpoint that
|
|
225
|
+
* resolves but belongs to a different consortium. Read from a lapsed manifest, a node REMOVED
|
|
226
|
+
* since the lapse is still a member here — so it can still be accepted as the endpoint this daemon
|
|
227
|
+
* talks to, which is the seat that coordinates a ceremony and declares the participant count.
|
|
228
|
+
*
|
|
229
|
+
* **Same verdict as the other two permitting consumers, for the same reason.** Refusing means the
|
|
230
|
+
* resolver can accept no endpoint at all, which takes a running daemon offline for a manifest that
|
|
231
|
+
* was valid when it started — the identical bricking cost, and this one is reached inside the 10 s
|
|
232
|
+
* signaling wait, so it fails fast and silently.
|
|
233
|
+
*
|
|
234
|
+
* **Reported once per manifest version.** This runs per resolution attempt, not per challenge, so
|
|
235
|
+
* a version key is the right granularity — unlike the challenge verifier, where a per-node key was
|
|
236
|
+
* needed because `nodeId` is in the payload.
|
|
237
|
+
*/
|
|
238
|
+
let lapsedMembershipReportedFor = null;
|
|
130
239
|
const getManifestPeerIds = () => {
|
|
131
240
|
const m = manifestProvider?.getCurrentManifest();
|
|
132
241
|
if (!m)
|
|
133
242
|
return null;
|
|
134
243
|
const ids = m.nodes.map((n) => n.peerId).filter((p) => typeof p === "string" && p.length > 0);
|
|
244
|
+
/**
|
|
245
|
+
* ⚠️ REPORT ONLY IF A MEMBERSHIP SET IS ACTUALLY PRODUCED — pass 2, and this is the over-claim
|
|
246
|
+
* class that the register-handler rewording had just fixed, reintroduced by me in the consumer
|
|
247
|
+
* that review asked for.
|
|
248
|
+
*
|
|
249
|
+
* The first version reported BEFORE this filter. `ids.length === 0` returns `null`, and the
|
|
250
|
+
* caller treats `null` as **skip the membership check entirely** — so the event announced that
|
|
251
|
+
* "the set deciding which endpoints this daemon will accept came from a lapsed manifest" when no
|
|
252
|
+
* set was produced and nothing was decided. Not an edge case: `peerId` is OPTIONAL, and
|
|
253
|
+
* manifests written before the field existed carry none — for those the claim is ALWAYS false,
|
|
254
|
+
* and the once-per-version budget is spent saying it.
|
|
255
|
+
*
|
|
256
|
+
* `members` is the FILTERED count for the same reason: the member set is what survives the
|
|
257
|
+
* filter, not how many nodes the manifest lists.
|
|
258
|
+
*/
|
|
259
|
+
const validity = classifyManifestValidity(m, Date.now());
|
|
260
|
+
if (ids.length > 0 && validity.state !== "valid" && validity.state !== "expiring_soon" && lapsedMembershipReportedFor !== m.version) {
|
|
261
|
+
lapsedMembershipReportedFor = m.version;
|
|
262
|
+
logger.warn("directory.membership.manifest.lapsed", {
|
|
263
|
+
manifestVersion: m.version,
|
|
264
|
+
state: validity.state,
|
|
265
|
+
members: ids.length,
|
|
266
|
+
impact: "the set deciding WHICH directory endpoints this daemon will accept came from a manifest " +
|
|
267
|
+
"outside its validity window. A node removed from the consortium since then is still a " +
|
|
268
|
+
"member by this reckoning, so it can still be accepted as the directory this daemon talks " +
|
|
269
|
+
"to — the seat that coordinates a ceremony and declares the participant count.",
|
|
270
|
+
guidance: "Endpoint selection was NOT blocked — refusing here accepts no directory at all and takes " +
|
|
271
|
+
"a running daemon offline. cello_status reports the window and where the manifest came from.",
|
|
272
|
+
});
|
|
273
|
+
}
|
|
135
274
|
return ids.length > 0 ? new Set(ids) : null;
|
|
136
275
|
};
|
|
137
276
|
const failoverEndpointResolver = directoryEndpointResolver
|
|
138
277
|
? createRosterAwareEndpointResolver({
|
|
139
278
|
primaryResolver: directoryEndpointResolver,
|
|
140
|
-
|
|
279
|
+
// FAST_PROBE (review HIGH-1): this resolver runs inside the 10 s signaling wait, and the
|
|
280
|
+
// roster sweep is its slowest leg — Promise.all waits for the slowest node, so one
|
|
281
|
+
// unreachable node cost 16 s here while the failover path had already spent 8 s on the
|
|
282
|
+
// primary. Persistence belongs to startup and the background poll, where nothing waits.
|
|
283
|
+
getConsortiumRoster: () => resolveConsortiumRoster(FAST_PROBE),
|
|
141
284
|
getManifestPeerIds,
|
|
142
285
|
logger,
|
|
143
286
|
})
|
|
@@ -148,6 +291,36 @@ export function createConsortiumRouting(deps) {
|
|
|
148
291
|
// could not). Off on the M6 back-compat path (no scheduler), and off without real root keys: a
|
|
149
292
|
// poll that verifies against an empty key set verifies against nothing.
|
|
150
293
|
let stopHttpManifestPoll;
|
|
294
|
+
/**
|
|
295
|
+
* DOD-M15-DIRAUTH-1 (Andre's quick win #3) — **AN EMPTY KEY SET MUST NOT DISABLE THE POLL IN
|
|
296
|
+
* SILENCE.**
|
|
297
|
+
*
|
|
298
|
+
* The condition below is correct and stays correct: a poll that verifies against no keys verifies
|
|
299
|
+
* against nothing, so it must not run. What was wrong is what happened when that triggered —
|
|
300
|
+
* nothing at all. The daemon started, looked healthy, and simply never adopted a new manifest
|
|
301
|
+
* again, which is the failure mode you discover months later when a rotated directory key is not
|
|
302
|
+
* picked up.
|
|
303
|
+
*
|
|
304
|
+
* ⚠️ THE DISTINCTION THAT MAKES THIS SAFE, and the reason it is not a blanket throw: **"no
|
|
305
|
+
* scheduler" is a legitimate configuration** — the M6 back-compat path deliberately runs without
|
|
306
|
+
* one, and failing startup there would brick a supported setup. **"Scheduler and provider are
|
|
307
|
+
* wired, but the keys are empty" is a MISCONFIGURATION** — someone intended verification and
|
|
308
|
+
* supplied nothing to verify with. Only the second refuses.
|
|
309
|
+
*/
|
|
310
|
+
if (manifestPollScheduler && manifestProvider) {
|
|
311
|
+
const keyCount = manifestRootKeys?.length ?? 0;
|
|
312
|
+
if (keyCount === 0 || !manifestThreshold || manifestThreshold < 1) {
|
|
313
|
+
const detail = `rootKeys=${String(keyCount)} threshold=${String(manifestThreshold ?? 0)}`;
|
|
314
|
+
logger.error("directory.manifest.poll.misconfigured", {
|
|
315
|
+
rootKeyCount: keyCount,
|
|
316
|
+
threshold: manifestThreshold ?? 0,
|
|
317
|
+
impact: "the manifest poll is wired but has no key set to verify against, so it would adopt " +
|
|
318
|
+
"manifests unverified or never adopt one at all — refusing at startup instead of running " +
|
|
319
|
+
"with directory-key rotation silently dead",
|
|
320
|
+
});
|
|
321
|
+
throw new Error(`directory_manifest_poll_misconfigured: ${detail}`);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
151
324
|
if (manifestPollScheduler && manifestProvider && manifestRootKeys && manifestRootKeys.length > 0 && manifestThreshold && manifestThreshold >= 1) {
|
|
152
325
|
stopHttpManifestPoll = startHttpManifestPoll({
|
|
153
326
|
scheduler: manifestPollScheduler,
|
|
@@ -160,6 +333,6 @@ export function createConsortiumRouting(deps) {
|
|
|
160
333
|
mintCorrelationId: () => randomUUID(),
|
|
161
334
|
});
|
|
162
335
|
}
|
|
163
|
-
return { resolveConsortiumRoster, failoverEndpointResolver, getFailoverEndpoint, getUnresolvedNodes, getUnresolvedSweptAt, stopHttpManifestPoll };
|
|
336
|
+
return { resolveConsortiumRoster, failoverEndpointResolver, getFailoverEndpoint, getUnresolvedNodes, getUnresolvedSweptAt, getDeclaredNodeCount, stopHttpManifestPoll };
|
|
164
337
|
}
|
|
165
338
|
//# sourceMappingURL=consortium-bootstrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consortium-bootstrap.js","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"consortium-bootstrap.js","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHY A SESSION HAS NO AGREED CONTENT KEY — `DOD-M15-EPHEMERAL-AUTH-1` (007-CRYPTO).
|
|
3
|
+
*
|
|
4
|
+
* ─── The rule, and it is deliberately absolute ─────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* **A live message body is encrypted under the agreed session key, or it is not sent.** There is no
|
|
7
|
+
* degraded mode, no "unencrypted but visibly so", and no negotiation.
|
|
8
|
+
*
|
|
9
|
+
* That is not strictness for its own sake — it is what removes an entire class of defect. A
|
|
10
|
+
* fallback to plaintext is a thing an attacker steers a session into: strip the key frame, and a
|
|
11
|
+
* system that "carries on, visibly degraded" hands over exactly the plaintext the attacker wanted,
|
|
12
|
+
* while the operator sees a warning they have learned to scroll past. The salt can degrade because
|
|
13
|
+
* a missing salt costs a correlation property; a missing KEY costs the message.
|
|
14
|
+
*
|
|
15
|
+
* ⚠️ AND THERE IS NO COMPATIBILITY CASE TO SERVE. CELLO is pre-launch with no external installs, so
|
|
16
|
+
* "the counterparty is on a build that predates this" is not a state anything is in. Every reason
|
|
17
|
+
* below is a FAULT — local, transient, or a counterparty that did not complete an exchange it is
|
|
18
|
+
* running the code for. None of them is an accepted steady state, and none of them may be described
|
|
19
|
+
* to an operator as one.
|
|
20
|
+
*
|
|
21
|
+
* ─── Not the same question as the salt ─────────────────────────────────────────────────────────
|
|
22
|
+
*
|
|
23
|
+
* `content_hashes_salted` is about a relay CONFIRMING a guess at a stored hash. This is about a
|
|
24
|
+
* relay READING the message. A session can be salted and unencrypted; it cannot send while
|
|
25
|
+
* unencrypted.
|
|
26
|
+
*
|
|
27
|
+
* ─── Why a closed set and a total map ──────────────────────────────────────────────────────────
|
|
28
|
+
*
|
|
29
|
+
* Copied from `refusal-reasons.ts`, which exists because a free-form `reason: string` let a new code
|
|
30
|
+
* slip past every test in its own guard file. A `Record` over the union means a reason cannot be
|
|
31
|
+
* added without something for the reader to do about it.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* The `content_encryption` marker on a `content_frame`, naming the scheme its body is under.
|
|
35
|
+
*
|
|
36
|
+
* On the WIRE rather than inferred, so a receiver never has to guess a layout from a length — and
|
|
37
|
+
* ABSENT is refused rather than read as plaintext. There is no unencrypted sender to accommodate, so
|
|
38
|
+
* a missing marker is not "an old peer", it is a frame something rewrote.
|
|
39
|
+
*/
|
|
40
|
+
export declare const SESSION_CONTENT_ENCRYPTION_V1 = "session-aes-256-gcm-v1";
|
|
41
|
+
export declare const CONTENT_ENCRYPTION_REASONS: {
|
|
42
|
+
/**
|
|
43
|
+
* The exchange has not finished yet. Transient, and the ordinary state for the instant between a
|
|
44
|
+
* session opening and its first connect completing.
|
|
45
|
+
*/
|
|
46
|
+
readonly NOT_YET_AGREED: "not_yet_agreed";
|
|
47
|
+
/**
|
|
48
|
+
* THIS machine has no identity key to sign its half with, so it cannot take part at all.
|
|
49
|
+
*
|
|
50
|
+
* Local setup fault — a signing-only or threshold provider, or an agent loaded without one. Named
|
|
51
|
+
* apart from the peer cases because "we could not sign" and "they did not answer" send the
|
|
52
|
+
* operator to opposite machines.
|
|
53
|
+
*/
|
|
54
|
+
readonly NO_LOCAL_IDENTITY: "no_local_identity";
|
|
55
|
+
/** THIS side's half never left the machine. Local and transient; the next connect re-announces. */
|
|
56
|
+
readonly OUR_ANNOUNCE_FAILED: "our_announce_failed";
|
|
57
|
+
/**
|
|
58
|
+
* TERMINAL. The peer's key could not be tied to them and the session was stopped.
|
|
59
|
+
*
|
|
60
|
+
* ⚠️ THIS MUST SURVIVE THE TEARDOWN THAT FOLLOWS IT — review F2. The freeze destroys the session's
|
|
61
|
+
* key material, and clearing the reason with it left the listing recomputing `NOT_YET_AGREED`, so
|
|
62
|
+
* the one detection in this unit that means *someone may be substituting keys on your connection*
|
|
63
|
+
* reached the agent as "still agreeing, please wait". A security refusal that reads as a
|
|
64
|
+
* reassurance is worse than silence.
|
|
65
|
+
*/
|
|
66
|
+
readonly KEY_REFUSED: "key_refused";
|
|
67
|
+
/**
|
|
68
|
+
* The counterparty never sent their half.
|
|
69
|
+
*
|
|
70
|
+
* NOT "they are on an old build" — they are running this code. Something between the two of you
|
|
71
|
+
* dropped the frame, or their daemon is not answering.
|
|
72
|
+
*/
|
|
73
|
+
readonly PEER_SILENT: "peer_silent";
|
|
74
|
+
};
|
|
75
|
+
export type ContentEncryptionReason = (typeof CONTENT_ENCRYPTION_REASONS)[keyof typeof CONTENT_ENCRYPTION_REASONS];
|
|
76
|
+
/**
|
|
77
|
+
* What the operator should DO. TOTAL over the union by construction.
|
|
78
|
+
*
|
|
79
|
+
* ⚠️ EVERY ENTRY NAMES A VERB THE READER CAN PERFORM, and none of them says "this is expected" —
|
|
80
|
+
* because none of these is. An affordance that resolves to nothing is worse than none, and a
|
|
81
|
+
* reassurance attached to a fault is worse than both.
|
|
82
|
+
*/
|
|
83
|
+
export declare const CONTENT_ENCRYPTION_GUIDANCE: Record<ContentEncryptionReason, string>;
|
|
84
|
+
/**
|
|
85
|
+
* Render a reason for an agent.
|
|
86
|
+
*
|
|
87
|
+
* ⚠️ NO UNKNOWN-REASON FALLBACK, deliberately. The value is produced and consumed in one process
|
|
88
|
+
* from the closed set above — there is no column it is read back from and no other build writing
|
|
89
|
+
* one, so a "reason this version does not recognise" is a state nothing can be in. An earlier cut
|
|
90
|
+
* carried that branch anyway and described the value as coming off a database row, which was simply
|
|
91
|
+
* untrue. Unreachable defensive code that states a false provenance is worse than no code: it reads
|
|
92
|
+
* as a considered case and it is scaffolding for a world that does not exist.
|
|
93
|
+
*
|
|
94
|
+
* The map is TOTAL over the union, so the type is the check.
|
|
95
|
+
*/
|
|
96
|
+
export declare function contentEncryptionGuidanceFor(reason: ContentEncryptionReason): string;
|
|
97
|
+
//# sourceMappingURL=content-encryption-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-encryption-status.d.ts","sourceRoot":"","sources":["../src/content-encryption-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,2BAA2B,CAAC;AAEtE,eAAO,MAAM,0BAA0B;IACrC;;;OAGG;;IAEH;;;;;;OAMG;;IAEH,mGAAmG;;IAEnG;;;;;;;;OAQG;;IAEH;;;;;OAKG;;CAEK,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAC;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CA6B/E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAEpF"}
|