@cello-protocol/daemon 0.0.227 → 0.0.229
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 +56 -0
- package/dist/agent-admin-handlers.d.ts.map +1 -0
- package/dist/agent-admin-handlers.js +73 -0
- package/dist/agent-admin-handlers.js.map +1 -0
- package/dist/agent-handlers.d.ts +72 -0
- package/dist/agent-handlers.d.ts.map +1 -0
- package/dist/agent-handlers.js +604 -0
- package/dist/agent-handlers.js.map +1 -0
- package/dist/agent-id-migration.d.ts +70 -0
- package/dist/agent-id-migration.d.ts.map +1 -0
- package/dist/agent-id-migration.js +468 -0
- package/dist/agent-id-migration.js.map +1 -0
- package/dist/agent-loader.d.ts +37 -0
- package/dist/agent-loader.d.ts.map +1 -0
- package/dist/agent-loader.js +37 -0
- package/dist/agent-loader.js.map +1 -0
- package/dist/agent-selection-root.d.ts +29 -0
- package/dist/agent-selection-root.d.ts.map +1 -0
- package/dist/agent-selection-root.js +126 -0
- package/dist/agent-selection-root.js.map +1 -0
- 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 +52 -0
- package/dist/agent-settings-keys.d.ts.map +1 -0
- package/dist/agent-settings-keys.js +114 -0
- package/dist/agent-settings-keys.js.map +1 -0
- package/dist/agent-state.d.ts +67 -0
- package/dist/agent-state.d.ts.map +1 -0
- package/dist/agent-state.js +66 -0
- package/dist/agent-state.js.map +1 -0
- package/dist/assignment-verify.d.ts +90 -0
- package/dist/assignment-verify.d.ts.map +1 -0
- package/dist/assignment-verify.js +301 -0
- package/dist/assignment-verify.js.map +1 -0
- package/dist/attendance-wiring.d.ts +23 -0
- package/dist/attendance-wiring.d.ts.map +1 -0
- package/dist/attendance-wiring.js +248 -0
- package/dist/attendance-wiring.js.map +1 -0
- package/dist/attestation-body.d.ts +47 -0
- package/dist/attestation-body.d.ts.map +1 -0
- package/dist/attestation-body.js +71 -0
- package/dist/attestation-body.js.map +1 -0
- package/dist/authorship-verification.d.ts +91 -0
- package/dist/authorship-verification.d.ts.map +1 -0
- package/dist/authorship-verification.js +532 -0
- package/dist/authorship-verification.js.map +1 -0
- package/dist/away-detection.d.ts +139 -0
- package/dist/away-detection.d.ts.map +1 -0
- package/dist/away-detection.js +186 -0
- package/dist/away-detection.js.map +1 -0
- package/dist/away-inbox-oneshot.d.ts +40 -0
- package/dist/away-inbox-oneshot.d.ts.map +1 -0
- package/dist/away-inbox-oneshot.js +311 -0
- package/dist/away-inbox-oneshot.js.map +1 -0
- package/dist/backup-restore-handlers.d.ts +10 -0
- package/dist/backup-restore-handlers.d.ts.map +1 -0
- package/dist/backup-restore-handlers.js +82 -0
- package/dist/backup-restore-handlers.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 +341 -0
- package/dist/backup-restore.js.map +1 -0
- package/dist/bin/cello-daemon.d.ts +13 -0
- package/dist/bin/cello-daemon.d.ts.map +1 -0
- package/dist/bin/cello-daemon.js.map +1 -0
- package/dist/boot-agents.d.ts +64 -0
- package/dist/boot-agents.d.ts.map +1 -0
- package/dist/boot-agents.js +241 -0
- package/dist/boot-agents.js.map +1 -0
- package/dist/boot-connection-state.d.ts +38 -0
- package/dist/boot-connection-state.d.ts.map +1 -0
- package/dist/boot-connection-state.js +95 -0
- package/dist/boot-connection-state.js.map +1 -0
- package/dist/boot-core.d.ts +36 -0
- package/dist/boot-core.d.ts.map +1 -0
- package/dist/boot-core.js +293 -0
- package/dist/boot-core.js.map +1 -0
- package/dist/boot-parked-content.d.ts +34 -0
- package/dist/boot-parked-content.d.ts.map +1 -0
- package/dist/boot-parked-content.js +528 -0
- package/dist/boot-parked-content.js.map +1 -0
- package/dist/boot-sweeps.d.ts +22 -0
- package/dist/boot-sweeps.d.ts.map +1 -0
- package/dist/boot-sweeps.js +51 -0
- package/dist/boot-sweeps.js.map +1 -0
- package/dist/bundled-consortium-manifest.d.ts +47 -0
- package/dist/bundled-consortium-manifest.d.ts.map +1 -0
- package/dist/bundled-consortium-manifest.js +116 -0
- package/dist/bundled-consortium-manifest.js.map +1 -0
- package/dist/cbor-blob-migration.d.ts +8 -0
- package/dist/cbor-blob-migration.d.ts.map +1 -0
- package/dist/cbor-blob-migration.js +116 -0
- package/dist/cbor-blob-migration.js.map +1 -0
- package/dist/challenge-verifier.d.ts +12 -0
- package/dist/challenge-verifier.d.ts.map +1 -0
- package/dist/challenge-verifier.js +11 -0
- package/dist/challenge-verifier.js.map +1 -0
- package/dist/channel-log-store.d.ts +80 -0
- package/dist/channel-log-store.d.ts.map +1 -0
- package/dist/channel-log-store.js +290 -0
- package/dist/channel-log-store.js.map +1 -0
- 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 +94 -0
- package/dist/close-session-handler.d.ts.map +1 -0
- package/dist/close-session-handler.js +1418 -0
- package/dist/close-session-handler.js.map +1 -0
- package/dist/co-attendance.d.ts +29 -0
- package/dist/co-attendance.d.ts.map +1 -0
- package/dist/co-attendance.js +32 -0
- package/dist/co-attendance.js.map +1 -0
- package/dist/column-birth.d.ts +40 -0
- package/dist/column-birth.d.ts.map +1 -0
- package/dist/column-birth.js +61 -0
- package/dist/column-birth.js.map +1 -0
- package/dist/connect-or-start.d.ts +25 -0
- package/dist/connect-or-start.d.ts.map +1 -0
- package/dist/connect-or-start.js +175 -0
- package/dist/connect-or-start.js.map +1 -0
- package/dist/connection-agents.d.ts +16 -0
- package/dist/connection-agents.d.ts.map +1 -0
- package/dist/connection-agents.js +68 -0
- package/dist/connection-agents.js.map +1 -0
- package/dist/consent-migration.d.ts +49 -0
- package/dist/consent-migration.d.ts.map +1 -0
- package/dist/consent-migration.js +128 -0
- package/dist/consent-migration.js.map +1 -0
- package/dist/consortium-bootstrap.d.ts +138 -0
- package/dist/consortium-bootstrap.d.ts.map +1 -0
- package/dist/consortium-bootstrap.js +339 -0
- package/dist/consortium-bootstrap.js.map +1 -0
- 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/contact-handlers.d.ts +59 -0
- package/dist/contact-handlers.d.ts.map +1 -0
- package/dist/contact-handlers.js +343 -0
- package/dist/contact-handlers.js.map +1 -0
- package/dist/contact-pubkey-case.d.ts +65 -0
- package/dist/contact-pubkey-case.d.ts.map +1 -0
- package/dist/contact-pubkey-case.js +136 -0
- package/dist/contact-pubkey-case.js.map +1 -0
- package/dist/contacts-tier-migration.d.ts +90 -0
- package/dist/contacts-tier-migration.d.ts.map +1 -0
- package/dist/contacts-tier-migration.js +150 -0
- package/dist/contacts-tier-migration.js.map +1 -0
- package/dist/content-encryption-status.d.ts +111 -0
- package/dist/content-encryption-status.d.ts.map +1 -0
- package/dist/content-encryption-status.js +158 -0
- package/dist/content-encryption-status.js.map +1 -0
- package/dist/content-park-client.d.ts +90 -0
- package/dist/content-park-client.d.ts.map +1 -0
- package/dist/content-park-client.js +362 -0
- package/dist/content-park-client.js.map +1 -0
- package/dist/content-park.d.ts +52 -0
- package/dist/content-park.d.ts.map +1 -0
- package/dist/content-park.js +1309 -0
- package/dist/content-park.js.map +1 -0
- package/dist/cross-node-negotiation.d.ts +44 -0
- package/dist/cross-node-negotiation.d.ts.map +1 -0
- package/dist/cross-node-negotiation.js +34 -0
- package/dist/cross-node-negotiation.js.map +1 -0
- package/dist/daemon-handle.d.ts +57 -0
- package/dist/daemon-handle.d.ts.map +1 -0
- package/dist/daemon-handle.js +2 -0
- package/dist/daemon-handle.js.map +1 -0
- package/dist/daemon-status-report.d.ts +50 -0
- package/dist/daemon-status-report.d.ts.map +1 -0
- package/dist/daemon-status-report.js +81 -0
- package/dist/daemon-status-report.js.map +1 -0
- package/dist/daemon.d.ts +45 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +1177 -0
- package/dist/daemon.js.map +1 -0
- package/dist/db-identity-store.d.ts +159 -0
- package/dist/db-identity-store.d.ts.map +1 -0
- package/dist/db-identity-store.js +502 -0
- package/dist/db-identity-store.js.map +1 -0
- package/dist/delivery-open-registry.d.ts +92 -0
- package/dist/delivery-open-registry.d.ts.map +1 -0
- package/dist/delivery-open-registry.js +121 -0
- package/dist/delivery-open-registry.js.map +1 -0
- package/dist/delivery-session-suspects.d.ts +56 -0
- package/dist/delivery-session-suspects.d.ts.map +1 -0
- package/dist/delivery-session-suspects.js +94 -0
- package/dist/delivery-session-suspects.js.map +1 -0
- 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 +310 -0
- package/dist/directory-bootstrap.d.ts.map +1 -0
- package/dist/directory-bootstrap.js +557 -0
- package/dist/directory-bootstrap.js.map +1 -0
- package/dist/directory-connect.d.ts +27 -0
- package/dist/directory-connect.d.ts.map +1 -0
- package/dist/directory-connect.js +106 -0
- package/dist/directory-connect.js.map +1 -0
- package/dist/disconnect-cleanup.d.ts +51 -0
- package/dist/disconnect-cleanup.d.ts.map +1 -0
- package/dist/disconnect-cleanup.js +72 -0
- package/dist/disconnect-cleanup.js.map +1 -0
- package/dist/document-amendment-store.d.ts +120 -0
- package/dist/document-amendment-store.d.ts.map +1 -0
- package/dist/document-amendment-store.js +266 -0
- package/dist/document-amendment-store.js.map +1 -0
- package/dist/document-delivery-transport.d.ts +168 -0
- package/dist/document-delivery-transport.d.ts.map +1 -0
- package/dist/document-delivery-transport.js +206 -0
- package/dist/document-delivery-transport.js.map +1 -0
- package/dist/document-engine.d.ts +134 -0
- package/dist/document-engine.d.ts.map +1 -0
- package/dist/document-engine.js +282 -0
- package/dist/document-engine.js.map +1 -0
- 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-frame-router.d.ts +245 -0
- package/dist/document-frame-router.d.ts.map +1 -0
- package/dist/document-frame-router.js +397 -0
- package/dist/document-frame-router.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 +125 -0
- package/dist/document-gate-wiring.js.map +1 -0
- package/dist/document-gate.d.ts +149 -0
- package/dist/document-gate.d.ts.map +1 -0
- package/dist/document-gate.js +509 -0
- package/dist/document-gate.js.map +1 -0
- package/dist/document-handlers.d.ts +47 -0
- package/dist/document-handlers.d.ts.map +1 -0
- package/dist/document-handlers.js +2203 -0
- package/dist/document-handlers.js.map +1 -0
- package/dist/document-handshake.d.ts +176 -0
- package/dist/document-handshake.d.ts.map +1 -0
- package/dist/document-handshake.js +452 -0
- package/dist/document-handshake.js.map +1 -0
- package/dist/document-inbound.d.ts +162 -0
- package/dist/document-inbound.d.ts.map +1 -0
- package/dist/document-inbound.js +530 -0
- package/dist/document-inbound.js.map +1 -0
- package/dist/document-json.d.ts +120 -0
- package/dist/document-json.d.ts.map +1 -0
- package/dist/document-json.js +191 -0
- package/dist/document-json.js.map +1 -0
- package/dist/document-layer.d.ts +215 -0
- package/dist/document-layer.d.ts.map +1 -0
- package/dist/document-layer.js +1025 -0
- package/dist/document-layer.js.map +1 -0
- package/dist/document-lifecycle.d.ts +52 -0
- package/dist/document-lifecycle.d.ts.map +1 -0
- package/dist/document-lifecycle.js +134 -0
- package/dist/document-lifecycle.js.map +1 -0
- package/dist/document-live-docs.d.ts +58 -0
- package/dist/document-live-docs.d.ts.map +1 -0
- package/dist/document-live-docs.js +126 -0
- package/dist/document-live-docs.js.map +1 -0
- package/dist/document-notify.d.ts +228 -0
- package/dist/document-notify.d.ts.map +1 -0
- package/dist/document-notify.js +580 -0
- package/dist/document-notify.js.map +1 -0
- package/dist/document-profile.d.ts +61 -0
- package/dist/document-profile.d.ts.map +1 -0
- package/dist/document-profile.js +112 -0
- package/dist/document-profile.js.map +1 -0
- package/dist/document-publish.d.ts +87 -0
- package/dist/document-publish.d.ts.map +1 -0
- package/dist/document-publish.js +173 -0
- package/dist/document-publish.js.map +1 -0
- package/dist/document-reachability.d.ts +42 -0
- package/dist/document-reachability.d.ts.map +1 -0
- package/dist/document-reachability.js +80 -0
- package/dist/document-reachability.js.map +1 -0
- package/dist/document-reconcile-engine.d.ts +66 -0
- package/dist/document-reconcile-engine.d.ts.map +1 -0
- package/dist/document-reconcile-engine.js +225 -0
- package/dist/document-reconcile-engine.js.map +1 -0
- package/dist/document-reconcile-scheduler.d.ts +163 -0
- package/dist/document-reconcile-scheduler.d.ts.map +1 -0
- package/dist/document-reconcile-scheduler.js +303 -0
- package/dist/document-reconcile-scheduler.js.map +1 -0
- package/dist/document-rejection.d.ts +251 -0
- package/dist/document-rejection.d.ts.map +1 -0
- package/dist/document-rejection.js +435 -0
- package/dist/document-rejection.js.map +1 -0
- package/dist/document-screen.d.ts +114 -0
- package/dist/document-screen.d.ts.map +1 -0
- package/dist/document-screen.js +223 -0
- package/dist/document-screen.js.map +1 -0
- package/dist/document-store.d.ts +372 -0
- package/dist/document-store.d.ts.map +1 -0
- package/dist/document-store.js +931 -0
- package/dist/document-store.js.map +1 -0
- package/dist/document-surface.d.ts +32 -0
- package/dist/document-surface.d.ts.map +1 -0
- package/dist/document-surface.js +151 -0
- package/dist/document-surface.js.map +1 -0
- package/dist/document-types.d.ts +94 -0
- package/dist/document-types.d.ts.map +1 -0
- package/dist/document-types.js +90 -0
- package/dist/document-types.js.map +1 -0
- package/dist/document-watch.d.ts +69 -0
- package/dist/document-watch.d.ts.map +1 -0
- package/dist/document-watch.js +108 -0
- package/dist/document-watch.js.map +1 -0
- package/dist/document-wiring.d.ts +53 -0
- package/dist/document-wiring.d.ts.map +1 -0
- package/dist/document-wiring.js +323 -0
- package/dist/document-wiring.js.map +1 -0
- package/dist/document-write-guard.d.ts +66 -0
- package/dist/document-write-guard.d.ts.map +1 -0
- package/dist/document-write-guard.js +98 -0
- package/dist/document-write-guard.js.map +1 -0
- package/dist/document-write-path.d.ts +94 -0
- package/dist/document-write-path.d.ts.map +1 -0
- package/dist/document-write-path.js +530 -0
- package/dist/document-write-path.js.map +1 -0
- package/dist/error-message.d.ts +7 -0
- package/dist/error-message.d.ts.map +1 -0
- package/dist/error-message.js +19 -0
- package/dist/error-message.js.map +1 -0
- package/dist/file-manifest-provider.d.ts +37 -0
- package/dist/file-manifest-provider.d.ts.map +1 -0
- package/dist/file-manifest-provider.js +105 -0
- package/dist/file-manifest-provider.js.map +1 -0
- package/dist/frame-values.d.ts +3 -0
- package/dist/frame-values.d.ts.map +1 -0
- package/dist/frame-values.js +84 -0
- package/dist/frame-values.js.map +1 -0
- package/dist/frontier-mismatch.d.ts +73 -0
- package/dist/frontier-mismatch.d.ts.map +1 -0
- package/dist/frontier-mismatch.js +89 -0
- package/dist/frontier-mismatch.js.map +1 -0
- package/dist/gateway-config-handlers.d.ts +26 -0
- package/dist/gateway-config-handlers.d.ts.map +1 -0
- package/dist/gateway-config-handlers.js +454 -0
- package/dist/gateway-config-handlers.js.map +1 -0
- package/dist/held-content.d.ts +145 -0
- package/dist/held-content.d.ts.map +1 -0
- package/dist/held-content.js +389 -0
- package/dist/held-content.js.map +1 -0
- package/dist/http-manifest-poll.d.ts +67 -0
- package/dist/http-manifest-poll.d.ts.map +1 -0
- package/dist/http-manifest-poll.js +150 -0
- package/dist/http-manifest-poll.js.map +1 -0
- package/dist/identity-migration.d.ts +40 -0
- package/dist/identity-migration.d.ts.map +1 -0
- package/dist/identity-migration.js +461 -0
- package/dist/identity-migration.js.map +1 -0
- package/dist/inbound-refusals.d.ts +283 -0
- package/dist/inbound-refusals.d.ts.map +1 -0
- package/dist/inbound-refusals.js +919 -0
- package/dist/inbound-refusals.js.map +1 -0
- package/dist/inbound-seal-request.d.ts +32 -0
- package/dist/inbound-seal-request.d.ts.map +1 -0
- package/dist/inbound-seal-request.js +228 -0
- package/dist/inbound-seal-request.js.map +1 -0
- package/dist/inbound-sessions.d.ts +291 -0
- package/dist/inbound-sessions.d.ts.map +1 -0
- package/dist/inbound-sessions.js +1609 -0
- package/dist/inbound-sessions.js.map +1 -0
- package/dist/inclusion-proof-handlers.d.ts +43 -0
- package/dist/inclusion-proof-handlers.d.ts.map +1 -0
- package/dist/inclusion-proof-handlers.js +565 -0
- package/dist/inclusion-proof-handlers.js.map +1 -0
- package/dist/inclusion-proof.d.ts +151 -0
- package/dist/inclusion-proof.d.ts.map +1 -0
- package/dist/inclusion-proof.js +228 -0
- package/dist/inclusion-proof.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/initiate-session-handler.d.ts +55 -0
- package/dist/initiate-session-handler.d.ts.map +1 -0
- package/dist/initiate-session-handler.js +310 -0
- package/dist/initiate-session-handler.js.map +1 -0
- package/dist/ipc-client.d.ts +31 -0
- package/dist/ipc-client.d.ts.map +1 -0
- package/dist/ipc-client.js +113 -0
- package/dist/ipc-client.js.map +1 -0
- package/dist/ipc-server.d.ts +63 -0
- package/dist/ipc-server.d.ts.map +1 -0
- package/dist/ipc-server.js +429 -0
- package/dist/ipc-server.js.map +1 -0
- package/dist/ipc-surface.d.ts +44 -0
- package/dist/ipc-surface.d.ts.map +1 -0
- package/dist/ipc-surface.js +107 -0
- package/dist/ipc-surface.js.map +1 -0
- package/dist/line-lcs.d.ts +51 -0
- package/dist/line-lcs.d.ts.map +1 -0
- package/dist/line-lcs.js +71 -0
- package/dist/line-lcs.js.map +1 -0
- package/dist/lock-file.d.ts +39 -0
- package/dist/lock-file.d.ts.map +1 -0
- package/dist/lock-file.js +120 -0
- package/dist/lock-file.js.map +1 -0
- package/dist/log-collapse.d.ts +66 -0
- package/dist/log-collapse.d.ts.map +1 -0
- package/dist/log-collapse.js +244 -0
- package/dist/log-collapse.js.map +1 -0
- package/dist/log-rotate.d.ts +67 -0
- package/dist/log-rotate.d.ts.map +1 -0
- package/dist/log-rotate.js +134 -0
- package/dist/log-rotate.js.map +1 -0
- package/dist/manifest-deps.d.ts +25 -0
- package/dist/manifest-deps.d.ts.map +1 -0
- package/dist/manifest-deps.js +151 -0
- package/dist/manifest-deps.js.map +1 -0
- package/dist/manifest-poll-scheduler.d.ts +31 -0
- package/dist/manifest-poll-scheduler.d.ts.map +1 -0
- package/dist/manifest-poll-scheduler.js +59 -0
- package/dist/manifest-poll-scheduler.js.map +1 -0
- 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/manifest-version-store-db.d.ts +24 -0
- package/dist/manifest-version-store-db.d.ts.map +1 -0
- package/dist/manifest-version-store-db.js +58 -0
- package/dist/manifest-version-store-db.js.map +1 -0
- package/dist/manifest-version-store.d.ts +16 -0
- package/dist/manifest-version-store.d.ts.map +1 -0
- package/dist/manifest-version-store.js +15 -0
- package/dist/manifest-version-store.js.map +1 -0
- package/dist/network-directory-node.d.ts +136 -0
- package/dist/network-directory-node.d.ts.map +1 -0
- package/dist/network-directory-node.js +810 -0
- package/dist/network-directory-node.js.map +1 -0
- package/dist/nonce-dedup.d.ts +68 -0
- package/dist/nonce-dedup.d.ts.map +1 -0
- package/dist/nonce-dedup.js +205 -0
- package/dist/nonce-dedup.js.map +1 -0
- package/dist/notification-dispatcher.d.ts +92 -0
- package/dist/notification-dispatcher.d.ts.map +1 -0
- package/dist/notification-dispatcher.js +210 -0
- package/dist/notification-dispatcher.js.map +1 -0
- package/dist/notification-handlers.d.ts +53 -0
- package/dist/notification-handlers.d.ts.map +1 -0
- package/dist/notification-handlers.js +461 -0
- package/dist/notification-handlers.js.map +1 -0
- package/dist/onboarding-guidance.d.ts +79 -0
- package/dist/onboarding-guidance.d.ts.map +1 -0
- package/dist/onboarding-guidance.js +95 -0
- package/dist/onboarding-guidance.js.map +1 -0
- package/dist/operator-guidance.d.ts +25 -0
- package/dist/operator-guidance.d.ts.map +1 -0
- package/dist/operator-guidance.js +50 -0
- package/dist/operator-guidance.js.map +1 -0
- package/dist/orphan-triage.d.ts +130 -0
- package/dist/orphan-triage.d.ts.map +1 -0
- package/dist/orphan-triage.js +207 -0
- package/dist/orphan-triage.js.map +1 -0
- package/dist/outbound-sessions.d.ts +126 -0
- package/dist/outbound-sessions.d.ts.map +1 -0
- package/dist/outbound-sessions.js +1052 -0
- package/dist/outbound-sessions.js.map +1 -0
- package/dist/park-envelope.d.ts +329 -0
- package/dist/park-envelope.d.ts.map +1 -0
- package/dist/park-envelope.js +509 -0
- package/dist/park-envelope.js.map +1 -0
- package/dist/park-recovery.d.ts +273 -0
- package/dist/park-recovery.d.ts.map +1 -0
- package/dist/park-recovery.js +717 -0
- package/dist/park-recovery.js.map +1 -0
- package/dist/park-refusals.d.ts +147 -0
- package/dist/park-refusals.d.ts.map +1 -0
- package/dist/park-refusals.js +331 -0
- package/dist/park-refusals.js.map +1 -0
- package/dist/quarantine-framing.d.ts +92 -0
- package/dist/quarantine-framing.d.ts.map +1 -0
- package/dist/quarantine-framing.js +111 -0
- package/dist/quarantine-framing.js.map +1 -0
- package/dist/reconnect-drain.d.ts +22 -0
- package/dist/reconnect-drain.d.ts.map +1 -0
- package/dist/reconnect-drain.js +65 -0
- package/dist/reconnect-drain.js.map +1 -0
- package/dist/recovered-position.d.ts +14 -0
- package/dist/recovered-position.d.ts.map +1 -0
- package/dist/recovered-position.js +59 -0
- package/dist/recovered-position.js.map +1 -0
- package/dist/refusal-notices.d.ts +196 -0
- package/dist/refusal-notices.d.ts.map +1 -0
- package/dist/refusal-notices.js +516 -0
- package/dist/refusal-notices.js.map +1 -0
- package/dist/refusal-reasons.d.ts +245 -0
- package/dist/refusal-reasons.d.ts.map +1 -0
- package/dist/refusal-reasons.js +363 -0
- package/dist/refusal-reasons.js.map +1 -0
- package/dist/register-handler.d.ts +36 -0
- package/dist/register-handler.d.ts.map +1 -0
- package/dist/register-handler.js +285 -0
- package/dist/register-handler.js.map +1 -0
- package/dist/registration-context.d.ts +72 -0
- package/dist/registration-context.d.ts.map +1 -0
- package/dist/registration-context.js +126 -0
- package/dist/registration-context.js.map +1 -0
- package/dist/registration-manager.d.ts +94 -0
- package/dist/registration-manager.d.ts.map +1 -0
- package/dist/registration-manager.js +585 -0
- package/dist/registration-manager.js.map +1 -0
- package/dist/registration-persistence.d.ts +183 -0
- package/dist/registration-persistence.d.ts.map +1 -0
- package/dist/registration-persistence.js +263 -0
- package/dist/registration-persistence.js.map +1 -0
- package/dist/registry-poll.d.ts +52 -0
- package/dist/registry-poll.d.ts.map +1 -0
- package/dist/registry-poll.js +140 -0
- package/dist/registry-poll.js.map +1 -0
- package/dist/registry-version-store-db.d.ts +22 -0
- package/dist/registry-version-store-db.d.ts.map +1 -0
- package/dist/registry-version-store-db.js +50 -0
- package/dist/registry-version-store-db.js.map +1 -0
- package/dist/relay-endpoints.d.ts +18 -0
- package/dist/relay-endpoints.d.ts.map +1 -0
- package/dist/relay-endpoints.js +9 -0
- package/dist/relay-endpoints.js.map +1 -0
- package/dist/relay-only.d.ts +140 -0
- package/dist/relay-only.d.ts.map +1 -0
- package/dist/relay-only.js +193 -0
- package/dist/relay-only.js.map +1 -0
- package/dist/relay-receipt-store.d.ts +155 -0
- package/dist/relay-receipt-store.d.ts.map +1 -0
- package/dist/relay-receipt-store.js +284 -0
- package/dist/relay-receipt-store.js.map +1 -0
- package/dist/relay-reconnect.d.ts +32 -0
- package/dist/relay-reconnect.d.ts.map +1 -0
- package/dist/relay-reconnect.js +29 -0
- package/dist/relay-reconnect.js.map +1 -0
- package/dist/reply-lag.d.ts +11 -0
- package/dist/reply-lag.d.ts.map +1 -0
- package/dist/reply-lag.js +46 -0
- package/dist/reply-lag.js.map +1 -0
- package/dist/resolve-named-agent.d.ts +49 -0
- package/dist/resolve-named-agent.d.ts.map +1 -0
- package/dist/resolve-named-agent.js +77 -0
- package/dist/resolve-named-agent.js.map +1 -0
- package/dist/restart-seal-resolver.d.ts +110 -0
- package/dist/restart-seal-resolver.d.ts.map +1 -0
- package/dist/restart-seal-resolver.js +353 -0
- package/dist/restart-seal-resolver.js.map +1 -0
- package/dist/resume-last-seen.d.ts +15 -0
- package/dist/resume-last-seen.d.ts.map +1 -0
- package/dist/resume-last-seen.js +44 -0
- package/dist/resume-last-seen.js.map +1 -0
- package/dist/retry-queue.d.ts +203 -0
- package/dist/retry-queue.d.ts.map +1 -0
- package/dist/retry-queue.js +701 -0
- package/dist/retry-queue.js.map +1 -0
- package/dist/roster-freshness.d.ts +160 -0
- package/dist/roster-freshness.d.ts.map +1 -0
- package/dist/roster-freshness.js +250 -0
- package/dist/roster-freshness.js.map +1 -0
- package/dist/screening-status.d.ts +15 -0
- package/dist/screening-status.d.ts.map +1 -0
- package/dist/screening-status.js +65 -0
- package/dist/screening-status.js.map +1 -0
- 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-certificate-pull.d.ts +79 -0
- package/dist/seal-certificate-pull.d.ts.map +1 -0
- package/dist/seal-certificate-pull.js +186 -0
- package/dist/seal-certificate-pull.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 +118 -0
- package/dist/seal-coordinator.d.ts.map +1 -0
- package/dist/seal-coordinator.js +927 -0
- package/dist/seal-coordinator.js.map +1 -0
- package/dist/seal-escalation.d.ts +80 -0
- package/dist/seal-escalation.d.ts.map +1 -0
- package/dist/seal-escalation.js +283 -0
- package/dist/seal-escalation.js.map +1 -0
- package/dist/seal-evidence-root-check.d.ts +70 -0
- package/dist/seal-evidence-root-check.d.ts.map +1 -0
- package/dist/seal-evidence-root-check.js +199 -0
- package/dist/seal-evidence-root-check.js.map +1 -0
- package/dist/seal-failure-store.d.ts +139 -0
- package/dist/seal-failure-store.d.ts.map +1 -0
- package/dist/seal-failure-store.js +207 -0
- package/dist/seal-failure-store.js.map +1 -0
- package/dist/seal-flows.d.ts +107 -0
- package/dist/seal-flows.d.ts.map +1 -0
- package/dist/seal-flows.js +638 -0
- package/dist/seal-flows.js.map +1 -0
- package/dist/seal-frontier-verify.d.ts +103 -0
- package/dist/seal-frontier-verify.d.ts.map +1 -0
- package/dist/seal-frontier-verify.js +143 -0
- package/dist/seal-frontier-verify.js.map +1 -0
- package/dist/seal-leaf.d.ts +58 -0
- package/dist/seal-leaf.d.ts.map +1 -0
- package/dist/seal-leaf.js +112 -0
- package/dist/seal-leaf.js.map +1 -0
- package/dist/seal-legibility-tbs.d.ts +25 -0
- package/dist/seal-legibility-tbs.d.ts.map +1 -0
- package/dist/seal-legibility-tbs.js +77 -0
- package/dist/seal-legibility-tbs.js.map +1 -0
- 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-receipt-upgrade.d.ts +30 -0
- package/dist/seal-receipt-upgrade.d.ts.map +1 -0
- package/dist/seal-receipt-upgrade.js +49 -0
- package/dist/seal-receipt-upgrade.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/seal-upgrade.d.ts +107 -0
- package/dist/seal-upgrade.d.ts.map +1 -0
- package/dist/seal-upgrade.js +200 -0
- package/dist/seal-upgrade.js.map +1 -0
- package/dist/sealed-conversation.d.ts +36 -0
- package/dist/sealed-conversation.d.ts.map +1 -0
- package/dist/sealed-conversation.js +171 -0
- package/dist/sealed-conversation.js.map +1 -0
- package/dist/sealed-leaf-set.d.ts +92 -0
- package/dist/sealed-leaf-set.d.ts.map +1 -0
- package/dist/sealed-leaf-set.js +122 -0
- package/dist/sealed-leaf-set.js.map +1 -0
- package/dist/send-claims.d.ts +56 -0
- package/dist/send-claims.d.ts.map +1 -0
- package/dist/send-claims.js +50 -0
- package/dist/send-claims.js.map +1 -0
- package/dist/session-assignment-parser.d.ts +104 -0
- package/dist/session-assignment-parser.d.ts.map +1 -0
- package/dist/session-assignment-parser.js +345 -0
- package/dist/session-assignment-parser.js.map +1 -0
- package/dist/session-category.d.ts +19 -0
- package/dist/session-category.d.ts.map +1 -0
- package/dist/session-category.js +14 -0
- package/dist/session-category.js.map +1 -0
- package/dist/session-ceremony.d.ts +297 -0
- package/dist/session-ceremony.d.ts.map +1 -0
- package/dist/session-ceremony.js +964 -0
- package/dist/session-ceremony.js.map +1 -0
- package/dist/session-closed.d.ts +79 -0
- package/dist/session-closed.d.ts.map +1 -0
- package/dist/session-closed.js +189 -0
- package/dist/session-closed.js.map +1 -0
- package/dist/session-connection-gater.d.ts +148 -0
- package/dist/session-connection-gater.d.ts.map +1 -0
- package/dist/session-connection-gater.js +332 -0
- package/dist/session-connection-gater.js.map +1 -0
- package/dist/session-content-context.d.ts +162 -0
- package/dist/session-content-context.d.ts.map +1 -0
- package/dist/session-content-context.js +2 -0
- package/dist/session-content-context.js.map +1 -0
- package/dist/session-content-handlers.d.ts +82 -0
- package/dist/session-content-handlers.d.ts.map +1 -0
- package/dist/session-content-handlers.js +1382 -0
- package/dist/session-content-handlers.js.map +1 -0
- package/dist/session-content-ingest.d.ts +206 -0
- package/dist/session-content-ingest.d.ts.map +1 -0
- package/dist/session-content-ingest.js +2167 -0
- package/dist/session-content-ingest.js.map +1 -0
- package/dist/session-content-send.d.ts +191 -0
- package/dist/session-content-send.d.ts.map +1 -0
- package/dist/session-content-send.js +1360 -0
- package/dist/session-content-send.js.map +1 -0
- package/dist/session-delivery-acks.d.ts +169 -0
- package/dist/session-delivery-acks.d.ts.map +1 -0
- package/dist/session-delivery-acks.js +569 -0
- package/dist/session-delivery-acks.js.map +1 -0
- package/dist/session-ephemerals.d.ts +279 -0
- package/dist/session-ephemerals.d.ts.map +1 -0
- package/dist/session-ephemerals.js +591 -0
- package/dist/session-ephemerals.js.map +1 -0
- package/dist/session-leaf-records.d.ts +159 -0
- package/dist/session-leaf-records.d.ts.map +1 -0
- package/dist/session-leaf-records.js +408 -0
- package/dist/session-leaf-records.js.map +1 -0
- package/dist/session-lifecycle.d.ts +303 -0
- package/dist/session-lifecycle.d.ts.map +1 -0
- package/dist/session-lifecycle.js +1679 -0
- package/dist/session-lifecycle.js.map +1 -0
- package/dist/session-liveness.d.ts +135 -0
- package/dist/session-liveness.d.ts.map +1 -0
- package/dist/session-liveness.js +347 -0
- package/dist/session-liveness.js.map +1 -0
- package/dist/session-name.d.ts +35 -0
- package/dist/session-name.d.ts.map +1 -0
- package/dist/session-name.js +60 -0
- package/dist/session-name.js.map +1 -0
- package/dist/session-node-factory.d.ts +18 -0
- package/dist/session-node-factory.d.ts.map +1 -0
- package/dist/session-node-factory.js +182 -0
- package/dist/session-node-factory.js.map +1 -0
- package/dist/session-node-manager.d.ts +877 -0
- package/dist/session-node-manager.d.ts.map +1 -0
- package/dist/session-node-manager.js +2998 -0
- package/dist/session-node-manager.js.map +1 -0
- package/dist/session-node-types.d.ts +1057 -0
- package/dist/session-node-types.d.ts.map +1 -0
- package/dist/session-node-types.js +657 -0
- package/dist/session-node-types.js.map +1 -0
- package/dist/session-notify.d.ts +46 -0
- package/dist/session-notify.d.ts.map +1 -0
- package/dist/session-notify.js +116 -0
- package/dist/session-notify.js.map +1 -0
- package/dist/session-own-chain-store.d.ts +65 -0
- package/dist/session-own-chain-store.d.ts.map +1 -0
- package/dist/session-own-chain-store.js +75 -0
- package/dist/session-own-chain-store.js.map +1 -0
- package/dist/session-queries.d.ts +476 -0
- package/dist/session-queries.d.ts.map +1 -0
- package/dist/session-queries.js +1007 -0
- package/dist/session-queries.js.map +1 -0
- package/dist/session-read-handlers.d.ts +87 -0
- package/dist/session-read-handlers.d.ts.map +1 -0
- package/dist/session-read-handlers.js +689 -0
- package/dist/session-read-handlers.js.map +1 -0
- package/dist/session-records.d.ts +341 -0
- package/dist/session-records.d.ts.map +1 -0
- package/dist/session-records.js +858 -0
- package/dist/session-records.js.map +1 -0
- package/dist/session-relay-client.d.ts +659 -0
- package/dist/session-relay-client.d.ts.map +1 -0
- package/dist/session-relay-client.js +2876 -0
- package/dist/session-relay-client.js.map +1 -0
- package/dist/session-relay.d.ts +397 -0
- package/dist/session-relay.d.ts.map +1 -0
- package/dist/session-relay.js +1636 -0
- package/dist/session-relay.js.map +1 -0
- package/dist/session-salt-agreement.d.ts +331 -0
- package/dist/session-salt-agreement.d.ts.map +1 -0
- package/dist/session-salt-agreement.js +472 -0
- package/dist/session-salt-agreement.js.map +1 -0
- package/dist/session-salts.d.ts +432 -0
- package/dist/session-salts.d.ts.map +1 -0
- package/dist/session-salts.js +1540 -0
- package/dist/session-salts.js.map +1 -0
- package/dist/session-schema.d.ts +30 -0
- package/dist/session-schema.d.ts.map +1 -0
- package/dist/session-schema.js +877 -0
- package/dist/session-schema.js.map +1 -0
- package/dist/session-seal-leaf-store.d.ts +70 -0
- package/dist/session-seal-leaf-store.d.ts.map +1 -0
- package/dist/session-seal-leaf-store.js +105 -0
- package/dist/session-seal-leaf-store.js.map +1 -0
- package/dist/session-seal.d.ts +334 -0
- package/dist/session-seal.d.ts.map +1 -0
- package/dist/session-seal.js +1017 -0
- package/dist/session-seal.js.map +1 -0
- package/dist/session-terminal-refusal.d.ts +65 -0
- package/dist/session-terminal-refusal.d.ts.map +1 -0
- package/dist/session-terminal-refusal.js +87 -0
- package/dist/session-terminal-refusal.js.map +1 -0
- package/dist/session-tree.d.ts +110 -0
- package/dist/session-tree.d.ts.map +1 -0
- package/dist/session-tree.js +144 -0
- package/dist/session-tree.js.map +1 -0
- package/dist/session-views.d.ts +47 -0
- package/dist/session-views.d.ts.map +1 -0
- package/dist/session-views.js +278 -0
- package/dist/session-views.js.map +1 -0
- package/dist/signal-handlers.d.ts +63 -0
- package/dist/signal-handlers.d.ts.map +1 -0
- package/dist/signal-handlers.js +980 -0
- package/dist/signal-handlers.js.map +1 -0
- package/dist/signal-requirement-policy.d.ts +51 -0
- package/dist/signal-requirement-policy.d.ts.map +1 -0
- package/dist/signal-requirement-policy.js +89 -0
- package/dist/signal-requirement-policy.js.map +1 -0
- package/dist/signal-revocability.d.ts +49 -0
- package/dist/signal-revocability.d.ts.map +1 -0
- package/dist/signal-revocability.js +93 -0
- package/dist/signal-revocability.js.map +1 -0
- package/dist/signal-submission.d.ts +181 -0
- package/dist/signal-submission.d.ts.map +1 -0
- package/dist/signal-submission.js +368 -0
- package/dist/signal-submission.js.map +1 -0
- package/dist/signaling-connect.d.ts +118 -0
- package/dist/signaling-connect.d.ts.map +1 -0
- package/dist/signaling-connect.js +538 -0
- package/dist/signaling-connect.js.map +1 -0
- package/dist/signaling-wiring.d.ts +105 -0
- package/dist/signaling-wiring.d.ts.map +1 -0
- package/dist/signaling-wiring.js +393 -0
- package/dist/signaling-wiring.js.map +1 -0
- package/dist/singleton-lock.d.ts +85 -0
- package/dist/singleton-lock.d.ts.map +1 -0
- package/dist/singleton-lock.js +219 -0
- package/dist/singleton-lock.js.map +1 -0
- package/dist/sqlcipher-db.d.ts +139 -0
- package/dist/sqlcipher-db.d.ts.map +1 -0
- package/dist/sqlcipher-db.js +357 -0
- package/dist/sqlcipher-db.js.map +1 -0
- package/dist/standing-receivers.d.ts +319 -0
- package/dist/standing-receivers.d.ts.map +1 -0
- package/dist/standing-receivers.js +1295 -0
- package/dist/standing-receivers.js.map +1 -0
- package/dist/start-agent.d.ts +64 -0
- package/dist/start-agent.d.ts.map +1 -0
- package/dist/start-agent.js +136 -0
- package/dist/start-agent.js.map +1 -0
- package/dist/status-handler.d.ts +54 -0
- package/dist/status-handler.d.ts.map +1 -0
- package/dist/status-handler.js +61 -0
- package/dist/status-handler.js.map +1 -0
- package/dist/submission-retry.d.ts +208 -0
- package/dist/submission-retry.d.ts.map +1 -0
- package/dist/submission-retry.js +506 -0
- package/dist/submission-retry.js.map +1 -0
- package/dist/telegram-bot-client.d.ts +34 -0
- package/dist/telegram-bot-client.d.ts.map +1 -0
- package/dist/telegram-bot-client.js +36 -0
- package/dist/telegram-bot-client.js.map +1 -0
- package/dist/telegram-doorbell.d.ts +38 -0
- package/dist/telegram-doorbell.d.ts.map +1 -0
- package/dist/telegram-doorbell.js +140 -0
- package/dist/telegram-doorbell.js.map +1 -0
- package/dist/test-handlers.d.ts +62 -0
- package/dist/test-handlers.d.ts.map +1 -0
- package/dist/test-handlers.js +240 -0
- package/dist/test-handlers.js.map +1 -0
- package/dist/testing.d.ts +10 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +10 -0
- package/dist/testing.js.map +1 -0
- package/dist/transport-composition.d.ts +31 -0
- package/dist/transport-composition.d.ts.map +1 -0
- package/dist/transport-composition.js +55 -0
- package/dist/transport-composition.js.map +1 -0
- package/dist/transport-selector.d.ts +202 -0
- package/dist/transport-selector.d.ts.map +1 -0
- package/dist/transport-selector.js +196 -0
- package/dist/transport-selector.js.map +1 -0
- package/dist/trust-signal-pickup-listener.d.ts +43 -0
- package/dist/trust-signal-pickup-listener.d.ts.map +1 -0
- package/dist/trust-signal-pickup-listener.js +48 -0
- package/dist/trust-signal-pickup-listener.js.map +1 -0
- package/dist/trust-signal-store.d.ts +406 -0
- package/dist/trust-signal-store.d.ts.map +1 -0
- package/dist/trust-signal-store.js +939 -0
- package/dist/trust-signal-store.js.map +1 -0
- package/dist/trust-signal-sweep-tick.d.ts +60 -0
- package/dist/trust-signal-sweep-tick.d.ts.map +1 -0
- package/dist/trust-signal-sweep-tick.js +101 -0
- package/dist/trust-signal-sweep-tick.js.map +1 -0
- package/dist/trust-signal-sweep.d.ts +94 -0
- package/dist/trust-signal-sweep.d.ts.map +1 -0
- package/dist/trust-signal-sweep.js +147 -0
- package/dist/trust-signal-sweep.js.map +1 -0
- package/dist/type-registry.d.ts +42 -0
- package/dist/type-registry.d.ts.map +1 -0
- package/dist/type-registry.js +37 -0
- package/dist/type-registry.js.map +1 -0
- package/dist/types.d.ts +746 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +20 -0
- package/dist/types.js.map +1 -0
- package/dist/unresolved-nodes-report.d.ts +14 -0
- package/dist/unresolved-nodes-report.d.ts.map +1 -0
- package/dist/unresolved-nodes-report.js +96 -0
- package/dist/unresolved-nodes-report.js.map +1 -0
- package/dist/vocabulary.d.ts +150 -0
- package/dist/vocabulary.d.ts.map +1 -0
- package/dist/vocabulary.js +386 -0
- package/dist/vocabulary.js.map +1 -0
- package/dist/who-label.d.ts +28 -0
- package/dist/who-label.d.ts.map +1 -0
- package/dist/who-label.js +31 -0
- package/dist/who-label.js.map +1 -0
- package/dist/who-resolver.d.ts +15 -0
- package/dist/who-resolver.d.ts.map +1 -0
- package/dist/who-resolver.js +47 -0
- package/dist/who-resolver.js.map +1 -0
- package/dist/wire-content-hash.d.ts +93 -0
- package/dist/wire-content-hash.d.ts.map +1 -0
- package/dist/wire-content-hash.js +116 -0
- package/dist/wire-content-hash.js.map +1 -0
- package/dist/withheld-content.d.ts +13 -0
- package/dist/withheld-content.d.ts.map +1 -0
- package/dist/withheld-content.js +46 -0
- package/dist/withheld-content.js.map +1 -0
- package/dist/witness-alerts.d.ts +40 -0
- package/dist/witness-alerts.d.ts.map +1 -0
- package/dist/witness-alerts.js +102 -0
- package/dist/witness-alerts.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"park-recovery.js","sourceRoot":"","sources":["../src/park-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CELLO Daemon — WHY A PARKED MESSAGE NEVER LEFT THE RELAY MAILBOX, said to the OPERATOR.
|
|
3
|
+
*
|
|
4
|
+
* `041-PARKSTUCK`. Every refusal the park drain can produce already had a `reason`, an `impact` and
|
|
5
|
+
* a `guidance` — written for a person, at ERROR, in `daemon.log`. None of them called
|
|
6
|
+
* `noteContentRefusal`, so no person ever received one. What the operator saw instead was the
|
|
7
|
+
* INGEST reason (`session_committed`), which says where the message was turned away on arrival and
|
|
8
|
+
* says nothing about why it will not leave: error substitution, in the one place there is no
|
|
9
|
+
* upstream for the reader to chase, because `daemon.log` is not an operator affordance.
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ **A CLOSED SET WITH A TOTAL NOTICE MAP, for the reason `refusal-reasons.ts` gives.** The park
|
|
12
|
+
* drain pushed bare string literals into its refusal list, so a new branch could ship a reason the
|
|
13
|
+
* operator surface had never heard of and every test would stay green — a test cannot enumerate a
|
|
14
|
+
* code that does not exist yet, and a type can. Adding a member here without a notice below is a
|
|
15
|
+
* compile error.
|
|
16
|
+
*
|
|
17
|
+
* ⚠️ **THE GUIDANCE IS A FUNCTION OF THE SESSION'S STATUS, and that is the defect it exists to
|
|
18
|
+
* fix.** The salt branch's log line told operators *"this message will keep being re-pulled and
|
|
19
|
+
* re-refused until the session is closed, so close it and start a new one"* — for a session that
|
|
20
|
+
* had been closed three days earlier, which is what made the refusal permanent in the first place.
|
|
21
|
+
* Advice naming an action the reader already took is worse than silence: it spends the trust they
|
|
22
|
+
* would otherwise bring to the next notice.
|
|
23
|
+
*/
|
|
24
|
+
import { type RefusalKind } from "./refusal-reasons.js";
|
|
25
|
+
/**
|
|
26
|
+
* Every reason the park drain can decline to file a parked message with.
|
|
27
|
+
*
|
|
28
|
+
* These are the ANNEX reasons — why the entry is STUCK — and they are deliberately distinct from
|
|
29
|
+
* the ingest reason that sits beside them on the same message. Both reach the inbox; the ingest one
|
|
30
|
+
* says the conversation is closed, this one says why the message cannot leave the mailbox.
|
|
31
|
+
*/
|
|
32
|
+
export declare const PARK_REFUSAL_REASONS: {
|
|
33
|
+
/** The sender named a salted algorithm and this side holds no usable salt for the session. */
|
|
34
|
+
readonly ANNEX_SALT_UNAVAILABLE: "annex_salt_unavailable";
|
|
35
|
+
/** The sender named a content-hash algorithm this build cannot compute. */
|
|
36
|
+
readonly ANNEX_ALG_UNKNOWN: "annex_alg_unknown";
|
|
37
|
+
/** The content does not match the hash the sender signed over. */
|
|
38
|
+
readonly ANNEX_HASH_MISMATCH: "annex_hash_mismatch";
|
|
39
|
+
/** The park envelope could not be decoded. */
|
|
40
|
+
readonly ANNEX_DECODE_FAILED: "annex_decode_failed";
|
|
41
|
+
/** The inbound screener was unreachable. TRANSIENT — the relay copy is kept and re-screened. */
|
|
42
|
+
readonly ANNEX_SCREEN_UNAVAILABLE: "annex_screen_unavailable";
|
|
43
|
+
/** The annex write itself ran and failed. */
|
|
44
|
+
readonly ANNEX_WRITE_FAILED: "annex_write_failed";
|
|
45
|
+
/**
|
|
46
|
+
* The inbound screener TERMINALLY blocked the content. Retained as quarantined evidence and
|
|
47
|
+
* deleted from the relay — the only park branch that destroys the remote copy on purpose.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ IT HAD NO OPERATOR SURFACE AT ALL — review M9. It is the branch with the strongest claim on
|
|
50
|
+
* an operator's attention (hostile bytes aimed at a conversation that is already closed) and the
|
|
51
|
+
* only one that deletes the relay's copy in silence, and its `impact` field was addressed to
|
|
52
|
+
* nobody. Unit 2's scope is every `content.recover.*` refusal, not only the one that loops.
|
|
53
|
+
*/
|
|
54
|
+
readonly ANNEX_SCREENED_OUT: "annex_screened_out";
|
|
55
|
+
};
|
|
56
|
+
export type ParkRefusalReason = (typeof PARK_REFUSAL_REASONS)[keyof typeof PARK_REFUSAL_REASONS];
|
|
57
|
+
/** What the notice writer knows about the message it is refusing. */
|
|
58
|
+
export interface ParkRefusalContext {
|
|
59
|
+
/**
|
|
60
|
+
* The session's status as THIS daemon holds it, or `null` when the record could not be read.
|
|
61
|
+
*
|
|
62
|
+
* `null` is not "not terminal" — it is "we do not know", and the two must not collapse: the
|
|
63
|
+
* release in `content-park.ts` is gated on proven terminality, so an unreadable record keeps the
|
|
64
|
+
* relay copy rather than deleting it on an assumption.
|
|
65
|
+
*/
|
|
66
|
+
readonly sessionStatus: string | null;
|
|
67
|
+
/**
|
|
68
|
+
* Has the relay copy been DELETED as a result of this refusal? Only the permanently-unverifiable
|
|
69
|
+
* exit sets it, and the sentence the operator reads changes completely on it.
|
|
70
|
+
*/
|
|
71
|
+
readonly released: boolean;
|
|
72
|
+
/** The algorithm name the sender put in the envelope, or `(absent)`. */
|
|
73
|
+
readonly declaredAlg: string;
|
|
74
|
+
/**
|
|
75
|
+
* WHY there is no salt, for the salt branch only.
|
|
76
|
+
*
|
|
77
|
+
* `none` — no salt was ever agreed for this session. `unreadable` — a salt row EXISTS on this
|
|
78
|
+
* machine and could not be used (wrong width, or the read threw), which is local damage and sends
|
|
79
|
+
* the operator somewhere completely different. `null` for every other reason.
|
|
80
|
+
*/
|
|
81
|
+
readonly saltReason: "none" | "unreadable" | null;
|
|
82
|
+
/**
|
|
83
|
+
* The thrown message, for the two reasons that come from a `catch`.
|
|
84
|
+
*
|
|
85
|
+
* Review M4: the upstream cause must survive downstream (Invariant 3). A notice that says "it
|
|
86
|
+
* threw" without saying what it said sends the operator back to the log for the one fact that
|
|
87
|
+
* would have told them whether this is their disk, their build, or the sender.
|
|
88
|
+
*/
|
|
89
|
+
readonly errorDetail: string | null;
|
|
90
|
+
/**
|
|
91
|
+
* Did this daemon actually KEEP the bytes? — verification NEW-2.
|
|
92
|
+
*
|
|
93
|
+
* Only the screened-out notice reads it today, and it reads it because saying "it is KEPT as
|
|
94
|
+
* evidence" when the quarantine refused the write is the same unchecked claim H1 removed from the
|
|
95
|
+
* release. Defaults to `true` for reasons that retain nothing of their own to describe.
|
|
96
|
+
*/
|
|
97
|
+
readonly retained?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The two session statuses from which nothing can change back.
|
|
101
|
+
*
|
|
102
|
+
* `seal_interrupted_pending` is deliberately NOT here — `types.ts` documents it as explicitly
|
|
103
|
+
* non-terminal, and a session still moving toward a notarization is not a session whose inputs are
|
|
104
|
+
* immutable. Excluding it costs a few more drains on a rare state and keeps the release honest.
|
|
105
|
+
*/
|
|
106
|
+
export declare const TERMINAL_SESSION_STATUSES: ReadonlySet<string>;
|
|
107
|
+
/**
|
|
108
|
+
* The operator-facing notice for each park refusal — TOTAL over the reason set.
|
|
109
|
+
*
|
|
110
|
+
* A function per reason rather than a string, because two of them must know whether the session is
|
|
111
|
+
* closed before they can say anything true about what to do next.
|
|
112
|
+
*/
|
|
113
|
+
export declare const PARK_REFUSAL_NOTICE: Record<ParkRefusalReason, (ctx: ParkRefusalContext) => {
|
|
114
|
+
kind: RefusalKind;
|
|
115
|
+
impact: string;
|
|
116
|
+
guidance: string;
|
|
117
|
+
}>;
|
|
118
|
+
/**
|
|
119
|
+
* ⚠️ **HOW OFTEN, NOT JUST HOW MANY — `041-PARKSTUCK` Unit 2, property 2.**
|
|
120
|
+
*
|
|
121
|
+
* A count with no cadence beside it reads as that many separate events. On the machine this was
|
|
122
|
+
* written for, ONE message had been refused 731 times in 64 hours and the notice said `731`, which
|
|
123
|
+
* an operator reads as 731 messages going wrong rather than one going wrong every five minutes.
|
|
124
|
+
*
|
|
125
|
+
* Says only what the stored row proves: the number of refusals of this reason on this conversation,
|
|
126
|
+
* and the average gap across the span they cover. It does NOT claim one message — a reason can fire
|
|
127
|
+
* for several — because the row cannot tell them apart.
|
|
128
|
+
*
|
|
129
|
+
* `null` below three refusals or across a zero span: two points are not a cadence, and dividing by a
|
|
130
|
+
* zero span would print an interval that is an artifact of the clock rather than of the behaviour.
|
|
131
|
+
*/
|
|
132
|
+
export declare function refusalRecurrence(total: number, firstAt: number, lastAt: number,
|
|
133
|
+
/**
|
|
134
|
+
* Is `total` an exact count or a FLOOR? — review M5.
|
|
135
|
+
*
|
|
136
|
+
* A row seeded at upgrade takes its total from a notice's `count`, which resets on dismissal, so
|
|
137
|
+
* both the count and the span are lower bounds. The drain five lines away already reports a
|
|
138
|
+
* seeded row as `timesTotalAtLeast` for exactly this reason, and this sentence was asserting the
|
|
139
|
+
* same number as a figure right beside it — *"the original lie with the new name on it"*, which
|
|
140
|
+
* is the phrase `DOD-M15-REFUSALTERMINAL-1` used about the defect it removed.
|
|
141
|
+
*
|
|
142
|
+
* On the daemon this unit was written for the row IS seeded: the inbox reported
|
|
143
|
+
* `times_total_at_least: 731`, so the very first thing an unqualified sentence would have shipped
|
|
144
|
+
* is "it has fired 731 times" next to a field saying "at least".
|
|
145
|
+
*/
|
|
146
|
+
seeded: boolean): string | null;
|
|
147
|
+
//# sourceMappingURL=park-refusals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"park-refusals.d.ts","sourceRoot":"","sources":["../src/park-refusals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;IAC/B,8FAA8F;;IAE9F,2EAA2E;;IAE3E,kEAAkE;;IAElE,8CAA8C;;IAE9C,gGAAgG;;IAEhG,6CAA6C;;IAE7C;;;;;;;;OAQG;;CAEK,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEjG,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IAClD;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAoC,CAAC;AA8G/F;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,iBAAiB,EACjB,CAAC,GAAG,EAAE,kBAAkB,KAAK;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkGrF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;AACd;;;;;;;;;;;;GAYG;AACH,MAAM,EAAE,OAAO,GACd,MAAM,GAAG,IAAI,CA+Bf"}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CELLO Daemon — WHY A PARKED MESSAGE NEVER LEFT THE RELAY MAILBOX, said to the OPERATOR.
|
|
3
|
+
*
|
|
4
|
+
* `041-PARKSTUCK`. Every refusal the park drain can produce already had a `reason`, an `impact` and
|
|
5
|
+
* a `guidance` — written for a person, at ERROR, in `daemon.log`. None of them called
|
|
6
|
+
* `noteContentRefusal`, so no person ever received one. What the operator saw instead was the
|
|
7
|
+
* INGEST reason (`session_committed`), which says where the message was turned away on arrival and
|
|
8
|
+
* says nothing about why it will not leave: error substitution, in the one place there is no
|
|
9
|
+
* upstream for the reader to chase, because `daemon.log` is not an operator affordance.
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ **A CLOSED SET WITH A TOTAL NOTICE MAP, for the reason `refusal-reasons.ts` gives.** The park
|
|
12
|
+
* drain pushed bare string literals into its refusal list, so a new branch could ship a reason the
|
|
13
|
+
* operator surface had never heard of and every test would stay green — a test cannot enumerate a
|
|
14
|
+
* code that does not exist yet, and a type can. Adding a member here without a notice below is a
|
|
15
|
+
* compile error.
|
|
16
|
+
*
|
|
17
|
+
* ⚠️ **THE GUIDANCE IS A FUNCTION OF THE SESSION'S STATUS, and that is the defect it exists to
|
|
18
|
+
* fix.** The salt branch's log line told operators *"this message will keep being re-pulled and
|
|
19
|
+
* re-refused until the session is closed, so close it and start a new one"* — for a session that
|
|
20
|
+
* had been closed three days earlier, which is what made the refusal permanent in the first place.
|
|
21
|
+
* Advice naming an action the reader already took is worse than silence: it spends the trust they
|
|
22
|
+
* would otherwise bring to the next notice.
|
|
23
|
+
*/
|
|
24
|
+
import { REFUSAL_KINDS } from "./refusal-reasons.js";
|
|
25
|
+
/**
|
|
26
|
+
* Every reason the park drain can decline to file a parked message with.
|
|
27
|
+
*
|
|
28
|
+
* These are the ANNEX reasons — why the entry is STUCK — and they are deliberately distinct from
|
|
29
|
+
* the ingest reason that sits beside them on the same message. Both reach the inbox; the ingest one
|
|
30
|
+
* says the conversation is closed, this one says why the message cannot leave the mailbox.
|
|
31
|
+
*/
|
|
32
|
+
export const PARK_REFUSAL_REASONS = {
|
|
33
|
+
/** The sender named a salted algorithm and this side holds no usable salt for the session. */
|
|
34
|
+
ANNEX_SALT_UNAVAILABLE: "annex_salt_unavailable",
|
|
35
|
+
/** The sender named a content-hash algorithm this build cannot compute. */
|
|
36
|
+
ANNEX_ALG_UNKNOWN: "annex_alg_unknown",
|
|
37
|
+
/** The content does not match the hash the sender signed over. */
|
|
38
|
+
ANNEX_HASH_MISMATCH: "annex_hash_mismatch",
|
|
39
|
+
/** The park envelope could not be decoded. */
|
|
40
|
+
ANNEX_DECODE_FAILED: "annex_decode_failed",
|
|
41
|
+
/** The inbound screener was unreachable. TRANSIENT — the relay copy is kept and re-screened. */
|
|
42
|
+
ANNEX_SCREEN_UNAVAILABLE: "annex_screen_unavailable",
|
|
43
|
+
/** The annex write itself ran and failed. */
|
|
44
|
+
ANNEX_WRITE_FAILED: "annex_write_failed",
|
|
45
|
+
/**
|
|
46
|
+
* The inbound screener TERMINALLY blocked the content. Retained as quarantined evidence and
|
|
47
|
+
* deleted from the relay — the only park branch that destroys the remote copy on purpose.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ IT HAD NO OPERATOR SURFACE AT ALL — review M9. It is the branch with the strongest claim on
|
|
50
|
+
* an operator's attention (hostile bytes aimed at a conversation that is already closed) and the
|
|
51
|
+
* only one that deletes the relay's copy in silence, and its `impact` field was addressed to
|
|
52
|
+
* nobody. Unit 2's scope is every `content.recover.*` refusal, not only the one that loops.
|
|
53
|
+
*/
|
|
54
|
+
ANNEX_SCREENED_OUT: "annex_screened_out",
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* The two session statuses from which nothing can change back.
|
|
58
|
+
*
|
|
59
|
+
* `seal_interrupted_pending` is deliberately NOT here — `types.ts` documents it as explicitly
|
|
60
|
+
* non-terminal, and a session still moving toward a notarization is not a session whose inputs are
|
|
61
|
+
* immutable. Excluding it costs a few more drains on a rare state and keeps the release honest.
|
|
62
|
+
*/
|
|
63
|
+
export const TERMINAL_SESSION_STATUSES = new Set(["sealed", "abandoned"]);
|
|
64
|
+
/** The one sentence every reader of a park refusal needs before the reason: nobody did anything wrong. */
|
|
65
|
+
const NOT_THEIR_FAULT = "The sender's signature on this message VERIFIED, so nothing here says they did anything wrong " +
|
|
66
|
+
"and there is no version of theirs to ask about.";
|
|
67
|
+
/**
|
|
68
|
+
* A closed conversation cannot be reopened, so "close it" is never the advice for one — but the
|
|
69
|
+
* reader still needs a next step, and for a released message the honest one is that there is none
|
|
70
|
+
* inside CELLO.
|
|
71
|
+
*/
|
|
72
|
+
function saltGuidance(ctx) {
|
|
73
|
+
/**
|
|
74
|
+
* ⚠️ THE TWO CAUSES SEND THE OPERATOR TO OPPOSITE PLACES — one to the conversation, one to their
|
|
75
|
+
* own disk — and only the first can ever be released. A message is dropped from the relay solely
|
|
76
|
+
* on `none`; `unreadable` keeps its copy, because the read that failed may succeed next drain.
|
|
77
|
+
* So the `unreadable` text below never appears beside "there is nothing to retry", and review H2
|
|
78
|
+
* measured the pair contradicting each other when it could.
|
|
79
|
+
*/
|
|
80
|
+
const cause = ctx.saltReason === "unreadable"
|
|
81
|
+
? "A salt row for this conversation EXISTS on this machine and could not be used — the read " +
|
|
82
|
+
"failed, or the stored value is the wrong shape. That is a fault on YOUR side, not anything " +
|
|
83
|
+
"the sender did, and it may simply be a database that was busy. Look for " +
|
|
84
|
+
"session.salt.read.failed in the daemon log; if it does not repeat, the next attempt will " +
|
|
85
|
+
"check this message normally."
|
|
86
|
+
: "No salt was ever agreed for this conversation, so there is nothing here to check the " +
|
|
87
|
+
"message against. Look for session.salt.persist.failed or session.salt.announce.failed in " +
|
|
88
|
+
"the daemon log for which half never completed.";
|
|
89
|
+
if (ctx.released) {
|
|
90
|
+
/**
|
|
91
|
+
* ⚠️ **IT NAMES WHERE THE BYTES STILL ARE — review M7, and the affordance was missing.**
|
|
92
|
+
*
|
|
93
|
+
* The reader is told a message existed, was never shown to them, and is gone from the relay.
|
|
94
|
+
* Without the next sentence that is a dead end, and the log line for the same event already
|
|
95
|
+
* said `cello_quarantined` — so the person who needed it was the only one not told.
|
|
96
|
+
*
|
|
97
|
+
* Safe to promise only because the release is now gated on the retention having SUCCEEDED
|
|
98
|
+
* (review H1). Before that gate this sentence would have been a lie on exactly the daemons
|
|
99
|
+
* where it mattered most.
|
|
100
|
+
*/
|
|
101
|
+
return (`${cause} THERE IS NOTHING TO REPAIR AND NOTHING TO RETRY. This conversation is closed ` +
|
|
102
|
+
`("${ctx.sessionStatus}"), so no salt can ever be agreed for it and this message could never ` +
|
|
103
|
+
`have been checked on any future attempt. The relay's copy has now been dropped, which is what ` +
|
|
104
|
+
`stops it being pulled and refused every few minutes forever. THE MESSAGE ITSELF IS STILL HERE: ` +
|
|
105
|
+
`this agent kept the bytes it could not check, and cello_quarantined shows them — treat what ` +
|
|
106
|
+
`you read there as unverified, because the whole reason it is in there is that nothing could ` +
|
|
107
|
+
`confirm it arrived unaltered. If it matters, ask the sender OUT OF BAND — a channel that is ` +
|
|
108
|
+
`not this one — to say it again in a NEW conversation.`);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* ⚠️ **IT DOES NOT ASK THE READER TO WORK OUT SOMETHING IT ALREADY KNOWS — review L10.**
|
|
112
|
+
*
|
|
113
|
+
* This read *"if the conversation is still open, staying connected is what fixes it; if it is
|
|
114
|
+
* already closed, nothing will"* — a hedge over a status this function is handed. In production
|
|
115
|
+
* the branch is reachable only when ingest returned `session_committed`, so the status is
|
|
116
|
+
* `seal_interrupted_pending` or a record that could not be read; the hedge is right for the
|
|
117
|
+
* second and lazy for the first.
|
|
118
|
+
*/
|
|
119
|
+
if (ctx.sessionStatus === null) {
|
|
120
|
+
return (`${cause} The relay still holds this message and it is pulled again on every drain. This ` +
|
|
121
|
+
`agent could not read its own record of the conversation, so it cannot tell you whether the ` +
|
|
122
|
+
`conversation is still open — and that unreadable record is itself worth looking at. If the ` +
|
|
123
|
+
`conversation IS still open, being connected at the same time as your counterparty is what ` +
|
|
124
|
+
`agrees a salt and clears this.`);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* ⚠️ **THREE PATHS REACH HERE NOW, AND ONLY ONE OF THEM IS ABOUT RECONNECTING — verification
|
|
128
|
+
* NEW-1.**
|
|
129
|
+
*
|
|
130
|
+
* Before the release was gated on `saltReason` and on the retention, terminal + no-salt ALWAYS
|
|
131
|
+
* released, so this branch only ever saw a non-terminal session. Those two fixes opened two more
|
|
132
|
+
* ways in — a terminal session whose bytes could not be retained, and a salt row that exists and
|
|
133
|
+
* could not be read — and the reconnection advice is wrong for both. Telling someone to get
|
|
134
|
+
* online at the same time as a counterparty on a `sealed` conversation names an action they
|
|
135
|
+
* cannot perform, which is this unit's own DoD clause turned on the unit.
|
|
136
|
+
*/
|
|
137
|
+
if (ctx.saltReason === "unreadable") {
|
|
138
|
+
return (`${cause} The relay still holds this message and it is pulled again on every drain, so ` +
|
|
139
|
+
`nothing is lost while this lasts. Your counterparty is not involved and there is nothing to ` +
|
|
140
|
+
`ask them for: a salt for this conversation already exists on this machine and this machine ` +
|
|
141
|
+
`could not read it. If the read succeeds on a later drain the message is checked and handled ` +
|
|
142
|
+
`normally.`);
|
|
143
|
+
}
|
|
144
|
+
if (TERMINAL_SESSION_STATUSES.has(ctx.sessionStatus)) {
|
|
145
|
+
return (`${cause} This conversation is "${ctx.sessionStatus}" and cannot be reopened, so no salt can ` +
|
|
146
|
+
`ever be agreed for it and this message can never be checked — there is nothing to reconnect ` +
|
|
147
|
+
`to and nothing to retry. The relay's copy would normally be dropped for exactly that reason; ` +
|
|
148
|
+
`it is being KEPT only because this agent could not store a copy of its own, and deleting it ` +
|
|
149
|
+
`would leave the message nowhere at all. Free space for this conversation and it resolves ` +
|
|
150
|
+
`itself. If the message mattered, ask the sender OUT OF BAND to say it again in a NEW ` +
|
|
151
|
+
`conversation.`);
|
|
152
|
+
}
|
|
153
|
+
return (`${cause} The relay still holds this message and it is pulled again on every drain. A salt is ` +
|
|
154
|
+
`agreed while both sides are connected, so being online at the same time as your counterparty ` +
|
|
155
|
+
`is what clears this — the message is then checked and delivered on a later drain. This ` +
|
|
156
|
+
`conversation is "${ctx.sessionStatus}", which is not closed, so that can still happen.`);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* The operator-facing notice for each park refusal — TOTAL over the reason set.
|
|
160
|
+
*
|
|
161
|
+
* A function per reason rather than a string, because two of them must know whether the session is
|
|
162
|
+
* closed before they can say anything true about what to do next.
|
|
163
|
+
*/
|
|
164
|
+
export const PARK_REFUSAL_NOTICE = {
|
|
165
|
+
[PARK_REFUSAL_REASONS.ANNEX_SALT_UNAVAILABLE]: (ctx) => ({
|
|
166
|
+
// REFUSED, never DEFERRED: nothing was recorded and nothing acknowledged, and — released or not
|
|
167
|
+
// — the sender's daemon is not going to fix this by resending.
|
|
168
|
+
kind: REFUSAL_KINDS.REFUSED,
|
|
169
|
+
impact: `A message you were sent could NOT BE CHECKED — not that it failed a check. ${NOT_THEIR_FAULT} ` +
|
|
170
|
+
`This side cannot recompute the fingerprint they committed to, because the shared secret that ` +
|
|
171
|
+
`fingerprint is built from does not exist here. ` +
|
|
172
|
+
(ctx.released
|
|
173
|
+
? "It was never shown to you and it is now gone from the relay, so this conversation will stop reporting it."
|
|
174
|
+
: "It was never shown to you, and the relay still holds its copy."),
|
|
175
|
+
guidance: saltGuidance(ctx),
|
|
176
|
+
}),
|
|
177
|
+
[PARK_REFUSAL_REASONS.ANNEX_ALG_UNKNOWN]: (ctx) => ({
|
|
178
|
+
kind: REFUSAL_KINDS.DEFERRED,
|
|
179
|
+
impact: `A message you were sent was fingerprinted with a method this build cannot compute ` +
|
|
180
|
+
`("${ctx.declaredAlg}"), so it could not be checked and was not shown to you. ` +
|
|
181
|
+
`${NOT_THEIR_FAULT} The relay still holds it.`,
|
|
182
|
+
guidance: "Their CELLO build is NEWER than this one. Upgrade this agent's client; the message stays on " +
|
|
183
|
+
"the relay and is delivered on the next drain once this daemon can compute that method. " +
|
|
184
|
+
"Nothing to ask the sender for and nothing to resend.",
|
|
185
|
+
}),
|
|
186
|
+
[PARK_REFUSAL_REASONS.ANNEX_HASH_MISMATCH]: () => ({
|
|
187
|
+
kind: REFUSAL_KINDS.REFUSED,
|
|
188
|
+
impact: "A message you were sent does NOT match the fingerprint its sender signed over, so the bytes " +
|
|
189
|
+
"that arrived are not the bytes they committed to. It was not shown to you. This is the one " +
|
|
190
|
+
"park refusal that is evidence of tampering rather than of a version or storage difference — " +
|
|
191
|
+
"the party best placed to have done it is the relay that stored it.",
|
|
192
|
+
guidance: "Do not ask the sender to resend into this conversation. Confirm OUT OF BAND — a channel that " +
|
|
193
|
+
"is not this one — what they actually sent, and read the retained copy with cello_quarantined " +
|
|
194
|
+
"to compare. If it repeats with the same counterparty, stop using this conversation.",
|
|
195
|
+
}),
|
|
196
|
+
[PARK_REFUSAL_REASONS.ANNEX_DECODE_FAILED]: (ctx) => ({
|
|
197
|
+
kind: REFUSAL_KINDS.DEFERRED,
|
|
198
|
+
impact: "A parked message could not be decoded at all, so nothing about it could be checked and it " +
|
|
199
|
+
"was not shown to you. The relay still holds it. This is a wire or version difference, not a " +
|
|
200
|
+
"claim about the sender." + errorClause(ctx),
|
|
201
|
+
guidance: "If the sender is on a newer build, upgrading this client is the fix; the relay keeps the " +
|
|
202
|
+
"message meanwhile, and it is decoded on a later drain. Nothing to ask the sender for.",
|
|
203
|
+
}),
|
|
204
|
+
[PARK_REFUSAL_REASONS.ANNEX_SCREEN_UNAVAILABLE]: () => ({
|
|
205
|
+
// The one TRANSIENT reason in the set. A screener that is down comes back, and the message is
|
|
206
|
+
// re-screened on the next drain with nothing lost — so the operator must not be told to act.
|
|
207
|
+
kind: REFUSAL_KINDS.DEFERRED,
|
|
208
|
+
impact: "A parked message could not be screened because this agent's screener did not answer, so it " +
|
|
209
|
+
"was not stored and not shown to you. Nothing was lost: the relay keeps its copy and the " +
|
|
210
|
+
"message is screened again on the next drain.",
|
|
211
|
+
guidance: "Nothing to do unless it keeps happening. If it does, the screener on THIS machine is not " +
|
|
212
|
+
"running — look for content.recover.annex.screen_unavailable in the daemon log. Do not ask " +
|
|
213
|
+
"the sender for anything; they cannot see this and there is nothing for them to resend.",
|
|
214
|
+
}),
|
|
215
|
+
[PARK_REFUSAL_REASONS.ANNEX_SCREENED_OUT]: (ctx) => ({
|
|
216
|
+
/**
|
|
217
|
+
* WITHHELD, not BLOCKED — verification NEW-3. `BLOCKED`'s header asserts the message IS in the
|
|
218
|
+
* conversation's hash chain and the sender WAS acknowledged. Both hold for the live screener
|
|
219
|
+
* and neither holds here: the conversation is closed, so nothing was appended, and deleting a
|
|
220
|
+
* mailbox blob is not an acknowledgement. The header would have contradicted this impact.
|
|
221
|
+
*/
|
|
222
|
+
kind: REFUSAL_KINDS.WITHHELD,
|
|
223
|
+
impact: "A message that arrived for this closed conversation was BLOCKED by this agent's screener — " +
|
|
224
|
+
"its content was rejected outright, not merely unrecognised. It was never shown to the agent " +
|
|
225
|
+
"and never added to the conversation's record." +
|
|
226
|
+
// ⚠️ NEW-2: retention is a FACT read back, never an assumption. Saying "it is KEPT" when the
|
|
227
|
+
// quarantine refused it is the claim H1 removed, reprinted one branch over.
|
|
228
|
+
(ctx.retained
|
|
229
|
+
? " It is KEPT as evidence and cello_quarantined shows it."
|
|
230
|
+
: " THIS AGENT COULD NOT KEEP A COPY of it — see session.content.quarantine.skipped or .failed in the daemon log — so only this notice records that it was ever sent.") +
|
|
231
|
+
(ctx.released
|
|
232
|
+
? " The relay's copy has been dropped so it stops arriving."
|
|
233
|
+
: " The relay still holds its copy, so it may arrive and be blocked again."),
|
|
234
|
+
guidance: "This is the protection working, and there is nothing to repair. Do not turn screening off " +
|
|
235
|
+
"to read it and do not ask the sender about it — if the content was hostile, telling them " +
|
|
236
|
+
"what was caught tells whoever sent it what to change. cello_quarantined shows it if you " +
|
|
237
|
+
"need to produce it.",
|
|
238
|
+
}),
|
|
239
|
+
[PARK_REFUSAL_REASONS.ANNEX_WRITE_FAILED]: (ctx) => ({
|
|
240
|
+
kind: REFUSAL_KINDS.DEFERRED,
|
|
241
|
+
impact: "A parked message decoded and then a later step failed on THIS machine — screening it, " +
|
|
242
|
+
"keeping it, or writing it into the record — so it was not shown to you. THIS IS A FAULT ON " +
|
|
243
|
+
"THIS MACHINE, not something the sender did. The relay keeps its copy, so nothing is lost " +
|
|
244
|
+
"yet." + errorClause(ctx),
|
|
245
|
+
guidance: "Check that this machine has disk space and that ~/.cello is writable, then wait for the next " +
|
|
246
|
+
"drain — the message is still on the relay and is retried. Do not ask the sender to resend.",
|
|
247
|
+
}),
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* ⚠️ **HOW OFTEN, NOT JUST HOW MANY — `041-PARKSTUCK` Unit 2, property 2.**
|
|
251
|
+
*
|
|
252
|
+
* A count with no cadence beside it reads as that many separate events. On the machine this was
|
|
253
|
+
* written for, ONE message had been refused 731 times in 64 hours and the notice said `731`, which
|
|
254
|
+
* an operator reads as 731 messages going wrong rather than one going wrong every five minutes.
|
|
255
|
+
*
|
|
256
|
+
* Says only what the stored row proves: the number of refusals of this reason on this conversation,
|
|
257
|
+
* and the average gap across the span they cover. It does NOT claim one message — a reason can fire
|
|
258
|
+
* for several — because the row cannot tell them apart.
|
|
259
|
+
*
|
|
260
|
+
* `null` below three refusals or across a zero span: two points are not a cadence, and dividing by a
|
|
261
|
+
* zero span would print an interval that is an artifact of the clock rather than of the behaviour.
|
|
262
|
+
*/
|
|
263
|
+
export function refusalRecurrence(total, firstAt, lastAt,
|
|
264
|
+
/**
|
|
265
|
+
* Is `total` an exact count or a FLOOR? — review M5.
|
|
266
|
+
*
|
|
267
|
+
* A row seeded at upgrade takes its total from a notice's `count`, which resets on dismissal, so
|
|
268
|
+
* both the count and the span are lower bounds. The drain five lines away already reports a
|
|
269
|
+
* seeded row as `timesTotalAtLeast` for exactly this reason, and this sentence was asserting the
|
|
270
|
+
* same number as a figure right beside it — *"the original lie with the new name on it"*, which
|
|
271
|
+
* is the phrase `DOD-M15-REFUSALTERMINAL-1` used about the defect it removed.
|
|
272
|
+
*
|
|
273
|
+
* On the daemon this unit was written for the row IS seeded: the inbox reported
|
|
274
|
+
* `times_total_at_least: 731`, so the very first thing an unqualified sentence would have shipped
|
|
275
|
+
* is "it has fired 731 times" next to a field saying "at least".
|
|
276
|
+
*/
|
|
277
|
+
seeded) {
|
|
278
|
+
if (!Number.isFinite(total) || total < 3)
|
|
279
|
+
return null;
|
|
280
|
+
const span = lastAt - firstAt;
|
|
281
|
+
if (!Number.isFinite(span) || span <= 0)
|
|
282
|
+
return null;
|
|
283
|
+
const everyMs = span / (total - 1);
|
|
284
|
+
/**
|
|
285
|
+
* ⚠️ **IT SAYS ONLY WHAT THE ROW PROVES — review M6, and the first version made two claims it
|
|
286
|
+
* could not.**
|
|
287
|
+
*
|
|
288
|
+
* Dropped: *"THIS REFUSAL IS A LOOP, NOT N SEPARATE EVENTS"*. This function serves EVERY reason
|
|
289
|
+
* in the drain, not only park ones, and a counterparty who keeps writing into a closed
|
|
290
|
+
* conversation generates N genuinely separate `session_committed` refusals — the notice would
|
|
291
|
+
* have told the operator they were not separate, beside guidance saying the sender "may not
|
|
292
|
+
* realise it ended". Its own doc comment already said a reason can fire for several messages.
|
|
293
|
+
*
|
|
294
|
+
* Dropped: *"It will keep firing at that rate until the cause is dealt with"*. Notices are
|
|
295
|
+
* durable and re-drained for every new consumer, so that prints long after a cause is resolved —
|
|
296
|
+
* including, immediately after this unit lands, on the released message whose impact in the SAME
|
|
297
|
+
* row says it is gone and will stop being reported.
|
|
298
|
+
*
|
|
299
|
+
* What is left is arithmetic over two stored timestamps and a count, which is all the row has.
|
|
300
|
+
*/
|
|
301
|
+
const count = seeded ? `at least ${total} times` : `${total} times`;
|
|
302
|
+
return (`RECORDED ${count.toUpperCase()} on this conversation, about once every ` +
|
|
303
|
+
`${humanizeInterval(everyMs)} across ${humanizeInterval(span)} — so read the number as ONE ` +
|
|
304
|
+
`recurring refusal being counted, not as that many separate problems to work through` +
|
|
305
|
+
(seeded
|
|
306
|
+
? ". The count began when this daemon was upgraded and dismissals are not counted, so the true figure may be far higher."
|
|
307
|
+
: "."));
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* The upstream error's own words, appended rather than replacing anything — Invariant 3.
|
|
311
|
+
*
|
|
312
|
+
* Empty when there was no throw, so a notice never carries a dangling "it said:" with nothing after.
|
|
313
|
+
*/
|
|
314
|
+
function errorClause(ctx) {
|
|
315
|
+
return ctx.errorDetail === null || ctx.errorDetail === "" ? "" : ` The failure said: ${ctx.errorDetail}.`;
|
|
316
|
+
}
|
|
317
|
+
/** A duration a person reads without converting it. Whole units, because a cadence is an estimate. */
|
|
318
|
+
function humanizeInterval(ms) {
|
|
319
|
+
const s = Math.round(ms / 1000);
|
|
320
|
+
if (s < 60)
|
|
321
|
+
return `${Math.max(1, s)} second${s === 1 ? "" : "s"}`;
|
|
322
|
+
const m = Math.round(s / 60);
|
|
323
|
+
if (m < 60)
|
|
324
|
+
return `${m} minute${m === 1 ? "" : "s"}`;
|
|
325
|
+
const h = Math.round(m / 60);
|
|
326
|
+
if (h < 48)
|
|
327
|
+
return `${h} hour${h === 1 ? "" : "s"}`;
|
|
328
|
+
const d = Math.round(h / 24);
|
|
329
|
+
return `${d} days`;
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=park-refusals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"park-refusals.js","sourceRoot":"","sources":["../src/park-refusals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOD-M15-REFUSEDEVIDENCE-1 — how a refused message is handed back.
|
|
3
|
+
*
|
|
4
|
+
* ─── Why the payload is handed over at all, rather than hidden ─────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* Andre, 2026-09-03, and it reverses the obvious approach: *"Most prompt injections rely on the
|
|
7
|
+
* naivete of an LM. If you send in a warning — the following is a prompt injection, the following
|
|
8
|
+
* is a malicious message — the chance it would be fooled is very, very low, because the very thing
|
|
9
|
+
* it understands is that this is a super dangerous message trying to subvert it."*
|
|
10
|
+
*
|
|
11
|
+
* The alternative — base64, a human-only channel, a file the operator has to hunt for — does not
|
|
12
|
+
* remove the LM from the path. **It removes the FRAMING from the path.** The operator asks their
|
|
13
|
+
* coding agent to find the file, the agent finds it, reads the raw bytes, and reports *"I found it,
|
|
14
|
+
* the message says…"*. That is strictly worse than handing it over wrapped in a warning.
|
|
15
|
+
*
|
|
16
|
+
* ⚠️ BASE64 ENCODING, CLI-ONLY ACCESS AND A SEPARATE UNSEALED STORE WERE EACH PROPOSED AND REJECTED
|
|
17
|
+
* IN WRITING. Do not re-derive them; each produces the unframed read it was meant to prevent.
|
|
18
|
+
*
|
|
19
|
+
* ─── Why there is NO CLOSING DELIMITER ─────────────────────────────────────────────────────────
|
|
20
|
+
*
|
|
21
|
+
* Andre, 2026-09-03: *"I would not include anything around 'end payload' or messages after the
|
|
22
|
+
* payload. It opens it up to gaming. My malicious payload can include the end-payload tag to fool
|
|
23
|
+
* you into thinking that text below that is okay."*
|
|
24
|
+
*
|
|
25
|
+
* A closing marker is FORGEABLE BY THE PAYLOAD. It writes its own `END PAYLOAD` line and everything
|
|
26
|
+
* after it reads as trusted framing again — the reader is back inside the attack believing it has
|
|
27
|
+
* left it. So the structure is one-way: **all metadata above, payload last, nothing after it, to
|
|
28
|
+
* the end of the string.** The header says so explicitly, because a reader who knows there is no
|
|
29
|
+
* end marker cannot be convinced by a forged one.
|
|
30
|
+
*
|
|
31
|
+
* That invariant binds every caller: whatever carries this string must not append to it, and in a
|
|
32
|
+
* JSON response the field holding it must be the LAST key in the object.
|
|
33
|
+
*/
|
|
34
|
+
/** Everything known ABOUT the refused message. None of it comes from the message itself. */
|
|
35
|
+
export interface QuarantineFrameMeta {
|
|
36
|
+
/** The refusal reason code — why this was never delivered. */
|
|
37
|
+
reason: string;
|
|
38
|
+
/** Sender's key, when this side could resolve one. `null` is itself evidence (`sender_unresolved`). */
|
|
39
|
+
senderPubkeyHex: string | null;
|
|
40
|
+
/** The operator's own pet name for that key, when they have set one. Never sender-supplied. */
|
|
41
|
+
senderLabel: string | null;
|
|
42
|
+
/** Whether a signature over the sender's own bytes was verified before the message was refused. */
|
|
43
|
+
signature: "VERIFIED" | "NOT SIGNED";
|
|
44
|
+
sessionId: string;
|
|
45
|
+
/** Transcript position. Negative for a refusal with no chain position (no session, no sender). */
|
|
46
|
+
position: number;
|
|
47
|
+
arrivedAtMs: number;
|
|
48
|
+
/** sha256 of the RETAINED bytes — what a third party checks the payload they were handed against.
|
|
49
|
+
* Deliberately not the hash the sender committed to: on a tamper those differ, which is the point. */
|
|
50
|
+
contentHashHex: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Wrap a refused message so that reading it is safe.
|
|
54
|
+
*
|
|
55
|
+
* The return value ENDS with the payload, byte for byte. Callers must treat that as a contract:
|
|
56
|
+
* appending anything — a footer, a signature block, a "hope that helps" — hands the payload a way
|
|
57
|
+
* to impersonate it.
|
|
58
|
+
*/
|
|
59
|
+
export declare function frameQuarantinedPayload(meta: QuarantineFrameMeta, payload: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* What `cello_transcript` says in place of the text.
|
|
62
|
+
*
|
|
63
|
+
* The entry stays in the transcript at its position — a hole where a message was is the evidence
|
|
64
|
+
* gap this unit exists to close, one level up. What is redacted is the READ, never the storage.
|
|
65
|
+
*
|
|
66
|
+
* ⚠️ **TWO FIELDS, AND THE SPLIT IS NOT COSMETIC — review F8.** The command lives in a key ending
|
|
67
|
+
* `guidance`, because that suffix is what `vocabulary.ts` rewrites for the surface that asked. When
|
|
68
|
+
* the whole sentence sat in `text`, `cello transcript` printed *"read it with `cello_quarantined`"*
|
|
69
|
+
* — an MCP tool name a terminal operator cannot type — while the sibling guidance on the same
|
|
70
|
+
* response was correctly rewritten to `cello quarantined`. One response, two spellings, one of them
|
|
71
|
+
* unrunnable. So `text` states the fact and names no verb, and the verb lives where the rewrite can
|
|
72
|
+
* reach it.
|
|
73
|
+
*/
|
|
74
|
+
export declare function quarantineRedaction(reason: string, sessionId: string, sequence: number): {
|
|
75
|
+
text: string;
|
|
76
|
+
guidance: string;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Whether the evidence is actually there, and where — `DOD-M15-REFUSEDEVIDENCE-1`.
|
|
80
|
+
*
|
|
81
|
+
* ⚠️ **A CLAIM ABOUT DURABILITY IS MADE AFTER THE WRITE, NEVER BEFORE IT.** Retention has two real
|
|
82
|
+
* ways to keep nothing — the conversation's byte budget is spent, or the write threw — so a notice
|
|
83
|
+
* saying "the message was kept" unconditionally sends an operator to a remedy that answers
|
|
84
|
+
* `no_refused_message_at_sequence`. The caller passes what the retention attempt returned.
|
|
85
|
+
*
|
|
86
|
+
* ⚠️ **IT LIVES HERE, IN THIS UNIT'S MODULE, NOT IN `orphan-triage.ts`.** Whether a refused message
|
|
87
|
+
* exists is 023's fact. It was briefly defined inside 024's module and duplicated against a private
|
|
88
|
+
* copy on the manager — two functions answering one question, which is how they drift into
|
|
89
|
+
* disagreeing. 024's triage RECEIVES this string; it does not own it.
|
|
90
|
+
*/
|
|
91
|
+
export declare function retentionSentence(sessionId: string, storedSeq: number | null): string;
|
|
92
|
+
//# sourceMappingURL=quarantine-framing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quarantine-framing.d.ts","sourceRoot":"","sources":["../src/quarantine-framing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,uGAAuG;IACvG,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,+FAA+F;IAC/F,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mGAAmG;IACnG,SAAS,EAAE,UAAU,GAAG,YAAY,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB;2GACuG;IACvG,cAAc,EAAE,MAAM,CAAC;CACxB;AAID;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA6B1F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAU3H;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIrF"}
|