@cello-protocol/daemon 0.0.197 → 0.0.198
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 +70 -0
- package/dist/agent-admin-handlers.js.map +1 -0
- package/dist/agent-handlers.d.ts +8 -7
- package/dist/agent-handlers.d.ts.map +1 -1
- package/dist/agent-handlers.js.map +1 -1
- 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/attendance-wiring.d.ts +44 -0
- package/dist/attendance-wiring.d.ts.map +1 -0
- package/dist/attendance-wiring.js +432 -0
- package/dist/attendance-wiring.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/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 +40 -0
- package/dist/boot-connection-state.d.ts.map +1 -0
- package/dist/boot-connection-state.js +136 -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 +292 -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 +527 -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 +50 -0
- package/dist/boot-sweeps.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/content-park.d.ts.map +1 -1
- package/dist/content-park.js +274 -25
- package/dist/content-park.js.map +1 -1
- 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 +40 -0
- package/dist/daemon-status-report.d.ts.map +1 -0
- package/dist/daemon-status-report.js +78 -0
- package/dist/daemon-status-report.js.map +1 -0
- package/dist/daemon.d.ts +5 -66
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +332 -4894
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-open-registry.d.ts +1 -1
- package/dist/delivery-open-registry.js +1 -1
- package/dist/directory-connect.d.ts +27 -0
- package/dist/directory-connect.d.ts.map +1 -0
- package/dist/directory-connect.js +98 -0
- package/dist/directory-connect.js.map +1 -0
- package/dist/disconnect-cleanup.d.ts +45 -0
- package/dist/disconnect-cleanup.d.ts.map +1 -0
- package/dist/disconnect-cleanup.js +65 -0
- package/dist/disconnect-cleanup.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 +150 -0
- package/dist/document-surface.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/inbound-sessions.d.ts +9 -1
- package/dist/inbound-sessions.d.ts.map +1 -1
- package/dist/inbound-sessions.js +9 -1
- package/dist/inbound-sessions.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/ipc-surface.d.ts +44 -0
- package/dist/ipc-surface.d.ts.map +1 -0
- package/dist/ipc-surface.js +106 -0
- package/dist/ipc-surface.js.map +1 -0
- package/dist/network-directory-node.d.ts +0 -18
- package/dist/network-directory-node.d.ts.map +1 -1
- package/dist/network-directory-node.js +1 -38
- package/dist/network-directory-node.js.map +1 -1
- package/dist/notification-handlers.d.ts.map +1 -1
- package/dist/notification-handlers.js +2 -0
- package/dist/notification-handlers.js.map +1 -1
- 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/park-recovery.d.ts +22 -1
- package/dist/park-recovery.d.ts.map +1 -1
- package/dist/park-recovery.js.map +1 -1
- 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/refusal-notices.d.ts.map +1 -1
- package/dist/refusal-notices.js +22 -2
- package/dist/refusal-notices.js.map +1 -1
- package/dist/refusal-reasons.d.ts +13 -0
- package/dist/refusal-reasons.d.ts.map +1 -1
- package/dist/refusal-reasons.js +19 -0
- package/dist/refusal-reasons.js.map +1 -1
- package/dist/register-handler.d.ts +8 -7
- package/dist/register-handler.d.ts.map +1 -1
- package/dist/register-handler.js.map +1 -1
- package/dist/session-content-handlers.d.ts.map +1 -1
- package/dist/session-content-handlers.js +2 -0
- package/dist/session-content-handlers.js.map +1 -1
- package/dist/session-content-ingest.d.ts +1 -0
- package/dist/session-content-ingest.d.ts.map +1 -1
- package/dist/session-content-ingest.js +2 -2
- package/dist/session-content-ingest.js.map +1 -1
- 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 +1 -0
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-node-types.d.ts +8 -0
- package/dist/session-node-types.d.ts.map +1 -1
- package/dist/session-node-types.js.map +1 -1
- package/dist/session-notify.d.ts +46 -0
- package/dist/session-notify.d.ts.map +1 -0
- package/dist/session-notify.js +115 -0
- package/dist/session-notify.js.map +1 -0
- package/dist/session-read-handlers.d.ts.map +1 -1
- package/dist/session-read-handlers.js +0 -1
- package/dist/session-read-handlers.js.map +1 -1
- package/dist/session-salt-agreement.d.ts +0 -7
- package/dist/session-salt-agreement.d.ts.map +1 -1
- package/dist/session-salt-agreement.js +0 -7
- package/dist/session-salt-agreement.js.map +1 -1
- package/dist/session-views.d.ts +46 -0
- package/dist/session-views.d.ts.map +1 -0
- package/dist/session-views.js +197 -0
- package/dist/session-views.js.map +1 -0
- package/dist/signal-handlers.d.ts +66 -0
- package/dist/signal-handlers.d.ts.map +1 -0
- package/dist/signal-handlers.js +975 -0
- package/dist/signal-handlers.js.map +1 -0
- package/dist/signaling-wiring.d.ts +100 -0
- package/dist/signaling-wiring.d.ts.map +1 -0
- package/dist/signaling-wiring.js +392 -0
- package/dist/signaling-wiring.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 +46 -0
- package/dist/status-handler.d.ts.map +1 -0
- package/dist/status-handler.js +58 -0
- package/dist/status-handler.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 +239 -0
- package/dist/test-handlers.js.map +1 -0
- package/dist/types.d.ts +0 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -12
- package/dist/types.js.map +1 -1
- 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/who-resolver.d.ts +15 -0
- package/dist/who-resolver.d.ts.map +1 -0
- package/dist/who-resolver.js +46 -0
- package/dist/who-resolver.js.map +1 -0
- package/dist/wire-content-hash.d.ts +0 -2
- package/dist/wire-content-hash.d.ts.map +1 -1
- package/dist/wire-content-hash.js +0 -4
- package/dist/wire-content-hash.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { createDeliveryOpenRegistry } from "./delivery-open-registry.js";
|
|
2
|
+
export function createSessionNotify(deps) {
|
|
3
|
+
const { logger, loadedAgents, resolveWho, sendTelegramDoorbell, clearTelegramRung, getNotificationDispatcher, getReconcileScheduler, getDocumentOwnerKeyFor, getOfferedMonikers, getOfferKey, } = deps;
|
|
4
|
+
// DOD-M12B-DELIVERY-QUIET-1: which peers this daemon's document delivery worker is mid-dial to.
|
|
5
|
+
// Read by BOTH reachability triggers and by the doorbell below. See delivery-open-registry.ts for
|
|
6
|
+
// why this records an intent keyed on the peer rather than the session id — the short version is
|
|
7
|
+
// that the directory mints the id and pushes the assignment to the counterparty before the opener
|
|
8
|
+
// ever sees it, so on a one-daemon pair the inbound doorbell fires first and a session-id
|
|
9
|
+
// registry is always too late.
|
|
10
|
+
const deliveryOpens = createDeliveryOpenRegistry();
|
|
11
|
+
/**
|
|
12
|
+
* An agent's own pubkey, synchronously. The registry keys on PUBKEYS at both ends because that is
|
|
13
|
+
* the only pair the dialling side and the accepting side can both name — the accepting side never
|
|
14
|
+
* learns the dialler's local agent name, and the dialling side never learns ours.
|
|
15
|
+
*/
|
|
16
|
+
const pubkeyOfAgent = (name) => loadedAgents.find((a) => a.name === name)?.pubkey ?? "";
|
|
17
|
+
/**
|
|
18
|
+
* Is a delivery worker mid-dial from `openerPubkey` to `targetPubkey`?
|
|
19
|
+
*
|
|
20
|
+
* One predicate, passed to every consumer, so the doorbell, the phone and both reachability
|
|
21
|
+
* triggers cannot drift apart on the answer. An unresolvable agent yields "" and never matches,
|
|
22
|
+
* which fails OPEN — an unknown agent rings rather than being silently muted.
|
|
23
|
+
*/
|
|
24
|
+
const isDeliveryOpenInFlight = (openerPubkey, targetPubkey) => openerPubkey !== "" && targetPubkey !== "" && deliveryOpens.isDeliveryOpening(openerPubkey, targetPubkey);
|
|
25
|
+
/**
|
|
26
|
+
* The ACCEPTING side's question: "did a delivery worker on `openerPubkey`'s daemon dial the local
|
|
27
|
+
* agent `targetAgentName`?"
|
|
28
|
+
*
|
|
29
|
+
* A named predicate rather than a reversed call, because getting the order wrong here is exactly
|
|
30
|
+
* the defect this line was re-opened to fix: the accepting side naturally reaches for its own
|
|
31
|
+
* agent first, which compares the receiver's tuple against a registry holding the dialler's and
|
|
32
|
+
* silently never matches.
|
|
33
|
+
*/
|
|
34
|
+
const isDeliveryOpenToAgent = (openerPubkey, targetAgentName) => isDeliveryOpenInFlight(openerPubkey, pubkeyOfAgent(targetAgentName));
|
|
35
|
+
// Wraps notificationDispatcher.dispatchSessionStateChanged so every call site gets the
|
|
36
|
+
// Telegram state-change doorbell for free (DoD: state changes ALWAYS ring, never coalesced) —
|
|
37
|
+
// one wrapper rather than hooking each of the several existing call sites individually.
|
|
38
|
+
//
|
|
39
|
+
// (This paragraph sat above `resolveWho` in the old daemon.ts, describing a function ~2,000 lines
|
|
40
|
+
// away, and unit 18 moved it verbatim into who-resolver.ts where it read as that module's header.
|
|
41
|
+
// It belongs here, at the wrapper it is about.)
|
|
42
|
+
function dispatchSessionStateChangedWithTelegram(agentName, sessionId, state, counterpartyPubkey) {
|
|
43
|
+
// DOD-M12B-DELIVERY-QUIET-1: this session came up because a DELIVERY WORKER dialled, so its
|
|
44
|
+
// creation is machine traffic — not news about the peer, not a conversation, and not something
|
|
45
|
+
// to buzz a phone about. Scoped to `created` on purpose: a session going DOWN is news whoever
|
|
46
|
+
// opened it, and it is the operator's only signal that a conversation was cut off.
|
|
47
|
+
//
|
|
48
|
+
// ARGUMENTS ARE REVERSED HERE, AND THAT IS THE POINT. This function runs on the side that
|
|
49
|
+
// ACCEPTED, so the opener is the COUNTERPARTY and the target is US. Asking
|
|
50
|
+
// `(agentName, counterpartyPubkey)` — our own agent first, like the initiator half does — is
|
|
51
|
+
// what made the first version of this guard unreachable in production: it compared the
|
|
52
|
+
// receiver's tuple against a registry holding the dialler's.
|
|
53
|
+
if (state === "created" && counterpartyPubkey !== null && isDeliveryOpenToAgent(counterpartyPubkey, agentName)) {
|
|
54
|
+
// Suppression is LOGGED. A doorbell that silently stops ringing is the next defect, and the
|
|
55
|
+
// measured storm was so hard to read precisely because nothing named its cause.
|
|
56
|
+
logger.info("session.doorbell.suppressed_delivery", {
|
|
57
|
+
agentName, sessionId, state, opener: counterpartyPubkey.slice(0, 16),
|
|
58
|
+
impact: "document delivery opened this session — no doorbell, no phone push, no backoff reset",
|
|
59
|
+
});
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// MONIKER-4 AC2: stamp who/whoKnown on the counterparty-bearing frame. Resolved BEFORE the
|
|
63
|
+
// offered-name drop below so a terminal state's own doorbell still shows the name. Below the
|
|
64
|
+
// guard: on a suppressed event it was computed and thrown away.
|
|
65
|
+
const who = counterpartyPubkey ? resolveWho(agentName, counterpartyPubkey, sessionId) : undefined;
|
|
66
|
+
// SYNC-P5 (R39): a session coming up IS the party-became-reachable signal — every shared
|
|
67
|
+
// document gets a reconcile attempt, and the scheduler's backoff resets (they just answered).
|
|
68
|
+
// Sound ONLY when the peer caused it, which is what the guard above establishes.
|
|
69
|
+
// Resolved ONCE per call, not per use: these are `let`s assigned elsewhere, and re-reading them
|
|
70
|
+
// between the guard and the use is how a narrowed value stops being narrowed.
|
|
71
|
+
const scheduler = getReconcileScheduler();
|
|
72
|
+
const ownerKeyFor = getDocumentOwnerKeyFor();
|
|
73
|
+
if (scheduler && ownerKeyFor && counterpartyPubkey && state === "created") {
|
|
74
|
+
const ownerAgentId = ownerKeyFor(agentName);
|
|
75
|
+
if (ownerAgentId !== null) {
|
|
76
|
+
// DOD-M12B-DELIVERY-QUIET-1: the trigger FIRING is logged, not only its failure. This is
|
|
77
|
+
// the storm driver — it zeroes the backoff and sweeps every shared document — and it was
|
|
78
|
+
// invisible in the log unless it threw, so 321 attempts in 85 minutes named no cause. It is
|
|
79
|
+
// also the only way either direction of the delivery exemption is observable.
|
|
80
|
+
logger.info("document.reconcile.reachable_trigger_fired", {
|
|
81
|
+
agentName, trigger: "inbound_session_created", peer: counterpartyPubkey.slice(0, 16),
|
|
82
|
+
});
|
|
83
|
+
void scheduler
|
|
84
|
+
.onReachable(ownerAgentId, counterpartyPubkey.toLowerCase())
|
|
85
|
+
.catch((err) => {
|
|
86
|
+
logger.warn("document.reconcile.reachable_trigger_failed", {
|
|
87
|
+
agentName, reason: err instanceof Error ? err.message : String(err),
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
getNotificationDispatcher().dispatchSessionStateChanged(agentName, sessionId, state, counterpartyPubkey, who);
|
|
93
|
+
void sendTelegramDoorbell(agentName, sessionId, "state_change", `Session ${state}`);
|
|
94
|
+
// Reviewer HIGH fix (a60d68ed): telegramRungUnread had NO cleanup at all — a session that
|
|
95
|
+
// rings once and is never read via cello_receive/since_seq (e.g. the operator only ever uses
|
|
96
|
+
// cello_get_transcript, which does not advance the read watermark) left a permanent entry for
|
|
97
|
+
// the life of the daemon process. Every state change is a natural point to drop it — the
|
|
98
|
+
// worst case if the session is still genuinely active is one possible extra ring later, far
|
|
99
|
+
// preferable to an unbounded leak (the exact class of bug fixed for TTL-1's expired-log at
|
|
100
|
+
// af8a701 in this same milestone).
|
|
101
|
+
clearTelegramRung(agentName, sessionId);
|
|
102
|
+
// MONIKER-2 AC2b (review F1): the offered name is display material for the session's
|
|
103
|
+
// lifetime only. Production emits "created", "interrupted", "counterparty_closing" through
|
|
104
|
+
// this wrapper — a terminal-only check was dead code and left the map growing for the
|
|
105
|
+
// daemon's lifetime (remote-fed). Drop on ANY state past "created": a prematurely dropped
|
|
106
|
+
// label degrades to fingerprint, which the spec sanctions; an unbounded map does not.
|
|
107
|
+
// DOD-MONIKER-6 AC3: drop only THIS agent's box — a co-resident agent's session moving on
|
|
108
|
+
// must never cost this agent the caller's name.
|
|
109
|
+
if (state !== "created" && getOfferedMonikers().delete(getOfferKey()(agentName, sessionId))) {
|
|
110
|
+
logger.debug("moniker.offer.dropped", { agentName, sessionId, state });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return { deliveryOpens, pubkeyOfAgent, isDeliveryOpenInFlight, isDeliveryOpenToAgent, dispatchSessionStateChangedWithTelegram };
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=session-notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-notify.js","sourceRoot":"","sources":["../src/session-notify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-read-handlers.d.ts","sourceRoot":"","sources":["../src/session-read-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAwD,MAAM,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI/E,MAAM,WAAW,eAAe;IAC9B,uGAAuG;IACvG,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC9D,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,yBAAyB,EAAE,OAAO,CAAC;IACnC,6FAA6F;IAC7F,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/G;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D;;;;;OAKG;IACH;;;;OAIG;IACH,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAClF,6EAA6E;IAC7E,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzG,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzG;;;;;OAKG;IACH,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,wBAAwB,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,CACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"session-read-handlers.d.ts","sourceRoot":"","sources":["../src/session-read-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAwD,MAAM,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI/E,MAAM,WAAW,eAAe;IAC9B,uGAAuG;IACvG,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC9D,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,yBAAyB,EAAE,OAAO,CAAC;IACnC,6FAA6F;IAC7F,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/G;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D;;;;;OAKG;IACH;;;;OAIG;IACH,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAClF,6EAA6E;IAC7E,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzG,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzG;;;;;OAKG;IACH,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,wBAAwB,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,CACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CA2nBvE"}
|
|
@@ -595,6 +595,5 @@ export function registerSessionReadHandlers(deps) {
|
|
|
595
595
|
handlers.set("list_sessions", async (params) => {
|
|
596
596
|
return selectSessions(sessionNodeManager.getAllSessions(), params);
|
|
597
597
|
});
|
|
598
|
-
// DAEMON-003 IPC handlers: queue_failed_send and check_nonce (AC-010)
|
|
599
598
|
}
|
|
600
599
|
//# sourceMappingURL=session-read-handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-read-handlers.js","sourceRoot":"","sources":["../src/session-read-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-read-handlers.js","sourceRoot":"","sources":["../src/session-read-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,13 +115,6 @@ export interface SaltAgreementFrame {
|
|
|
115
115
|
*/
|
|
116
116
|
adoptionClosed?: string;
|
|
117
117
|
}
|
|
118
|
-
/**
|
|
119
|
-
* The state a peer announced that ends the agreement without a salt — Decision #8, review F1/F2.
|
|
120
|
-
*
|
|
121
|
-
* NOT a freeze. Both sides simply stay unsalted, which is exactly as verifiable as every session
|
|
122
|
-
* shipped before the salt existed. The point is that they agree on it.
|
|
123
|
-
*/
|
|
124
|
-
export declare const SALT_ADOPTION_CLOSED: "adoption_closed";
|
|
125
118
|
/**
|
|
126
119
|
* WHY a side cannot adopt — a wire value, so it is a named constant rather than a literal typed out
|
|
127
120
|
* at each site. Two refusals reach the same terminal state and want different operator responses:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-salt-agreement.d.ts","sourceRoot":"","sources":["../src/session-salt-agreement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AAUH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,iFAAiF;IACjF,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"session-salt-agreement.d.ts","sourceRoot":"","sources":["../src/session-salt-agreement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AAUH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,iFAAiF;IACjF,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;IAI/B;;;;;;;;;;;OAWG;;CAEK,CAAC;AAEX,qEAAqE;AACrE,eAAO,MAAM,mBAAmB;IAC9B,qDAAqD;;IAErD,yFAAyF;;IAEzF,sFAAsF;;IAEtF;;;;;;;;OAQG;;IAEH,qFAAqF;;CAE7E,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAE9F;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAkCjE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB;AAC7B,sFAAsF;AACpF;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,UAAU,CAAA;CAAE;AAC9E;;;;;GAKG;GACD;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAAE;AAC9E,oEAAoE;GAClE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE;AACzB;;;GAGG;GACD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACjE;;;;;;;GAOG;GACD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEpG;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAU1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU7D;AAOD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE;IAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,eAAe,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,GACxE,kBAAkB,GAAG,IAAI,CAe3B;AAsCD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC;;;;;;OAMG;IACH,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,KAAK,EAAE,kBAAkB,CAAC;CAC3B,GAAG,mBAAmB,CA4LtB"}
|
|
@@ -86,13 +86,6 @@ function isAllZero(b) {
|
|
|
86
86
|
acc |= x;
|
|
87
87
|
return acc === 0;
|
|
88
88
|
}
|
|
89
|
-
/**
|
|
90
|
-
* The state a peer announced that ends the agreement without a salt — Decision #8, review F1/F2.
|
|
91
|
-
*
|
|
92
|
-
* NOT a freeze. Both sides simply stay unsalted, which is exactly as verifiable as every session
|
|
93
|
-
* shipped before the salt existed. The point is that they agree on it.
|
|
94
|
-
*/
|
|
95
|
-
export const SALT_ADOPTION_CLOSED = "adoption_closed";
|
|
96
89
|
/**
|
|
97
90
|
* WHY a side cannot adopt — a wire value, so it is a named constant rather than a literal typed out
|
|
98
91
|
* at each site. Two refusals reach the same terminal state and want different operator responses:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-salt-agreement.js","sourceRoot":"","sources":["../src/session-salt-agreement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AAEH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAErG,SAAS,SAAS,CAAC,CAAa;IAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,GAAG,IAAI,CAAC,CAAC;IAC5B,OAAO,GAAG,KAAK,CAAC,CAAC;AACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-salt-agreement.js","sourceRoot":"","sources":["../src/session-salt-agreement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The views the daemon builds of its own sessions and agents.
|
|
3
|
+
*
|
|
4
|
+
* Which sessions are interrupted and can still be resumed, which are live, whether a given session
|
|
5
|
+
* could be sealed right now, and what state each agent is in. Plus the half-open reaper, which is
|
|
6
|
+
* here rather than with the sweeps because "which sessions are live" and "which sessions are dead
|
|
7
|
+
* but still listed" are the same question asked twice — separating them is how a list starts
|
|
8
|
+
* reporting sessions that no longer exist.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ THE CONTEXT IS DESIGNED, NOT LIFTED. An attempt to move the whole status cluster — these
|
|
11
|
+
* builders plus `getStatus` — found TWENTY free names, because `getStatus` reads from every part of
|
|
12
|
+
* the daemon by construction. That is the composition root with an extra hop. The builders alone
|
|
13
|
+
* need what is listed below and nothing else; `getStatus` stays in the root, where its breadth is
|
|
14
|
+
* honest, and calls in.
|
|
15
|
+
*/
|
|
16
|
+
import type { ActiveSessionInfo, AgentInfo, AgentState, InterruptedSessionInfo, Logger } from "./types.js";
|
|
17
|
+
import type { SessionNodeManager } from "./session-node-manager.js";
|
|
18
|
+
import type { SignalingManager } from "@cello-protocol/transport";
|
|
19
|
+
import type { SealCompletion } from "./seal-coordinator.js";
|
|
20
|
+
import type { FrontierMismatchStore } from "./frontier-mismatch.js";
|
|
21
|
+
export interface SessionViewsDeps {
|
|
22
|
+
logger: Logger;
|
|
23
|
+
sessionNodeManager: SessionNodeManager;
|
|
24
|
+
/** Live containers, shared by reference: a copy freezes attendance and every agent reads unattended. */
|
|
25
|
+
perConnectionState: ReadonlyMap<string, {
|
|
26
|
+
currentAgent: string | null;
|
|
27
|
+
}>;
|
|
28
|
+
onlineAgents: ReadonlySet<string>;
|
|
29
|
+
explicitlyOfflineAgents: ReadonlySet<string>;
|
|
30
|
+
perAgentSignaling: ReadonlyMap<string, {
|
|
31
|
+
signaling: SignalingManager;
|
|
32
|
+
}>;
|
|
33
|
+
/** Present only on the in-process test path. */
|
|
34
|
+
sharedSignaling: SignalingManager | undefined;
|
|
35
|
+
frontierMismatches: FrontierMismatchStore;
|
|
36
|
+
sealKey: (agentName: string, sessionId: string) => string;
|
|
37
|
+
sealInterruptedInProgress: ReadonlySet<string>;
|
|
38
|
+
pendingSealWaiters: ReadonlyMap<string, (completion: SealCompletion) => void>;
|
|
39
|
+
}
|
|
40
|
+
export declare function createSessionViews(deps: SessionViewsDeps): {
|
|
41
|
+
buildInterruptedSessions: () => InterruptedSessionInfo[];
|
|
42
|
+
reapDeadHalfOpenSessions: (agentName?: string) => void;
|
|
43
|
+
buildActiveSessions: () => ActiveSessionInfo[];
|
|
44
|
+
agentStateFor: (a: AgentInfo) => AgentState;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=session-views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-views.d.ts","sourceRoot":"","sources":["../src/session-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EACV,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,EACzE,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAKpE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,wGAAwG;IACxG,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,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAC;IACxE,gDAAgD;IAChD,eAAe,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC9C,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC;CAC/E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB;oCAwClB,sBAAsB,EAAE;2CA4Cf,MAAM,KAAG,IAAI;+BAgD3B,iBAAiB,EAAE;uBA8BzB,SAAS,KAAG,UAAU;EAqCjD"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { countAttendance } from "./co-attendance.js";
|
|
2
|
+
import { renderFrontierMismatch } from "./frontier-mismatch.js";
|
|
3
|
+
import { resolveAgentState } from "./agent-state.js";
|
|
4
|
+
export function createSessionViews(deps) {
|
|
5
|
+
const { logger, sessionNodeManager, perConnectionState, onlineAgents, explicitlyOfflineAgents, perAgentSignaling, sharedSignaling, frontierMismatches, sealKey, sealInterruptedInProgress, pendingSealWaiters, } = deps;
|
|
6
|
+
// M7-SESSION-001 AC-006/AC-007 (and M-1 PULL): build the interrupted_sessions
|
|
7
|
+
// array from SQLite. Shared by both getStatus() (daemon-wide) and the
|
|
8
|
+
// cello_status MCP handler (per-connection) so live MCP clients see the same
|
|
9
|
+
// interrupted sessions a CLI `cello status` would.
|
|
10
|
+
// `cello status` is a health snapshot, not a session archive. It surfaces ONLY genuinely
|
|
11
|
+
// RESUMABLE sessions (interrupted with messages exchanged) — never failed inits (interrupted,
|
|
12
|
+
// 0 messages — a dead handshake), which classify as "failed" and would otherwise accumulate
|
|
13
|
+
// unbounded and confuse. The list is also capped; the full, queryable history is `cello sessions`
|
|
14
|
+
// / cello_list_sessions (with filter + limit flags).
|
|
15
|
+
const STATUS_RESUMABLE_CAP = 10;
|
|
16
|
+
/**
|
|
17
|
+
* DOD-M12B-SEAL-STUCK-1 — ask the seal gate for ONE session, and never let the answer take the
|
|
18
|
+
* status response with it.
|
|
19
|
+
*
|
|
20
|
+
* This runs per session on every `cello status` and every `cello_status`, and it touches the
|
|
21
|
+
* database. An unguarded throw here rejects the whole response, after which the CLI finds the
|
|
22
|
+
* singleton lock still held and prints `daemon: "broken_shutdown"` — telling the operator their
|
|
23
|
+
* healthy daemon has failed to stop, over one session row it could not read. There is a
|
|
24
|
+
* documented precedent in this codebase for exactly that shape.
|
|
25
|
+
*
|
|
26
|
+
* A failure yields `unknown`, never `ready`: "we could not check" must not read as "safe to
|
|
27
|
+
* close", because a close on a short chain is terminal.
|
|
28
|
+
*/
|
|
29
|
+
function probeSealReadiness(agentName, sessionId) {
|
|
30
|
+
try {
|
|
31
|
+
return sessionNodeManager.sealReadinessView(agentName, sessionId);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
35
|
+
logger.warn("session.seal.readiness.probe.failed", { agentName, sessionId, error: message });
|
|
36
|
+
return { state: "unknown", reason: `probe_failed: ${message}` };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function buildInterruptedSessions() {
|
|
40
|
+
return sessionNodeManager
|
|
41
|
+
.getSessionsByStatus("interrupted")
|
|
42
|
+
.filter((row) => (row.message_count ?? 0) > 0) // resumable only — drop failed 0-message inits
|
|
43
|
+
.slice(0, STATUS_RESUMABLE_CAP)
|
|
44
|
+
.map((row) => ({
|
|
45
|
+
sessionId: row.session_id,
|
|
46
|
+
agentName: row.agent_name,
|
|
47
|
+
counterpartyPubkey: row.counterparty_pubkey,
|
|
48
|
+
messageCount: row.message_count ?? 0,
|
|
49
|
+
interruptedAt: row.interrupted_at ?? new Date(row.updated_at).toISOString(),
|
|
50
|
+
// DOD-SESSION-NAME-1 (AC-A11): an interrupted session is one you may want to resume or seal
|
|
51
|
+
// — the name is how you tell which one it was.
|
|
52
|
+
sessionName: row.session_name ?? null,
|
|
53
|
+
// DOD-M12B-SEAL-STUCK-1: the same answer the active list carries, for the same reason —
|
|
54
|
+
// an interrupted session can seal, so it can also be blocked from sealing by a gap, and
|
|
55
|
+
// that is knowable here instead of only after a failed close. A plain property, never a
|
|
56
|
+
// spread: a spread bypasses excess-property checking, which is how `frontierMismatch`
|
|
57
|
+
// below came to typecheck while no renderer could read it.
|
|
58
|
+
sealReadiness: probeSealReadiness(row.agent_name, row.session_id),
|
|
59
|
+
// DOD-FRONTIER-STRAND-1 AC3: if a seal exchange has already proved the two sides disagree on
|
|
60
|
+
// how many messages this session holds, SAY SO HERE. Otherwise a stranded session is listed
|
|
61
|
+
// exactly like a healthy paused one, and the only way to learn it can never seal is to
|
|
62
|
+
// attempt another close and read the error — which is how dbb93dfc… sat unnoticed a week.
|
|
63
|
+
...(() => {
|
|
64
|
+
const m = frontierMismatches.get(row.agent_name, row.session_id);
|
|
65
|
+
return m ? { frontierMismatch: renderFrontierMismatch(m, row.session_id) } : {};
|
|
66
|
+
})(),
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
// CC-5/F21: reap dead half-open sessions on READ (compute-on-read, like reapExpiredInboundSessions —
|
|
70
|
+
// no background timer). A session the standing receiver opened from an inbound offer the initiator
|
|
71
|
+
// ABANDONED stays "active" forever (the counterparty never joins), clutters the open/active lists, and
|
|
72
|
+
// its normal close fires an unsealable bilateral seal. Mark such a session terminal ("abandoned") once
|
|
73
|
+
// it is PROVABLY dead: counterparty never established (liveness != "alive" AND 0 RECEIVED messages —
|
|
74
|
+
// message_count alone counts our own auto-"Dispatched." ack, so it is NOT the signal) + age past the
|
|
75
|
+
// grace TTL (a genuinely fresh session still setting up must survive).
|
|
76
|
+
// CC-10 (live 2026-07-08 Phase-2 block): scan 'interrupted' too, not just 'active'. A daemon restart
|
|
77
|
+
// flips dead half-opens to 'interrupted'; those classify as "failed" (invisible in every list) yet
|
|
78
|
+
// still count toward the unknown-sender acceptance bound (D18 deliberately counts 'interrupted') — so
|
|
79
|
+
// a stranger whose first handshakes died was silently locked out FOREVER. Reaping only 0-RECEIVED
|
|
80
|
+
// ghosts keeps D18 intact: the disconnect-evasion attacker's sessions always carry received content.
|
|
81
|
+
const HALF_OPEN_TTL_MS = Number(process.env["CELLO_HALF_OPEN_TTL_MS"]) || 5 * 60 * 1000;
|
|
82
|
+
function reapDeadHalfOpenSessions(agentName) {
|
|
83
|
+
const now = Date.now();
|
|
84
|
+
const candidates = [...sessionNodeManager.getSessionsByStatus("active"), ...sessionNodeManager.getSessionsByStatus("interrupted")];
|
|
85
|
+
for (const row of candidates) {
|
|
86
|
+
if (agentName !== undefined && row.agent_name !== agentName)
|
|
87
|
+
continue;
|
|
88
|
+
if (now - row.created_at <= HALF_OPEN_TTL_MS)
|
|
89
|
+
continue; // too young — may just be setting up
|
|
90
|
+
// DOD-M12B-ACK-1: 'impaired' counts as live HERE. This reaper's question is "did the
|
|
91
|
+
// counterparty ever establish?", and impaired means it did — the connection is up, only
|
|
92
|
+
// delivery on it is failing. Reaping on impaired would abandon exactly the sessions this
|
|
93
|
+
// milestone exists to repair.
|
|
94
|
+
const liveness = sessionNodeManager.getSessionLiveness(row.agent_name, row.session_id);
|
|
95
|
+
if (liveness === "alive" || liveness === "impaired")
|
|
96
|
+
continue; // live
|
|
97
|
+
/**
|
|
98
|
+
* DOD-M12B-REAP-HELD-1 — count HELD frames too, or an interrupted conversation reads as a
|
|
99
|
+
* dead handshake.
|
|
100
|
+
*
|
|
101
|
+
* OBSERVED LIVE 2026-08-18: this line abandoned session `d28db475…` — twenty leaves in the
|
|
102
|
+
* chain plus sixteen verified frames still held, ten of them from the counterparty — while the
|
|
103
|
+
* restart-seal resolver was actively trying to notarize it. The receipt was forfeited and the
|
|
104
|
+
* held content annexed.
|
|
105
|
+
*
|
|
106
|
+
* `countReceivedMessages` asks the TRANSCRIPT, and held content never reaches the transcript;
|
|
107
|
+
* it waits in `held_content` until it can join the chain. So the very condition that holds
|
|
108
|
+
* content — an interrupted session — is the condition that hides the counterparty's messages
|
|
109
|
+
* from this test, and a real conversation becomes indistinguishable from an offer nobody
|
|
110
|
+
* answered. `countEstablishedReceived` asks both places.
|
|
111
|
+
*/
|
|
112
|
+
if (sessionNodeManager.countEstablishedReceived(row.agent_name, row.session_id) > 0)
|
|
113
|
+
continue; // counterparty spoke
|
|
114
|
+
// Non-awaited: abandonSession flips the DB status synchronously (before its first await), so THIS
|
|
115
|
+
// read reflects it; the async node teardown finishes in the background. CC-10 reviewer LOW: only
|
|
116
|
+
// log "reaped" if the status flip actually wrote — a swallowed write failure already logs
|
|
117
|
+
// session.status.write.failed, and reporting success over it would hide a still-counting ghost.
|
|
118
|
+
void sessionNodeManager.abandonSession(row.agent_name, row.session_id)
|
|
119
|
+
.then((flipped) => {
|
|
120
|
+
if (flipped) {
|
|
121
|
+
logger.info("session.half_open.reaped", { agentName: row.agent_name, sessionId: row.session_id, priorStatus: row.status, ageMs: now - row.created_at });
|
|
122
|
+
}
|
|
123
|
+
})
|
|
124
|
+
.catch((err) => {
|
|
125
|
+
logger.warn("session.half_open.reap.failed", { agentName: row.agent_name, sessionId: row.session_id, reason: err instanceof Error ? err.message : String(err) });
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// M8B F16: per-session liveness for ACTIVE sessions, shared by both status surfaces
|
|
130
|
+
// ("status" for the CLI, "cello_status" for MCP). The signal (session.liveness.changed,
|
|
131
|
+
// tracked in the node manager) existed but nothing consumed it — a dead counterparty
|
|
132
|
+
// was invisible to the operator.
|
|
133
|
+
function buildActiveSessions() {
|
|
134
|
+
reapDeadHalfOpenSessions(); // CC-5/F21: drop provably-dead half-open sessions before surfacing active ones
|
|
135
|
+
return sessionNodeManager.getSessionsByStatus("active").map((row) => {
|
|
136
|
+
// DOD-M12B-SEAL-STUCK-1: ask the SAME gate the close path asks, so the surface and the
|
|
137
|
+
// refusal can never disagree. Computed here rather than cached because the answer changes
|
|
138
|
+
// the moment a gap fills, and a stale "stuck" is its own lie.
|
|
139
|
+
return {
|
|
140
|
+
sessionId: row.session_id,
|
|
141
|
+
agentName: row.agent_name,
|
|
142
|
+
counterpartyPubkey: row.counterparty_pubkey,
|
|
143
|
+
liveness: sessionNodeManager.getSessionLiveness(row.agent_name, row.session_id),
|
|
144
|
+
sessionName: row.session_name ?? null, // DOD-SESSION-NAME-1 (AC-A11)
|
|
145
|
+
sealReadiness: probeSealReadiness(row.agent_name, row.session_id),
|
|
146
|
+
// DOD-M12B-CLOSE-SILENT-WAIT-1: both flows, because either can be the one blocking the
|
|
147
|
+
// operator's command — `pendingSealWaiters` is the active close, `sealInterruptedInProgress`
|
|
148
|
+
// the interrupted one.
|
|
149
|
+
sealing: pendingSealWaiters.has(sealKey(row.agent_name, row.session_id)) ||
|
|
150
|
+
sealInterruptedInProgress.has(sealKey(row.agent_name, row.session_id)),
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The state an operator sees, for one agent — used by BOTH status surfaces.
|
|
156
|
+
*
|
|
157
|
+
* Deliberately one function. The daemon-wide status and the per-connection `cello_status` used to
|
|
158
|
+
* compute this separately, and separate copies of a truth claim are how the directory-health block
|
|
159
|
+
* came to exist on one surface and not the other earlier today.
|
|
160
|
+
*/
|
|
161
|
+
function agentStateFor(a) {
|
|
162
|
+
return resolveAgentState({
|
|
163
|
+
loadFailed: a.state === "load_failed",
|
|
164
|
+
// `unregistered` is BUILT and tested (agent-state.ts) and deliberately NOT EMITTED yet.
|
|
165
|
+
//
|
|
166
|
+
// The truthful signal is whether the DKG left a FROST share — registration's durable product,
|
|
167
|
+
// rather than a flag anyone could forget to set. But every test fixture creates an agent
|
|
168
|
+
// WITHOUT one, so switching this on relabels the agents in 29 tests across 8 files, and the
|
|
169
|
+
// alternative — fabricating share material in fixtures — plants fake crypto material that a
|
|
170
|
+
// later reader takes for real. Neither is worth it for a state that lasts the few seconds
|
|
171
|
+
// between `cello create-agent` and `cello register-agent`.
|
|
172
|
+
//
|
|
173
|
+
// So the daemon asserts exactly what it asserted before this change: a loaded agent is treated
|
|
174
|
+
// as registered. That is not a regression, and it is not silent — it is this comment. The VALUE
|
|
175
|
+
// stays in AgentState, so turning it on once fixtures can register for real is a one-line
|
|
176
|
+
// change here and NOT a second wire change for every consumer.
|
|
177
|
+
hasFrostShare: true,
|
|
178
|
+
deliberatelyOffline: explicitlyOfflineAgents.has(a.name),
|
|
179
|
+
started: onlineAgents.has(a.name),
|
|
180
|
+
// This agent's OWN stream where it has one — an agent whose connection is severed while its
|
|
181
|
+
// siblings are fine must not read as healthy.
|
|
182
|
+
//
|
|
183
|
+
// Falls back to the shared manager, mirroring directorySignalingStatus(): production gives
|
|
184
|
+
// every agent its own connection, but the IN-PROCESS TEST path has ONE shared manager (NOT back-compat: Rule F deletes
|
|
185
|
+
// back-compat on sight, and deleting this would break every in-process test in the package) and
|
|
186
|
+
// no per-agent entry at all. Reading only the per-agent map there returns undefined for every
|
|
187
|
+
// agent, so all of them reported `connecting` — which then made isAgentReady false and refused
|
|
188
|
+
// real commands with `selected_agent_offline`. Absent is not the same as disconnected.
|
|
189
|
+
signalingConnected: (perAgentSignaling.get(a.name)?.signaling.status ?? sharedSignaling?.status) === "connected",
|
|
190
|
+
attendance: countAttendance(perConnectionState, a.name),
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
// `probeSealReadiness` is NOT returned: its only caller is `buildInterruptedSessions`, which
|
|
194
|
+
// moved with it. Returning it would make a private helper reachable for no consumer.
|
|
195
|
+
return { buildInterruptedSessions, reapDeadHalfOpenSessions, buildActiveSessions, agentStateFor };
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=session-views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-views.js","sourceRoot":"","sources":["../src/session-views.ts"],"names":[],"mappings":"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"}
|