@perkos/perkos-a2a 0.12.66 → 0.12.67

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 (48) hide show
  1. package/dist/bridge-agent.js +49 -1
  2. package/dist/bridge-agent.js.map +1 -1
  3. package/dist/bridge-chat-reply.d.ts +4 -1
  4. package/dist/bridge-chat-reply.d.ts.map +1 -1
  5. package/dist/bridge-chat-reply.js +22 -13
  6. package/dist/bridge-chat-reply.js.map +1 -1
  7. package/dist/chat-client.d.ts +11 -4
  8. package/dist/chat-client.d.ts.map +1 -1
  9. package/dist/chat-client.js +57 -13
  10. package/dist/chat-client.js.map +1 -1
  11. package/dist/chat-outbox.d.ts +26 -0
  12. package/dist/chat-outbox.d.ts.map +1 -0
  13. package/dist/chat-outbox.js +73 -0
  14. package/dist/chat-outbox.js.map +1 -0
  15. package/dist/chat-runtime-http.d.ts +9 -0
  16. package/dist/chat-runtime-http.d.ts.map +1 -0
  17. package/dist/chat-runtime-http.js +86 -0
  18. package/dist/chat-runtime-http.js.map +1 -0
  19. package/dist/chat-store.d.ts.map +1 -1
  20. package/dist/chat-store.js +10 -2
  21. package/dist/chat-store.js.map +1 -1
  22. package/dist/chat-turns.d.ts +44 -0
  23. package/dist/chat-turns.d.ts.map +1 -0
  24. package/dist/chat-turns.js +146 -0
  25. package/dist/chat-turns.js.map +1 -0
  26. package/dist/chat-types.d.ts +4 -0
  27. package/dist/chat-types.d.ts.map +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +634 -123
  30. package/dist/index.js.map +4 -4
  31. package/dist/openclaw-supervisor-client.d.ts +8 -0
  32. package/dist/openclaw-supervisor-client.d.ts.map +1 -1
  33. package/dist/openclaw-supervisor-client.js +3 -0
  34. package/dist/openclaw-supervisor-client.js.map +1 -1
  35. package/dist/openclaw-supervisor.d.ts.map +1 -1
  36. package/dist/openclaw-supervisor.js +9 -0
  37. package/dist/openclaw-supervisor.js.map +1 -1
  38. package/dist/private-chat-records.d.ts +12 -0
  39. package/dist/private-chat-records.d.ts.map +1 -0
  40. package/dist/private-chat-records.js +71 -0
  41. package/dist/private-chat-records.js.map +1 -0
  42. package/dist/supervisor-protocol.d.ts +1 -1
  43. package/dist/supervisor-protocol.d.ts.map +1 -1
  44. package/docs/chat-durable-delivery.md +55 -0
  45. package/docs/nexus-communications-server.md +1 -1
  46. package/docs/plans/2026-09-06-durable-chat-design.md +32 -0
  47. package/openclaw.plugin.json +1 -1
  48. package/package.json +1 -1
@@ -15,13 +15,15 @@ import { randomBytes, randomUUID } from "crypto";
15
15
  import { createServer as createHttpServer } from "node:http";
16
16
  import { A2AServer } from "./server.js";
17
17
  import { ChatClient } from "./chat-client.js";
18
+ import { ChatStore } from "./chat-store.js";
19
+ import { ChatTurns } from "./chat-turns.js";
18
20
  import { ConvRegistry } from "./conv-registry.js";
19
21
  import { startGatewayHealthReporter } from "./gateway-health.js";
20
22
  import { startPlatformHeartbeat } from "./platform-heartbeat.js";
21
23
  import { probeRuntimeStatus } from "./runtime-health.js";
22
24
  import { startToolsTokenListener } from "./tools-token-listener.js";
23
25
  import { startBoardMcpServer } from "./mcp-server.js";
24
- import { autoReplyEnabled, buildPrivateChatPrompt, deliverToHermes, usesHttpDelivery, extractAssistantText, handleChatDeliver, parseWalletFromIdentity, } from "./bridge-chat-reply.js";
26
+ import { autoReplyEnabled, buildPrivateChatPrompt, deliverToHermes, usesHttpDelivery, extractAssistantText, handleChatDeliver, parseWalletFromIdentity, chatSessionKey, withRecentStandaloneChatContext, } from "./bridge-chat-reply.js";
25
27
  import { tryHandleAgenticTask } from "./agentic-actions.js";
