@relaymessenger/cli 0.3.1 → 0.4.0

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 (42) hide show
  1. package/README.md +6 -6
  2. package/claude-plugin/marketplace/plugins/relay/.claude-plugin/plugin.json +13 -4
  3. package/claude-plugin/marketplace/plugins/relay/runtime/server.mjs +91 -13
  4. package/dist/api.d.ts +77 -10
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +39 -4
  7. package/dist/api.js.map +1 -1
  8. package/dist/claude-settings.js +1 -1
  9. package/dist/claude-settings.js.map +1 -1
  10. package/dist/cli.js +1 -1
  11. package/dist/cli.js.map +1 -1
  12. package/dist/codex.d.ts.map +1 -1
  13. package/dist/codex.js +16 -6
  14. package/dist/codex.js.map +1 -1
  15. package/dist/doctor.js +6 -6
  16. package/dist/doctor.js.map +1 -1
  17. package/dist/engine/acp.d.ts +6 -1
  18. package/dist/engine/acp.d.ts.map +1 -1
  19. package/dist/engine/acp.js +16 -5
  20. package/dist/engine/acp.js.map +1 -1
  21. package/dist/engine/catalog.d.ts.map +1 -1
  22. package/dist/install.d.ts +1 -1
  23. package/dist/install.d.ts.map +1 -1
  24. package/dist/install.js +5 -2
  25. package/dist/install.js.map +1 -1
  26. package/dist/mcp.js +1 -1
  27. package/dist/mcp.js.map +1 -1
  28. package/dist/permissions.d.ts +8 -5
  29. package/dist/permissions.d.ts.map +1 -1
  30. package/dist/permissions.js +25 -6
  31. package/dist/permissions.js.map +1 -1
  32. package/dist/receive.d.ts +51 -2
  33. package/dist/receive.d.ts.map +1 -1
  34. package/dist/receive.js +206 -15
  35. package/dist/receive.js.map +1 -1
  36. package/dist/store.d.ts +47 -6
  37. package/dist/store.d.ts.map +1 -1
  38. package/dist/store.js +1 -0
  39. package/dist/store.js.map +1 -1
  40. package/openclaw-plugin/relaymessenger-openclaw-plugin-0.2.0.tgz +0 -0
  41. package/package.json +11 -11
  42. package/openclaw-plugin/relaymessenger-openclaw-plugin-0.1.0.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
package/dist/receive.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { RelayClient } from "./api.js";
2
- import type { RelayMessage, StateStore } from "./store.js";
1
+ import { type RelayClient } from "./api.js";
2
+ import type { RelayEvent, RelayMessage, StateStore } from "./store.js";
3
3
  import type { EngineAdapter } from "./engine/types.js";
4
4
  import { PermissionBroker } from "./permissions.js";
