@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":"standing-receivers.js","sourceRoot":"","sources":["../src/standing-receivers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bringing an agent online, and reporting honestly whether it can actually be REACHED.
|
|
3
|
+
*
|
|
4
|
+
* "Online" and "reachable" are two different facts and the whole value of this path is refusing to
|
|
5
|
+
* collapse them. An agent marked online whose standing receiver never came up looks identical to a
|
|
6
|
+
* healthy one at every surface — so a second `cello_start_agent`, which is what an operator runs
|
|
7
|
+
* when the first seemed not to work, reports the receiver's REAL state rather than a bare ok.
|
|
8
|
+
*/
|
|
9
|
+
import type { AgentInfo, Logger } from "./types.js";
|
|
10
|
+
import type { SessionNodeManager } from "./session-node-manager.js";
|
|
11
|
+
import type { SignalingManager } from "@cello-protocol/transport";
|
|
12
|
+
import type { KeyProvider } from "@cello-protocol/crypto";
|
|
13
|
+
import type { NotificationDispatcher } from "./notification-dispatcher.js";
|
|
14
|
+
/** What starting an agent can answer. The readiness half is why this is a union and not a boolean. */
|
|
15
|
+
export type StartAgentResult = {
|
|
16
|
+
ok: true;
|
|
17
|
+
standing_receiver: "ready";
|
|
18
|
+
} | {
|
|
19
|
+
ok: true;
|
|
20
|
+
standing_receiver: "starting";
|
|
21
|
+
standing_receiver_cause: string | undefined;
|
|
22
|
+
guidance: string;
|
|
23
|
+
} | {
|
|
24
|
+
ok: false;
|
|
25
|
+
reason: string;
|
|
26
|
+
guidance: string;
|
|
27
|
+
};
|
|
28
|
+
export interface StartAgentDeps {
|
|
29
|
+
logger: Logger;
|
|
30
|
+
sessionNodeManager: SessionNodeManager;
|
|
31
|
+
/** Live containers — a copy would report a stale online set forever. */
|
|
32
|
+
agents: ReadonlyArray<AgentInfo>;
|
|
33
|
+
onlineAgents: Set<string>;
|
|
34
|
+
explicitlyOfflineAgents: Set<string>;
|
|
35
|
+
keyProviders: Map<string, KeyProvider>;
|
|
36
|
+
/**
|
|
37
|
+
* ⚠️ A GETTER. The dispatcher is constructed ~575 lines BELOW this call and is only ever used when
|
|
38
|
+
* an agent is actually started, which is always later. It is a `const`, so by value this would be
|
|
39
|
+
* a temporal-dead-zone crash at boot rather than a silent absence — loud, but still wrong.
|
|
40
|
+
*/
|
|
41
|
+
getNotificationDispatcher: () => NotificationDispatcher;
|
|
42
|
+
/** ⚠️ NOT a getter — for an agent with no manager this CONSTRUCTS one and dials. */
|
|
43
|
+
getAgentSignaling: (agentName: string, kp: KeyProvider, pubkeyHex: string) => {
|
|
44
|
+
signaling: SignalingManager;
|
|
45
|
+
};
|
|
46
|
+
autoRecoverForAgent: (agentName: string, trigger?: string) => Promise<void>;
|
|
47
|
+
flushAwaitingContent: (filterAgentName?: string) => Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
export declare function createStartAgent(deps: StartAgentDeps): {
|
|
50
|
+
startAgentInternal: (name: string) => {
|
|
51
|
+
ok: true;
|
|
52
|
+
standing_receiver: "ready";
|
|
53
|
+
} | {
|
|
54
|
+
ok: true;
|
|
55
|
+
standing_receiver: "starting";
|
|
56
|
+
standing_receiver_cause: string | undefined;
|
|
57
|
+
guidance: string;
|
|
58
|
+
} | {
|
|
59
|
+
ok: false;
|
|
60
|
+
reason: string;
|
|
61
|
+
guidance: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=start-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-agent.d.ts","sourceRoot":"","sources":["../src/start-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAG3E,sGAAsG;AACtG,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,iBAAiB,EAAE,UAAU,CAAC;IAAC,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC1G;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,wEAAwE;IACxE,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC;;;;OAIG;IACH,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;IACxD,oFAAoF;IACpF,iBAAiB,EAAE,CACjB,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAClD;QAAE,SAAS,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACrC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,oBAAoB,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc;+BAkBjB,MAAM,KACpC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,GACxC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,iBAAiB,EAAE,UAAU,CAAC;QAAC,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAC1G;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;EAyHpD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { extractErrorMessage } from "./error-message.js";
|
|
2
|
+
export function createStartAgent(deps) {
|
|
3
|
+
const { logger, sessionNodeManager, agents, onlineAgents, explicitlyOfflineAgents, keyProviders, getNotificationDispatcher, getAgentSignaling, autoRecoverForAgent, flushAwaitingContent, } = deps;
|
|
4
|
+
// ─── MCP-001: cello_start_agent handler ───
|
|
5
|
+
// M8C-AUTOSTART-1 (A2): the shared start path. Extracted from cello_start_agent so cello_use_agent
|
|
6
|
+
// can AUTO-START an offline agent through the exact same code (idempotent, same signaling +
|
|
7
|
+
// standing-receiver setup, same agent_state_changed event) — never a divergent shim-side retry.
|
|
8
|
+
// Permissive by design (D12): an agent that exists goes online regardless of directory
|
|
9
|
+
// registration state (online-without-registration is an established contract). Returns a
|
|
10
|
+
// structured failure so callers can surface agent_start_failed with a real reason + guidance.
|
|
11
|
+
/**
|
|
12
|
+
* `standing_receiver` is part of the SUCCESS shape, not an optional extra — `DOD-M15-START-AGENT-
|
|
13
|
+
* UNAWAITED-1`. A bare `{ ok: true }` claimed the agent was started and reachable when only the
|
|
14
|
+
* first half was known, and the union makes the two states impossible to conflate at a call site.
|
|
15
|
+
*/
|
|
16
|
+
function startAgentInternal(name) {
|
|
17
|
+
const agent = agents.find((a) => a.name === name);
|
|
18
|
+
if (!agent || agent.state === "load_failed") {
|
|
19
|
+
return { ok: false, reason: "agent_not_found", guidance: `Agent '${name}' does not exist. Run 'cello login' to register agents, or check agent names with cello_agents.` };
|
|
20
|
+
}
|
|
21
|
+
if (onlineAgents.has(name)) {
|
|
22
|
+
// Idempotent — already online, no event.
|
|
23
|
+
//
|
|
24
|
+
// It still reports REAL readiness rather than a bare ok. "Already online" says this daemon
|
|
25
|
+
// marked the agent online at some earlier moment; it says nothing about whether the receiver
|
|
26
|
+
// that ensure was firing ever came up. An operator who calls start twice — which is exactly
|
|
27
|
+
// what someone does when the first one seemed not to work — would otherwise get the most
|
|
28
|
+
// reassuring answer in the run on the attempt where something is actually wrong.
|
|
29
|
+
const readyNow = sessionNodeManager.getStandingReceiverInfo(name) !== null;
|
|
30
|
+
if (readyNow)
|
|
31
|
+
return { ok: true, standing_receiver: "ready" };
|
|
32
|
+
const cause = sessionNodeManager.standingReceiverAbsenceReason(name);
|
|
33
|
+
return {
|
|
34
|
+
ok: true,
|
|
35
|
+
standing_receiver: "starting",
|
|
36
|
+
standing_receiver_cause: cause,
|
|
37
|
+
guidance: `'${name}' was already online, and its standing receiver is not up (${cause}). Outbound ` +
|
|
38
|
+
`sends and cello_initiate_session ensure it on demand. An inbound session arriving before ` +
|
|
39
|
+
`it is ready is refused with 'standing_receiver_unavailable' — this daemon, not the ` +
|
|
40
|
+
`counterparty. If it stays this way, stop the agent and start it again.`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
onlineAgents.add(name);
|
|
44
|
+
// Pressing start clears the deliberate-offline mark — that is what makes the switch reversible.
|
|
45
|
+
explicitlyOfflineAgents.delete(name);
|
|
46
|
+
// CELLO-M7-CONN-001 (DOD-CONN-2, code-review HIGH): the "online" transition establishes THIS
|
|
47
|
+
// agent's OWN directory signaling connection (the documented getAgentSignaling "online" trigger),
|
|
48
|
+
// so the directory has a stream to push inbound session_assignment / seal_interrupted_request to.
|
|
49
|
+
// Without this, a started receiver agent sitting in cello_await_session (notably after a daemon
|
|
50
|
+
// restart, where login does NOT auto-start agents) would have no stream and never receive inbound —
|
|
51
|
+
// a regression of the pre-CONN-001 keystone, which connected the primary at startup. Lazy +
|
|
52
|
+
// idempotent (getAgentSignaling reuses an existing manager); the test path returns the shared one.
|
|
53
|
+
const startKp = keyProviders.get(name);
|
|
54
|
+
if (startKp && agent.pubkey) {
|
|
55
|
+
getAgentSignaling(name, startKp, agent.pubkey);
|
|
56
|
+
logger.info("agent.directory.connection.initiated", { agentName: name, agentPubkey: agent.pubkey });
|
|
57
|
+
}
|
|
58
|
+
// DOD-LOOP-1: each online agent gets its OWN standing receiver, so two agents on one daemon
|
|
59
|
+
// (loopback) never contend for a single one. Fire-and-forget (initiate/accept also ensure on
|
|
60
|
+
// demand); never let it throw out of the handler. Once the SR is up, re-park any of THIS
|
|
61
|
+
// agent's un-acked awaiting content (the crash backstop — its node was unavailable at the
|
|
62
|
+
// pre-IPC startup flush because no agent was online yet).
|
|
63
|
+
// The standing-receiver ensure + sender re-park; a rejection here is a standing-receiver failure.
|
|
64
|
+
void sessionNodeManager.ensureStandingReceiverForAgent(name)
|
|
65
|
+
.then(() => flushAwaitingContent(name))
|
|
66
|
+
.catch((err) => {
|
|
67
|
+
logger.warn("session.standing_receiver.ensure.failed", {
|
|
68
|
+
agentName: name,
|
|
69
|
+
reason: extractErrorMessage(err),
|
|
70
|
+
// `DOD-M15-START-AGENT-UNAWAITED-1`. The operator has ALREADY been told `ok: true` — this
|
|
71
|
+
// handler answered before this promise settled — so nothing corrects that answer if this
|
|
72
|
+
// is permanent. Say what it costs them here, because this line is the only account.
|
|
73
|
+
impact: "cello_start_agent already answered ok for this agent, and its standing receiver did not " +
|
|
74
|
+
"come up. The agent is online to the directory and CANNOT accept an inbound session: a " +
|
|
75
|
+
"counterparty dialling it is refused standing_receiver_unavailable. Initiate and accept " +
|
|
76
|
+
"each re-ensure on demand, so this may still recover on the next attempt; if it does not, " +
|
|
77
|
+
"stop and restart the agent.",
|
|
78
|
+
});
|
|
79
|
+
})
|
|
80
|
+
// DOD-MSG-4 (auto-recover-on-reconnect): RECEIVER drains its parked mailbox from every relay it
|
|
81
|
+
// has sessions on (symmetric to the sender re-park). Its own stage so a failure is labelled
|
|
82
|
+
// correctly (review #4), not as a standing-receiver error. autoRecoverForAgent catches per-relay
|
|
83
|
+
// errors internally, so this .catch is a backstop only.
|
|
84
|
+
.then(() => autoRecoverForAgent(name, "agent_start"))
|
|
85
|
+
.catch((err) => {
|
|
86
|
+
logger.warn("content.recover.auto.failed", { agentName: name, stage: "agent_start", error: extractErrorMessage(err) });
|
|
87
|
+
});
|
|
88
|
+
/**
|
|
89
|
+
* `DOD-M15-START-AGENT-UNAWAITED-1` — SAY WHETHER THE AGENT CAN ACTUALLY HEAR YET.
|
|
90
|
+
*
|
|
91
|
+
* The ensure above is fire-and-forget and that is deliberate: initiate and accept both ensure on
|
|
92
|
+
* demand, and awaiting it here would turn a transient network failure into a failed start. **The
|
|
93
|
+
* defect was never the timing — it was the CLAIM.** `{ ok: true }` with nothing else reads as
|
|
94
|
+
* "your agent is running and reachable", and a session landing in the window before the receiver
|
|
95
|
+
* exists is refused `standing_receiver_unavailable` — a precondition on OUR side, surfacing to
|
|
96
|
+
* the operator as though the counterparty or the directory were at fault.
|
|
97
|
+
*
|
|
98
|
+
* ⚠️ **This field is only worth having because it can genuinely say `ready`.** Computed one line
|
|
99
|
+
* after firing an async ensure, a naive readiness flag would be `starting` on every call — a
|
|
100
|
+
* field that can never take its other value, which is the same defect as a log line reporting a
|
|
101
|
+
* verdict its producer cannot have. It escapes that because `ensureStandingReceiverForAgent` is
|
|
102
|
+
* IDEMPOTENT: an agent that already holds a receiver (a repeat start, or one whose receiver
|
|
103
|
+
* survived) has one at this instant and reports `ready` truthfully.
|
|
104
|
+
*
|
|
105
|
+
* `cause` is read from the same four-way answer the refusal path uses, so the response and the
|
|
106
|
+
* eventual error agree instead of describing the same state in two vocabularies.
|
|
107
|
+
*/
|
|
108
|
+
const receiverReady = sessionNodeManager.getStandingReceiverInfo(name) !== null;
|
|
109
|
+
const startingCause = receiverReady ? undefined : sessionNodeManager.standingReceiverAbsenceReason(name);
|
|
110
|
+
logger.info("agent.online", {
|
|
111
|
+
agentName: name,
|
|
112
|
+
agentPubkey: agent.pubkey ?? "",
|
|
113
|
+
standingReceiver: receiverReady ? "ready" : "starting",
|
|
114
|
+
...(startingCause !== undefined ? { standingReceiverCause: startingCause } : {}),
|
|
115
|
+
});
|
|
116
|
+
// MCP-002: Broadcast agent_state_changed to ALL connections
|
|
117
|
+
getNotificationDispatcher().dispatchAgentStateChanged(name, "online", "started");
|
|
118
|
+
if (receiverReady)
|
|
119
|
+
return { ok: true, standing_receiver: "ready" };
|
|
120
|
+
return {
|
|
121
|
+
ok: true,
|
|
122
|
+
standing_receiver: "starting",
|
|
123
|
+
standing_receiver_cause: startingCause,
|
|
124
|
+
// Invariant: an agent-facing response carries an affordance. Naming the refusal text is the
|
|
125
|
+
// load-bearing half — an operator who hits it in the next second can otherwise only conclude
|
|
126
|
+
// the other side is broken.
|
|
127
|
+
guidance: `'${name}' is online and its standing receiver is still being built. Outbound sends and ` +
|
|
128
|
+
`cello_initiate_session ensure it on demand, so ordinary use is fine. A session arriving in ` +
|
|
129
|
+
`the next moment can be refused with 'standing_receiver_unavailable' — that is this daemon ` +
|
|
130
|
+
`not being ready yet, NOT the counterparty being unreachable. It clears on its own; ` +
|
|
131
|
+
`cello_status reports the receiver once it is up.`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return { startAgentInternal };
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=start-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-agent.js","sourceRoot":"","sources":["../src/start-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cello_status` — what ONE CONNECTION can see of this daemon, from its own perspective.
|
|
3
|
+
*
|
|
4
|
+
* The widest read in the daemon and one of the narrowest dependency lists: nine values, every one a
|
|
5
|
+
* reader, nothing written. It reports the agents this connection may act as, its directory
|
|
6
|
+
* signaling, where the consortium manifest came from, unresolved directory nodes, interrupted
|
|
7
|
+
* sessions and live ones.
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ `unresolvedNodesForStatus` DID NOT COME WITH IT, and that is deliberate. The daemon-wide
|
|
10
|
+
* `getStatus()` — what `cello status` at a terminal renders — calls the same helper, and it is the
|
|
11
|
+
* surface that was silent on 2026-07-31 while every session failed. A helper with two consumers
|
|
12
|
+
* moves only when both move; here it is injected instead.
|
|
13
|
+
*/
|
|
14
|
+
import { type ManifestOrigin } from "./manifest-validity.js";
|
|
15
|
+
import { type EnforcedConsortium } from "./consortium-fingerprint.js";
|
|
16
|
+
import type { IpcHandler } from "./ipc-server.js";
|
|
17
|
+
import type { AgentInfo, ActiveSessionInfo, DirectorySignalingState, InterruptedSessionInfo } from "./types.js";
|
|
18
|
+
import type { IDirectoryChallengeVerifier } from "@cello-protocol/transport";
|
|
19
|
+
import type { ConsortiumManifest } from "@cello-protocol/protocol-types";
|
|
20
|
+
export interface StatusHandlerDeps {
|
|
21
|
+
handlers: Map<string, IpcHandler>;
|
|
22
|
+
/** Every agent this CONNECTION may act as — not every agent the daemon holds. */
|
|
23
|
+
getAgentsForConnection: (connectionId: string) => AgentInfo[];
|
|
24
|
+
directorySignalingStatus: () => DirectorySignalingState;
|
|
25
|
+
/** Where the verified manifest came from, for a reader deciding how much the rest is worth. */
|
|
26
|
+
manifestOrigin: ManifestOrigin;
|
|
27
|
+
manifestProvider: {
|
|
28
|
+
getCurrentManifest: () => Pick<ConsortiumManifest, "not_before" | "expires"> | null;
|
|
29
|
+
} | undefined;
|
|
30
|
+
/** The configured directory URL, or undefined when nothing was configured. */
|
|
31
|
+
directoryHttpUrl: string | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* The directory challenge verifier, or undefined when this daemon holds none. TYPED, not
|
|
34
|
+
* `unknown`: the posture line an operator reads is derived from `!== undefined`, so a dep loose
|
|
35
|
+
* enough to accept `null` or the wrong variable would report `directory_authentication: enforced`
|
|
36
|
+
* on a daemon that enforces nothing — the failure `DOD-M15-DIRAUTH-1` exists to prevent.
|
|
37
|
+
*/
|
|
38
|
+
challengeVerifier: IDirectoryChallengeVerifier | undefined;
|
|
39
|
+
/** The root keys and threshold actually handed to the verifier — see daemon-status-report.ts. */
|
|
40
|
+
enforcedConsortium: EnforcedConsortium;
|
|
41
|
+
/** Emits ONLY when something is wrong or nothing has looked recently enough to say. */
|
|
42
|
+
unresolvedNodesForStatus: () => {
|
|
43
|
+
directory_endpoints_unresolved: unknown;
|
|
44
|
+
} | undefined;
|
|
45
|
+
buildInterruptedSessions: () => InterruptedSessionInfo[];
|
|
46
|
+
/**
|
|
47
|
+
* DOD-M15-AWAYSCOPE-1: the ENRICHED build. `cello_status` is an agent-facing surface and the
|
|
48
|
+
* agent is exactly the reader that must not have to send a message to find out whether the far
|
|
49
|
+
* side is attended — that is the defect this order closes.
|
|
50
|
+
*/
|
|
51
|
+
buildActiveSessions: () => Promise<ActiveSessionInfo[]>;
|
|
52
|
+
}
|
|
53
|
+
export declare function registerStatusHandler(deps: StatusHandlerDeps): void;
|
|
54
|
+
//# sourceMappingURL=status-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-handler.d.ts","sourceRoot":"","sources":["../src/status-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAsD,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEjH,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAErG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,iFAAiF;IACjF,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IAC9D,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;IACxD,+FAA+F;IAC/F,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE;QAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IACtH,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC;;;;;OAKG;IACH,iBAAiB,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAC3D,iGAAiG;IACjG,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,uFAAuF;IACvF,wBAAwB,EAAE,MAAM;QAAE,8BAA8B,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACxF,wBAAwB,EAAE,MAAM,sBAAsB,EAAE,CAAC;IACzD;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CACzD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAkDnE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cello_status` — what ONE CONNECTION can see of this daemon, from its own perspective.
|
|
3
|
+
*
|
|
4
|
+
* The widest read in the daemon and one of the narrowest dependency lists: nine values, every one a
|
|
5
|
+
* reader, nothing written. It reports the agents this connection may act as, its directory
|
|
6
|
+
* signaling, where the consortium manifest came from, unresolved directory nodes, interrupted
|
|
7
|
+
* sessions and live ones.
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ `unresolvedNodesForStatus` DID NOT COME WITH IT, and that is deliberate. The daemon-wide
|
|
10
|
+
* `getStatus()` — what `cello status` at a terminal renders — calls the same helper, and it is the
|
|
11
|
+
* surface that was silent on 2026-07-31 while every session failed. A helper with two consumers
|
|
12
|
+
* moves only when both move; here it is injected instead.
|
|
13
|
+
*/
|
|
14
|
+
import { classifyManifestValidity, describeManifestValidity } from "./manifest-validity.js";
|
|
15
|
+
import { describeDirectoryAuth } from "./directory-auth-posture.js";
|
|
16
|
+
import { describeConsortiumFingerprint } from "./consortium-fingerprint.js";
|
|
17
|
+
import { resolveDirectoryUrl } from "./directory-bootstrap.js";
|
|
18
|
+
export function registerStatusHandler(deps) {
|
|
19
|
+
const { handlers, getAgentsForConnection, directorySignalingStatus, manifestOrigin, manifestProvider, directoryHttpUrl, challengeVerifier, unresolvedNodesForStatus, buildInterruptedSessions, buildActiveSessions, enforcedConsortium, } = deps;
|
|
20
|
+
handlers.set("cello_status", async (_params, connectionId) => {
|
|
21
|
+
return {
|
|
22
|
+
daemon: "running",
|
|
23
|
+
directory_signaling: directorySignalingStatus(),
|
|
24
|
+
// CAN I ACTUALLY REACH THE DIRECTORY — not just "is my socket up?".
|
|
25
|
+
//
|
|
26
|
+
// These are different facts and they diverged for an hour on 2026-07-31. libp2p signaling
|
|
27
|
+
// dials multiaddrs from the bundled manifest, so it stayed connected and every agent reported
|
|
28
|
+
// online, while a cached NXDOMAIN meant nothing that needed the HTTP endpoint resolved. The
|
|
29
|
+
// roster came back empty, so every threshold ceremony failed — surfacing to the operator as
|
|
30
|
+
// counterparty_offline, then directory_below_threshold, then ceremony_exhausted. Three errors,
|
|
31
|
+
// none of them naming DNS, while the reason sat in the log 26 times per node.
|
|
32
|
+
//
|
|
33
|
+
// Omitted entirely when nothing is failing, so a healthy status stays quiet.
|
|
34
|
+
...(unresolvedNodesForStatus() ?? {}),
|
|
35
|
+
// DOD-M15-MANIFEST-EXPIRY-LIVE-1: contributes NOTHING while the manifest is comfortably in
|
|
36
|
+
// window. A field present on every status read for the years a manifest is valid is furniture,
|
|
37
|
+
// not a warning, and it teaches the reader to skip the block that matters.
|
|
38
|
+
...(describeManifestValidity(classifyManifestValidity(manifestProvider?.getCurrentManifest() ?? null, Date.now()), manifestOrigin) ?? {}),
|
|
39
|
+
// DOD-M15-CONSORTIUM-FINGERPRINT-1 — WHICH consortium this client accepts a manifest from.
|
|
40
|
+
...describeConsortiumFingerprint(enforcedConsortium),
|
|
41
|
+
// DOD-M15-DIRAUTH-1: the posture is STATED, in both directions. Unlike every other field in
|
|
42
|
+
// this milestone the healthy case is reported too — the defect is precisely that "enforced"
|
|
43
|
+
// and "skipped" differ only by the absence of a log line, so an operator must be able to
|
|
44
|
+
// confirm it is on, not merely fail to find evidence that it is off.
|
|
45
|
+
...describeDirectoryAuth({
|
|
46
|
+
verifierPresent: challengeVerifier !== undefined,
|
|
47
|
+
directoryUrl: directoryHttpUrl ?? resolveDirectoryUrl(process.env),
|
|
48
|
+
// Review F5: with neither set, `resolveDirectoryUrl` re-picks a RANDOM bundled endpoint on
|
|
49
|
+
// every call, so there is no configured URL to quote or to blame.
|
|
50
|
+
urlExplicitlyConfigured: directoryHttpUrl !== undefined || process.env["CELLO_DIRECTORY_URL"] !== undefined,
|
|
51
|
+
}),
|
|
52
|
+
agents: getAgentsForConnection(connectionId),
|
|
53
|
+
// M-1 PULL: live MCP clients must see interrupted sessions too, exactly as
|
|
54
|
+
// the daemon-wide getStatus() surfaces them.
|
|
55
|
+
interrupted_sessions: buildInterruptedSessions(),
|
|
56
|
+
// M8B F16: per-session liveness on the MCP surface too.
|
|
57
|
+
active_sessions: await buildActiveSessions(),
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=status-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-handler.js","sourceRoot":"","sources":["../src/status-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAuB,MAAM,wBAAwB,CAAC;AACjH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAA2B,MAAM,6BAA6B,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAoC/D,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,MAAM,EACJ,QAAQ,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,cAAc,EAAE,gBAAgB,EAC5F,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,mBAAmB,EAC5G,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QAC3D,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,mBAAmB,EAAE,wBAAwB,EAAE;YAC/C,oEAAoE;YACpE,EAAE;YACF,0FAA0F;YAC1F,8FAA8F;YAC9F,4FAA4F;YAC5F,4FAA4F;YAC5F,+FAA+F;YAC/F,8EAA8E;YAC9E,EAAE;YACF,6EAA6E;YAC7E,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;YACrC,2FAA2F;YAC3F,+FAA+F;YAC/F,2EAA2E;YAC3E,GAAG,CAAC,wBAAwB,CAC1B,wBAAwB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,IAAI,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EACpF,cAAc,CACf,IAAI,EAAE,CAAC;YACR,2FAA2F;YAC3F,GAAG,6BAA6B,CAAC,kBAAkB,CAAC;YACpD,4FAA4F;YAC5F,4FAA4F;YAC5F,yFAAyF;YACzF,qEAAqE;YACrE,GAAG,qBAAqB,CAAC;gBACvB,eAAe,EAAE,iBAAiB,KAAK,SAAS;gBAChD,YAAY,EAAE,gBAAgB,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC;gBAClE,2FAA2F;gBAC3F,kEAAkE;gBAClE,uBAAuB,EAAE,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,SAAS;aAC5G,CAAC;YACF,MAAM,EAAE,sBAAsB,CAAC,YAAY,CAAC;YAC5C,2EAA2E;YAC3E,6CAA6C;YAC7C,oBAAoB,EAAE,wBAAwB,EAAE;YAChD,wDAAwD;YACxD,eAAe,EAAE,MAAM,mBAAmB,EAAE;SAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOD-M15-ENDORSE-RETRY-1 — a sealed submission survives the directory node going away.
|
|
3
|
+
*
|
|
4
|
+
* An operator mints a trust signal, the one directory node this daemon holds a signaling stream to
|
|
5
|
+
* is down or restarting, and the command fails and it is over: nothing queues the submission,
|
|
6
|
+
* nothing retries it, and the operator has to notice and run it again. The consortium has three
|
|
7
|
+
* nodes, and surviving one of them being unavailable is the entire reason there are three.
|
|
8
|
+
*
|
|
9
|
+
* THIS IS THE RETRY, NOT THE ROUTING, AND THAT DISTINCTION IS RULED. `sendSealedSubmission` says so
|
|
10
|
+
* in its own header: the daemon holds ONE signaling stream, registration already works this way
|
|
11
|
+
* (the client sends to the connected node and the DIRECTORY fans out), and inventing a client-side
|
|
12
|
+
* multi-node write here would duplicate the SignalingManager's reconnect. So the failover mechanism
|
|
13
|
+
* is that existing reconnect — this module never chooses a node, never holds an endpoint, and never
|
|
14
|
+
* learns which node answered. It waits to be told the stream is up again and sends the same bytes.
|
|
15
|
+
*
|
|
16
|
+
* WHY A RETRY IS SAFE, and it is the load-bearing fact for the whole design: `submission_id` is
|
|
17
|
+
* sha256 of the SIGNED PLAINTEXT body, so the same submission produces the same id however many
|
|
18
|
+
* times it is sent. A node stores it once (`ON CONFLICT DO NOTHING` on the id) and the portal mints
|
|
19
|
+
* once (`processed_submissions`, checked before the mint path). Nothing here may ever re-COMPOSE a
|
|
20
|
+
* submission: the sealed bytes are captured at compose time and re-sent verbatim, because a re-seal
|
|
21
|
+
* is randomised and a re-compose could pick up a different `issued_at` — which changes the id, and
|
|
22
|
+
* a changed id is a second endorsement rather than a retry.
|
|
23
|
+
*
|
|
24
|
+
* SERIAL AND STAGGERED, on the `RestartSealResolver`'s pattern, and one of its lessons is carried
|
|
25
|
+
* over wholesale: a refusal that is a precondition OF OURS is not a verdict on the submission, so it
|
|
26
|
+
* must not spend the attempt budget. There the population was `standing_receiver_unavailable` on a
|
|
27
|
+
* fresh boot; here it is a signaling stream that is reconnecting. Production turns that stream over
|
|
28
|
+
* roughly every 70 seconds, so charging each reconnect an attempt would burn a five-attempt budget
|
|
29
|
+
* in six minutes and give up on a submission whose only problem was that the network moved.
|
|
30
|
+
*
|
|
31
|
+
* IN MEMORY, FOR THE LIFE OF THE PROCESS, and stated rather than implied. The queue holds sealed
|
|
32
|
+
* ciphertext, and persisting it would mean a new table, a client-side migration, and a blob at rest
|
|
33
|
+
* whose retention outlives the intake key it is sealed to. A daemon restart therefore loses the
|
|
34
|
+
* pending retries — the operator sees them disappear from `cello_attestations_issued` rather than
|
|
35
|
+
* seeing a lie, they are NAMED in the log on the way out (`retry.dropped_on_shutdown`), and
|
|
36
|
+
* re-submitting is safe by the same content-derived id.
|
|
37
|
+
*
|
|
38
|
+
* THE INTAKE KEY IS CHECKED BY THE CALLER, not assumed here. An earlier version of this paragraph
|
|
39
|
+
* asserted that the retry window "is far shorter than any manifest validity window, so a queued
|
|
40
|
+
* blob cannot outlive the intake key it was sealed to" — which is only true when the manifest has
|
|
41
|
+
* more than a window left at compose time. The enqueue site in `daemon.ts` holds the manifest and
|
|
42
|
+
* refuses to hold a submission whose intake key would expire inside the window; see
|
|
43
|
+
* `DEFAULT_RETRY_WINDOW_MS` below for what goes wrong when nothing checks.
|
|
44
|
+
*/
|
|
45
|
+
import type { SubmissionOp } from "@cello-protocol/protocol-types";
|
|
46
|
+
import type { SendSubmissionResult, SubmissionSendFailure } from "./signal-submission.js";
|
|
47
|
+
import type { Logger } from "./types.js";
|
|
48
|
+
export declare function isRetryableSendFailure(reason: SubmissionSendFailure): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Why a retry stopped. FOUR names, because they lead to four different operator actions and this is
|
|
51
|
+
* the field a machine consumer branches on.
|
|
52
|
+
*
|
|
53
|
+
* `refused_by_node` and `agent_unloaded` exist because of review H3: a refusal arriving on retry
|
|
54
|
+
* attempt 1 used to be stamped `attempts_exhausted` with `attempts: 0` printed beside it. The
|
|
55
|
+
* node's own words survived in `guidance`, but EVERY machine-readable field said transport — so an
|
|
56
|
+
* operator grepping the log for exhaustion found a quota refusal, and one grepping for refusals
|
|
57
|
+
* found it filed under a transport give-up. The work order's recorded trap is exactly this: *"the
|
|
58
|
+
* operator must be able to tell 'the network is flaky, hold on' from 'the directory said no.'"*
|
|
59
|
+
*/
|
|
60
|
+
export type SubmissionGiveUpReason =
|
|
61
|
+
/** Failures that REACHED a node and got no usable answer, until the budget ran out. */
|
|
62
|
+
"attempts_exhausted"
|
|
63
|
+
/** Only ever local preconditions — the stream never came back inside the window. */
|
|
64
|
+
| "retry_window_elapsed"
|
|
65
|
+
/** A node decoded it, evaluated it, and said no. Nothing about waiting changes that. */
|
|
66
|
+
| "refused_by_node"
|
|
67
|
+
/** This daemon can no longer sign as the submitting agent, so nobody can send these bytes. */
|
|
68
|
+
| "agent_unloaded";
|
|
69
|
+
/** One submission this daemon composed, sealed, and has not yet handed to a directory node. */
|
|
70
|
+
export interface PendingSubmission {
|
|
71
|
+
agentName: string;
|
|
72
|
+
/** The STABLE key. `agentName` is a display label and is reusable after a retire; the surface
|
|
73
|
+
* that lists these is scoped by id. */
|
|
74
|
+
agentId: string;
|
|
75
|
+
/** Content-derived. Never recomputed here — see the header. */
|
|
76
|
+
submissionId: string;
|
|
77
|
+
intakeKeyId: string;
|
|
78
|
+
/** The sealed blob, re-sent verbatim. */
|
|
79
|
+
ciphertext: Uint8Array;
|
|
80
|
+
op: SubmissionOp;
|
|
81
|
+
subject: string;
|
|
82
|
+
}
|
|
83
|
+
export type SubmissionDelivery = {
|
|
84
|
+
state: "retrying";
|
|
85
|
+
attempts: number;
|
|
86
|
+
lastReason: SubmissionSendFailure;
|
|
87
|
+
nextAttemptAt: number;
|
|
88
|
+
guidance: string;
|
|
89
|
+
} | {
|
|
90
|
+
state: "gave_up";
|
|
91
|
+
attempts: number;
|
|
92
|
+
lastReason: SubmissionSendFailure;
|
|
93
|
+
gaveUpBecause: SubmissionGiveUpReason;
|
|
94
|
+
guidance: string;
|
|
95
|
+
};
|
|
96
|
+
export interface PendingSubmissionView {
|
|
97
|
+
submissionId: string;
|
|
98
|
+
op: SubmissionOp;
|
|
99
|
+
subject: string;
|
|
100
|
+
intakeKeyId: string;
|
|
101
|
+
delivery: SubmissionDelivery;
|
|
102
|
+
}
|
|
103
|
+
export interface ScheduledTask {
|
|
104
|
+
cancel: () => void;
|
|
105
|
+
}
|
|
106
|
+
export interface SubmissionRetryQueueDeps {
|
|
107
|
+
logger: Logger;
|
|
108
|
+
/**
|
|
109
|
+
* Re-send THESE bytes on whatever stream the agent's SignalingManager currently holds. The queue
|
|
110
|
+
* does not know or care which node that is — that is the point of the ruling in the header.
|
|
111
|
+
*/
|
|
112
|
+
send: (item: PendingSubmission) => Promise<SendSubmissionResult>;
|
|
113
|
+
/**
|
|
114
|
+
* A retry landed. The caller writes the same local record a first-pass send writes, or a later
|
|
115
|
+
* withdrawal has no handle to name. Called on the retry path only; the first-pass send records
|
|
116
|
+
* its own.
|
|
117
|
+
*/
|
|
118
|
+
onAccepted: (item: PendingSubmission, stored: boolean) => void;
|
|
119
|
+
now?: () => number;
|
|
120
|
+
schedule?: (fn: () => void, ms: number) => ScheduledTask;
|
|
121
|
+
/** Gap between two attempts, so a queue of submissions is not a burst of frames. */
|
|
122
|
+
staggerMs?: number;
|
|
123
|
+
/** Ceiling on attempts that reached a node. */
|
|
124
|
+
maxAttempts?: number;
|
|
125
|
+
/** Wall-clock ceiling for a submission whose failures were all local preconditions. */
|
|
126
|
+
retryWindowMs?: number;
|
|
127
|
+
/**
|
|
128
|
+
* Gap before re-trying a LOCAL PRECONDITION failure. Injectable because it and `baseBackoffMs`
|
|
129
|
+
* were the only two intervals a test could not vary — which is why the live wiring test's green
|
|
130
|
+
* depended on a real reconnect ladder racing a real 5-second timer.
|
|
131
|
+
*/
|
|
132
|
+
localPreconditionRetryMs?: number;
|
|
133
|
+
/** First non-local backoff; doubles from here. */
|
|
134
|
+
baseBackoffMs?: number;
|
|
135
|
+
/** Ceiling on pending submissions held at once, across all agents. */
|
|
136
|
+
queueCap?: number;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* One hour. Chosen against the intake key, not against patience: the queued blob is sealed to the
|
|
140
|
+
* intake key the manifest published at compose time, and a manifest window is measured in weeks.
|
|
141
|
+
*
|
|
142
|
+
* THIS COMMENT USED TO ASSERT THAT AN HOUR "CANNOT OUTLIVE THE KEY", AND THAT WAS AN UNCHECKED
|
|
143
|
+
* CLAIM (review M4). It holds only when the manifest has more than an hour left at compose time.
|
|
144
|
+
* `composeSealedSubmission` refuses an already-expired manifest, but nothing stopped a submission
|
|
145
|
+
* composed one minute before expiry from being held and re-sent for the next fifty-nine — and the
|
|
146
|
+
* portal's rotated-key retention does not cover it either, because that rule keeps a retired key
|
|
147
|
+
* "until no undrained row references it" (M10B-D11) and a HELD submission has no row at any node.
|
|
148
|
+
* The result is exactly the state the expiry gate exists to prevent: a blob the portal cannot open
|
|
149
|
+
* and cannot attribute, arriving as poison with no reply possible — while the operator has been
|
|
150
|
+
* told it is held and needs nothing from them.
|
|
151
|
+
*
|
|
152
|
+
* So the CALLER checks rather than this comment asserting. See the enqueue site in `daemon.ts`,
|
|
153
|
+
* which has the manifest in hand and refuses to hold a submission whose intake key would expire
|
|
154
|
+
* inside this window.
|
|
155
|
+
*/
|
|
156
|
+
export declare const DEFAULT_RETRY_WINDOW_MS: number;
|
|
157
|
+
/**
|
|
158
|
+
* The retry queue. One per daemon; keyed by (agentId, submissionId) because two agents on one
|
|
159
|
+
* daemon can each submit about the same subject and the rows are per-agent facts.
|
|
160
|
+
*/
|
|
161
|
+
export declare class SubmissionRetryQueue {
|
|
162
|
+
#private;
|
|
163
|
+
constructor(deps: SubmissionRetryQueueDeps);
|
|
164
|
+
/**
|
|
165
|
+
* Take ownership of a submission whose send failed for a retryable reason.
|
|
166
|
+
*
|
|
167
|
+
* Returns `false` when the queue is full, and the caller then reports the plain failure — an
|
|
168
|
+
* operator who is told "the daemon has it" about a submission the daemon dropped is worse off
|
|
169
|
+
* than one who is told it failed, because only the second knows to act.
|
|
170
|
+
*/
|
|
171
|
+
enqueue(item: PendingSubmission, lastReason: SubmissionSendFailure): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* The agent's directory signaling stream reached 'connected' — the first connect and every
|
|
174
|
+
* reconnect after a drop. THIS IS THE FAILOVER. Which node it landed on is not this module's
|
|
175
|
+
* business and is deliberately not read.
|
|
176
|
+
*/
|
|
177
|
+
onSignalingConnected(agentName: string): void;
|
|
178
|
+
/**
|
|
179
|
+
* What this agent still has in flight, and what was given up on. Read by `wallet_list_issued`,
|
|
180
|
+
* which is the surface behind `cello_attestations_issued` — the verb whose whole question is
|
|
181
|
+
* "what happened to what I sent?".
|
|
182
|
+
*/
|
|
183
|
+
list(agentId: string): PendingSubmissionView[];
|
|
184
|
+
/**
|
|
185
|
+
* A submission finally landed by some other route — the operator re-issued it, and the
|
|
186
|
+
* first-pass send succeeded. Drop any give-up recorded for it (review L9).
|
|
187
|
+
*
|
|
188
|
+
* The id is content-derived, so re-issuing the SAME words about the SAME subject produces the
|
|
189
|
+
* SAME id: this is precisely the "I wrote it again and it worked" case. Without it the operator
|
|
190
|
+
* sees the old failure and the new accepted row side by side for the life of the daemon, with no
|
|
191
|
+
* way to dismiss the one that is no longer true.
|
|
192
|
+
*/
|
|
193
|
+
clearGaveUp(agentId: string, submissionId: string): void;
|
|
194
|
+
/**
|
|
195
|
+
* Stop, and start nothing further.
|
|
196
|
+
*
|
|
197
|
+
* EVERY DROPPED SUBMISSION IS NAMED (review H2). The queue is in memory by design, but the
|
|
198
|
+
* operator was told in as many words "you do NOT need to run this again" — and before this, a
|
|
199
|
+
* restart left no durable trace anywhere naming what had been lost. A comment in the composition
|
|
200
|
+
* root asserting "in memory by design" is not a record; these lines are.
|
|
201
|
+
*
|
|
202
|
+
* The SUBJECT is logged and the body is not: the subject is a pubkey or a signal hash, and the
|
|
203
|
+
* body is the operator's own words about a third party, which this whole path exists to keep out
|
|
204
|
+
* of the clear on disk.
|
|
205
|
+
*/
|
|
206
|
+
stop(): void;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=submission-retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submission-retry.d.ts","sourceRoot":"","sources":["../src/submission-retry.ts"],"names":[],"mappings":"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"}
|