26
28
  import { completeTaskWithReply } from "./runtime-reply.js";
27
29
  import { projectChatContext } from "./project-chat-context.js";
@@ -463,12 +465,56 @@ async function main() {
463
465
  // -------------------------------------------------------------------------
464
466
  const chatCfg = config.chat;
465
467
  if (chatCfg?.enabled && chatCfg.apiKey) {
468
+ const store = new ChatStore({ storeRoot: chatCfg.storeRoot });
469
+ const turns = new ChatTurns({
470
+ root: store.root,
471
+ owner: config.agentName,
472
+ error: (code) => logger.error(`[perkos-chat] ${code}`),
473
+ progress: (frame, phase) => {
474
+ const wallet = parseWalletFromIdentity(frame.from);
475
+ if (wallet)
476
+ chat?.sendProgress(frame.convId, wallet, frame.id, phase);
477
+ },
478
+ reply: async (turn, id) => {
479
+ const wallet = parseWalletFromIdentity(turn.frame.from);
480
+ if (!wallet || !chat)
481
+ throw new Error("CHAT_REPLY_PUBLISHER_UNAVAILABLE");
482
+ return chat.sendReply({ id, convId: turn.frame.convId, walletAddress: wallet,
483
+ text: turn.text, replyTo: turn.frame.id, timestamp: turn.completedAt });
484
+ },
485
+ execute: async (frame, checkpoint) => {
486
+ const wallet = parseWalletFromIdentity(frame.from);
487
+ if (!wallet)
488
+ return null;
489
+ convRegistry.touch(frame.convId, wallet, "user");
490
+ // Resume known runtime jobs without replaying maintenance/Voice actions.
491
+ if (!checkpoint.runId) {
492
+ const maintenance = await tryHandleA2AMaintenanceMarker(frame.text, config, { bridgeInstanceId });
493
+ if (maintenance)
494
+ return maintenance;
495
+ const voice = await tryHandleInstalledVoiceMarker(frame.text, config);
496
+ if (voice)
497
+ return voice;
498
+ }
499
+ const project = await fetchProjectContext({ config, frame, logger });
500
+ const context = project ? formatProjectContext(project) : frame.projectId ? projectContextUnavailable() : [];
501
+ const recent = await store.readPage(frame.convId, { limit: 13 });
502
+ const prompt = withRecentStandaloneChatContext(buildPrivateChatPrompt(frame, context), recent.messages, frame.id);
503
+ const result = await deliverToHermes(config, prompt, true, chatSessionKey(frame.convId), checkpoint);
504
+ const text = extractAssistantText(result);
505
+ if (!text)
506
+ throw new Error("CHAT_RUNTIME_EMPTY_FINAL");
507
+ return text;
508
+ },
509
+ });
466
510
  chat = new ChatClient({
467
511
  agentName: config.agentName,
468
512
  config: chatCfg,
469
513
  handlers: {
470
514
  logger,
471
515
  onChatDeliver: async (frame) => {
516
+ if (autoReplyEnabled())
517
+ return turns.submit(frame);
472
518
  const maintenanceReply = await tryHandleA2AMaintenanceMarker(frame.text, config, { bridgeInstanceId });
473
519
  if (maintenanceReply) {
474
520
  const wallet = parseWalletFromIdentity(frame.from);
@@ -511,6 +557,8 @@ async function main() {
511
557
  },
512
558
  });
513
559
  chat.start();
560
+ if (autoReplyEnabled())
561
+ void turns.start().catch(() => logger.error("[perkos-chat] CHAT_TURN_RECOVERY_FAILED"));
514
562
  void flushMaintenanceReceipts(config);
515
563
  stopChatListener = startChatReplyListener(chat, chatReplyPort(), logger);
516
564
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-agent.js","sourceRoot":"","sources":["../src/bridge-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-agent.js","sourceRoot":"","sources":["../src/bridge-agent.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  * would otherwise try to start servers).
8
8
  */
9
9
  import type { A2APluginConfig } from "./types.js";
10
+ import type { ChatTurnCheckpoint } from "./chat-turns.js";
10
11
  import type { ChatDeliverFrame, ChatMessage, ChatMessageInboundFrame } from "./chat-types.js";
11
12
  /**
12
13
  * POST a message to the Hermes API server.
@@ -57,7 +58,7 @@ export declare function personaInstructions(): string;
57
58
  * — after provisioning, booting and connecting successfully.
58
59
  */
59
60
  export declare function usesHttpDelivery(runtimeKind: string): boolean;
60
- export declare function deliverToHermes(config: A2APluginConfig, message: string, wantResponse?: boolean, sessionKeyOverride?: string): Promise<unknown>;
61
+ export declare function deliverToHermes(config: A2APluginConfig, message: string, wantResponse?: boolean, sessionKeyOverride?: string, chatCheckpoint?: ChatTurnCheckpoint): Promise<unknown>;
61
62
  /** Keep each project/DM conversation out of the runtime's global A2A session. */
62
63
  export declare function chatSessionKey(convId: string): string;
63
64
  /** Whether the standalone bridge should auto-deliver Hermes replies back through chat. */
@@ -106,6 +107,8 @@ export interface ChatReplySender {
106
107
  walletAddress: string;
107
108
  text: string;
108
109
  replyTo?: string | null;
110
+ id?: string;
111
+ timestamp?: string;
109
112
  }) => Promise<{
110
113
  id: string;
111
114
  delivered: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-chat-reply.d.ts","sourceRoot":"","sources":["../src/bridge-chat-reply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-chat-reply.d.ts","sourceRoot":"","sources":["../src/bridge-chat-reply.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * importing `bridge-agent.ts` (whose top-level `main()` invocation
7
7
  * would otherwise try to start servers).
8
8
  */
9
+ import { runChatRuntime } from "./chat-runtime-http.js";
9
10
  const CHAT_CONTEXT_MESSAGE_LIMIT = 12;
10
11
  const CHAT_CONTEXT_CHAR_LIMIT = 6_000;
11
12
  /**
@@ -77,7 +78,7 @@ export function usesHttpDelivery(runtimeKind) {
77
78
  runtimeKind === "zeroclaw" ||
78
79
  runtimeKind === "custom");
79
80
  }
80
- export async function deliverToHermes(config, message, wantResponse = false, sessionKeyOverride) {
81
+ export async function deliverToHermes(config, message, wantResponse = false, sessionKeyOverride, chatCheckpoint) {
81
82
  const runtime = config.runtime || {};
82
83
  const baseUrl = (runtime.hermesUrl || process.env.HERMES_API_URL || process.env.HERMES_WORKSPACE_URL || "http://127.0.0.1:8642").replace(/\/+$/, "");
83
84
  const endpoint = runtime.hermesEndpoint || process.env.HERMES_API_ENDPOINT || process.env.HERMES_WORKSPACE_ENDPOINT || "/v1/responses";
@@ -121,6 +122,10 @@ export async function deliverToHermes(config, message, wantResponse = false, ses
121
122
  : normalizedEndpoint.startsWith("/v1/responses")
122
123
  ? { ...(model ? { model } : {}), input: message, store: true, ...(persona ? { instructions: persona } : {}) }
123
124
  : { sessionKey, message };
125
+ // Chat has its own durable owner. Delivery/waiter timeouts must not cancel
126
+ // a tool turn; task dispatch retains the existing bounded behavior below.
127
+ if (chatCheckpoint)
128
+ return runChatRuntime(url, headers, JSON.stringify(body), chatCheckpoint);
124
129
  // Keep runtime delivery below the relay's terminal-correlation window. A
125
130
  // hung gateway must become a terminal failed task that the dispatcher can
126
131
  // retry, not an indefinitely "working" card.
@@ -132,17 +137,12 @@ export async function deliverToHermes(config, message, wantResponse = false, ses
132
137
  signal: AbortSignal.timeout(timeoutMs),
133
138
  });
134
139
  if (!response.ok) {
135
- const text = await response.text().catch(() => "");
136
- throw new Error(`Hermes API delivery failed (${response.status}) at ${url}: ${text || response.statusText}`);
140
+ await response.body?.cancel();
141
+ throw new Error(`Hermes API delivery failed (${response.status})`);
137
142
  }
138
143
  if (!wantResponse)
139
144
  return undefined;
140
- try {
141
- return await response.json();
142
- }
143
- catch {
144
- return undefined;
145
- }
145
+ return await response.json();
146
146
  }
147
147
  /** Keep each project/DM conversation out of the runtime's global A2A session. */
148
148
  export function chatSessionKey(convId) {
@@ -171,21 +171,30 @@ export function extractAssistantText(resp) {
171
171
  // /v1/responses shape
172
172
  const output = r.output;
173
173
  if (Array.isArray(output)) {
174
- for (const item of output) {
174
+ for (const item of [...output].reverse()) {
175
175
  if (!item || typeof item !== "object")
176
176
  continue;
177
+ if (item.role && item.role !== "assistant")
178
+ continue;
179
+ if (item.type && item.type !== "message")
180
+ continue;
181
+ if (item.status && item.status !== "completed")
182
+ continue;
177
183
  const content = item.content;
178
184
  if (!Array.isArray(content))
179
185
  continue;
186
+ const text = [];
180
187
  for (const part of content) {
181
188
  if (!part || typeof part !== "object")
182
189
  continue;
183
190
  const p = part;
184
191
  // `type: "output_text"` is the OpenAI Responses convention; accept
185
192
  // any part with a string `text` to stay forgiving.
186
- if (typeof p.text === "string" && p.text.trim())
187
- return p.text;
193
+ if ((!p.type || p.type === "output_text" || p.type === "text") && typeof p.text === "string" && p.text.trim())
194
+ text.push(p.text);
188
195
  }
196
+ if (text.length)
197
+ return text.join("\n");
189
198
  }
190
199
  }
191
200
  // ZeroClaw /webhook shape: { model, response }. Checked before `choices`
@@ -320,7 +329,7 @@ export async function handleChatDeliver(opts) {
320
329
  return;
321
330
  }
322
331
  try {
323
- await chat.sendReply({ convId: frame.convId, walletAddress: wallet, text });
332
+ await chat.sendReply({ convId: frame.convId, walletAddress: wallet, text, replyTo: frame.id });
324
333
  }
325
334
  catch (err) {
326
335
  logger.error(`[perkos-chat] sendReply failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-chat-reply.js","sourceRoot":"","sources":["../src/bridge-chat-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC;;;;;;;;;;;;;GAaG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,QAAgB,EAAE,OAAgB;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAChE,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAGD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,CACL,WAAW,KAAK,QAAQ;QACxB,WAAW,KAAK,YAAY;QAC5B,WAAW,KAAK,UAAU;QAC1B,WAAW,KAAK,QAAQ,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,OAAe,EACf,YAAY,GAAG,KAAK,EACpB,kBAA2B;IAE3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrJ,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,eAAe,CAAC;IACvI,MAAM,UAAU,GAAG,kBAAkB,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,KAAK,CAAC;IACxI,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACxK,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,OAAO,GACV,OAAsC,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACnG,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,qBAAqB,EAAE,UAAU;QACjC,sBAAsB,EAAE,UAAU;KACnC,CAAC;IACF,IAAI,KAAK;QAAE,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;IAErD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzD,2EAA2E;IAC3E,4EAA4E;IAC5E,oFAAoF;IACpF,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,sEAAsE;IACtE,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC;QACpD,CAAC,CAAC,EAAE,OAAO,EAAE;QACb,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC;YACvD,CAAC,CAAC;gBACE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,QAAQ,EAAE;oBACR,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;iBACnC;gBACD,MAAM,EAAE,KAAK;aACd;YACH,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC;gBACzC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBAC3F,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC;oBAC9C,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;oBAC7G,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAEhC,yEAAyE;IACzE,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,IAAI,OAAO,CAClE,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KACvC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,eAAe,IAAI,IAAI,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB;IAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAClF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,CAAC,GAAG,IAA+B,CAAC;IAE1C,sBAAsB;IACtB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,OAAO,GAAI,IAAgC,CAAC,OAAO,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBAChD,MAAM,CAAC,GAAG,IAA+B,CAAC;gBAC1C,mEAAmE;gBACnE,mDAAmD;gBACnD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO,CAAC,CAAC,IAAI,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IAE3E,6BAA6B;IAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,SAAS;YACpD,MAAM,OAAO,GAAI,MAAkC,CAAC,OAAO,CAAC;YAC5D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,SAAS;YACtD,MAAM,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC;YAC7D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;gBAAE,OAAO,OAAO,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,uBAAuB,CAAC,QAAQ,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;IAClG,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;IACxG,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iCAAiC,CAC/C,QAAuB,EACvB,gBAAwB;IAExB,MAAM,KAAK,GAAG,QAAQ;SACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,gBAAgB,CAAC;SACpD,KAAK,CAAC,CAAC,0BAA0B,CAAC;SAClC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;SAChF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,UAAU,CAAC,MAAM,IAAI,uBAAuB;QACjD,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,+BAA+B,CAC7C,cAAsB,EACtB,QAAuB,EACvB,gBAAwB;IAExB,MAAM,OAAO,GAAG,iCAAiC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC9E,IAAI,CAAC,OAAO;QAAE,OAAO,cAAc,CAAC;IACpC,OAAO;QACL,iDAAiD;QACjD,OAAO;QACP,EAAE;QACF,qFAAqF;QACrF,EAAE;QACF,kBAAkB;QAClB,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,sBAAsB,CACpC,KAAiD,EACjD,iBAA2B,EAAE;IAE7B,OAAO;QACL,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC;QACnE,GAAG,cAAc;QACjB,4IAA4I;QAC5I,EAAE;QACF,KAAK,CAAC,IAAI;KACX,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AA6BD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAQvC;IACC,MAAM,EACJ,KAAK,EACL,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,MAAM,GACP,GAAG,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE7D,6DAA6D;QAC7D,wEAAwE;QACxE,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,EAAE,CACX,8CAA8C,KAAK,CAAC,IAAI,yCAAyC,CAClG,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB;YACtC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxC,MAAM,CAAC,KAAK,CACV,qDAAqD,KAAK,CAAC,MAAM,KAC/D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,cAAc,GAAG,+BAA+B,CACpD,YAAY,CAAC,KAAK,CAAC,EACnB,cAAc,EACd,KAAK,CAAC,EAAE,CACT,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,eAAe,CACtC,MAAM,EACN,cAAc,EACd,SAAS,EACT,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAC7B,CAAC;QAEF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,IAAI,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,+DAA+D,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QACD,oEAAoE;QACpE,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"bridge-chat-reply.js","sourceRoot":"","sources":["../src/bridge-chat-reply.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  * Companion server: github.com/PerkOS-xyz/PerkOS-Chat
13
13
  */
14
14
  import { ChatStore } from "./chat-store.js";
15
+ import type { ChatPhase } from "./chat-turns.js";
15
16
  import type { ChatConfig, ChatDeliverFrame, ChatMessageInboundFrame, ChannelJoinFrame } from "./chat-types.js";
16
17
  export interface ChatClientHandlers {
17
18
  /** Called when a user (or another agent) sent a message in a conv we participate in. */
@@ -34,6 +35,9 @@ export declare class ChatClient {
34
35
  private readonly handlers;
35
36
  private readonly logger;
36
37
  private readonly store;
38
+ private readonly outbox;
39
+ private outboxTimer;
40
+ private readonly progress;
37
41
  private reconnectMs;
38
42
  private reconnectTimer;
39
43
  private heartbeatTimer;
@@ -57,20 +61,23 @@ export declare class ChatClient {
57
61
  }>;
58
62
  /**
59
63
  * Send a reply from this agent into a conversation. Appends to the local
60
- * store optimistically, then sends to the server. If the WS is offline,
61
- * the local store is still updated and the message is dropped from the
62
- * wire callers should re-send after reconnect if guaranteed delivery is
63
- * required (the simple agent loop should just regenerate from history).
64
+ * outbox and canonical history before sending. Offline replies are replayed
65
+ * after authentication, with stable IDs, until acknowledged by the router.
66
+ * `delivered` only means transmission attempted, not human receipt.
64
67
  */
65
68
  sendReply(opts: {
66
69
  convId: string;
67
70
  walletAddress: string;
68
71
  text: string;
69
72
  replyTo?: string | null;
73
+ id?: string;
74
+ timestamp?: string;
70
75
  }): Promise<{
71
76
  id: string;
72
77
  delivered: boolean;
73
78
  }>;
79
+ sendProgress(convId: string, walletAddress: string, replyTo: string, phase: ChatPhase): void;
80
+ private flushOutbox;
74
81
  private connect;
75
82
  private handleFrame;
76
83
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chat-client.d.ts","sourceRoot":"","sources":["../src/chat-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,SAAS,EAA6B,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAGhB,uBAAuB,EACvB,gBAAgB,EAIjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,uBAAuB,GAAG,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,2EAA2E;IAC3E,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC;CAChF;AASD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,GAAG,uBAAuB,EACjD,SAAS,EAAE,MAAM,GAChB,OAAO,CAET;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmE;IAC1F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwE;IAC/F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAElC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,SAAS;gBAML,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,UAAU,CAAC;QACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KAC/B;IAmBD,6FAA6F;IAC7F,QAAQ,IAAI,SAAS;IAIrB,WAAW,IAAI,OAAO;IAItB,KAAK,IAAI,IAAI;IAcb,IAAI,IAAI,IAAI;IAKN,WAAW,CAAC,SAAS,SAAQ,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IAsBzE;;;;;;OAMG;IACG,SAAS,CAAC,IAAI,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IA4B/C,OAAO,CAAC,OAAO;YAoED,WAAW;IA6DzB;;;;;;OAMG;YACW,uBAAuB;YAuBvB,cAAc;YAgBd,iBAAiB;YAwBjB,uBAAuB;YAuCvB,uBAAuB;IAmBrC,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;CAWlB"}
1
+ {"version":3,"file":"chat-client.d.ts","sourceRoot":"","sources":["../src/chat-client.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  import { randomUUID } from "node:crypto";
15
15
  import WebSocket from "ws";
16
16
  import { ChatStore } from "./chat-store.js";
17
+ import { ChatOutbox } from "./chat-outbox.js";
17
18
  const DEFAULT_URL = "wss://chat.perkos.xyz/chat";
18
19
  const DEFAULT_HISTORY_LIMIT = 50;
19
20
  const DEFAULT_MIN_RECONNECT = 1_000;
@@ -30,6 +31,9 @@ export class ChatClient {
30
31
  handlers;
31
32
  logger;
32
33
  store;
34
+ outbox;
35
+ outboxTimer = null;
36
+ progress = new Map();
33
37
  reconnectMs;
34
38
  reconnectTimer = null;
35
39
  heartbeatTimer = null;
@@ -59,6 +63,7 @@ export class ChatClient {
59
63
  this.handlers = opts.handlers ?? {};
60
64
  this.logger = this.handlers.logger ?? { info: console.log, error: console.error };
61
65
  this.store = new ChatStore({ storeRoot: this.config.storeRoot });
66
+ this.outbox = new ChatOutbox(this.store, this.agentName);
62
67
  this.reconnectMs = this.config.minReconnectMs;
63
68
  }
64
69
  /** Storage handle — exposed so consumers can read history without going through the wire. */
@@ -121,21 +126,19 @@ export class ChatClient {
121
126
  }
122
127
  /**
123
128
  * Send a reply from this agent into a conversation. Appends to the local
124
- * store optimistically, then sends to the server. If the WS is offline,
125
- * the local store is still updated and the message is dropped from the
126
- * wire callers should re-send after reconnect if guaranteed delivery is
127
- * required (the simple agent loop should just regenerate from history).
129
+ * outbox and canonical history before sending. Offline replies are replayed
130
+ * after authentication, with stable IDs, until acknowledged by the router.
131
+ * `delivered` only means transmission attempted, not human receipt.
128
132
  */
129
133
  async sendReply(opts) {
130
- const id = randomUUID();
134
+ const id = opts.id ?? randomUUID();
131
135
  const msg = {
132
136
  id,
133
137
  from: `agent:${this.agentName}`,
134
138
  text: opts.text,
135
- timestamp: new Date().toISOString(),
139
+ timestamp: opts.timestamp ?? new Date().toISOString(),
136
140
  replyTo: opts.replyTo ?? null,
137
141
  };
138
- await this.store.append(opts.convId, msg);
139
142
  const frame = {
140
143
  type: "chat_reply",
141
144
  id,
@@ -143,10 +146,28 @@ export class ChatClient {
143
146
  walletAddress: opts.walletAddress,
144
147
  text: opts.text,
145
148
  replyTo: opts.replyTo ?? null,
149
+ timestamp: msg.timestamp,
146
150
  };
147
- const delivered = this.sendFrame(frame);
151
+ await this.outbox.enqueue({ frame, message: msg });
152
+ const sent = await this.outbox.flush((pending) => this.authed && this.sendFrame(pending));
153
+ const delivered = sent.has(id);
148
154
  return { id, delivered };
149
155
  }
156
+ sendProgress(convId, walletAddress, replyTo, phase) {
157
+ const key = `${convId}:${replyTo}`;
158
+ const frame = { type: "typing", convId, walletAddress, replyTo, phase,
159
+ state: phase === "completed" || phase === "uncertain" ? "stop" : "start" };
160
+ if (phase === "completed")
161
+ this.progress.delete(key);
162
+ else
163
+ this.progress.set(key, frame);
164
+ if (this.authed)
165
+ this.sendFrame(frame);
166
+ }
167
+ flushOutbox(force = false) {
168
+ void this.outbox.flush((frame) => this.authed && this.sendFrame(frame), force)
169
+ .catch(() => this.logger.error("[perkos-chat] CHAT_OUTBOX_RETRY_PENDING"));
170
+ }
150
171
  // -------------------------------------------------------------------------
151
172
  // WebSocket lifecycle
152
173
  // -------------------------------------------------------------------------
@@ -202,7 +223,7 @@ export class ChatClient {
202
223
  clearTimeout(authTimer);
203
224
  authTimer = null;
204
225
  }
205
- void this.handleFrame(frame);
226
+ void this.handleFrame(frame).catch(() => this.logger.error("[perkos-chat] CHAT_FRAME_PROCESSING_FAILED"));
206
227
  });
207
228
  this.ws.on("close", (code, reason) => {
208
229
  if (authTimer) {
@@ -231,6 +252,13 @@ export class ChatClient {
231
252
  this.setAuthed(true);
232
253
  this.logger.info(`[perkos-chat] authed as agent:${this.agentName}`);
233
254
  this.startHeartbeat();
255
+ this.flushOutbox(true);
256
+ for (const progress of this.progress.values())
257
+ this.sendFrame(progress);
258
+ if (this.outboxTimer)
259
+ clearInterval(this.outboxTimer);
260
+ this.outboxTimer = setInterval(() => this.flushOutbox(), 5_000);
261
+ this.outboxTimer.unref?.();
234
262
  return;
235
263
  case "auth_error":
236
264
  this.logger.error(`[perkos-chat] auth_error ${frame.code}: ${frame.message}`);
@@ -270,6 +298,8 @@ export class ChatClient {
270
298
  await this.handleChannelJoin(frame);
271
299
  return;
272
300
  case "ack":
301
+ await this.outbox.acknowledge(frame.convId, frame.id);
302
+ return;
273
303
  case "pong":
274
304
  case "typing":
275
305
  return;
@@ -322,8 +352,9 @@ export class ChatClient {
322
352
  try {
323
353
  await this.store.appendIdempotent(frame.convId, msg);
324
354
  }
325
- catch (err) {
326
- this.logger.error(`[perkos-chat] failed to append to store: ${errMsg(err)}`);
355
+ catch {
356
+ // Do not start tools when their inbound message cannot be persisted.
357
+ throw new Error("CHAT_INBOUND_PERSISTENCE_FAILED");
327
358
  }
328
359
  }
329
360
  async handleChannelJoin(frame) {
@@ -408,11 +439,20 @@ export class ChatClient {
408
439
  messages: page.messages,
409
440
  hasMore: page.hasMore,
410
441
  });
442
+ for (const progress of this.progress.values()) {
443
+ if (progress.convId === frame.convId)
444
+ this.sendFrame(progress);
445
+ }
411
446
  }
412
447
  sendFrame(frame) {
413
448
  if (this.ws && this.ws.readyState === WebSocket.OPEN) {
414
- this.ws.send(JSON.stringify(frame));
415
- return true;
449
+ try {
450
+ this.ws.send(JSON.stringify(frame));
451
+ return true;
452
+ }
453
+ catch {
454
+ return false;
455
+ }
416
456
  }
417
457
  return false;
418
458
  }
@@ -436,6 +476,10 @@ export class ChatClient {
436
476
  this.reconnectMs = Math.min(delay * 2, this.config.maxReconnectMs);
437
477
  }
438
478
  clearTimers() {
479
+ if (this.outboxTimer) {
480
+ clearInterval(this.outboxTimer);
481
+ this.outboxTimer = null;
482
+ }
439
483
  if (this.heartbeatTimer) {
440
484
  clearInterval(this.heartbeatTimer);
441
485
  this.heartbeatTimer = null;