@cello-protocol/daemon 0.0.229 → 0.0.231

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.
Files changed (77) hide show
  1. package/dist/channel-admin-lookup.d.ts +54 -0
  2. package/dist/channel-admin-lookup.d.ts.map +1 -0
  3. package/dist/channel-admin-lookup.js +122 -0
  4. package/dist/channel-admin-lookup.js.map +1 -0
  5. package/dist/channel-collect-tick.d.ts +36 -0
  6. package/dist/channel-collect-tick.d.ts.map +1 -0
  7. package/dist/channel-collect-tick.js +133 -0
  8. package/dist/channel-collect-tick.js.map +1 -0
  9. package/dist/channel-collector.d.ts +99 -0
  10. package/dist/channel-collector.d.ts.map +1 -0
  11. package/dist/channel-collector.js +249 -0
  12. package/dist/channel-collector.js.map +1 -0
  13. package/dist/channel-config-store.d.ts +36 -0
  14. package/dist/channel-config-store.d.ts.map +1 -0
  15. package/dist/channel-config-store.js +84 -0
  16. package/dist/channel-config-store.js.map +1 -0
  17. package/dist/channel-inbox-store.d.ts +46 -0
  18. package/dist/channel-inbox-store.d.ts.map +1 -0
  19. package/dist/channel-inbox-store.js +88 -0
  20. package/dist/channel-inbox-store.js.map +1 -0
  21. package/dist/channel-join-exchange.d.ts +87 -0
  22. package/dist/channel-join-exchange.d.ts.map +1 -0
  23. package/dist/channel-join-exchange.js +289 -0
  24. package/dist/channel-join-exchange.js.map +1 -0
  25. package/dist/channel-log-store.d.ts +14 -0
  26. package/dist/channel-log-store.d.ts.map +1 -1
  27. package/dist/channel-log-store.js +58 -0
  28. package/dist/channel-log-store.js.map +1 -1
  29. package/dist/channel-membership-store.d.ts +118 -0
  30. package/dist/channel-membership-store.d.ts.map +1 -0
  31. package/dist/channel-membership-store.js +226 -0
  32. package/dist/channel-membership-store.js.map +1 -0
  33. package/dist/channel-membership-wiring.d.ts +90 -0
  34. package/dist/channel-membership-wiring.d.ts.map +1 -0
  35. package/dist/channel-membership-wiring.js +387 -0
  36. package/dist/channel-membership-wiring.js.map +1 -0
  37. package/dist/channel-publish-handlers.d.ts +42 -0
  38. package/dist/channel-publish-handlers.d.ts.map +1 -0
  39. package/dist/channel-publish-handlers.js +212 -0
  40. package/dist/channel-publish-handlers.js.map +1 -0
  41. package/dist/channel-publish-wiring.d.ts +52 -0
  42. package/dist/channel-publish-wiring.d.ts.map +1 -0
  43. package/dist/channel-publish-wiring.js +143 -0
  44. package/dist/channel-publish-wiring.js.map +1 -0
  45. package/dist/channel-publisher.d.ts +221 -0
  46. package/dist/channel-publisher.d.ts.map +1 -0
  47. package/dist/channel-publisher.js +430 -0
  48. package/dist/channel-publisher.js.map +1 -0
  49. package/dist/channel-relay-client.d.ts +88 -0
  50. package/dist/channel-relay-client.d.ts.map +1 -0
  51. package/dist/channel-relay-client.js +180 -0
  52. package/dist/channel-relay-client.js.map +1 -0
  53. package/dist/channel-subscription-store.d.ts +137 -0
  54. package/dist/channel-subscription-store.d.ts.map +1 -0
  55. package/dist/channel-subscription-store.js +250 -0
  56. package/dist/channel-subscription-store.js.map +1 -0
  57. package/dist/daemon.d.ts.map +1 -1
  58. package/dist/daemon.js +54 -0
  59. package/dist/daemon.js.map +1 -1
  60. package/dist/inbound-sessions.d.ts +6 -0
  61. package/dist/inbound-sessions.d.ts.map +1 -1
  62. package/dist/inbound-sessions.js +27 -1
  63. package/dist/inbound-sessions.js.map +1 -1
  64. package/dist/refusal-reasons.d.ts +7 -0
  65. package/dist/refusal-reasons.d.ts.map +1 -1
  66. package/dist/refusal-reasons.js +15 -0
  67. package/dist/refusal-reasons.js.map +1 -1
  68. package/dist/session-content-context.d.ts +8 -0
  69. package/dist/session-content-context.d.ts.map +1 -1
  70. package/dist/session-content-ingest.d.ts.map +1 -1
  71. package/dist/session-content-ingest.js +28 -0
  72. package/dist/session-content-ingest.js.map +1 -1
  73. package/dist/session-node-manager.d.ts +4 -0
  74. package/dist/session-node-manager.d.ts.map +1 -1
  75. package/dist/session-node-manager.js +11 -0
  76. package/dist/session-node-manager.js.map +1 -1
  77. package/package.json +5 -5