5
5
  export interface ReceiveLoopOptions {
@@ -12,6 +12,30 @@ export interface ReceiveLoopOptions {
12
12
  setTimeoutImpl?: typeof setTimeout;
13
13
  }
14
14
  export declare function turnIdempotencyKey(conversationId: string, eventIds: string[]): string;
15
+ /**
16
+ * Group events carry `data.invocation_id`; direct events do not. Its presence
17
+ * is how the bridge tells the two apart, and the id is required on every
18
+ * outbound call for that turn.
19
+ */
20
+ export declare function invocationIdForEvent(event: RelayEvent | undefined): string | undefined;
21
+ /**
22
+ * The batch a single turn may consume. Direct conversations coalesce a burst
23
+ * into one turn as before. A group invocation is single-use server-side (one
24
+ * message completes it), so a group turn is capped at the oldest invocation
25
+ * and later invocations stay queued for their own turns and their own replies.
26
+ */
27
+ export declare function batchForTurn(queue: RelayEvent[]): RelayEvent[];
28
+ /**
29
+ * Relay's undelivered-cursor fault names its own recovery target in
30
+ * `error.details`: `highest_delivered_cursor` for a cursor the ledger never
31
+ * handed out, `latest_sequence` for one past the agent's newest event. A
32
+ * recovery only ever lowers the cursor. Raising it would acknowledge, and let
33
+ * the retention sweep delete, events this bridge has never read.
34
+ */
35
+ export declare function undeliveredCursorTarget(error: {
36
+ status?: number;
37
+ details?: Record<string, unknown>;
38
+ }, cursor: number): number | undefined;
15
39
  export declare function promptTextFromMessages(messages: RelayMessage[]): string;
16
40
  export declare class ReceiveLoop {
17
41
  private readonly client;
@@ -33,6 +57,23 @@ export declare class ReceiveLoop {
33
57
  * Exposed for tests; `run()` supervises it forever.
34
58
  */
35
59
  pollOnce(timeoutS?: number): Promise<number>;
60
+ /**
61
+ * Read the canonical record after a cursor fault. Conversation history is
62
+ * Relay's documented recovery path: the event log can no longer say what
63
+ * moved, so the bridge names the head of every conversation it can still
64
+ * see. Nothing is replayed into the engine and nothing is invented for the
65
+ * events Relay deleted.
66
+ */
67
+ private reconcileHistory;
68
+ /**
69
+ * Apply Relay's cursor-fault contract. Both faults are permanent for the
70
+ * cursor that produced them, so neither may fall through to the generic
71
+ * retry: an undelivered cursor resumes from the ledger position Relay
72
+ * reports. For an expired cursor, the bridge first reads canonical history,
73
+ * then explicitly confirms that reconciliation so Relay can advance only
74
+ * across the proven retention gap.
75
+ */
76
+ private recoverFromCursorFault;
36
77
  /** Returns the conversation id when the event was enqueued for the engine. */
37
78
  private routeEvent;
38
79
  private scheduleFlush;
@@ -46,6 +87,14 @@ export declare class ReceiveLoop {
46
87
  /** Idempotently deliver an engine-completed reply without rerunning tools. */
47
88
  private deliverPendingReply;
48
89
  runTurn(conversationId: string): Promise<void>;
90
+ /**
91
+ * Route an approval card. A group invocation is spent by the single reply it
92
+ * owes, so a card posted into the group would consume it and leave the turn
93
+ * unable to answer. Group approvals therefore go to the owner's direct
94
+ * conversation with this agent, and deny when there is no such conversation
95
+ * to ask in.
96
+ */
97
+ private askPermission;
49
98
  private startTyping;
50
99
  stop(): void;
51
100
  /** Supervisor: restart the poll loop on failure with capped backoff + jitter. */
@@ -1 +1 @@
1
- {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAA2B,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,0BAA0B;IAC1B,cAAc,CAAC,EAAE,OAAO,UAAU,CAAC;CACpC;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAKrF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAWvE;AAED,qBAAa,WAAW;IAYpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,gBAAgB;IAdnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,OAAO,CAAS;gBAGL,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,aAAa,EAC7B,MAAM,EAAE,gBAAgB,EACjC,OAAO,EAAE,kBAAkB;IAS7B;;;OAGG;IACG,QAAQ,CAAC,QAAQ,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAsB9C,8EAA8E;IAC9E,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,SAAS;IAajB,6DAA6D;IACvD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,4EAA4E;IAC5E,OAAO,CAAC,UAAU;YAoBJ,UAAU;IAWxB,OAAO,CAAC,2BAA2B;IAQnC,8EAA8E;YAChE,mBAAmB;IAuB3B,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2HpD,OAAO,CAAC,WAAW;IAuBnB,IAAI,IAAI,IAAI;IAMZ,iFAAiF;IAC3E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B3B"}
1
+ {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"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"}
package/dist/receive.js CHANGED
@@ -11,14 +11,60 @@
11
11
  * - Debounce: rapid messages in one conversation coalesce for ~800 ms into a
12
12
  * single engine turn.
13
13
  * - Supervisor: poll/turn failures restart with exponential backoff + jitter.
14
+ * - Cursor faults: Relay rejects a cursor it never delivered (422) and one
15
+ * that fell behind the seven-day event retention (410 cursor_expired).
16
+ * Neither is retryable on the same cursor, so both reconcile from
17
+ * conversation history first and then resume or stop, never re-poll blind.
14
18
  */
15
19
  import { createHash } from "node:crypto";
20
+ import { RelayApiError } from "./api.js";
16
21
  export function turnIdempotencyKey(conversationId, eventIds) {
17
22
  const digest = createHash("sha256")
18
23
  .update(JSON.stringify([conversationId, eventIds]))
19
24
  .digest("hex");
20
25
  return `relay-turn-${digest.slice(0, 40)}`;
21
26
  }
27
+ /**
28
+ * Group events carry `data.invocation_id`; direct events do not. Its presence
29
+ * is how the bridge tells the two apart, and the id is required on every
30
+ * outbound call for that turn.
31
+ */
32
+ export function invocationIdForEvent(event) {
33
+ const value = event?.data?.invocation_id;
34
+ return typeof value === "string" && value.length > 0 ? value : undefined;
35
+ }
36
+ /**
37
+ * The batch a single turn may consume. Direct conversations coalesce a burst
38
+ * into one turn as before. A group invocation is single-use server-side (one
39
+ * message completes it), so a group turn is capped at the oldest invocation
40
+ * and later invocations stay queued for their own turns and their own replies.
41
+ */
42
+ export function batchForTurn(queue) {
43
+ const invocationId = invocationIdForEvent(queue[0]);
44
+ if (!invocationId)
45
+ return [...queue];
46
+ return queue.filter((event) => invocationIdForEvent(event) === invocationId);
47
+ }
48
+ /** Conversations read (and named in the recovery log line) after a cursor fault. */
49
+ const CURSOR_RECOVERY_CONVERSATIONS = 25;
50
+ /**
51
+ * Relay's undelivered-cursor fault names its own recovery target in
52
+ * `error.details`: `highest_delivered_cursor` for a cursor the ledger never
53
+ * handed out, `latest_sequence` for one past the agent's newest event. A
54
+ * recovery only ever lowers the cursor. Raising it would acknowledge, and let
55
+ * the retention sweep delete, events this bridge has never read.
56
+ */
57
+ export function undeliveredCursorTarget(error, cursor) {
58
+ if (error.status !== 422)
59
+ return undefined;
60
+ for (const key of ["highest_delivered_cursor", "latest_sequence"]) {
61
+ const value = error.details?.[key];
62
+ if (typeof value === "number" && Number.isSafeInteger(value) && value >= 0 && value < cursor) {
63
+ return value;
64
+ }
65
+ }
66
+ return undefined;
67
+ }
22
68
  export function promptTextFromMessages(messages) {
23
69
  const chunks = [];
24
70
  for (const message of messages) {
@@ -83,6 +129,103 @@ export class ReceiveLoop {
83
129
  this.scheduleFlush(conversationId);
84
130
  return accepted;
85
131
  }
132
+ /**
133
+ * Read the canonical record after a cursor fault. Conversation history is
134
+ * Relay's documented recovery path: the event log can no longer say what
135
+ * moved, so the bridge names the head of every conversation it can still
136
+ * see. Nothing is replayed into the engine and nothing is invented for the
137
+ * events Relay deleted.
138
+ */
139
+ async reconcileHistory() {
140
+ const conversationIds = new Set(Object.keys(this.state.current.pending_events));
141
+ const owner = this.state.current.owner_conversation_id;
142
+ if (owner)
143
+ conversationIds.add(owner);
144
+ try {
145
+ const listed = await this.client.listConversations(CURSOR_RECOVERY_CONVERSATIONS);
146
+ for (const conversation of listed.conversations ?? []) {
147
+ if (conversation?.id)
148
+ conversationIds.add(conversation.id);
149
+ }
150
+ }
151
+ catch (error) {
152
+ this.log(`conversation listing failed during cursor recovery: ${error}`);
153
+ }
154
+ const heads = [];
155
+ const readable = [...conversationIds].slice(0, CURSOR_RECOVERY_CONVERSATIONS);
156
+ for (const conversationId of readable) {
157
+ try {
158
+ const { messages } = await this.client.listMessages(conversationId, 1);
159
+ const newest = messages?.[0];
160
+ heads.push(newest
161
+ ? `${conversationId} head ${newest.id} seq ${newest.sequence}` +
162
+ `${newest.created_at ? ` at ${newest.created_at}` : ""}`
163
+ : `${conversationId} empty`);
164
+ }
165
+ catch (error) {
166
+ heads.push(`${conversationId} unreadable (${error instanceof Error ? error.message : error})`);
167
+ }
168
+ }
169
+ if (conversationIds.size > readable.length) {
170
+ heads.push(`${conversationIds.size - readable.length} further conversations not read`);
171
+ }
172
+ return heads.length > 0 ? heads.join("; ") : "no conversations were visible to reconcile";
173
+ }
174
+ /**
175
+ * Apply Relay's cursor-fault contract. Both faults are permanent for the
176
+ * cursor that produced them, so neither may fall through to the generic
177
+ * retry: an undelivered cursor resumes from the ledger position Relay
178
+ * reports. For an expired cursor, the bridge first reads canonical history,
179
+ * then explicitly confirms that reconciliation so Relay can advance only
180
+ * across the proven retention gap.
181
+ */
182
+ async recoverFromCursorFault(error) {
183
+ const cursor = this.state.current.cursor;
184
+ const target = undeliveredCursorTarget(error, cursor);
185
+ if (target !== undefined) {
186
+ const history = await this.reconcileHistory();
187
+ this.state.current.cursor = target;
188
+ this.state.persist();
189
+ this.log(`poll cursor ${cursor} was never delivered by Relay (422 ${error.code ?? "invalid_request"}); ` +
190
+ `reconciled conversation history and resumed from Relay's highest delivered cursor ${target}. ` +
191
+ `Events after ${target} are redelivered and deduplicated by event_id, so nothing is skipped. ` +
192
+ `History head: ${history}`);
193
+ return "resumed";
194
+ }
195
+ if (error.status === 410 && error.code === "cursor_expired") {
196
+ const history = await this.reconcileHistory();
197
+ const highestDelivered = error.details?.highest_delivered_cursor;
198
+ const advertisedResume = error.details?.resume_cursor;
199
+ const reconciliationRequired = error.details?.reconciliation_required;
200
+ if (reconciliationRequired === true
201
+ && typeof highestDelivered === "number"
202
+ && Number.isSafeInteger(highestDelivered)
203
+ && highestDelivered >= 0
204
+ && highestDelivered <= cursor) {
205
+ const reconciled = await this.client.reconcileEvents(highestDelivered);
206
+ if (reconciled.reconciled !== true
207
+ || !Number.isSafeInteger(reconciled.resume_cursor)
208
+ || reconciled.resume_cursor < 0
209
+ || (typeof advertisedResume === "number"
210
+ && reconciled.resume_cursor !== advertisedResume)) {
211
+ throw new Error(`Relay returned an invalid cursor reconciliation response for expired cursor ${cursor}`);
212
+ }
213
+ this.state.current.cursor = reconciled.resume_cursor;
214
+ this.state.persist();
215
+ this.log(`Relay expired poll cursor ${cursor} (410 cursor_expired); reconciled canonical conversation ` +
216
+ `history, confirmed the retention gap, and resumed from ${reconciled.resume_cursor}. ` +
217
+ `Deleted events cannot be replayed, but polling is live again. History head: ${history}`);
218
+ return "resumed";
219
+ }
220
+ this.log(`fatal: Relay expired this bridge's poll cursor ${cursor} (410 cursor_expired). Relay keeps the event ` +
221
+ `log for seven days, so events recorded after that cursor were deleted before this bridge read them. ` +
222
+ `They cannot be replayed, and any message they carried stays unanswered and is unrecoverable from the ` +
223
+ `event log; conversation history below is the only record of it. History head: ${history}. Polling ` +
224
+ `stops because this server did not advertise the explicit reconciliation contract.`);
225
+ return "terminal";
226
+ }
227
+ return "unhandled";
228
+ }
86
229
  /** Returns the conversation id when the event was enqueued for the engine. */
87
230
  routeEvent(event) {
88
231
  if (event.event_type !== "message.received")
@@ -96,8 +239,12 @@ export class ReceiveLoop {
96
239
  this.log(`ignoring message from non-owner sender ${message.sender.id}`);
97
240
  return undefined;
98
241
  }
99
- // First owner message pins the default notify/MCP conversation.
100
- this.state.current.owner_conversation_id ??= message.conversation_id;
242
+ // First owner message pins the default notify/MCP conversation. A group
243
+ // is never that conversation: sends there need an invocation this agent
244
+ // does not have, and approvals must reach the owner alone.
245
+ if (!invocationIdForEvent(event)) {
246
+ this.state.current.owner_conversation_id ??= message.conversation_id;
247
+ }
101
248
  if (this.broker.consumeReply(message))
102
249
  return undefined;
103
250
  const queue = (this.state.current.pending_events[message.conversation_id] ??= []);
@@ -154,9 +301,13 @@ export class ReceiveLoop {
154
301
  delete (this.state.current.pending_replies ??= {})[turnKey];
155
302
  this.state.persist();
156
303
  }
157
- async postNotice(conversationId, text, key) {
304
+ async postNotice(conversationId, text, key, invocationId) {
158
305
  try {
159
- await this.client.postMessage({ conversation_id: conversationId, parts: [{ type: "text", text }] }, key);
306
+ await this.client.postMessage({
307
+ conversation_id: conversationId,
308
+ parts: [{ type: "text", text }],
309
+ ...(invocationId ? { invocation_id: invocationId } : {}),
310
+ }, key);
160
311
  }
161
312
  catch (error) {
162
313
  this.log(`notice post failed for ${conversationId}: ${error}`);
@@ -170,7 +321,11 @@ export class ReceiveLoop {
170
321
  let lastError;
171
322
  for (let attempt = 0; attempt < 3; attempt += 1) {
172
323
  try {
173
- await this.client.postMessage({ conversation_id: reply.conversation_id, parts: [{ type: "text", text: reply.text }] }, turnKey);
324
+ await this.client.postMessage({
325
+ conversation_id: reply.conversation_id,
326
+ parts: [{ type: "text", text: reply.text }],
327
+ ...(reply.invocation_id ? { invocation_id: reply.invocation_id } : {}),
328
+ }, turnKey);
174
329
  return true;
175
330
  }
176
331
  catch (error) {
@@ -211,17 +366,19 @@ export class ReceiveLoop {
211
366
  prefix.some((event, index) => event.event_id !== attempted.event_ids[index])) {
212
367
  throw new Error(`attempt ledger mismatch for ${conversationId}; refusing to execute queued events`);
213
368
  }
214
- this.log(`turn ${attempted.turn_key} was interrupted dropping its ${prefix.length}-event prefix, not re-executing`);
369
+ this.log(`turn ${attempted.turn_key} was interrupted; dropping its ${prefix.length}-event prefix, not re-executing`);
370
+ const interruptedInvocation = invocationIdForEvent(prefix[prefix.length - 1]);
215
371
  this.clearBatch(conversationId, prefix, attempted.turn_key);
216
372
  await this.postNotice(conversationId, "The bridge restarted while working on your last message, so it was not retried " +
217
- "automatically (its tools may have partially run). Send it again to retry.", `${attempted.turn_key}-crashed`);
373
+ "automatically (its tools may have partially run). Send it again to retry.", `${attempted.turn_key}-crashed`, interruptedInvocation);
218
374
  return;
219
375
  }
220
376
  // Snapshot: routeEvent keeps appending to the live queue while the turn
221
377
  // runs, and the post-turn filter must only remove what THIS turn consumed.
222
- const events = [...(this.state.current.pending_events[conversationId] ?? [])];
378
+ const events = batchForTurn(this.state.current.pending_events[conversationId] ?? []);
223
379
  if (events.length === 0)
224
380
  return;
381
+ const invocationId = invocationIdForEvent(events[events.length - 1]);
225
382
  const messages = events
226
383
  .map((event) => event.data?.message)
227
384
  .filter((message) => message !== undefined);
@@ -243,13 +400,13 @@ export class ReceiveLoop {
243
400
  started_at: new Date().toISOString(),
244
401
  };
245
402
  this.state.persist();
246
- const typing = this.startTyping(conversationId);
403
+ const typing = this.startTyping(conversationId, invocationId);
247
404
  try {
248
405
  let result;
249
406
  try {
250
407
  result = await this.engine.startTurn({ conversationId, cwd: this.cwd }, promptText, {
251
408
  onToolEvent: (event) => typing.setLabel(event.title ?? "Working…"),
252
- onPermissionAsk: (ask) => this.broker.ask(conversationId, ask, this.engine.engine),
409
+ onPermissionAsk: (ask) => this.askPermission(conversationId, invocationId, ask),
253
410
  });
254
411
  }
255
412
  catch (error) {
@@ -259,7 +416,7 @@ export class ReceiveLoop {
259
416
  this.log(`engine turn failed for ${conversationId}: ${error}`);
260
417
  this.clearBatch(conversationId, events, turnKey);
261
418
  await this.postNotice(conversationId, `The ${this.engine.engine} turn failed: ${String(error instanceof Error ? error.message : error).slice(0, 300)}\n` +
262
- "Send your message again to retry.", `${turnKey}-failed`);
419
+ "Send your message again to retry.", `${turnKey}-failed`, invocationId);
263
420
  return;
264
421
  }
265
422
  const text = result.text.trim().length > 0
@@ -272,9 +429,14 @@ export class ReceiveLoop {
272
429
  event_ids: events.map((event) => event.event_id),
273
430
  text,
274
431
  created_at: new Date().toISOString(),
432
+ ...(invocationId ? { invocation_id: invocationId } : {}),
275
433
  };
276
434
  (this.state.current.pending_replies ??= {})[turnKey] = pendingReply;
277
435
  this.state.persist();
436
+ // Clearing typing needs the invocation still pending, and the reply is
437
+ // what completes it, so stop before delivering rather than in `finally`.
438
+ if (invocationId)
439
+ await typing.stop();
278
440
  if (await this.deliverPendingReply(turnKey, pendingReply)) {
279
441
  this.clearBatch(conversationId, events, turnKey);
280
442
  }
@@ -288,13 +450,31 @@ export class ReceiveLoop {
288
450
  await typing.stop();
289
451
  }
290
452
  }
291
- startTyping(conversationId) {
453
+ /**
454
+ * Route an approval card. A group invocation is spent by the single reply it
455
+ * owes, so a card posted into the group would consume it and leave the turn
456
+ * unable to answer. Group approvals therefore go to the owner's direct
457
+ * conversation with this agent, and deny when there is no such conversation
458
+ * to ask in.
459
+ */
460
+ async askPermission(conversationId, invocationId, ask) {
461
+ if (!invocationId)
462
+ return this.broker.ask(conversationId, ask, this.engine.engine);
463
+ const direct = this.state.current.owner_conversation_id;
464
+ if (!direct || direct === conversationId) {
465
+ this.log(`group approval for ${ask.toolName ?? "a tool"} denied: no direct conversation with the owner to ask in`);
466
+ return this.broker.denyUnaskable(ask);
467
+ }
468
+ this.log(`group approval routed to the owner's direct conversation ${direct}`);
469
+ return this.broker.ask(direct, ask, this.engine.engine);
470
+ }
471
+ startTyping(conversationId, invocationId) {
292
472
  let label;
293
473
  let active = true;
294
474
  const push = () => {
295
475
  if (!active)
296
476
  return;
297
- this.client.setTyping(conversationId, true, label).catch(() => { });
477
+ this.client.setTyping(conversationId, true, label, invocationId).catch(() => { });
298
478
  };
299
479
  push();
300
480
  const interval = setInterval(push, 20_000);
@@ -305,9 +485,11 @@ export class ReceiveLoop {
305
485
  push();
306
486
  },
307
487
  stop: async () => {
488
+ if (!active)
489
+ return;
308
490
  active = false;
309
491
  clearInterval(interval);
310
- await this.client.setTyping(conversationId, false).catch(() => { });
492
+ await this.client.setTyping(conversationId, false, undefined, invocationId).catch(() => { });
311
493
  },
312
494
  };
313
495
  }
@@ -332,13 +514,22 @@ export class ReceiveLoop {
332
514
  failures = 0;
333
515
  }
334
516
  catch (error) {
517
+ if (error instanceof RelayApiError && (error.status === 410 || error.status === 422)) {
518
+ const outcome = await this.recoverFromCursorFault(error);
519
+ if (outcome === "resumed") {
520
+ failures = 0;
521
+ continue;
522
+ }
523
+ if (outcome === "terminal")
524
+ throw error;
525
+ }
335
526
  if (error?.status === 409) {
336
527
  // Another consumer (webhook or second long-poll) owns this token.
337
528
  this.log(`fatal: ${error.message}`);
338
529
  throw error;
339
530
  }
340
531
  if (error?.status === 401) {
341
- this.log("fatal: agent token rejected (401) run `relaymessenger pair` again.");
532
+ this.log("fatal: agent token rejected (401); run `relaymessenger pair` again.");
342
533
  throw error;
343
534
  }
344
535
  failures += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"receive.js","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receive.js","sourceRoot":"","sources":["../src/receive.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -80,6 +80,46 @@ export interface RelayEvent {
80
80
  [key: string]: unknown;
81
81
  };
82
82
  }
83
+ /**
84
+ * Inline mention of a conversation participant. Offsets are UTF-16 code
85
+ * units into the part's `text`, which holds the inserted display name with
86
+ * no "@". Ranges are sorted by `start` and never overlap.
87
+ */
88
+ export interface RelayMentionRange {
89
+ start: number;
90
+ length: number;
91
+ participant_id: string;
92
+ }
93
+ export type RelayTextStyle = "bold" | "italic" | "underline" | "strikethrough" | "monospace" | "spoiler";
94
+ /**
95
+ * One formatting run over a text part, offsets in UTF-16 code units like
96
+ * mentions. An EMPTY `styles` array on the part is meaningful: it marks
97
+ * structured plain text as opposed to a legacy Markdown body.
98
+ */
99
+ export interface RelayStyleRange {
100
+ start: number;
101
+ length: number;
102
+ styles: RelayTextStyle[];
103
+ }
104
+ /** Stored canonical part as delivered in events and history. */
105
+ export interface RelayPart {
106
+ type: string;
107
+ part_index?: number;
108
+ text?: string;
109
+ /** Text parts only. */
110
+ mentions?: RelayMentionRange[];
111
+ styles?: RelayStyleRange[];
112
+ url?: string;
113
+ attachment_id?: string;
114
+ duration_ms?: number;
115
+ /** Media parts only: pixel dimensions (always paired) and a blurhash
116
+ * placeholder (base83) to draw before the bytes download. */
117
+ width?: number;
118
+ height?: number;
119
+ blur_hash?: string;
120
+ data?: unknown;
121
+ [key: string]: unknown;
122
+ }
83
123
  export interface RelayMessage {
84
124
  id: string;
85
125
  conversation_id: string;
@@ -88,15 +128,10 @@ export interface RelayMessage {
88
128
  kind: "user" | "agent";
89
129
  id: string;
90
130
  };
91
- parts: Array<{
92
- type: string;
93
- text?: string;
94
- [key: string]: unknown;
95
- }>;
131
+ parts: RelayPart[];
96
132
  fallback_text: string;
97
133
  reply_to?: {
98
134
  message_id?: string;
99
- part_index?: number;
100
135
  } | null;
101
136
  created_at?: string;
102
137
  }
@@ -126,6 +161,12 @@ export interface BridgeState {
126
161
  event_ids: string[];
127
162
  text: string;
128
163
  created_at: string;
164
+ /**
165
+ * Group turns only: the invocation this reply answers. Persisted with the
166
+ * text because delivery may happen in a later process, after the queued
167
+ * events that carried it are gone.
168
+ */
169
+ invocation_id?: string;
129
170
  }>;
130
171
  /**
131
172
  * The owner's conversation with this agent, persisted by the loop when the