@cello-protocol/daemon 0.0.225 → 0.0.227
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/package.json +5 -5
- package/dist/agent-admin-handlers.d.ts +0 -56
- package/dist/agent-admin-handlers.d.ts.map +0 -1
- package/dist/agent-admin-handlers.js +0 -73
- package/dist/agent-admin-handlers.js.map +0 -1
- package/dist/agent-handlers.d.ts +0 -72
- package/dist/agent-handlers.d.ts.map +0 -1
- package/dist/agent-handlers.js +0 -604
- package/dist/agent-handlers.js.map +0 -1
- package/dist/agent-id-migration.d.ts +0 -70
- package/dist/agent-id-migration.d.ts.map +0 -1
- package/dist/agent-id-migration.js +0 -468
- package/dist/agent-id-migration.js.map +0 -1
- package/dist/agent-loader.d.ts +0 -37
- package/dist/agent-loader.d.ts.map +0 -1
- package/dist/agent-loader.js +0 -37
- package/dist/agent-loader.js.map +0 -1
- package/dist/agent-selection-root.d.ts +0 -29
- package/dist/agent-selection-root.d.ts.map +0 -1
- package/dist/agent-selection-root.js +0 -126
- package/dist/agent-selection-root.js.map +0 -1
- package/dist/agent-selection.d.ts +0 -73
- package/dist/agent-selection.d.ts.map +0 -1
- package/dist/agent-selection.js +0 -80
- package/dist/agent-selection.js.map +0 -1
- package/dist/agent-settings-keys.d.ts +0 -52
- package/dist/agent-settings-keys.d.ts.map +0 -1
- package/dist/agent-settings-keys.js +0 -114
- package/dist/agent-settings-keys.js.map +0 -1
- package/dist/agent-state.d.ts +0 -67
- package/dist/agent-state.d.ts.map +0 -1
- package/dist/agent-state.js +0 -66
- package/dist/agent-state.js.map +0 -1
- package/dist/assignment-verify.d.ts +0 -90
- package/dist/assignment-verify.d.ts.map +0 -1
- package/dist/assignment-verify.js +0 -301
- package/dist/assignment-verify.js.map +0 -1
- package/dist/attendance-wiring.d.ts +0 -23
- package/dist/attendance-wiring.d.ts.map +0 -1
- package/dist/attendance-wiring.js +0 -248
- package/dist/attendance-wiring.js.map +0 -1
- package/dist/attestation-body.d.ts +0 -47
- package/dist/attestation-body.d.ts.map +0 -1
- package/dist/attestation-body.js +0 -71
- package/dist/attestation-body.js.map +0 -1
- package/dist/authorship-verification.d.ts +0 -91
- package/dist/authorship-verification.d.ts.map +0 -1
- package/dist/authorship-verification.js +0 -532
- package/dist/authorship-verification.js.map +0 -1
- package/dist/away-detection.d.ts +0 -139
- package/dist/away-detection.d.ts.map +0 -1
- package/dist/away-detection.js +0 -186
- package/dist/away-detection.js.map +0 -1
- package/dist/away-inbox-oneshot.d.ts +0 -40
- package/dist/away-inbox-oneshot.d.ts.map +0 -1
- package/dist/away-inbox-oneshot.js +0 -311
- package/dist/away-inbox-oneshot.js.map +0 -1
- package/dist/backup-restore-handlers.d.ts +0 -10
- package/dist/backup-restore-handlers.d.ts.map +0 -1
- package/dist/backup-restore-handlers.js +0 -82
- package/dist/backup-restore-handlers.js.map +0 -1
- package/dist/backup-restore.d.ts +0 -102
- package/dist/backup-restore.d.ts.map +0 -1
- package/dist/backup-restore.js +0 -341
- package/dist/backup-restore.js.map +0 -1
- package/dist/bin/cello-daemon.d.ts +0 -13
- package/dist/bin/cello-daemon.d.ts.map +0 -1
- package/dist/bin/cello-daemon.js.map +0 -1
- package/dist/boot-agents.d.ts +0 -64
- package/dist/boot-agents.d.ts.map +0 -1
- package/dist/boot-agents.js +0 -241
- package/dist/boot-agents.js.map +0 -1
- package/dist/boot-connection-state.d.ts +0 -38
- package/dist/boot-connection-state.d.ts.map +0 -1
- package/dist/boot-connection-state.js +0 -95
- package/dist/boot-connection-state.js.map +0 -1
- package/dist/boot-core.d.ts +0 -36
- package/dist/boot-core.d.ts.map +0 -1
- package/dist/boot-core.js +0 -293
- package/dist/boot-core.js.map +0 -1
- package/dist/boot-parked-content.d.ts +0 -34
- package/dist/boot-parked-content.d.ts.map +0 -1
- package/dist/boot-parked-content.js +0 -528
- package/dist/boot-parked-content.js.map +0 -1
- package/dist/boot-sweeps.d.ts +0 -22
- package/dist/boot-sweeps.d.ts.map +0 -1
- package/dist/boot-sweeps.js +0 -51
- package/dist/boot-sweeps.js.map +0 -1
- package/dist/bundled-consortium-manifest.d.ts +0 -47
- package/dist/bundled-consortium-manifest.d.ts.map +0 -1
- package/dist/bundled-consortium-manifest.js +0 -116
- package/dist/bundled-consortium-manifest.js.map +0 -1
- package/dist/cbor-blob-migration.d.ts +0 -8
- package/dist/cbor-blob-migration.d.ts.map +0 -1
- package/dist/cbor-blob-migration.js +0 -116
- package/dist/cbor-blob-migration.js.map +0 -1
- package/dist/challenge-verifier.d.ts +0 -12
- package/dist/challenge-verifier.d.ts.map +0 -1
- package/dist/challenge-verifier.js +0 -11
- package/dist/challenge-verifier.js.map +0 -1
- package/dist/close-commitment.d.ts +0 -67
- package/dist/close-commitment.d.ts.map +0 -1
- package/dist/close-commitment.js +0 -78
- package/dist/close-commitment.js.map +0 -1
- package/dist/close-session-handler.d.ts +0 -94
- package/dist/close-session-handler.d.ts.map +0 -1
- package/dist/close-session-handler.js +0 -1418
- package/dist/close-session-handler.js.map +0 -1
- package/dist/co-attendance.d.ts +0 -29
- package/dist/co-attendance.d.ts.map +0 -1
- package/dist/co-attendance.js +0 -32
- package/dist/co-attendance.js.map +0 -1
- package/dist/column-birth.d.ts +0 -40
- package/dist/column-birth.d.ts.map +0 -1
- package/dist/column-birth.js +0 -61
- package/dist/column-birth.js.map +0 -1
- package/dist/connect-or-start.d.ts +0 -25
- package/dist/connect-or-start.d.ts.map +0 -1
- package/dist/connect-or-start.js +0 -175
- package/dist/connect-or-start.js.map +0 -1
- package/dist/connection-agents.d.ts +0 -16
- package/dist/connection-agents.d.ts.map +0 -1
- package/dist/connection-agents.js +0 -68
- package/dist/connection-agents.js.map +0 -1
- package/dist/consent-migration.d.ts +0 -49
- package/dist/consent-migration.d.ts.map +0 -1
- package/dist/consent-migration.js +0 -128
- package/dist/consent-migration.js.map +0 -1
- package/dist/consortium-bootstrap.d.ts +0 -138
- package/dist/consortium-bootstrap.d.ts.map +0 -1
- package/dist/consortium-bootstrap.js +0 -339
- package/dist/consortium-bootstrap.js.map +0 -1
- package/dist/consortium-fingerprint.d.ts +0 -115
- package/dist/consortium-fingerprint.d.ts.map +0 -1
- package/dist/consortium-fingerprint.js +0 -175
- package/dist/consortium-fingerprint.js.map +0 -1
- package/dist/contact-handlers.d.ts +0 -59
- package/dist/contact-handlers.d.ts.map +0 -1
- package/dist/contact-handlers.js +0 -343
- package/dist/contact-handlers.js.map +0 -1
- package/dist/contact-pubkey-case.d.ts +0 -65
- package/dist/contact-pubkey-case.d.ts.map +0 -1
- package/dist/contact-pubkey-case.js +0 -136
- package/dist/contact-pubkey-case.js.map +0 -1
- package/dist/contacts-tier-migration.d.ts +0 -90
- package/dist/contacts-tier-migration.d.ts.map +0 -1
- package/dist/contacts-tier-migration.js +0 -150
- package/dist/contacts-tier-migration.js.map +0 -1
- package/dist/content-encryption-status.d.ts +0 -111
- package/dist/content-encryption-status.d.ts.map +0 -1
- package/dist/content-encryption-status.js +0 -158
- package/dist/content-encryption-status.js.map +0 -1
- package/dist/content-park-client.d.ts +0 -90
- package/dist/content-park-client.d.ts.map +0 -1
- package/dist/content-park-client.js +0 -362
- package/dist/content-park-client.js.map +0 -1
- package/dist/content-park.d.ts +0 -52
- package/dist/content-park.d.ts.map +0 -1
- package/dist/content-park.js +0 -1309
- package/dist/content-park.js.map +0 -1
- package/dist/cross-node-negotiation.d.ts +0 -44
- package/dist/cross-node-negotiation.d.ts.map +0 -1
- package/dist/cross-node-negotiation.js +0 -34
- package/dist/cross-node-negotiation.js.map +0 -1
- package/dist/daemon-handle.d.ts +0 -57
- package/dist/daemon-handle.d.ts.map +0 -1
- package/dist/daemon-handle.js +0 -2
- package/dist/daemon-handle.js.map +0 -1
- package/dist/daemon-status-report.d.ts +0 -50
- package/dist/daemon-status-report.d.ts.map +0 -1
- package/dist/daemon-status-report.js +0 -81
- package/dist/daemon-status-report.js.map +0 -1
- package/dist/daemon.d.ts +0 -45
- package/dist/daemon.d.ts.map +0 -1
- package/dist/daemon.js +0 -1177
- package/dist/daemon.js.map +0 -1
- package/dist/db-identity-store.d.ts +0 -159
- package/dist/db-identity-store.d.ts.map +0 -1
- package/dist/db-identity-store.js +0 -502
- package/dist/db-identity-store.js.map +0 -1
- package/dist/delivery-open-registry.d.ts +0 -92
- package/dist/delivery-open-registry.d.ts.map +0 -1
- package/dist/delivery-open-registry.js +0 -121
- package/dist/delivery-open-registry.js.map +0 -1
- package/dist/delivery-session-suspects.d.ts +0 -56
- package/dist/delivery-session-suspects.d.ts.map +0 -1
- package/dist/delivery-session-suspects.js +0 -94
- package/dist/delivery-session-suspects.js.map +0 -1
- package/dist/directory-auth-posture.d.ts +0 -87
- package/dist/directory-auth-posture.d.ts.map +0 -1
- package/dist/directory-auth-posture.js +0 -134
- package/dist/directory-auth-posture.js.map +0 -1
- package/dist/directory-bootstrap.d.ts +0 -310
- package/dist/directory-bootstrap.d.ts.map +0 -1
- package/dist/directory-bootstrap.js +0 -557
- package/dist/directory-bootstrap.js.map +0 -1
- package/dist/directory-connect.d.ts +0 -27
- package/dist/directory-connect.d.ts.map +0 -1
- package/dist/directory-connect.js +0 -106
- package/dist/directory-connect.js.map +0 -1
- package/dist/disconnect-cleanup.d.ts +0 -51
- package/dist/disconnect-cleanup.d.ts.map +0 -1
- package/dist/disconnect-cleanup.js +0 -72
- package/dist/disconnect-cleanup.js.map +0 -1
- package/dist/document-amendment-store.d.ts +0 -120
- package/dist/document-amendment-store.d.ts.map +0 -1
- package/dist/document-amendment-store.js +0 -266
- package/dist/document-amendment-store.js.map +0 -1
- package/dist/document-delivery-transport.d.ts +0 -168
- package/dist/document-delivery-transport.d.ts.map +0 -1
- package/dist/document-delivery-transport.js +0 -206
- package/dist/document-delivery-transport.js.map +0 -1
- package/dist/document-engine.d.ts +0 -134
- package/dist/document-engine.d.ts.map +0 -1
- package/dist/document-engine.js +0 -282
- package/dist/document-engine.js.map +0 -1
- package/dist/document-flag.d.ts +0 -58
- package/dist/document-flag.d.ts.map +0 -1
- package/dist/document-flag.js +0 -70
- package/dist/document-flag.js.map +0 -1
- package/dist/document-frame-router.d.ts +0 -245
- package/dist/document-frame-router.d.ts.map +0 -1
- package/dist/document-frame-router.js +0 -397
- package/dist/document-frame-router.js.map +0 -1
- package/dist/document-gate-wiring.d.ts +0 -61
- package/dist/document-gate-wiring.d.ts.map +0 -1
- package/dist/document-gate-wiring.js +0 -125
- package/dist/document-gate-wiring.js.map +0 -1
- package/dist/document-gate.d.ts +0 -149
- package/dist/document-gate.d.ts.map +0 -1
- package/dist/document-gate.js +0 -509
- package/dist/document-gate.js.map +0 -1
- package/dist/document-handlers.d.ts +0 -47
- package/dist/document-handlers.d.ts.map +0 -1
- package/dist/document-handlers.js +0 -2203
- package/dist/document-handlers.js.map +0 -1
- package/dist/document-handshake.d.ts +0 -176
- package/dist/document-handshake.d.ts.map +0 -1
- package/dist/document-handshake.js +0 -452
- package/dist/document-handshake.js.map +0 -1
- package/dist/document-inbound.d.ts +0 -162
- package/dist/document-inbound.d.ts.map +0 -1
- package/dist/document-inbound.js +0 -530
- package/dist/document-inbound.js.map +0 -1
- package/dist/document-json.d.ts +0 -120
- package/dist/document-json.d.ts.map +0 -1
- package/dist/document-json.js +0 -191
- package/dist/document-json.js.map +0 -1
- package/dist/document-layer.d.ts +0 -215
- package/dist/document-layer.d.ts.map +0 -1
- package/dist/document-layer.js +0 -1025
- package/dist/document-layer.js.map +0 -1
- package/dist/document-lifecycle.d.ts +0 -52
- package/dist/document-lifecycle.d.ts.map +0 -1
- package/dist/document-lifecycle.js +0 -134
- package/dist/document-lifecycle.js.map +0 -1
- package/dist/document-live-docs.d.ts +0 -58
- package/dist/document-live-docs.d.ts.map +0 -1
- package/dist/document-live-docs.js +0 -126
- package/dist/document-live-docs.js.map +0 -1
- package/dist/document-notify.d.ts +0 -228
- package/dist/document-notify.d.ts.map +0 -1
- package/dist/document-notify.js +0 -580
- package/dist/document-notify.js.map +0 -1
- package/dist/document-profile.d.ts +0 -61
- package/dist/document-profile.d.ts.map +0 -1
- package/dist/document-profile.js +0 -112
- package/dist/document-profile.js.map +0 -1
- package/dist/document-publish.d.ts +0 -87
- package/dist/document-publish.d.ts.map +0 -1
- package/dist/document-publish.js +0 -173
- package/dist/document-publish.js.map +0 -1
- package/dist/document-reachability.d.ts +0 -42
- package/dist/document-reachability.d.ts.map +0 -1
- package/dist/document-reachability.js +0 -80
- package/dist/document-reachability.js.map +0 -1
- package/dist/document-reconcile-engine.d.ts +0 -66
- package/dist/document-reconcile-engine.d.ts.map +0 -1
- package/dist/document-reconcile-engine.js +0 -225
- package/dist/document-reconcile-engine.js.map +0 -1
- package/dist/document-reconcile-scheduler.d.ts +0 -163
- package/dist/document-reconcile-scheduler.d.ts.map +0 -1
- package/dist/document-reconcile-scheduler.js +0 -303
- package/dist/document-reconcile-scheduler.js.map +0 -1
- package/dist/document-rejection.d.ts +0 -251
- package/dist/document-rejection.d.ts.map +0 -1
- package/dist/document-rejection.js +0 -435
- package/dist/document-rejection.js.map +0 -1
- package/dist/document-screen.d.ts +0 -114
- package/dist/document-screen.d.ts.map +0 -1
- package/dist/document-screen.js +0 -223
- package/dist/document-screen.js.map +0 -1
- package/dist/document-store.d.ts +0 -372
- package/dist/document-store.d.ts.map +0 -1
- package/dist/document-store.js +0 -931
- package/dist/document-store.js.map +0 -1
- package/dist/document-surface.d.ts +0 -32
- package/dist/document-surface.d.ts.map +0 -1
- package/dist/document-surface.js +0 -151
- package/dist/document-surface.js.map +0 -1
- package/dist/document-types.d.ts +0 -94
- package/dist/document-types.d.ts.map +0 -1
- package/dist/document-types.js +0 -90
- package/dist/document-types.js.map +0 -1
- package/dist/document-watch.d.ts +0 -69
- package/dist/document-watch.d.ts.map +0 -1
- package/dist/document-watch.js +0 -108
- package/dist/document-watch.js.map +0 -1
- package/dist/document-wiring.d.ts +0 -53
- package/dist/document-wiring.d.ts.map +0 -1
- package/dist/document-wiring.js +0 -323
- package/dist/document-wiring.js.map +0 -1
- package/dist/document-write-guard.d.ts +0 -66
- package/dist/document-write-guard.d.ts.map +0 -1
- package/dist/document-write-guard.js +0 -98
- package/dist/document-write-guard.js.map +0 -1
- package/dist/document-write-path.d.ts +0 -94
- package/dist/document-write-path.d.ts.map +0 -1
- package/dist/document-write-path.js +0 -530
- package/dist/document-write-path.js.map +0 -1
- package/dist/error-message.d.ts +0 -7
- package/dist/error-message.d.ts.map +0 -1
- package/dist/error-message.js +0 -19
- package/dist/error-message.js.map +0 -1
- package/dist/file-manifest-provider.d.ts +0 -37
- package/dist/file-manifest-provider.d.ts.map +0 -1
- package/dist/file-manifest-provider.js +0 -105
- package/dist/file-manifest-provider.js.map +0 -1
- package/dist/frame-values.d.ts +0 -3
- package/dist/frame-values.d.ts.map +0 -1
- package/dist/frame-values.js +0 -84
- package/dist/frame-values.js.map +0 -1
- package/dist/frontier-mismatch.d.ts +0 -73
- package/dist/frontier-mismatch.d.ts.map +0 -1
- package/dist/frontier-mismatch.js +0 -89
- package/dist/frontier-mismatch.js.map +0 -1
- package/dist/gateway-config-handlers.d.ts +0 -26
- package/dist/gateway-config-handlers.d.ts.map +0 -1
- package/dist/gateway-config-handlers.js +0 -429
- package/dist/gateway-config-handlers.js.map +0 -1
- package/dist/held-content.d.ts +0 -145
- package/dist/held-content.d.ts.map +0 -1
- package/dist/held-content.js +0 -389
- package/dist/held-content.js.map +0 -1
- package/dist/http-manifest-poll.d.ts +0 -67
- package/dist/http-manifest-poll.d.ts.map +0 -1
- package/dist/http-manifest-poll.js +0 -150
- package/dist/http-manifest-poll.js.map +0 -1
- package/dist/identity-migration.d.ts +0 -40
- package/dist/identity-migration.d.ts.map +0 -1
- package/dist/identity-migration.js +0 -461
- package/dist/identity-migration.js.map +0 -1
- package/dist/inbound-refusals.d.ts +0 -283
- package/dist/inbound-refusals.d.ts.map +0 -1
- package/dist/inbound-refusals.js +0 -919
- package/dist/inbound-refusals.js.map +0 -1
- package/dist/inbound-seal-request.d.ts +0 -32
- package/dist/inbound-seal-request.d.ts.map +0 -1
- package/dist/inbound-seal-request.js +0 -228
- package/dist/inbound-seal-request.js.map +0 -1
- package/dist/inbound-sessions.d.ts +0 -291
- package/dist/inbound-sessions.d.ts.map +0 -1
- package/dist/inbound-sessions.js +0 -1609
- package/dist/inbound-sessions.js.map +0 -1
- package/dist/inclusion-proof-handlers.d.ts +0 -43
- package/dist/inclusion-proof-handlers.d.ts.map +0 -1
- package/dist/inclusion-proof-handlers.js +0 -565
- package/dist/inclusion-proof-handlers.js.map +0 -1
- package/dist/inclusion-proof.d.ts +0 -151
- package/dist/inclusion-proof.d.ts.map +0 -1
- package/dist/inclusion-proof.js +0 -228
- package/dist/inclusion-proof.js.map +0 -1
- package/dist/index.d.ts +0 -32
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/initiate-session-handler.d.ts +0 -55
- package/dist/initiate-session-handler.d.ts.map +0 -1
- package/dist/initiate-session-handler.js +0 -310
- package/dist/initiate-session-handler.js.map +0 -1
- package/dist/ipc-client.d.ts +0 -31
- package/dist/ipc-client.d.ts.map +0 -1
- package/dist/ipc-client.js +0 -113
- package/dist/ipc-client.js.map +0 -1
- package/dist/ipc-server.d.ts +0 -63
- package/dist/ipc-server.d.ts.map +0 -1
- package/dist/ipc-server.js +0 -429
- package/dist/ipc-server.js.map +0 -1
- package/dist/ipc-surface.d.ts +0 -44
- package/dist/ipc-surface.d.ts.map +0 -1
- package/dist/ipc-surface.js +0 -107
- package/dist/ipc-surface.js.map +0 -1
- package/dist/line-lcs.d.ts +0 -51
- package/dist/line-lcs.d.ts.map +0 -1
- package/dist/line-lcs.js +0 -71
- package/dist/line-lcs.js.map +0 -1
- package/dist/lock-file.d.ts +0 -39
- package/dist/lock-file.d.ts.map +0 -1
- package/dist/lock-file.js +0 -120
- package/dist/lock-file.js.map +0 -1
- package/dist/log-collapse.d.ts +0 -66
- package/dist/log-collapse.d.ts.map +0 -1
- package/dist/log-collapse.js +0 -244
- package/dist/log-collapse.js.map +0 -1
- package/dist/log-rotate.d.ts +0 -67
- package/dist/log-rotate.d.ts.map +0 -1
- package/dist/log-rotate.js +0 -134
- package/dist/log-rotate.js.map +0 -1
- package/dist/manifest-deps.d.ts +0 -25
- package/dist/manifest-deps.d.ts.map +0 -1
- package/dist/manifest-deps.js +0 -151
- package/dist/manifest-deps.js.map +0 -1
- package/dist/manifest-poll-scheduler.d.ts +0 -31
- package/dist/manifest-poll-scheduler.d.ts.map +0 -1
- package/dist/manifest-poll-scheduler.js +0 -59
- package/dist/manifest-poll-scheduler.js.map +0 -1
- package/dist/manifest-validity.d.ts +0 -153
- package/dist/manifest-validity.d.ts.map +0 -1
- package/dist/manifest-validity.js +0 -268
- package/dist/manifest-validity.js.map +0 -1
- package/dist/manifest-version-store-db.d.ts +0 -24
- package/dist/manifest-version-store-db.d.ts.map +0 -1
- package/dist/manifest-version-store-db.js +0 -58
- package/dist/manifest-version-store-db.js.map +0 -1
- package/dist/manifest-version-store.d.ts +0 -16
- package/dist/manifest-version-store.d.ts.map +0 -1
- package/dist/manifest-version-store.js +0 -15
- package/dist/manifest-version-store.js.map +0 -1
- package/dist/network-directory-node.d.ts +0 -136
- package/dist/network-directory-node.d.ts.map +0 -1
- package/dist/network-directory-node.js +0 -810
- package/dist/network-directory-node.js.map +0 -1
- package/dist/nonce-dedup.d.ts +0 -68
- package/dist/nonce-dedup.d.ts.map +0 -1
- package/dist/nonce-dedup.js +0 -205
- package/dist/nonce-dedup.js.map +0 -1
- package/dist/notification-dispatcher.d.ts +0 -92
- package/dist/notification-dispatcher.d.ts.map +0 -1
- package/dist/notification-dispatcher.js +0 -210
- package/dist/notification-dispatcher.js.map +0 -1
- package/dist/notification-handlers.d.ts +0 -53
- package/dist/notification-handlers.d.ts.map +0 -1
- package/dist/notification-handlers.js +0 -461
- package/dist/notification-handlers.js.map +0 -1
- package/dist/onboarding-guidance.d.ts +0 -79
- package/dist/onboarding-guidance.d.ts.map +0 -1
- package/dist/onboarding-guidance.js +0 -95
- package/dist/onboarding-guidance.js.map +0 -1
- package/dist/operator-guidance.d.ts +0 -25
- package/dist/operator-guidance.d.ts.map +0 -1
- package/dist/operator-guidance.js +0 -50
- package/dist/operator-guidance.js.map +0 -1
- package/dist/orphan-triage.d.ts +0 -130
- package/dist/orphan-triage.d.ts.map +0 -1
- package/dist/orphan-triage.js +0 -207
- package/dist/orphan-triage.js.map +0 -1
- package/dist/outbound-sessions.d.ts +0 -126
- package/dist/outbound-sessions.d.ts.map +0 -1
- package/dist/outbound-sessions.js +0 -1052
- package/dist/outbound-sessions.js.map +0 -1
- package/dist/park-envelope.d.ts +0 -329
- package/dist/park-envelope.d.ts.map +0 -1
- package/dist/park-envelope.js +0 -509
- package/dist/park-envelope.js.map +0 -1
- package/dist/park-recovery.d.ts +0 -273
- package/dist/park-recovery.d.ts.map +0 -1
- package/dist/park-recovery.js +0 -717
- package/dist/park-recovery.js.map +0 -1
- package/dist/park-refusals.d.ts +0 -147
- package/dist/park-refusals.d.ts.map +0 -1
- package/dist/park-refusals.js +0 -331
- package/dist/park-refusals.js.map +0 -1
- package/dist/quarantine-framing.d.ts +0 -92
- package/dist/quarantine-framing.d.ts.map +0 -1
- package/dist/quarantine-framing.js +0 -111
- package/dist/quarantine-framing.js.map +0 -1
- package/dist/reconnect-drain.d.ts +0 -22
- package/dist/reconnect-drain.d.ts.map +0 -1
- package/dist/reconnect-drain.js +0 -65
- package/dist/reconnect-drain.js.map +0 -1
- package/dist/recovered-position.d.ts +0 -14
- package/dist/recovered-position.d.ts.map +0 -1
- package/dist/recovered-position.js +0 -59
- package/dist/recovered-position.js.map +0 -1
- package/dist/refusal-notices.d.ts +0 -196
- package/dist/refusal-notices.d.ts.map +0 -1
- package/dist/refusal-notices.js +0 -516
- package/dist/refusal-notices.js.map +0 -1
- package/dist/refusal-reasons.d.ts +0 -245
- package/dist/refusal-reasons.d.ts.map +0 -1
- package/dist/refusal-reasons.js +0 -363
- package/dist/refusal-reasons.js.map +0 -1
- package/dist/register-handler.d.ts +0 -36
- package/dist/register-handler.d.ts.map +0 -1
- package/dist/register-handler.js +0 -285
- package/dist/register-handler.js.map +0 -1
- package/dist/registration-context.d.ts +0 -72
- package/dist/registration-context.d.ts.map +0 -1
- package/dist/registration-context.js +0 -126
- package/dist/registration-context.js.map +0 -1
- package/dist/registration-manager.d.ts +0 -94
- package/dist/registration-manager.d.ts.map +0 -1
- package/dist/registration-manager.js +0 -585
- package/dist/registration-manager.js.map +0 -1
- package/dist/registration-persistence.d.ts +0 -183
- package/dist/registration-persistence.d.ts.map +0 -1
- package/dist/registration-persistence.js +0 -263
- package/dist/registration-persistence.js.map +0 -1
- package/dist/registry-poll.d.ts +0 -52
- package/dist/registry-poll.d.ts.map +0 -1
- package/dist/registry-poll.js +0 -140
- package/dist/registry-poll.js.map +0 -1
- package/dist/registry-version-store-db.d.ts +0 -22
- package/dist/registry-version-store-db.d.ts.map +0 -1
- package/dist/registry-version-store-db.js +0 -50
- package/dist/registry-version-store-db.js.map +0 -1
- package/dist/relay-endpoints.d.ts +0 -18
- package/dist/relay-endpoints.d.ts.map +0 -1
- package/dist/relay-endpoints.js +0 -9
- package/dist/relay-endpoints.js.map +0 -1
- package/dist/relay-only.d.ts +0 -140
- package/dist/relay-only.d.ts.map +0 -1
- package/dist/relay-only.js +0 -193
- package/dist/relay-only.js.map +0 -1
- package/dist/relay-receipt-store.d.ts +0 -155
- package/dist/relay-receipt-store.d.ts.map +0 -1
- package/dist/relay-receipt-store.js +0 -284
- package/dist/relay-receipt-store.js.map +0 -1
- package/dist/relay-reconnect.d.ts +0 -32
- package/dist/relay-reconnect.d.ts.map +0 -1
- package/dist/relay-reconnect.js +0 -29
- package/dist/relay-reconnect.js.map +0 -1
- package/dist/reply-lag.d.ts +0 -11
- package/dist/reply-lag.d.ts.map +0 -1
- package/dist/reply-lag.js +0 -46
- package/dist/reply-lag.js.map +0 -1
- package/dist/resolve-named-agent.d.ts +0 -49
- package/dist/resolve-named-agent.d.ts.map +0 -1
- package/dist/resolve-named-agent.js +0 -77
- package/dist/resolve-named-agent.js.map +0 -1
- package/dist/restart-seal-resolver.d.ts +0 -110
- package/dist/restart-seal-resolver.d.ts.map +0 -1
- package/dist/restart-seal-resolver.js +0 -353
- package/dist/restart-seal-resolver.js.map +0 -1
- package/dist/resume-last-seen.d.ts +0 -15
- package/dist/resume-last-seen.d.ts.map +0 -1
- package/dist/resume-last-seen.js +0 -44
- package/dist/resume-last-seen.js.map +0 -1
- package/dist/retry-queue.d.ts +0 -203
- package/dist/retry-queue.d.ts.map +0 -1
- package/dist/retry-queue.js +0 -701
- package/dist/retry-queue.js.map +0 -1
- package/dist/roster-freshness.d.ts +0 -160
- package/dist/roster-freshness.d.ts.map +0 -1
- package/dist/roster-freshness.js +0 -250
- package/dist/roster-freshness.js.map +0 -1
- package/dist/screening-status.d.ts +0 -15
- package/dist/screening-status.d.ts.map +0 -1
- package/dist/screening-status.js +0 -65
- package/dist/screening-status.js.map +0 -1
- package/dist/seal-carried-close.d.ts +0 -37
- package/dist/seal-carried-close.d.ts.map +0 -1
- package/dist/seal-carried-close.js +0 -179
- package/dist/seal-carried-close.js.map +0 -1
- package/dist/seal-certificate-pull.d.ts +0 -79
- package/dist/seal-certificate-pull.d.ts.map +0 -1
- package/dist/seal-certificate-pull.js +0 -186
- package/dist/seal-certificate-pull.js.map +0 -1
- package/dist/seal-certified-root-check.d.ts +0 -37
- package/dist/seal-certified-root-check.d.ts.map +0 -1
- package/dist/seal-certified-root-check.js +0 -127
- package/dist/seal-certified-root-check.js.map +0 -1
- package/dist/seal-coordinator.d.ts +0 -118
- package/dist/seal-coordinator.d.ts.map +0 -1
- package/dist/seal-coordinator.js +0 -927
- package/dist/seal-coordinator.js.map +0 -1
- package/dist/seal-escalation.d.ts +0 -80
- package/dist/seal-escalation.d.ts.map +0 -1
- package/dist/seal-escalation.js +0 -283
- package/dist/seal-escalation.js.map +0 -1
- package/dist/seal-evidence-root-check.d.ts +0 -70
- package/dist/seal-evidence-root-check.d.ts.map +0 -1
- package/dist/seal-evidence-root-check.js +0 -199
- package/dist/seal-evidence-root-check.js.map +0 -1
- package/dist/seal-failure-store.d.ts +0 -129
- package/dist/seal-failure-store.d.ts.map +0 -1
- package/dist/seal-failure-store.js +0 -173
- package/dist/seal-failure-store.js.map +0 -1
- package/dist/seal-flows.d.ts +0 -107
- package/dist/seal-flows.d.ts.map +0 -1
- package/dist/seal-flows.js +0 -638
- package/dist/seal-flows.js.map +0 -1
- package/dist/seal-frontier-verify.d.ts +0 -103
- package/dist/seal-frontier-verify.d.ts.map +0 -1
- package/dist/seal-frontier-verify.js +0 -143
- package/dist/seal-frontier-verify.js.map +0 -1
- package/dist/seal-leaf.d.ts +0 -58
- package/dist/seal-leaf.d.ts.map +0 -1
- package/dist/seal-leaf.js +0 -112
- package/dist/seal-leaf.js.map +0 -1
- package/dist/seal-legibility-tbs.d.ts +0 -25
- package/dist/seal-legibility-tbs.d.ts.map +0 -1
- package/dist/seal-legibility-tbs.js +0 -77
- package/dist/seal-legibility-tbs.js.map +0 -1
- package/dist/seal-local-terminus.d.ts +0 -41
- package/dist/seal-local-terminus.d.ts.map +0 -1
- package/dist/seal-local-terminus.js +0 -170
- package/dist/seal-local-terminus.js.map +0 -1
- package/dist/seal-receipt-upgrade.d.ts +0 -30
- package/dist/seal-receipt-upgrade.d.ts.map +0 -1
- package/dist/seal-receipt-upgrade.js +0 -49
- package/dist/seal-receipt-upgrade.js.map +0 -1
- package/dist/seal-relay-silence.d.ts +0 -51
- package/dist/seal-relay-silence.d.ts.map +0 -1
- package/dist/seal-relay-silence.js +0 -76
- package/dist/seal-relay-silence.js.map +0 -1
- package/dist/seal-settle.d.ts +0 -38
- package/dist/seal-settle.d.ts.map +0 -1
- package/dist/seal-settle.js +0 -33
- package/dist/seal-settle.js.map +0 -1
- package/dist/seal-upgrade.d.ts +0 -107
- package/dist/seal-upgrade.d.ts.map +0 -1
- package/dist/seal-upgrade.js +0 -200
- package/dist/seal-upgrade.js.map +0 -1
- package/dist/sealed-conversation.d.ts +0 -36
- package/dist/sealed-conversation.d.ts.map +0 -1
- package/dist/sealed-conversation.js +0 -171
- package/dist/sealed-conversation.js.map +0 -1
- package/dist/sealed-leaf-set.d.ts +0 -92
- package/dist/sealed-leaf-set.d.ts.map +0 -1
- package/dist/sealed-leaf-set.js +0 -122
- package/dist/sealed-leaf-set.js.map +0 -1
- package/dist/send-claims.d.ts +0 -56
- package/dist/send-claims.d.ts.map +0 -1
- package/dist/send-claims.js +0 -50
- package/dist/send-claims.js.map +0 -1
- package/dist/session-assignment-parser.d.ts +0 -98
- package/dist/session-assignment-parser.d.ts.map +0 -1
- package/dist/session-assignment-parser.js +0 -325
- package/dist/session-assignment-parser.js.map +0 -1
- package/dist/session-category.d.ts +0 -19
- package/dist/session-category.d.ts.map +0 -1
- package/dist/session-category.js +0 -14
- package/dist/session-category.js.map +0 -1
- package/dist/session-ceremony.d.ts +0 -297
- package/dist/session-ceremony.d.ts.map +0 -1
- package/dist/session-ceremony.js +0 -964
- package/dist/session-ceremony.js.map +0 -1
- package/dist/session-closed.d.ts +0 -79
- package/dist/session-closed.d.ts.map +0 -1
- package/dist/session-closed.js +0 -189
- package/dist/session-closed.js.map +0 -1
- package/dist/session-connection-gater.d.ts +0 -148
- package/dist/session-connection-gater.d.ts.map +0 -1
- package/dist/session-connection-gater.js +0 -332
- package/dist/session-connection-gater.js.map +0 -1
- package/dist/session-content-context.d.ts +0 -162
- package/dist/session-content-context.d.ts.map +0 -1
- package/dist/session-content-context.js +0 -2
- package/dist/session-content-context.js.map +0 -1
- package/dist/session-content-handlers.d.ts +0 -82
- package/dist/session-content-handlers.d.ts.map +0 -1
- package/dist/session-content-handlers.js +0 -1382
- package/dist/session-content-handlers.js.map +0 -1
- package/dist/session-content-ingest.d.ts +0 -206
- package/dist/session-content-ingest.d.ts.map +0 -1
- package/dist/session-content-ingest.js +0 -2167
- package/dist/session-content-ingest.js.map +0 -1
- package/dist/session-content-send.d.ts +0 -191
- package/dist/session-content-send.d.ts.map +0 -1
- package/dist/session-content-send.js +0 -1360
- package/dist/session-content-send.js.map +0 -1
- package/dist/session-delivery-acks.d.ts +0 -169
- package/dist/session-delivery-acks.d.ts.map +0 -1
- package/dist/session-delivery-acks.js +0 -569
- package/dist/session-delivery-acks.js.map +0 -1
- package/dist/session-ephemerals.d.ts +0 -279
- package/dist/session-ephemerals.d.ts.map +0 -1
- package/dist/session-ephemerals.js +0 -591
- package/dist/session-ephemerals.js.map +0 -1
- package/dist/session-leaf-records.d.ts +0 -159
- package/dist/session-leaf-records.d.ts.map +0 -1
- package/dist/session-leaf-records.js +0 -408
- package/dist/session-leaf-records.js.map +0 -1
- package/dist/session-lifecycle.d.ts +0 -303
- package/dist/session-lifecycle.d.ts.map +0 -1
- package/dist/session-lifecycle.js +0 -1679
- package/dist/session-lifecycle.js.map +0 -1
- package/dist/session-liveness.d.ts +0 -135
- package/dist/session-liveness.d.ts.map +0 -1
- package/dist/session-liveness.js +0 -347
- package/dist/session-liveness.js.map +0 -1
- package/dist/session-name.d.ts +0 -35
- package/dist/session-name.d.ts.map +0 -1
- package/dist/session-name.js +0 -60
- package/dist/session-name.js.map +0 -1
- package/dist/session-node-factory.d.ts +0 -18
- package/dist/session-node-factory.d.ts.map +0 -1
- package/dist/session-node-factory.js +0 -182
- package/dist/session-node-factory.js.map +0 -1
- package/dist/session-node-manager.d.ts +0 -875
- package/dist/session-node-manager.d.ts.map +0 -1
- package/dist/session-node-manager.js +0 -2995
- package/dist/session-node-manager.js.map +0 -1
- package/dist/session-node-types.d.ts +0 -1057
- package/dist/session-node-types.d.ts.map +0 -1
- package/dist/session-node-types.js +0 -657
- package/dist/session-node-types.js.map +0 -1
- package/dist/session-notify.d.ts +0 -46
- package/dist/session-notify.d.ts.map +0 -1
- package/dist/session-notify.js +0 -116
- package/dist/session-notify.js.map +0 -1
- package/dist/session-own-chain-store.d.ts +0 -65
- package/dist/session-own-chain-store.d.ts.map +0 -1
- package/dist/session-own-chain-store.js +0 -75
- package/dist/session-own-chain-store.js.map +0 -1
- package/dist/session-queries.d.ts +0 -476
- package/dist/session-queries.d.ts.map +0 -1
- package/dist/session-queries.js +0 -1007
- package/dist/session-queries.js.map +0 -1
- package/dist/session-read-handlers.d.ts +0 -87
- package/dist/session-read-handlers.d.ts.map +0 -1
- package/dist/session-read-handlers.js +0 -682
- package/dist/session-read-handlers.js.map +0 -1
- package/dist/session-records.d.ts +0 -341
- package/dist/session-records.d.ts.map +0 -1
- package/dist/session-records.js +0 -858
- package/dist/session-records.js.map +0 -1
- package/dist/session-relay-client.d.ts +0 -659
- package/dist/session-relay-client.d.ts.map +0 -1
- package/dist/session-relay-client.js +0 -2876
- package/dist/session-relay-client.js.map +0 -1
- package/dist/session-relay.d.ts +0 -397
- package/dist/session-relay.d.ts.map +0 -1
- package/dist/session-relay.js +0 -1636
- package/dist/session-relay.js.map +0 -1
- package/dist/session-salt-agreement.d.ts +0 -331
- package/dist/session-salt-agreement.d.ts.map +0 -1
- package/dist/session-salt-agreement.js +0 -472
- package/dist/session-salt-agreement.js.map +0 -1
- package/dist/session-salts.d.ts +0 -432
- package/dist/session-salts.d.ts.map +0 -1
- package/dist/session-salts.js +0 -1540
- package/dist/session-salts.js.map +0 -1
- package/dist/session-schema.d.ts +0 -30
- package/dist/session-schema.d.ts.map +0 -1
- package/dist/session-schema.js +0 -877
- package/dist/session-schema.js.map +0 -1
- package/dist/session-seal-leaf-store.d.ts +0 -70
- package/dist/session-seal-leaf-store.d.ts.map +0 -1
- package/dist/session-seal-leaf-store.js +0 -105
- package/dist/session-seal-leaf-store.js.map +0 -1
- package/dist/session-seal.d.ts +0 -334
- package/dist/session-seal.d.ts.map +0 -1
- package/dist/session-seal.js +0 -1017
- package/dist/session-seal.js.map +0 -1
- package/dist/session-terminal-refusal.d.ts +0 -65
- package/dist/session-terminal-refusal.d.ts.map +0 -1
- package/dist/session-terminal-refusal.js +0 -87
- package/dist/session-terminal-refusal.js.map +0 -1
- package/dist/session-tree.d.ts +0 -110
- package/dist/session-tree.d.ts.map +0 -1
- package/dist/session-tree.js +0 -144
- package/dist/session-tree.js.map +0 -1
- package/dist/session-views.d.ts +0 -47
- package/dist/session-views.d.ts.map +0 -1
- package/dist/session-views.js +0 -278
- package/dist/session-views.js.map +0 -1
- package/dist/signal-handlers.d.ts +0 -63
- package/dist/signal-handlers.d.ts.map +0 -1
- package/dist/signal-handlers.js +0 -980
- package/dist/signal-handlers.js.map +0 -1
- package/dist/signal-requirement-policy.d.ts +0 -51
- package/dist/signal-requirement-policy.d.ts.map +0 -1
- package/dist/signal-requirement-policy.js +0 -89
- package/dist/signal-requirement-policy.js.map +0 -1
- package/dist/signal-revocability.d.ts +0 -49
- package/dist/signal-revocability.d.ts.map +0 -1
- package/dist/signal-revocability.js +0 -93
- package/dist/signal-revocability.js.map +0 -1
- package/dist/signal-submission.d.ts +0 -181
- package/dist/signal-submission.d.ts.map +0 -1
- package/dist/signal-submission.js +0 -368
- package/dist/signal-submission.js.map +0 -1
- package/dist/signaling-connect.d.ts +0 -118
- package/dist/signaling-connect.d.ts.map +0 -1
- package/dist/signaling-connect.js +0 -538
- package/dist/signaling-connect.js.map +0 -1
- package/dist/signaling-wiring.d.ts +0 -105
- package/dist/signaling-wiring.d.ts.map +0 -1
- package/dist/signaling-wiring.js +0 -393
- package/dist/signaling-wiring.js.map +0 -1
- package/dist/singleton-lock.d.ts +0 -85
- package/dist/singleton-lock.d.ts.map +0 -1
- package/dist/singleton-lock.js +0 -219
- package/dist/singleton-lock.js.map +0 -1
- package/dist/sqlcipher-db.d.ts +0 -139
- package/dist/sqlcipher-db.d.ts.map +0 -1
- package/dist/sqlcipher-db.js +0 -357
- package/dist/sqlcipher-db.js.map +0 -1
- package/dist/standing-receivers.d.ts +0 -319
- package/dist/standing-receivers.d.ts.map +0 -1
- package/dist/standing-receivers.js +0 -1295
- package/dist/standing-receivers.js.map +0 -1
- package/dist/start-agent.d.ts +0 -64
- package/dist/start-agent.d.ts.map +0 -1
- package/dist/start-agent.js +0 -136
- package/dist/start-agent.js.map +0 -1
- package/dist/status-handler.d.ts +0 -54
- package/dist/status-handler.d.ts.map +0 -1
- package/dist/status-handler.js +0 -61
- package/dist/status-handler.js.map +0 -1
- package/dist/submission-retry.d.ts +0 -208
- package/dist/submission-retry.d.ts.map +0 -1
- package/dist/submission-retry.js +0 -506
- package/dist/submission-retry.js.map +0 -1
- package/dist/telegram-bot-client.d.ts +0 -34
- package/dist/telegram-bot-client.d.ts.map +0 -1
- package/dist/telegram-bot-client.js +0 -36
- package/dist/telegram-bot-client.js.map +0 -1
- package/dist/telegram-doorbell.d.ts +0 -38
- package/dist/telegram-doorbell.d.ts.map +0 -1
- package/dist/telegram-doorbell.js +0 -140
- package/dist/telegram-doorbell.js.map +0 -1
- package/dist/test-handlers.d.ts +0 -62
- package/dist/test-handlers.d.ts.map +0 -1
- package/dist/test-handlers.js +0 -240
- package/dist/test-handlers.js.map +0 -1
- package/dist/testing.d.ts +0 -10
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js +0 -10
- package/dist/testing.js.map +0 -1
- package/dist/transport-composition.d.ts +0 -31
- package/dist/transport-composition.d.ts.map +0 -1
- package/dist/transport-composition.js +0 -55
- package/dist/transport-composition.js.map +0 -1
- package/dist/transport-selector.d.ts +0 -202
- package/dist/transport-selector.d.ts.map +0 -1
- package/dist/transport-selector.js +0 -196
- package/dist/transport-selector.js.map +0 -1
- package/dist/trust-signal-pickup-listener.d.ts +0 -43
- package/dist/trust-signal-pickup-listener.d.ts.map +0 -1
- package/dist/trust-signal-pickup-listener.js +0 -48
- package/dist/trust-signal-pickup-listener.js.map +0 -1
- package/dist/trust-signal-store.d.ts +0 -406
- package/dist/trust-signal-store.d.ts.map +0 -1
- package/dist/trust-signal-store.js +0 -939
- package/dist/trust-signal-store.js.map +0 -1
- package/dist/trust-signal-sweep-tick.d.ts +0 -60
- package/dist/trust-signal-sweep-tick.d.ts.map +0 -1
- package/dist/trust-signal-sweep-tick.js +0 -101
- package/dist/trust-signal-sweep-tick.js.map +0 -1
- package/dist/trust-signal-sweep.d.ts +0 -94
- package/dist/trust-signal-sweep.d.ts.map +0 -1
- package/dist/trust-signal-sweep.js +0 -147
- package/dist/trust-signal-sweep.js.map +0 -1
- package/dist/type-registry.d.ts +0 -42
- package/dist/type-registry.d.ts.map +0 -1
- package/dist/type-registry.js +0 -37
- package/dist/type-registry.js.map +0 -1
- package/dist/types.d.ts +0 -746
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -20
- package/dist/types.js.map +0 -1
- package/dist/unresolved-nodes-report.d.ts +0 -14
- package/dist/unresolved-nodes-report.d.ts.map +0 -1
- package/dist/unresolved-nodes-report.js +0 -96
- package/dist/unresolved-nodes-report.js.map +0 -1
- package/dist/vocabulary.d.ts +0 -150
- package/dist/vocabulary.d.ts.map +0 -1
- package/dist/vocabulary.js +0 -386
- package/dist/vocabulary.js.map +0 -1
- package/dist/who-label.d.ts +0 -28
- package/dist/who-label.d.ts.map +0 -1
- package/dist/who-label.js +0 -31
- package/dist/who-label.js.map +0 -1
- package/dist/who-resolver.d.ts +0 -15
- package/dist/who-resolver.d.ts.map +0 -1
- package/dist/who-resolver.js +0 -47
- package/dist/who-resolver.js.map +0 -1
- package/dist/wire-content-hash.d.ts +0 -93
- package/dist/wire-content-hash.d.ts.map +0 -1
- package/dist/wire-content-hash.js +0 -116
- package/dist/wire-content-hash.js.map +0 -1
- package/dist/withheld-content.d.ts +0 -13
- package/dist/withheld-content.d.ts.map +0 -1
- package/dist/withheld-content.js +0 -46
- package/dist/withheld-content.js.map +0 -1
- package/dist/witness-alerts.d.ts +0 -40
- package/dist/witness-alerts.d.ts.map +0 -1
- package/dist/witness-alerts.js +0 -102
- package/dist/witness-alerts.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"close-session-handler.js","sourceRoot":"","sources":["../src/close-session-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/co-attendance.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOD-COATTEND-VISIBLE-1 (M8D Tier 0) — co-attendance bookkeeping.
|
|
3
|
-
*
|
|
4
|
-
* Several sessions may attend one agent. That is DELIBERATE and permanent (spec §3: co-attendance,
|
|
5
|
-
* not exclusivity — connections die constantly, exclusivity buys no cryptographic property, and it
|
|
6
|
-
* forecloses listener mode). What was missing is not a restriction; it is VISIBILITY.
|
|
7
|
-
*
|
|
8
|
-
* HOW MANY sessions attend an agent. `daemon.ts`'s `isAttended()` answers a boolean on first match
|
|
9
|
-
* and deliberately never counts — M8C-AWAY-1's auto-ack suppression hangs off it, so it is left
|
|
10
|
-
* exactly as it is. `countAttendance` is ADDITIVE and shares its one source of truth: the same
|
|
11
|
-
* `currentAgent` map the doorbell routes on. A private second counter could disagree with who
|
|
12
|
-
* actually gets woken; this cannot.
|
|
13
|
-
*
|
|
14
|
-
* The ledger of WHICH connection consumed a message is gone (2026-09-13). `cello_receive` now reads
|
|
15
|
-
* against one bookmark per agent, so "another window read it" is no longer a different state from
|
|
16
|
-
* "it was read" — the message was read by this agent, and `cello_transcript` shows it.
|
|
17
|
-
*/
|
|
18
|
-
/** The slice of per-connection state attendance depends on. Structural, so both call sites fit. */
|
|
19
|
-
export interface AttendanceConnState {
|
|
20
|
-
readonly currentAgent: string | null;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* How many live connections currently attend `agentName`.
|
|
24
|
-
*
|
|
25
|
-
* NOT a replacement for `isAttended()`. That function's early return drives the away-response
|
|
26
|
-
* decision; this one only ever reports. Both read the same map, so they cannot disagree.
|
|
27
|
-
*/
|
|
28
|
-
export declare function countAttendance(perConnectionState: ReadonlyMap<string, AttendanceConnState>, agentName: string): number;
|
|
29
|
-
//# sourceMappingURL=co-attendance.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"co-attendance.d.ts","sourceRoot":"","sources":["../src/co-attendance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,mGAAmG;AACnG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC5D,SAAS,EAAE,MAAM,GAChB,MAAM,CAMR"}
|
package/dist/co-attendance.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOD-COATTEND-VISIBLE-1 (M8D Tier 0) — co-attendance bookkeeping.
|
|
3
|
-
*
|
|
4
|
-
* Several sessions may attend one agent. That is DELIBERATE and permanent (spec §3: co-attendance,
|
|
5
|
-
* not exclusivity — connections die constantly, exclusivity buys no cryptographic property, and it
|
|
6
|
-
* forecloses listener mode). What was missing is not a restriction; it is VISIBILITY.
|
|
7
|
-
*
|
|
8
|
-
* HOW MANY sessions attend an agent. `daemon.ts`'s `isAttended()` answers a boolean on first match
|
|
9
|
-
* and deliberately never counts — M8C-AWAY-1's auto-ack suppression hangs off it, so it is left
|
|
10
|
-
* exactly as it is. `countAttendance` is ADDITIVE and shares its one source of truth: the same
|
|
11
|
-
* `currentAgent` map the doorbell routes on. A private second counter could disagree with who
|
|
12
|
-
* actually gets woken; this cannot.
|
|
13
|
-
*
|
|
14
|
-
* The ledger of WHICH connection consumed a message is gone (2026-09-13). `cello_receive` now reads
|
|
15
|
-
* against one bookmark per agent, so "another window read it" is no longer a different state from
|
|
16
|
-
* "it was read" — the message was read by this agent, and `cello_transcript` shows it.
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* How many live connections currently attend `agentName`.
|
|
20
|
-
*
|
|
21
|
-
* NOT a replacement for `isAttended()`. That function's early return drives the away-response
|
|
22
|
-
* decision; this one only ever reports. Both read the same map, so they cannot disagree.
|
|
23
|
-
*/
|
|
24
|
-
export function countAttendance(perConnectionState, agentName) {
|
|
25
|
-
let attending = 0;
|
|
26
|
-
for (const state of perConnectionState.values()) {
|
|
27
|
-
if (state.currentAgent === agentName)
|
|
28
|
-
attending += 1;
|
|
29
|
-
}
|
|
30
|
-
return attending;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=co-attendance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"co-attendance.js","sourceRoot":"","sources":["../src/co-attendance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,kBAA4D,EAC5D,SAAiB;IAEjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,SAAS,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/column-birth.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* COLUMN BIRTH — adding a column to a table an operator already holds data in.
|
|
3
|
-
*
|
|
4
|
-
* `ALTER TABLE … ADD COLUMN` throws when the column is already there, and that throw is the guard:
|
|
5
|
-
* it is how a birth-gated migration stays idempotent without a version table nobody maintains. The
|
|
6
|
-
* pattern is right. The way it was written twice in this codebase was not:
|
|
7
|
-
*
|
|
8
|
-
* try { db.exec(sql); } catch { }
|
|
9
|
-
*
|
|
10
|
-
* A bare catch cannot tell "already present" — the expected, benign case, which happens on every
|
|
11
|
-
* start after the first — from a schema that is actually broken. So a real failure produced no log
|
|
12
|
-
* line, no throw, and no symptom at the point of failure. The only evidence would be every later
|
|
13
|
-
* query on that column failing, in a different subsystem, with a message that names neither the
|
|
14
|
-
* migration nor the table.
|
|
15
|
-
*
|
|
16
|
-
* That matters most exactly where it is least observable: the FIRST run on a new machine. A second
|
|
17
|
-
* operator, or a fresh database, is where a migration executes for real — and it was the one place
|
|
18
|
-
* the code was guaranteed to say nothing.
|
|
19
|
-
*
|
|
20
|
-
* So: match the benign case by its message and return; anything else is logged under its own event
|
|
21
|
-
* and rethrown. Rethrowing is the deliberate half. If the column cannot be added, every query that
|
|
22
|
-
* reads it fails anyway — the choice is not between working and failing, it is between failing at
|
|
23
|
-
* startup with the cause named and failing later somewhere else with the cause lost.
|
|
24
|
-
*/
|
|
25
|
-
import type { Logger } from "./types.js";
|
|
26
|
-
/**
|
|
27
|
-
* Run one `ADD COLUMN`, treating "already present" as success and everything else as a fault.
|
|
28
|
-
*
|
|
29
|
-
* `table` and `column` are for the log line only — the SQL is the authority. They are separate
|
|
30
|
-
* arguments rather than parsed out of it because a regex over SQL is a second, worse parser, and
|
|
31
|
-
* the caller already knows both.
|
|
32
|
-
*/
|
|
33
|
-
export declare function addColumnIfMissing(db: {
|
|
34
|
-
exec(sql: string): void;
|
|
35
|
-
}, logger: Logger, input: {
|
|
36
|
-
table: string;
|
|
37
|
-
column: string;
|
|
38
|
-
sql: string;
|
|
39
|
-
}): void;
|
|
40
|
-
//# sourceMappingURL=column-birth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column-birth.d.ts","sourceRoot":"","sources":["../src/column-birth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAazC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE;IAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACpD,IAAI,CAgBN"}
|
package/dist/column-birth.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* COLUMN BIRTH — adding a column to a table an operator already holds data in.
|
|
3
|
-
*
|
|
4
|
-
* `ALTER TABLE … ADD COLUMN` throws when the column is already there, and that throw is the guard:
|
|
5
|
-
* it is how a birth-gated migration stays idempotent without a version table nobody maintains. The
|
|
6
|
-
* pattern is right. The way it was written twice in this codebase was not:
|
|
7
|
-
*
|
|
8
|
-
* try { db.exec(sql); } catch { }
|
|
9
|
-
*
|
|
10
|
-
* A bare catch cannot tell "already present" — the expected, benign case, which happens on every
|
|
11
|
-
* start after the first — from a schema that is actually broken. So a real failure produced no log
|
|
12
|
-
* line, no throw, and no symptom at the point of failure. The only evidence would be every later
|
|
13
|
-
* query on that column failing, in a different subsystem, with a message that names neither the
|
|
14
|
-
* migration nor the table.
|
|
15
|
-
*
|
|
16
|
-
* That matters most exactly where it is least observable: the FIRST run on a new machine. A second
|
|
17
|
-
* operator, or a fresh database, is where a migration executes for real — and it was the one place
|
|
18
|
-
* the code was guaranteed to say nothing.
|
|
19
|
-
*
|
|
20
|
-
* So: match the benign case by its message and return; anything else is logged under its own event
|
|
21
|
-
* and rethrown. Rethrowing is the deliberate half. If the column cannot be added, every query that
|
|
22
|
-
* reads it fails anyway — the choice is not between working and failing, it is between failing at
|
|
23
|
-
* startup with the cause named and failing later somewhere else with the cause lost.
|
|
24
|
-
*/
|
|
25
|
-
import { extractErrorMessage } from "./error-message.js";
|
|
26
|
-
/**
|
|
27
|
-
* SQLite's wording for "this column is already here", which is the whole benign case.
|
|
28
|
-
*
|
|
29
|
-
* Matched on the MESSAGE rather than a code because the driver surfaces a plain `Error`. Anchored
|
|
30
|
-
* to the phrase rather than the column name so one expression covers every call site — and
|
|
31
|
-
* deliberately NOT a loose `/duplicate/`, which would also swallow a duplicate-table or
|
|
32
|
-
* duplicate-index failure that has nothing to do with this column.
|
|
33
|
-
*/
|
|
34
|
-
const ALREADY_PRESENT = /duplicate column name/i;
|
|
35
|
-
/**
|
|
36
|
-
* Run one `ADD COLUMN`, treating "already present" as success and everything else as a fault.
|
|
37
|
-
*
|
|
38
|
-
* `table` and `column` are for the log line only — the SQL is the authority. They are separate
|
|
39
|
-
* arguments rather than parsed out of it because a regex over SQL is a second, worse parser, and
|
|
40
|
-
* the caller already knows both.
|
|
41
|
-
*/
|
|
42
|
-
export function addColumnIfMissing(db, logger, input) {
|
|
43
|
-
try {
|
|
44
|
-
db.exec(input.sql);
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
const message = extractErrorMessage(err);
|
|
48
|
-
if (ALREADY_PRESENT.test(message))
|
|
49
|
-
return;
|
|
50
|
-
// NAMED, at error, before the rethrow — so the cause is in the log even if something upstream
|
|
51
|
-
// catches the throw and reports it as a generic startup failure.
|
|
52
|
-
logger.error("db.column_birth.failed", {
|
|
53
|
-
table: input.table,
|
|
54
|
-
column: input.column,
|
|
55
|
-
sql: input.sql,
|
|
56
|
-
error: message,
|
|
57
|
-
});
|
|
58
|
-
throw err;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=column-birth.js.map
|
package/dist/column-birth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column-birth.js","sourceRoot":"","sources":["../src/column-birth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAA+B,EAC/B,MAAc,EACd,KAAqD;IAErD,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO;QAC1C,8FAA8F;QAC9F,iEAAiE;QACjE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;YACrC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Connect-or-start logic for the CELLO daemon.
|
|
3
|
-
*
|
|
4
|
-
* Pseudocode:
|
|
5
|
-
* 1. connectOrStart(celloDir, logger):
|
|
6
|
-
* a. Try to connect to the daemon socket. If it answers, we are done.
|
|
7
|
-
* b. Otherwise ask the KERNEL whether a daemon holds the singleton lock (DOD-SINGLE-DAEMON-1):
|
|
8
|
-
* - HELD → a daemon is alive but not answering (mid-startup, or its socket was destroyed).
|
|
9
|
-
* Retry the connection, then fail loudly. NEVER spawn a second daemon beside it,
|
|
10
|
-
* and never delete its lock.
|
|
11
|
-
* - FREE → no daemon is running, whatever daemon.lock claims. Clear the stale lock, spawn,
|
|
12
|
-
* and wait for the socket to accept connections.
|
|
13
|
-
*
|
|
14
|
-
* The lock FILE is not consulted to make this decision — only the OS lock is. A pid in a JSON file
|
|
15
|
-
* can be dead, or REUSED by an unrelated process (in which case `isProcessAlive` says "alive"
|
|
16
|
-
* forever, and a daemon that trusted it would never start again).
|
|
17
|
-
*/
|
|
18
|
-
import { type IpcClient } from "./ipc-client.js";
|
|
19
|
-
import type { Logger } from "./types.js";
|
|
20
|
-
export interface ConnectResult {
|
|
21
|
-
client: IpcClient;
|
|
22
|
-
alreadyRunning: boolean;
|
|
23
|
-
}
|
|
24
|
-
export declare function connectOrStart(celloDir: string, logger: Logger, daemonBin: string): Promise<ConnectResult>;
|
|
25
|
-
//# sourceMappingURL=connect-or-start.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect-or-start.d.ts","sourceRoot":"","sources":["../src/connect-or-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAqDxB"}
|
package/dist/connect-or-start.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Connect-or-start logic for the CELLO daemon.
|
|
3
|
-
*
|
|
4
|
-
* Pseudocode:
|
|
5
|
-
* 1. connectOrStart(celloDir, logger):
|
|
6
|
-
* a. Try to connect to the daemon socket. If it answers, we are done.
|
|
7
|
-
* b. Otherwise ask the KERNEL whether a daemon holds the singleton lock (DOD-SINGLE-DAEMON-1):
|
|
8
|
-
* - HELD → a daemon is alive but not answering (mid-startup, or its socket was destroyed).
|
|
9
|
-
* Retry the connection, then fail loudly. NEVER spawn a second daemon beside it,
|
|
10
|
-
* and never delete its lock.
|
|
11
|
-
* - FREE → no daemon is running, whatever daemon.lock claims. Clear the stale lock, spawn,
|
|
12
|
-
* and wait for the socket to accept connections.
|
|
13
|
-
*
|
|
14
|
-
* The lock FILE is not consulted to make this decision — only the OS lock is. A pid in a JSON file
|
|
15
|
-
* can be dead, or REUSED by an unrelated process (in which case `isProcessAlive` says "alive"
|
|
16
|
-
* forever, and a daemon that trusted it would never start again).
|
|
17
|
-
*/
|
|
18
|
-
import { spawn } from "node:child_process";
|
|
19
|
-
import { mkdir, readFile } from "node:fs/promises";
|
|
20
|
-
import { openLogHandle } from "./log-rotate.js";
|
|
21
|
-
import { join } from "node:path";
|
|
22
|
-
import { readLock, removeLock } from "./lock-file.js";
|
|
23
|
-
import { probeSingletonLock, SINGLETON_LOCK_FILENAME, EXIT_ALREADY_RUNNING } from "./singleton-lock.js";
|
|
24
|
-
import { connectToDaemon } from "./ipc-client.js";
|
|
25
|
-
import { extractErrorMessage } from "./error-message.js";
|
|
26
|
-
export async function connectOrStart(celloDir, logger, daemonBin) {
|
|
27
|
-
// A CELLO_DIR that does not exist yet (first ever run) would make the singleton probe below fail to
|
|
28
|
-
// open its lock file, and "I could not ask the kernel" would be reported as "I don't know whether a
|
|
29
|
-
// daemon is running" — a blind spot invented out of an empty directory. Create it first; the daemon
|
|
30
|
-
// does the same on startup, so this changes nothing except the quality of the answer.
|
|
31
|
-
await mkdir(celloDir, { recursive: true });
|
|
32
|
-
const lockFilePath = join(celloDir, "daemon.lock");
|
|
33
|
-
const lock = await readLock(lockFilePath);
|
|
34
|
-
// The socket path is deterministic; the lock's copy is metadata, and it may be stale.
|
|
35
|
-
const socketPath = lock?.socketPath ?? join(celloDir, "daemon.sock");
|
|
36
|
-
// 1. If a daemon is answering, we are done. This is the overwhelmingly common path.
|
|
37
|
-
try {
|
|
38
|
-
return { client: await connectToDaemon(socketPath), alreadyRunning: true };
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
// Not answering. WHY it is not answering is the whole question — see below.
|
|
42
|
-
}
|
|
43
|
-
// 2. Ask the KERNEL whether a daemon is alive, not `daemon.lock`.
|
|
44
|
-
//
|
|
45
|
-
// DOD-SINGLE-DAEMON-1 (AC3): the old code asked `isProcessAlive(lock.pid)` and, when the socket
|
|
46
|
-
// did not answer, called the lock "stale", deleted it, and spawned a second daemon onto the live
|
|
47
|
-
// one's database. Both of its beliefs were unreliable: a pid can be REUSED (so a dead daemon's lock
|
|
48
|
-
// looks alive forever), and a live daemon can legitimately not answer yet (it is mid-startup, or an
|
|
49
|
-
// exiting orphan deleted its socket). The lock file cannot tell these apart. The OS lock can.
|
|
50
|
-
const probe = probeSingletonLock(celloDir, logger);
|
|
51
|
-
if (probe === "held") {
|
|
52
|
-
// A daemon is holding the lock right now. Spawning beside it is never correct. It may simply be
|
|
53
|
-
// mid-startup, so give it a moment to come up.
|
|
54
|
-
const client = await connectWithRetry(celloDir, socketPath, logger, lock?.pid ?? null);
|
|
55
|
-
return { client, alreadyRunning: true };
|
|
56
|
-
}
|
|
57
|
-
if (probe === "unknown") {
|
|
58
|
-
// We could not ask the kernel. That is NOT permission to spawn: "I don't know whether a daemon is
|
|
59
|
-
// running" must never be resolved by starting a second one. Fail loud with the real reason.
|
|
60
|
-
throw new Error("Could not determine whether a daemon is already running (the singleton lock could not be " +
|
|
61
|
-
`checked at ${celloDir}). Refusing to start a second daemon on a guess. See the ` +
|
|
62
|
-
"daemon.singleton.probe.failed log line for the underlying error.");
|
|
63
|
-
}
|
|
64
|
-
// 3. The lock is genuinely free, so no daemon is running — whatever `daemon.lock` claims. Only now
|
|
65
|
-
// is spawning correct.
|
|
66
|
-
if (lock) {
|
|
67
|
-
logger.info("daemon.lock.stale", { pid: lock.pid, reason: "no_singleton_holder" });
|
|
68
|
-
await removeLock(lockFilePath, logger);
|
|
69
|
-
}
|
|
70
|
-
const client = await spawnDaemon(celloDir, daemonBin, lockFilePath, logger);
|
|
71
|
-
return { client, alreadyRunning: false };
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* A daemon holds the singleton lock but is not answering. Wait for it, then fail LOUDLY.
|
|
75
|
-
*
|
|
76
|
-
* The loud failure is the point (SI). The alternative — the old behaviour — was to quietly start a
|
|
77
|
-
* second daemon, which is the very thing that gives one machine two writers on one hash chain. An
|
|
78
|
-
* operator who is told "a daemon is running but not answering" can act; an operator silently given a
|
|
79
|
-
* second daemon cannot even see the problem.
|
|
80
|
-
*/
|
|
81
|
-
async function connectWithRetry(celloDir, socketPath, logger, holderPid) {
|
|
82
|
-
const deadline = Date.now() + 10_000;
|
|
83
|
-
let lastError;
|
|
84
|
-
while (Date.now() < deadline) {
|
|
85
|
-
try {
|
|
86
|
-
return await connectToDaemon(socketPath);
|
|
87
|
-
}
|
|
88
|
-
catch (err) {
|
|
89
|
-
lastError = err;
|
|
90
|
-
await new Promise((r) => setTimeout(r, 150));
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
logger.error("daemon.unreachable", { holderPid, socketPath });
|
|
94
|
-
// The pid comes from daemon.lock — the very file this unit exists because it cannot be trusted. It
|
|
95
|
-
// may be stale, or name a process that merely inherited the number. So it is offered as a hint, and
|
|
96
|
-
// the operator is pointed at the authoritative answer: whoever holds the lock file open IS the
|
|
97
|
-
// daemon. Telling someone to `kill` an unverified pid is how you get them to kill something else.
|
|
98
|
-
const hint = holderPid === null ? "" : ` (daemon.lock names pid ${holderPid}, which may be stale)`;
|
|
99
|
-
throw new Error(`A daemon is already running${hint} and holds the singleton lock, but is not answering on ` +
|
|
100
|
-
`${socketPath} (${extractErrorMessage(lastError)}). ` +
|
|
101
|
-
"Refusing to start a second daemon beside it — two daemons on one database is the failure this " +
|
|
102
|
-
`prevents. To find the real holder: \`lsof ${join(celloDir, SINGLETON_LOCK_FILENAME)}\`, then stop ` +
|
|
103
|
-
"that process and try again.");
|
|
104
|
-
}
|
|
105
|
-
async function spawnDaemon(celloDir, daemonBin, lockFilePath, logger) {
|
|
106
|
-
const socketPath = join(celloDir, "daemon.sock");
|
|
107
|
-
const logPath = join(celloDir, "daemon.log");
|
|
108
|
-
// The daemon's stdout/stderr go to a LOG FILE, never a pipe to this process.
|
|
109
|
-
// A pipe (the previous design) breaks the moment the cli exits after reading the
|
|
110
|
-
// daemon.started line — the daemon's next log write (e.g. directory.signaling.connected)
|
|
111
|
-
// then hits a broken pipe and, with no stdout 'error' handler, EPIPE-crashes it. The
|
|
112
|
-
// daemon would "start" and die a second later → ECONNREFUSED on the socket. Writing to
|
|
113
|
-
// a file also gives operators a durable ~/.cello/daemon.log to debug from.
|
|
114
|
-
//
|
|
115
|
-
// DOD-M15-LOGBOUND-1: and it is rotated HERE, immediately before the handle is taken, because
|
|
116
|
-
// this is the only moment nothing holds it. The daemon writes to the descriptor below, not to
|
|
117
|
-
// the path, so once the child has it a rename moves the name and nothing else. `openLogHandle`
|
|
118
|
-
// keeps the rotate and the open in one call for that reason — splitting them is how the order
|
|
119
|
-
// gets reversed later by someone who cannot see why it mattered.
|
|
120
|
-
const out = openLogHandle(logPath);
|
|
121
|
-
const child = spawn(process.execPath, [daemonBin], {
|
|
122
|
-
detached: true,
|
|
123
|
-
stdio: ["ignore", out, out],
|
|
124
|
-
env: {
|
|
125
|
-
...process.env,
|
|
126
|
-
CELLO_DIR: celloDir,
|
|
127
|
-
},
|
|
128
|
-
});
|
|
129
|
-
child.unref();
|
|
130
|
-
// Readiness is detected by polling the IPC socket (deterministic path:
|
|
131
|
-
// celloDir/daemon.sock) until the daemon is accepting connections — not by reading
|
|
132
|
-
// stdout, which is now the log file. Track spawn/exit so we fail fast with context.
|
|
133
|
-
let spawnError = null;
|
|
134
|
-
let exitCode;
|
|
135
|
-
child.on("error", (err) => { spawnError = err; });
|
|
136
|
-
child.on("exit", (code) => { exitCode = code; });
|
|
137
|
-
const deadline = Date.now() + 10_000;
|
|
138
|
-
while (Date.now() < deadline) {
|
|
139
|
-
if (spawnError)
|
|
140
|
-
throw spawnError;
|
|
141
|
-
try {
|
|
142
|
-
return await connectToDaemon(socketPath);
|
|
143
|
-
}
|
|
144
|
-
catch {
|
|
145
|
-
// Not accepting yet (ENOENT/ECONNREFUSED). If the child has already exited, it
|
|
146
|
-
// died during startup — surface the log tail rather than spinning to the deadline.
|
|
147
|
-
if (exitCode !== undefined) {
|
|
148
|
-
// ...unless it exited because it LOST THE SINGLETON RACE. Two callers can legitimately probe
|
|
149
|
-
// "free" at the same instant (the probe is not a reservation) and both spawn; the kernel then
|
|
150
|
-
// picks exactly one winner and the other exits EXIT_ALREADY_RUNNING. That is the design
|
|
151
|
-
// working, not a failure: a healthy daemon is coming up right now. Reporting "Daemon exited
|
|
152
|
-
// (code 3) during startup" to an operator whose daemon is fine would be this unit's own lie.
|
|
153
|
-
// The distinct exit code exists precisely so we can tell these apart — so use it.
|
|
154
|
-
if (exitCode === EXIT_ALREADY_RUNNING) {
|
|
155
|
-
const winner = await readLock(lockFilePath);
|
|
156
|
-
logger.info("daemon.spawn.lost_race", { holderPid: winner?.pid ?? null });
|
|
157
|
-
return await connectWithRetry(celloDir, socketPath, logger, winner?.pid ?? null);
|
|
158
|
-
}
|
|
159
|
-
throw new Error(`Daemon exited (code ${exitCode}) during startup.\n${await daemonLogTail(logPath)}`);
|
|
160
|
-
}
|
|
161
|
-
await new Promise((r) => setTimeout(r, 150));
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
throw new Error(`Daemon failed to start within 10 seconds.\n${await daemonLogTail(logPath)}`);
|
|
165
|
-
}
|
|
166
|
-
async function daemonLogTail(logPath) {
|
|
167
|
-
try {
|
|
168
|
-
const lines = (await readFile(logPath, "utf-8")).split("\n").filter((l) => l.trim().length > 0);
|
|
169
|
-
return `--- daemon.log (last 15 lines) ---\n${lines.slice(-15).join("\n")}`;
|
|
170
|
-
}
|
|
171
|
-
catch {
|
|
172
|
-
return `(no daemon.log at ${logPath})`;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=connect-or-start.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect-or-start.js","sourceRoot":"","sources":["../src/connect-or-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { AgentInfo, AgentState } from "./types.js";
|
|
2
|
-
import type { SessionNodeManager } from "./session-node-manager.js";
|
|
3
|
-
export interface ConnectionAgentsDeps {
|
|
4
|
-
/** Live containers — copies would report a stale roster and a stale online set forever. */
|
|
5
|
-
agents: ReadonlyArray<AgentInfo>;
|
|
6
|
-
perConnectionState: ReadonlyMap<string, {
|
|
7
|
-
currentAgent: string | null;
|
|
8
|
-
}>;
|
|
9
|
-
onlineAgents: ReadonlySet<string>;
|
|
10
|
-
sessionNodeManager: SessionNodeManager;
|
|
11
|
-
agentStateFor: (a: AgentInfo) => AgentState;
|
|
12
|
-
}
|
|
13
|
-
export declare function createConnectionAgents(deps: ConnectionAgentsDeps): {
|
|
14
|
-
getAgentsForConnection: (connectionId: string) => AgentInfo[];
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=connection-agents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-agents.d.ts","sourceRoot":"","sources":["../src/connection-agents.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACzE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,UAAU,CAAC;CAC7C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB;2CAIjB,MAAM,KAAG,SAAS,EAAE;EAyDnE"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The agent list from ONE connection's point of view.
|
|
3
|
-
*
|
|
4
|
-
* Per-connection on purpose: which agent a connection has selected changes what it is shown, and
|
|
5
|
-
* collapsing that into a daemon-wide list is how an operator ends up reading another connection's
|
|
6
|
-
* state as their own.
|
|
7
|
-
*/
|
|
8
|
-
import { countAttendance } from "./co-attendance.js";
|
|
9
|
-
export function createConnectionAgents(deps) {
|
|
10
|
-
const { agents, perConnectionState, onlineAgents, sessionNodeManager, agentStateFor } = deps;
|
|
11
|
-
// Build agent list from this connection's perspective
|
|
12
|
-
function getAgentsForConnection(connectionId) {
|
|
13
|
-
const connState = perConnectionState.get(connectionId);
|
|
14
|
-
const currentAgent = connState?.currentAgent ?? null;
|
|
15
|
-
return agents
|
|
16
|
-
.filter((a) => a.state !== "load_failed")
|
|
17
|
-
.map((a) => {
|
|
18
|
-
// `state` reports READINESS only; selection is a SEPARATE `selected` flag. Never fold
|
|
19
|
-
// selection into `state` — a selected agent is not at a different level of readiness than a
|
|
20
|
-
// second healthy online agent. (This is why `current` was dropped from the enum.)
|
|
21
|
-
const state = agentStateFor(a);
|
|
22
|
-
const selected = onlineAgents.has(a.name) && a.name === currentAgent;
|
|
23
|
-
return {
|
|
24
|
-
name: a.name,
|
|
25
|
-
state,
|
|
26
|
-
/**
|
|
27
|
-
* `selected` IS THIS CONNECTION'S VIEW, NOT THE AGENT'S — `DOD-M15-IPCVISIBLE-1` clause 3.
|
|
28
|
-
*
|
|
29
|
-
* Every `cello` CLI invocation opens a FRESH connection, which starts with no current
|
|
30
|
-
* agent. So a client asking about its own state through the CLI always reads `false`, for
|
|
31
|
-
* an agent it genuinely has selected in another session. Both Andre and a Hermes agent
|
|
32
|
-
* misread it that way during one investigation, in opposite directions.
|
|
33
|
-
*
|
|
34
|
-
* The field name cannot be changed without breaking every reader, so it is ANNOTATED: the
|
|
35
|
-
* sibling below says whose view this is, and `attended_by` says how many connections hold
|
|
36
|
-
* this agent at all — which is the question people were actually asking.
|
|
37
|
-
*/
|
|
38
|
-
selected,
|
|
39
|
-
selected_by_this_connection: selected,
|
|
40
|
-
attended_by: countAttendance(perConnectionState, a.name),
|
|
41
|
-
pubkey: a.pubkey,
|
|
42
|
-
// M8B F14 (fix 5): per-agent standing-receiver readiness on the MCP surface
|
|
43
|
-
// (cello_status / cello_list_agents), so a deaf agent is visible to the operator.
|
|
44
|
-
standing_receiver_ready: sessionNodeManager.getStandingReceiverReady(a.name),
|
|
45
|
-
standing_receiver_reachability: sessionNodeManager.getStandingReceiverReachability(a.name),
|
|
46
|
-
/**
|
|
47
|
-
* DOD-M15-RELAYSLOTS-1: WHY it is not reachable, and what to do about it.
|
|
48
|
-
*
|
|
49
|
-
* `standing_receiver_reachability` says `retrying` or `unreachable` and stops there, which
|
|
50
|
-
* for the person reading it is indistinguishable from the product being broken. The relay
|
|
51
|
-
* now refuses for reasons someone can act on — no token from a directory yet, too many
|
|
52
|
-
* sessions still open, this relay is misconfigured — each with a different next step, and
|
|
53
|
-
* every one of them is wasted if it only reaches a log file. Absent when the last attempt
|
|
54
|
-
* succeeded.
|
|
55
|
-
*/
|
|
56
|
-
...(sessionNodeManager.getStandingReceiverRefusal(a.name)
|
|
57
|
-
? { standing_receiver_refusal: sessionNodeManager.getStandingReceiverRefusal(a.name) }
|
|
58
|
-
: {}),
|
|
59
|
-
// DOD-COATTEND-VISIBLE-1 AC2: how many sessions are driving this agent, including this
|
|
60
|
-
// one. Live, not a high-water mark — it drops when a session disconnects. `selected` says
|
|
61
|
-
// whether YOU hold it; this says whether anyone else does too.
|
|
62
|
-
attendance: countAttendance(perConnectionState, a.name),
|
|
63
|
-
};
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
return { getAgentsForConnection };
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=connection-agents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-agents.js","sourceRoot":"","sources":["../src/connection-agents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAE7F,sDAAsD;IACtD,SAAS,sBAAsB,CAAC,YAAoB;QAClD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC;QAErD,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,sFAAsF;YACtF,4FAA4F;YAC5F,kFAAkF;YAClF,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;YACrE,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK;gBACL;;;;;;;;;;;mBAWG;gBACH,QAAQ;gBACR,2BAA2B,EAAE,QAAQ;gBACrC,WAAW,EAAE,eAAe,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC;gBACxD,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,4EAA4E;gBAC5E,kFAAkF;gBAClF,uBAAuB,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5E,8BAA8B,EAAE,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1F;;;;;;;;;mBASG;gBACH,GAAG,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,CAAC,CAAC,EAAE,yBAAyB,EAAE,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBACtF,CAAC,CAAC,EAAE,CAAC;gBACP,uFAAuF;gBACvF,0FAA0F;gBAC1F,+DAA+D;gBAC/D,UAAU,EAAE,eAAe,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC;aACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,sBAAsB,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* M10B / DOD-END-ACCEPT-1 — the `consent_state` column on `wallet_trust_signals` (`M10B-D14r2`).
|
|
3
|
-
*
|
|
4
|
-
* WHY THIS IS ITS OWN FILE AND NOT A LINE IN `ensureTrustSignalSchema`. That function runs on EVERY
|
|
5
|
-
* `startDaemon` and ends in a bare `catch {}` ("Column already exists — safe to ignore"). A consent
|
|
6
|
-
* migration written as a sibling `ALTER`/`UPDATE` in there would have its failures swallowed AND its
|
|
7
|
-
* backfill run unconditionally — so an operator who REFUSES an endorsement would have it flipped
|
|
8
|
-
* back to `accepted` on the next restart, silently, and it would become presentable again. The
|
|
9
|
-
* client DB has no migration versioning to catch that.
|
|
10
|
-
*
|
|
11
|
-
* So this follows the pattern the repo already proved for exactly this hazard
|
|
12
|
-
* (`contacts-tier-migration.ts`):
|
|
13
|
-
* - a `PRAGMA table_info` COLUMN-BIRTH gate, so the one-time step is tied to the column being
|
|
14
|
-
* created rather than to a NULL that could reappear later;
|
|
15
|
-
* - NO column DEFAULT, so the backfill has a real discriminator — with a DEFAULT every existing
|
|
16
|
-
* row gets a value the instant the column exists and the backfill matches nothing;
|
|
17
|
-
* - the ALTER and the backfill in ONE transaction, so a crash between them cannot leave the
|
|
18
|
-
* column present and the rows un-backfilled, which would skip the one-time step FOREVER;
|
|
19
|
-
* - a RETHROW, because a migration that fails silently is a schema nobody can trust.
|
|
20
|
-
*
|
|
21
|
-
* DIRECTION OF THE BACKFILL — ENFORCED BY THE SQL, NOT BY AN ARGUMENT ABOUT THE PAST.
|
|
22
|
-
* Portal-issued rows become `accepted`: they were minted about the operator, for the operator, at
|
|
23
|
-
* their own action, so there was never a third party whose decision was pending, and making them
|
|
24
|
-
* `pending` would silently render every phone/email signal already in every wallet unpresentable —
|
|
25
|
-
* a data-loss-shaped bug that raises no error. Agent-issued rows become `pending`, because somebody
|
|
26
|
-
* else authored them.
|
|
27
|
-
*
|
|
28
|
-
* An earlier version backfilled everything to `accepted` on the reasoning that nothing agent-issued
|
|
29
|
-
* could exist yet. That was true only by RELEASE TIMING — the daemon has accepted
|
|
30
|
-
* `issuer_kind: agent` since M10 — so a dev or staging wallet that picked one up during M10B
|
|
31
|
-
* integration testing would have had it backfilled to presentable at boot, which is exactly the
|
|
32
|
-
* D-23 violation this file exists to prevent. Two WHERE clauses make it a property of the code.
|
|
33
|
-
*
|
|
34
|
-
* NEW rows are handled at the write path on the same axis: `putWalletSignal` inserts `pending` for
|
|
35
|
-
* `issuer_kind: agent` and `accepted` otherwise.
|
|
36
|
-
*/
|
|
37
|
-
import type { DaemonDatabase } from "./sqlcipher-db.js";
|
|
38
|
-
import type { Logger } from "./types.js";
|
|
39
|
-
/**
|
|
40
|
-
* The consent states. Anything not in this set — including NULL and including a value with stray
|
|
41
|
-
* whitespace or case — is UNPRESENTABLE (§5a: absent is not fine). The presentability predicate
|
|
42
|
-
* tests for exactly `accepted` rather than testing for the absence of a bad state, so an
|
|
43
|
-
* unrecognised value fails closed by construction.
|
|
44
|
-
*/
|
|
45
|
-
export type ConsentState = "pending" | "accepted" | "refused";
|
|
46
|
-
/** Present-tense truth for the reader: this is what gates presentation. */
|
|
47
|
-
export declare const CONSENT_ACCEPTED = "accepted";
|
|
48
|
-
export declare function migrateWalletAddConsentState(db: DaemonDatabase, logger: Logger): void;
|
|
49
|
-
//# sourceMappingURL=consent-migration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consent-migration.d.ts","sourceRoot":"","sources":["../src/consent-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAqFrF"}
|