@@ -0,0 +1,250 @@
1
+ export const CHANNEL_SUBSCRIPTION_CREATE_SQL = `
2
+ CREATE TABLE IF NOT EXISTS channel_subscriptions (
3
+ agent_id TEXT NOT NULL,
4
+ channel_pubkey TEXT NOT NULL,
5
+ admin_pubkey TEXT NOT NULL,
6
+ access TEXT NOT NULL,
7
+ guidance TEXT NOT NULL DEFAULT '',
8
+ retention_seconds INTEGER NOT NULL DEFAULT 604800,
9
+ -- JSON array of multiaddrs: the relays this channel publishes to, in the order the info record
10
+ -- gave them. A column per relay would fix the count at two, and the count is the publisher's.
11
+ relays TEXT NOT NULL DEFAULT '[]',
12
+ moniker TEXT NOT NULL DEFAULT '',
13
+ delivered_through INTEGER NOT NULL DEFAULT 0,
14
+ processed_through INTEGER NOT NULL DEFAULT 0,
15
+ joined_at INTEGER NOT NULL DEFAULT 0,
16
+ status TEXT NOT NULL DEFAULT 'active',
17
+ PRIMARY KEY (agent_id, channel_pubkey)
18
+ );
19
+ `;
20
+ /**
21
+ * The group keys a subscriber holds, one row per generation.
22
+ *
23
+ * ⚠️ **A SEPARATE TABLE BECAUSE THERE ARE MANY PER SUBSCRIPTION, and every one is kept.** A re-key
24
+ * does not make old posts unreadable — they are still in the relay's queue under the old key — so a
25
+ * single `key` column on the subscription would make the channel's own history undecryptable to its
26
+ * own members the moment anyone was ejected.
27
+ *
28
+ * The key bytes live only here, inside the SQLCipher database, and are never logged.
29
+ */
30
+ export const CHANNEL_SUBSCRIPTION_KEYS_CREATE_SQL = `
31
+ CREATE TABLE IF NOT EXISTS channel_subscription_keys (
32
+ agent_id TEXT NOT NULL,
33
+ channel_pubkey TEXT NOT NULL,
34
+ generation INTEGER NOT NULL,
35
+ key BLOB NOT NULL,
36
+ received_at INTEGER NOT NULL,
37
+ PRIMARY KEY (agent_id, channel_pubkey, generation)
38
+ );
39
+ `;
40
+ export class ChannelSubscriptionError extends Error {
41
+ code;
42
+ constructor(code, message) {
43
+ super(`${code}: ${message}`);
44
+ this.name = "ChannelSubscriptionError";
45
+ this.code = code;
46
+ }
47
+ }
48
+ export class ChannelSubscriptionStore {
49
+ #db;
50
+ #logger;
51
+ constructor(db, logger) {
52
+ this.#db = db;
53
+ this.#logger = logger;
54
+ this.#db.exec(CHANNEL_SUBSCRIPTION_CREATE_SQL);
55
+ this.#db.exec(CHANNEL_SUBSCRIPTION_KEYS_CREATE_SQL);
56
+ }
57
+ /** Record (or refresh) a subscription. 019's join calls this; 018's tests use it directly. */
58
+ upsert(sub) {
59
+ this.#db
60
+ .prepare(
61
+ /**
62
+ * ⚠️ TWO THINGS THIS USED TO GET WRONG, both silent.
63
+ *
64
+ * `guidance` and `retention_seconds` arrive on the acceptance frame, are validated, and were
65
+ * then DROPPED — the columns existed and nothing ever wrote them. The order says to store
66
+ * them; a subscriber that does not has no idea what the channel is for or how long its posts
67
+ * last.
68
+ *
69
+ * And `status` was not in the update list, so a subscriber who LEFT and later rejoined got a
70
+ * fresh key, an `ok`, and a row still marked `left`. `active()` excludes it, so the collector
71
+ * never fetched: a channel they had just rejoined that produced nothing, for ever.
72
+ */
73
+ `INSERT INTO channel_subscriptions
74
+ (agent_id, channel_pubkey, admin_pubkey, access, relays, guidance, retention_seconds, joined_at, status)
75
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'active')
76
+ ON CONFLICT (agent_id, channel_pubkey) DO UPDATE SET
77
+ admin_pubkey = excluded.admin_pubkey,
78
+ access = excluded.access,
79
+ relays = excluded.relays,
80
+ guidance = excluded.guidance,
81
+ retention_seconds = excluded.retention_seconds,
82
+ status = 'active'`)
83
+ .run(sub.agent_id, sub.channel_pubkey.toLowerCase(), sub.admin_pubkey.toLowerCase(), sub.access, JSON.stringify(sub.relays), sub.guidance ?? "", sub.retention_seconds ?? 7 * 24 * 60 * 60, sub.joined_at ?? Date.now());
84
+ }
85
+ get(agentId, channelPubkeyHex) {
86
+ const row = this.#db
87
+ .prepare(`SELECT agent_id, channel_pubkey, admin_pubkey, access, relays, moniker, guidance, retention_seconds, delivered_through, processed_through, status
88
+ FROM channel_subscriptions WHERE agent_id = ? AND channel_pubkey = ?`)
89
+ .get(agentId, channelPubkeyHex.toLowerCase());
90
+ return row ? this.#toSubscription(row) : null;
91
+ }
92
+ /** Every channel this daemon should be collecting for. `left` and `ejected` are not collected. */
93
+ active() {
94
+ const rows = this.#db
95
+ .prepare(`SELECT agent_id, channel_pubkey, admin_pubkey, access, relays, moniker, guidance, retention_seconds, delivered_through, processed_through, status
96
+ FROM channel_subscriptions WHERE status = 'active' ORDER BY channel_pubkey ASC, agent_id ASC`)
97
+ .all();
98
+ return rows.map((r) => this.#toSubscription(r));
99
+ }
100
+ /**
101
+ * Move the DAEMON's position. Never moves backwards: a relay that answers with less than it did
102
+ * last time (a prune, a restart, a different relay) must not rewind a subscriber into re-fetching
103
+ * and re-delivering posts its agent has already been shown.
104
+ */
105
+ setDeliveredThrough(agentId, channelPubkeyHex, seq) {
106
+ const current = this.get(agentId, channelPubkeyHex);
107
+ if (!current) {
108
+ throw new ChannelSubscriptionError("subscription_unknown", `no subscription for ${channelPubkeyHex.slice(0, 16)}`);
109
+ }
110
+ if (seq < current.delivered_through) {
111
+ throw new ChannelSubscriptionError("position_regression", `delivered_through is ${String(current.delivered_through)}; refusing to move it back to ${String(seq)}`);
112
+ }
113
+ if (seq === current.delivered_through)
114
+ return;
115
+ this.#db
116
+ .prepare(`UPDATE channel_subscriptions SET delivered_through = ? WHERE agent_id = ? AND channel_pubkey = ?`)
117
+ .run(seq, agentId, channelPubkeyHex.toLowerCase());
118
+ this.#logger.debug("channel.delivered.advanced", {
119
+ agent_id: agentId, channel_pubkey: channelPubkeyHex, delivered_through: seq,
120
+ });
121
+ }
122
+ /**
123
+ * Move the AGENT's position — how far it has actually READ.
124
+ *
125
+ * ⚠️ **A LOWER VALUE THROWS RATHER THAN BEING IGNORED.** Silently refusing would leave a caller
126
+ * that computed a wrong position believing it had been applied, and this number is not
127
+ * recoverable from anywhere else: moving it back re-delivers messages the operator already saw,
128
+ * and moving it forward by mistake skips messages they never did. Equal is a no-op, not an error.
129
+ */
130
+ advanceProcessed(agentId, channelPubkeyHex, seq) {
131
+ const current = this.get(agentId, channelPubkeyHex);
132
+ if (!current) {
133
+ throw new ChannelSubscriptionError("subscription_unknown", `no subscription for ${channelPubkeyHex.slice(0, 16)}`);
134
+ }
135
+ if (seq < current.processed_through) {
136
+ throw new ChannelSubscriptionError("position_regression", `processed_through is ${String(current.processed_through)}; refusing to move it back to ${String(seq)}`);
137
+ }
138
+ if (seq === current.processed_through)
139
+ return;
140
+ // ⚠️ TOUCHES ONE COLUMN. A read must never move `delivered_through`, or the collector's next
141
+ // pass would start past posts it has not fetched and they would never arrive.
142
+ this.#db
143
+ .prepare(`UPDATE channel_subscriptions SET processed_through = ? WHERE agent_id = ? AND channel_pubkey = ?`)
144
+ .run(seq, agentId, channelPubkeyHex.toLowerCase());
145
+ }
146
+ /**
147
+ * Store a group key for one generation.
148
+ *
149
+ * ⚠️ **IDEMPOTENT, because a re-key can be delivered twice** — the admin retries an undelivered
150
+ * one, and a member that already has it must not end up with two rows or a replaced key.
151
+ */
152
+ addKey(agentId, channelPubkeyHex, gk, receivedAt) {
153
+ this.#db
154
+ .prepare(`INSERT INTO channel_subscription_keys (agent_id, channel_pubkey, generation, key, received_at)
155
+ VALUES (?, ?, ?, ?, ?)
156
+ ON CONFLICT (agent_id, channel_pubkey, generation) DO NOTHING`)
157
+ .run(agentId, channelPubkeyHex.toLowerCase(), gk.generation, Buffer.from(gk.key), receivedAt);
158
+ // The GENERATION may be logged; the key may not, ever.
159
+ this.#logger.info("channel.key.stored", {
160
+ agent_id: agentId, channel_pubkey: channelPubkeyHex, generation: gk.generation,
161
+ });
162
+ }
163
+ /**
164
+ * Every group key this subscriber holds, newest generation first.
165
+ *
166
+ * ⚠️ **OLD GENERATIONS ARE NEVER DELETED.** A re-key does not make yesterday's posts unreadable —
167
+ * they are still encrypted under the old key and still in the relay's queue — so dropping it
168
+ * would turn the channel's own history into `unknown_generation` for its own members.
169
+ */
170
+ keysFor(agentId, channelPubkeyHex) {
171
+ const rows = this.#db
172
+ .prepare(`SELECT generation, key FROM channel_subscription_keys
173
+ WHERE agent_id = ? AND channel_pubkey = ? ORDER BY generation DESC`)
174
+ .all(agentId, channelPubkeyHex.toLowerCase());
175
+ return rows.map((r) => ({ generation: Number(r.generation), key: new Uint8Array(r.key) }));
176
+ }
177
+ /**
178
+ * The subscriber's OWN decision to stop following. Purely local: nothing is sent, nothing is asked
179
+ * of the publisher, and `active()` stops returning it so the collector stops fetching.
180
+ */
181
+ markLeft(agentId, channelPubkeyHex) {
182
+ this.#setStatus(agentId, channelPubkeyHex, "left");
183
+ }
184
+ /**
185
+ * The PUBLISHER's decision. Distinct from `left` on purpose: one the subscriber chose and can undo
186
+ * by rejoining, the other they cannot, and an operator asking why a channel went quiet needs to
187
+ * see which of the two happened.
188
+ */
189
+ markEjected(agentId, channelPubkeyHex) {
190
+ this.#setStatus(agentId, channelPubkeyHex, "ejected");
191
+ }
192
+ #setStatus(agentId, channelPubkeyHex, status) {
193
+ const changed = this.#db
194
+ .prepare(`UPDATE channel_subscriptions SET status = ? WHERE agent_id = ? AND channel_pubkey = ?`)
195
+ .run(status, agentId, channelPubkeyHex.toLowerCase());
196
+ if (Number(changed.changes) === 0) {
197
+ throw new ChannelSubscriptionError("subscription_unknown", `no subscription for ${channelPubkeyHex.slice(0, 16)}`);
198
+ }
199
+ this.#logger.info("channel.subscription.status_changed", {
200
+ agent_id: agentId, channel_pubkey: channelPubkeyHex, status,
201
+ });
202
+ }
203
+ /** A local display label. The pubkey is the identity and naming it changes nothing. */
204
+ setMoniker(agentId, channelPubkeyHex, moniker) {
205
+ this.#db
206
+ .prepare(`UPDATE channel_subscriptions SET moniker = ? WHERE agent_id = ? AND channel_pubkey = ?`)
207
+ .run(moniker, agentId, channelPubkeyHex.toLowerCase());
208
+ }
209
+ /**
210
+ * Is this pubkey a channel this agent subscribes to?
211
+ *
212
+ * ⚠️ **TRUE FOR `left` AND `ejected` TOO, and that is deliberate.** The one caller is the
213
+ * inbound-session gate: a channel never opens a session, so one arriving from a pubkey we know to
214
+ * be a channel is worth refusing on. Unsubscribing does not stop it being a channel, and
215
+ * answering false here would reopen the hole the moment somebody left.
216
+ */
217
+ isSubscribedChannel(agentId, pubkeyHex) {
218
+ const row = this.#db
219
+ .prepare(`SELECT 1 AS hit FROM channel_subscriptions WHERE agent_id = ? AND channel_pubkey = ?`)
220
+ .get(agentId, pubkeyHex.toLowerCase());
221
+ return row !== undefined;
222
+ }
223
+ #toSubscription(row) {
224
+ let relays = [];
225
+ try {
226
+ const parsed = JSON.parse(row.relays);
227
+ if (Array.isArray(parsed))
228
+ relays = parsed.filter((r) => typeof r === "string");
229
+ }
230
+ catch {
231
+ // A corrupt relay list is an empty one, which makes the channel uncollectable and says so in
232
+ // the log — better than throwing on a read path that several channels share.
233
+ this.#logger.warn("channel.subscription.relays_corrupt", { channel_pubkey: row.channel_pubkey });
234
+ }
235
+ return {
236
+ agent_id: row.agent_id,
237
+ channel_pubkey: row.channel_pubkey,
238
+ admin_pubkey: row.admin_pubkey,
239
+ access: row.access,
240
+ relays,
241
+ moniker: row.moniker,
242
+ guidance: row.guidance,
243
+ retention_seconds: Number(row.retention_seconds),
244
+ delivered_through: Number(row.delivered_through),
245
+ processed_through: Number(row.processed_through),
246
+ status: row.status,
247
+ };
248
+ }
249
+ }
250
+ //# sourceMappingURL=channel-subscription-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-subscription-store.js","sourceRoot":"","sources":["../src/channel-subscription-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EACV,YAAY,EACb,MAAM,YAAY,CAAC;AA6EpB,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAKzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAS7E"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,KAAK,EACV,YAAY,EACb,MAAM,YAAY,CAAC;AAkFpB,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAKzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAS7E"}
package/dist/daemon.js CHANGED
@@ -41,6 +41,11 @@ import { registerContactHandlers } from "./contact-handlers.js";
41
41
  import { registerSignalHandlers } from "./signal-handlers.js";
42
42
  import { registerTestHandlers } from "./test-handlers.js";
43
43
  import { registerAgentAdminHandlers } from "./agent-admin-handlers.js";
44
+ // M16 018-PUBCOLLECT — the channel publishing half.
45
+ import { wireChannelPublishing } from "./channel-publish-wiring.js";
46
+ import { ChannelSubscriptionStore } from "./channel-subscription-store.js";
47
+ import { wireChannelMembership } from "./channel-membership-wiring.js";
48
+ import { LEAF_KIND_MSG } from "./session-relay-client.js";
44
49
  import { registerStatusHandler } from "./status-handler.js";
45
50
  import { registerBackupRestoreHandlers } from "./backup-restore-handlers.js";
46
51
  import { wireDocumentGate } from "./document-gate-wiring.js";
@@ -398,6 +403,16 @@ async function startDaemonHoldingLock(config, singletonLock) {
398
403
  dispatchSessionStateChangedWithTelegram,
399
404
  sendTelegramDoorbell,
400
405
  isDeliveryOpenToAgent, isChannelAgent: channelAgentLookup(sessionNodeManager, logger), // M16
406
+ // M16 019: the mirror — a session FROM a channel this agent subscribes to. Constructed per call
407
+ // rather than held, so a channel joined after boot is recognised without a restart.
408
+ /**
409
+ * ⚠️ **`resolveAgentId`, NOT THE NAME.** The store queries `agent_id`; the inbound path hands
410
+ * over `localAgent.name`. Passing the name matched no row, a missing row reads as "not a
411
+ * channel", and "not a channel" is ALLOW — so the refusal never fired and nothing said so. Test
412
+ * 21 could not see it because the harness replaced this lookup with a name-keyed stub.
413
+ */
414
+ isSubscribedChannel: (agentName, counterpartyPubkeyHex) => new ChannelSubscriptionStore(sessionNodeManager.getDb(), logger)
415
+ .isSubscribedChannel(sessionNodeManager.resolveAgentId(agentName), counterpartyPubkeyHex),
401
416
  });
402
417
  if (!sharedSignaling) {
403
418
  for (const agent of loadedAgents) {
@@ -504,6 +519,44 @@ async function startDaemonHoldingLock(config, singletonLock) {
504
519
  resolveCurrentAgent, getPersistence, getAgentSignaling, waitForSignalingConnected,
505
520
  resolveConsortiumRoster, getFailoverEndpoint, sealFailures,
506
521
  });
522
+ // M16 018-PUBCOLLECT: the channel publishing verbs, their log, their relay client and the
523
+ // per-channel publisher → channel-publish-wiring.ts. What stays here is the wiring.
524
+ // M16 019-MEMBERSHIP: joining, the group key, the eject re-key and the operator's channel verbs
525
+ // → channel-membership-wiring.ts. What stays here is the wiring.
526
+ const channelMembership = wireChannelMembership({
527
+ handlers, logger,
528
+ getDb: () => sessionNodeManager.getDb(),
529
+ sendInSession: async (agentName, sessionId, content) => {
530
+ // The hash comes from the SESSION, because a salted session hashes differently — computing it
531
+ // here would produce a leaf the counterparty's chain cannot match. Leaf kind `msg`: a join
532
+ // frame is not conversation, but a leaf kind is what a VERIFIER renders a leaf by, and a
533
+ // third kind would make every existing verifier unable to read a transcript carrying a join.
534
+ const { hash, alg } = await sessionNodeManager.contentHashForSession(agentName, sessionId, content);
535
+ await sessionNodeManager.sendContent(agentName, sessionId, content, new Uint8Array(hash), undefined, LEAF_KIND_MSG, alg);
536
+ },
537
+ setOnChannelJoinFrame: (cb) => { sessionNodeManager.setOnChannelJoinFrame(cb); },
538
+ loadedAgents, keyProviders,
539
+ resolveAgentId: (agentName) => sessionNodeManager.resolveAgentId(agentName),
540
+ resolveCurrentAgent: (connectionId, explicitAgent) => resolveCurrentAgent(perConnectionState.get(connectionId), explicitAgent),
541
+ activeSessionsFor: (agentName) => sessionNodeManager.getSessionsForAgent(agentName)
542
+ .filter((s) => s.status === "active")
543
+ .map((s) => ({ sessionId: s.session_id, counterpartyPubkeyHex: s.counterparty_pubkey })),
544
+ // M16 020-CHANADMIN: the subscriber asks the directory who administers a channel, on its own
545
+ // authenticated stream. No stream means the join is refused, not accepted.
546
+ signalingFor: (agentName) => signalingFor(agentName) ?? null,
547
+ });
548
+ const channelWiring = wireChannelPublishing({
549
+ handlers, logger,
550
+ getDb: () => sessionNodeManager.getDb(),
551
+ getNode: () => sessionNodeManager.getStandingReceiverNode() ?? null,
552
+ screenOutbound: (content, ctx) => securityGateway.screenOutbound(content, ctx),
553
+ loadedAgents, keyProviders,
554
+ resolveCurrentAgent: (connectionId, explicitAgent) => resolveCurrentAgent(perConnectionState.get(connectionId), explicitAgent),
555
+ isAgentOnline: (agentId) => onlineAgents.has(agentId) && !explicitlyOfflineAgents.has(agentId),
556
+ // From the membership half, which owns the group key. This is what carries a re-key to the
557
+ // relays on the next post, and so what makes an ejection lock a member out AT the relay.
558
+ currentFetchKey: channelMembership.currentFetchKey,
559
+ });
507
560
  // ─── Trust-signal wallet (operator-facing, no agent scope required) ───
508
561
  // 040-DAEMONROOT unit 1: the trust-signal, attestation and consent handlers moved to
509
562
  // signal-handlers.ts, with the two helpers only they used. What stays here is the wiring.
@@ -1002,6 +1055,7 @@ async function startDaemonHoldingLock(config, singletonLock) {
1002
1055
  // not add a separate per-agent stop loop beside it: it would be redundant, and an unguarded
1003
1056
  // second stop() that throws would abort the rest of shutdown.
1004
1057
  trustSignalSweepTicker.stopAll();
1058
+ channelWiring.stop();
1005
1059
  await stopAllSignaling();
1006
1060
  // Gracefully mark active sessions interrupted (AC-009) before stopping IPC
1007
1061
  await sessionNodeManager.gracefulShutdown();
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,12 @@ export interface InboundSessionDeps {
121
121
  * nothing here can know whether a REMOTE counterparty is a channel.
122
122
  */
123
123
  isChannelAgent: (agentName: string) => boolean;
124
+ /**
125
+ * M16 019: is this REMOTE pubkey a channel the given local agent subscribes to? The mirror of
126
+ * `isChannelAgent`, and it answers a question that one cannot: this daemon knows a remote identity
127
+ * is a channel only because it subscribed to it.
128
+ */
129
+ isSubscribedChannel: (agentName: string, counterpartyPubkeyHex: string) => boolean;
124
130
  }
125
131
  /**
126
132
  * DOD-CONSUME-1 / `M10B-D13` — project verified trust signals into the LLM-facing JSON shape.
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-sessions.d.ts","sourceRoot":"","sources":["../src/inbound-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound-sessions.d.ts","sourceRoot":"","sources":["../src/inbound-sessions.ts"],"names":[],"mappings":"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"}
@@ -311,7 +311,7 @@ export function extractInboundSessionAssignment(frame) {
311
311
  };
312
312
  }
313
313
  export function createInboundSessions(deps) {
314
- const { logger, sessionNodeManager, agents, getConnState, resolveCurrentAgent, NO_CURRENT_AGENT_RESPONSE, getKeyProvider, sharedSignaling, handleInboundSealInterruptedRequest, reapDeadHalfOpenSessions, sendAwayResponse, dispatchSessionStateChangedWithTelegram, sendTelegramDoorbell, isDeliveryOpenToAgent, isChannelAgent, } = deps;
314
+ const { logger, sessionNodeManager, agents, getConnState, resolveCurrentAgent, NO_CURRENT_AGENT_RESPONSE, getKeyProvider, sharedSignaling, handleInboundSealInterruptedRequest, reapDeadHalfOpenSessions, sendAwayResponse, dispatchSessionStateChangedWithTelegram, sendTelegramDoorbell, isDeliveryOpenToAgent, isChannelAgent, isSubscribedChannel, } = deps;
315
315
  // ─── Seam 2: inbound session establishment (counterparty side) ─────────────
316
316
  //
317
317
  // When agent A initiates a session, the directory FROST-signs a SessionAssignment
@@ -1353,6 +1353,32 @@ export function createInboundSessions(deps) {
1353
1353
  });
1354
1354
  return;
1355
1355
  }
1356
+ /**
1357
+ * M16 019: THE MIRROR — a session FROM a channel this agent subscribes to.
1358
+ *
1359
+ * The check above holds the line when somebody dials one of OUR channels. This one catches what
1360
+ * it cannot see: a channel that dials US. A channel does not converse, so this is either its key
1361
+ * in somebody else's hands, or someone who has learned a channel's pubkey and is trading on the
1362
+ * trust the operator already places in it — which is exactly the shape a subscriber is least
1363
+ * equipped to doubt, because they already read and believe that identity.
1364
+ *
1365
+ * Same slot and same path as its sibling: after verification, through `refuseInboundSession`,
1366
+ * so the refusal is durable and the dialer is revoked.
1367
+ */
1368
+ if (isSubscribedChannel(localAgent.name, parsed.participantAPubkeyHex)) {
1369
+ refuseInboundSession({
1370
+ agentName: localAgent.name,
1371
+ sessionIdHex: parsed.sessionIdHex,
1372
+ counterpartyPubkeyHex: parsed.participantAPubkeyHex,
1373
+ reason: REFUSAL_REASONS.SESSION_FROM_SUBSCRIBED_CHANNEL,
1374
+ offeredDialer: offered,
1375
+ counterpartyGuidance: "They refused this session: the identity you dialled from is a broadcast channel they " +
1376
+ "subscribe to, and channels publish rather than hold sessions. If you are the operator " +
1377
+ "behind it, open the session from your admin agent instead.",
1378
+ correlationId,
1379
+ });
1380
+ return;
1381
+ }
1356
1382
  inboundInFlight.add(offerKey(localAgent.name, parsed.sessionIdHex));
1357
1383
  // Serialize: the next accept does not begin until this one (and any standing-receiver
1358
1384
  // rebuild it triggers) settles. A throw inside one accept must not break the chain.