clawconnect-agent 0.1.32 → 0.1.34
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/core/relay/timeline-event-builder.js +3 -1
- package/dist/core/relay/timeline-event-builder.js.map +1 -1
- package/dist/hermes/hermes-runtime.d.ts +1 -1
- package/dist/hermes/hermes-runtime.js +1 -1
- package/dist/hermes/hermes-runtime.js.map +1 -1
- package/dist/hermes/relay/hermes-state-db-realtime.d.ts +30 -1
- package/dist/hermes/relay/hermes-state-db-realtime.js +439 -72
- package/dist/hermes/relay/hermes-state-db-realtime.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-api-client.d.ts +14 -1
- package/dist/hermes/runtime/hermes-runtime-api-client.js +155 -26
- package/dist/hermes/runtime/hermes-runtime-api-client.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-chat.d.ts +1 -0
- package/dist/hermes/runtime/hermes-runtime-chat.js +1 -0
- package/dist/hermes/runtime/hermes-runtime-chat.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-command-router.js +5 -2
- package/dist/hermes/runtime/hermes-runtime-command-router.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-history-completion.d.ts +2 -0
- package/dist/hermes/runtime/hermes-runtime-history-completion.js +49 -2
- package/dist/hermes/runtime/hermes-runtime-history-completion.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-history.js +82 -9
- package/dist/hermes/runtime/hermes-runtime-history.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-process.js +14 -2
- package/dist/hermes/runtime/hermes-runtime-process.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-sessions.d.ts +5 -0
- package/dist/hermes/runtime/hermes-runtime-sessions.js +38 -6
- package/dist/hermes/runtime/hermes-runtime-sessions.js.map +1 -1
- package/dist/hermes/runtime/hermes-runtime-state-db.d.ts +14 -0
- package/dist/hermes/runtime/hermes-runtime-state-db.js +116 -0
- package/dist/hermes/runtime/hermes-runtime-state-db.js.map +1 -1
- package/dist/hermes/runtime/hermes-state-db-message-identity.d.ts +12 -0
- package/dist/hermes/runtime/hermes-state-db-message-identity.js +11 -0
- package/dist/hermes/runtime/hermes-state-db-message-identity.js.map +1 -0
- package/dist/openclaw/gateway-client.d.ts +3 -1
- package/dist/openclaw/gateway-client.js +16 -4
- package/dist/openclaw/gateway-client.js.map +1 -1
- package/dist/openclaw/relay/chat-history.d.ts +2 -1
- package/dist/openclaw/relay/chat-history.js +26 -13
- package/dist/openclaw/relay/chat-history.js.map +1 -1
- package/dist/openclaw/relay/chat-run-identity.d.ts +25 -0
- package/dist/openclaw/relay/chat-run-identity.js +81 -0
- package/dist/openclaw/relay/chat-run-identity.js.map +1 -0
- package/dist/openclaw/relay-manager.js +128 -73
- package/dist/openclaw/relay-manager.js.map +1 -1
- package/dist/openclaw/runtime/local-runtime.js +4 -1
- package/dist/openclaw/runtime/local-runtime.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw 的 provider runId 只负责关联 Gateway 事件;移动端幂等键才是跨 Relay
|
|
3
|
+
* 重连仍然有效的对外身份。该注册表位于连接实例之外,并按显式运行身份保留到进程结束,
|
|
4
|
+
* 避免长运行或迟到事件因时间窗口、容量淘汰而退化为 provider 身份。
|
|
5
|
+
*/
|
|
6
|
+
export class OpenClawChatRunIdentityRegistry {
|
|
7
|
+
identitiesByProvider = new Map();
|
|
8
|
+
providerRunsByCanonical = new Map();
|
|
9
|
+
register(identity) {
|
|
10
|
+
const gatewayId = identity.gatewayId.trim();
|
|
11
|
+
const providerRunId = identity.providerRunId.trim();
|
|
12
|
+
const canonicalRunId = identity.canonicalRunId.trim();
|
|
13
|
+
if (!gatewayId || !providerRunId || !canonicalRunId) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
this.identitiesByProvider.set(this.key(gatewayId, providerRunId), {
|
|
17
|
+
...identity,
|
|
18
|
+
gatewayId,
|
|
19
|
+
providerRunId,
|
|
20
|
+
canonicalRunId,
|
|
21
|
+
});
|
|
22
|
+
this.providerRunsByCanonical.set(this.key(gatewayId, canonicalRunId), providerRunId);
|
|
23
|
+
}
|
|
24
|
+
resolve(gatewayId, providerRunId) {
|
|
25
|
+
return this.identitiesByProvider.get(this.key(gatewayId.trim(), providerRunId.trim()));
|
|
26
|
+
}
|
|
27
|
+
resolveProviderRunId(gatewayId, canonicalRunId) {
|
|
28
|
+
return this.providerRunsByCanonical.get(this.key(gatewayId.trim(), canonicalRunId.trim()));
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this.identitiesByProvider.clear();
|
|
32
|
+
this.providerRunsByCanonical.clear();
|
|
33
|
+
}
|
|
34
|
+
key(gatewayId, providerRunId) {
|
|
35
|
+
return `${gatewayId}\u0000${providerRunId}`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export function normalizeOpenClawMobileRunId(value) {
|
|
39
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
return value.trim().replace(/:(?:user|assistant|tool|system)$/i, "") || undefined;
|
|
43
|
+
}
|
|
44
|
+
export function resolveExplicitMobileRunIdFromChatPayload(payload) {
|
|
45
|
+
if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
const record = payload;
|
|
49
|
+
const message = record.message && typeof record.message === "object" && !Array.isArray(record.message)
|
|
50
|
+
? record.message
|
|
51
|
+
: undefined;
|
|
52
|
+
return normalizeOpenClawMobileRunId(record.idempotencyKey)
|
|
53
|
+
?? normalizeOpenClawMobileRunId(record.clientRunId)
|
|
54
|
+
?? normalizeOpenClawMobileRunId(message?.idempotencyKey)
|
|
55
|
+
?? normalizeOpenClawMobileRunId(message?.clientRunId);
|
|
56
|
+
}
|
|
57
|
+
export function canonicalizeOpenClawChatSendResult(result, canonicalRunId) {
|
|
58
|
+
const record = result && typeof result === "object" && !Array.isArray(result)
|
|
59
|
+
? result
|
|
60
|
+
: {};
|
|
61
|
+
return {
|
|
62
|
+
...record,
|
|
63
|
+
runId: canonicalRunId,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export function restoreOpenClawProviderRunIdForCommand(method, params, gatewayId, registry) {
|
|
67
|
+
if (method !== "chat.abort" || !params || typeof params !== "object" || Array.isArray(params)) {
|
|
68
|
+
return params;
|
|
69
|
+
}
|
|
70
|
+
const record = params;
|
|
71
|
+
const canonicalRunId = normalizeOpenClawMobileRunId(record.runId);
|
|
72
|
+
if (!canonicalRunId) {
|
|
73
|
+
return params;
|
|
74
|
+
}
|
|
75
|
+
const providerRunId = registry.resolveProviderRunId(gatewayId, canonicalRunId);
|
|
76
|
+
return providerRunId
|
|
77
|
+
? { ...record, runId: providerRunId }
|
|
78
|
+
: params;
|
|
79
|
+
}
|
|
80
|
+
export const openClawChatRunIdentities = new OpenClawChatRunIdentityRegistry();
|
|
81
|
+
//# sourceMappingURL=chat-run-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-run-identity.js","sourceRoot":"","sources":["../../../src/openclaw/relay/chat-run-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { voiceInputSetupMessage } from "../core/relay/voice-input.js";
|
|
|
16
16
|
import { gatewayCapabilitiesForType } from "../gateway-profiles.js";
|
|
17
17
|
import { buildRelayHelloMessage } from "./relay/relay-manager-hello.js";
|
|
18
18
|
import { CHAT_HISTORY_FALLBACK_INITIAL_DELAY_MS, CHAT_HISTORY_FALLBACK_MAX_ATTEMPTS, CHAT_HISTORY_FALLBACK_RETRY_DELAY_MS, CHAT_HISTORY_FETCH_TIMEOUT_MS, CHAT_HISTORY_FINAL_RETRY_DELAY_MS, } from "./relay/relay-manager-history-timing.js";
|
|
19
|
+
import { canonicalizeOpenClawChatSendResult, normalizeOpenClawMobileRunId, openClawChatRunIdentities, resolveExplicitMobileRunIdFromChatPayload, restoreOpenClawProviderRunIdForCommand, } from "./relay/chat-run-identity.js";
|
|
19
20
|
import { publishOfficeSnapshot } from "./relay/relay-manager-office-events.js";
|
|
20
21
|
export { buildRelayHelloMessage } from "./relay/relay-manager-hello.js";
|
|
21
22
|
import { buildEmptyHistoryPage, buildFinalPayloadFromHistoryOutcome, buildLegacyOpenClawHistoryParams, extractChatErrorMessage, hasHistoryCursor, mergeCanonicalChatPayload, mobileAssistantUsageFromPayload, nonTextContentBlocks, nonTextContentBlocksFromHistory, resolveChatPayloadSeq, resolveChatPayloadTimestamp, shouldUseLegacyOpenClawHistoryFallback, } from "./relay/relay-manager-payload-helpers.js";
|
|
@@ -110,15 +111,15 @@ export async function runRelayManager(opts) {
|
|
|
110
111
|
timer.unref?.();
|
|
111
112
|
contextUsageRefreshes.set(key, timer);
|
|
112
113
|
};
|
|
113
|
-
const scheduleChatHistoryFallback = (
|
|
114
|
-
if (!
|
|
114
|
+
const scheduleChatHistoryFallback = (providerRunId, context, attempt = 0) => {
|
|
115
|
+
if (!providerRunId || !context.sessionKey) {
|
|
115
116
|
return;
|
|
116
117
|
}
|
|
117
|
-
clearChatFallback(
|
|
118
|
-
chatRunContexts.set(
|
|
118
|
+
clearChatFallback(providerRunId);
|
|
119
|
+
chatRunContexts.set(providerRunId, context);
|
|
119
120
|
const timer = setTimeout(() => {
|
|
120
121
|
if (!gatewayClient) {
|
|
121
|
-
chatFallbacks.delete(
|
|
122
|
+
chatFallbacks.delete(providerRunId);
|
|
122
123
|
return;
|
|
123
124
|
}
|
|
124
125
|
const fetchHistory = () => requestChatHistoryFromClawConnect({ sessionKey: context.sessionKey, limit: 10 });
|
|
@@ -126,19 +127,19 @@ export async function runRelayManager(opts) {
|
|
|
126
127
|
.then(async (history) => {
|
|
127
128
|
const outcome = extractHistoryOutcome(history, context);
|
|
128
129
|
if (!outcome && attempt < CHAT_HISTORY_FALLBACK_MAX_ATTEMPTS) {
|
|
129
|
-
scheduleChatHistoryFallback(
|
|
130
|
+
scheduleChatHistoryFallback(providerRunId, context, attempt + 1);
|
|
130
131
|
return;
|
|
131
132
|
}
|
|
132
133
|
if (!outcome) {
|
|
133
|
-
chatFallbacks.delete(
|
|
134
|
-
chatRunContexts.delete(
|
|
134
|
+
chatFallbacks.delete(providerRunId);
|
|
135
|
+
chatRunContexts.delete(providerRunId);
|
|
135
136
|
return;
|
|
136
137
|
}
|
|
137
|
-
clearChatFallback(
|
|
138
|
-
chatRunContexts.delete(
|
|
138
|
+
clearChatFallback(providerRunId);
|
|
139
|
+
chatRunContexts.delete(providerRunId);
|
|
139
140
|
if (outcome.kind === "final") {
|
|
140
141
|
const basePayload = buildMobileAssistantFinalPayload({
|
|
141
|
-
run: { runId, sessionKey: context.sessionKey },
|
|
142
|
+
run: { runId: context.canonicalRunId, sessionKey: context.sessionKey },
|
|
142
143
|
text: outcome.text,
|
|
143
144
|
includeTimelineEvents: true,
|
|
144
145
|
});
|
|
@@ -146,23 +147,23 @@ export async function runRelayManager(opts) {
|
|
|
146
147
|
return;
|
|
147
148
|
}
|
|
148
149
|
await publishAndSendGatewayEvent("chat", buildMobileAssistantErrorPayload({
|
|
149
|
-
run: { runId, sessionKey: context.sessionKey },
|
|
150
|
+
run: { runId: context.canonicalRunId, sessionKey: context.sessionKey },
|
|
150
151
|
errorMessage: outcome.errorMessage,
|
|
151
152
|
includeTimelineEvents: true,
|
|
152
153
|
}), true);
|
|
153
154
|
})
|
|
154
155
|
.catch((err) => {
|
|
155
156
|
if (attempt < CHAT_HISTORY_FALLBACK_MAX_ATTEMPTS) {
|
|
156
|
-
scheduleChatHistoryFallback(
|
|
157
|
+
scheduleChatHistoryFallback(providerRunId, context, attempt + 1);
|
|
157
158
|
return;
|
|
158
159
|
}
|
|
159
|
-
console.warn(`[relay] chat history fallback failed runId=${
|
|
160
|
-
chatFallbacks.delete(
|
|
161
|
-
chatRunContexts.delete(
|
|
160
|
+
console.warn(`[relay] chat history fallback failed runId=${providerRunId}: ${String(err)}`);
|
|
161
|
+
chatFallbacks.delete(providerRunId);
|
|
162
|
+
chatRunContexts.delete(providerRunId);
|
|
162
163
|
});
|
|
163
164
|
}, attempt === 0 ? CHAT_HISTORY_FALLBACK_INITIAL_DELAY_MS : CHAT_HISTORY_FALLBACK_RETRY_DELAY_MS);
|
|
164
165
|
timer.unref?.();
|
|
165
|
-
chatFallbacks.set(
|
|
166
|
+
chatFallbacks.set(providerRunId, timer);
|
|
166
167
|
};
|
|
167
168
|
const refreshSessionDefaults = async () => {
|
|
168
169
|
if (!gatewayClient) {
|
|
@@ -269,28 +270,42 @@ export async function runRelayManager(opts) {
|
|
|
269
270
|
if (event === "chat") {
|
|
270
271
|
const p = normalizedPayload;
|
|
271
272
|
const state = normalizeChatState(normalizedPayload);
|
|
272
|
-
const
|
|
273
|
+
const providerRunId = typeof p?.runId === "string" ? p.runId.trim() : "";
|
|
273
274
|
const sessionKey = typeof p?.sessionKey === "string" && p.sessionKey.trim().length > 0 ? p.sessionKey.trim() : undefined;
|
|
274
|
-
const
|
|
275
|
+
const explicitCanonicalRunId = resolveExplicitMobileRunIdFromChatPayload(normalizedPayload);
|
|
276
|
+
let runContext = providerRunId
|
|
277
|
+
? chatRunContexts.get(providerRunId) ?? openClawChatRunIdentities.resolve(opts.gatewayId, providerRunId)
|
|
278
|
+
: undefined;
|
|
279
|
+
if (!runContext && providerRunId && explicitCanonicalRunId && sessionKey) {
|
|
280
|
+
runContext = {
|
|
281
|
+
gatewayId: opts.gatewayId,
|
|
282
|
+
providerRunId,
|
|
283
|
+
canonicalRunId: explicitCanonicalRunId,
|
|
284
|
+
sessionKey,
|
|
285
|
+
};
|
|
286
|
+
openClawChatRunIdentities.register(runContext);
|
|
287
|
+
chatRunContexts.set(providerRunId, runContext);
|
|
288
|
+
}
|
|
289
|
+
const canonicalRunId = runContext?.canonicalRunId ?? explicitCanonicalRunId ?? providerRunId;
|
|
275
290
|
const resolvedSessionKey = sessionKey ?? runContext?.sessionKey;
|
|
276
291
|
const currentText = extractChatText(normalizedPayload);
|
|
277
292
|
const role = extractChatRole(normalizedPayload);
|
|
278
293
|
let realtimePayload = normalizedPayload;
|
|
279
|
-
if (
|
|
294
|
+
if (providerRunId) {
|
|
280
295
|
if (state === "final" || state === "error" || state === "failed" || state === "fail" || state === "aborted") {
|
|
281
|
-
chatSendDedupe.scheduleForRun(
|
|
296
|
+
chatSendDedupe.scheduleForRun(providerRunId, 100);
|
|
282
297
|
}
|
|
283
298
|
if (role === "assistant" && (state === "delta" || state === "final" || state === "error" || state === "failed" || state === "fail")) {
|
|
284
|
-
clearChatFallback(
|
|
299
|
+
clearChatFallback(providerRunId);
|
|
285
300
|
}
|
|
286
301
|
if (state === "delta" || state === "streaming" || state === "in_progress") {
|
|
287
|
-
const previousText = chatBuffers.get(
|
|
302
|
+
const previousText = chatBuffers.get(providerRunId) ?? "";
|
|
288
303
|
const bufferedText = appendUniqueSuffix(previousText, currentText);
|
|
289
|
-
chatBuffers.set(
|
|
304
|
+
chatBuffers.set(providerRunId, bufferedText);
|
|
290
305
|
if (role === "assistant" && bufferedText.trim()) {
|
|
291
306
|
realtimePayload = resolvedSessionKey
|
|
292
307
|
? mergeCanonicalChatPayload(normalizedPayload, buildMobileAssistantDeltaPayload({
|
|
293
|
-
run: { runId, sessionKey: resolvedSessionKey },
|
|
308
|
+
run: { runId: canonicalRunId, sessionKey: resolvedSessionKey },
|
|
294
309
|
seq: resolveChatPayloadSeq(normalizedPayload),
|
|
295
310
|
timestampMs: resolveChatPayloadTimestamp(normalizedPayload),
|
|
296
311
|
delta: bufferedText,
|
|
@@ -300,10 +315,10 @@ export async function runRelayManager(opts) {
|
|
|
300
315
|
}
|
|
301
316
|
}
|
|
302
317
|
else if (state === "error" || state === "failed" || state === "fail" || state === "aborted") {
|
|
303
|
-
chatBuffers.delete(
|
|
318
|
+
chatBuffers.delete(providerRunId);
|
|
304
319
|
if (role === "assistant" && resolvedSessionKey) {
|
|
305
320
|
realtimePayload = mergeCanonicalChatPayload(normalizedPayload, buildMobileAssistantErrorPayload({
|
|
306
|
-
run: { runId, sessionKey: resolvedSessionKey },
|
|
321
|
+
run: { runId: canonicalRunId, sessionKey: resolvedSessionKey },
|
|
307
322
|
errorMessage: extractChatErrorMessage(normalizedPayload),
|
|
308
323
|
includeTimelineEvents: true,
|
|
309
324
|
}));
|
|
@@ -312,18 +327,18 @@ export async function runRelayManager(opts) {
|
|
|
312
327
|
}
|
|
313
328
|
if (state === "final" && resolvedSessionKey) {
|
|
314
329
|
scheduleContextUsageRefresh(resolvedSessionKey, 450);
|
|
315
|
-
const bufferedText =
|
|
330
|
+
const bufferedText = providerRunId ? chatBuffers.get(providerRunId) ?? "" : "";
|
|
316
331
|
const resolvedText = currentText || bufferedText;
|
|
317
|
-
if (
|
|
318
|
-
chatBuffers.delete(
|
|
332
|
+
if (providerRunId) {
|
|
333
|
+
chatBuffers.delete(providerRunId);
|
|
319
334
|
}
|
|
320
335
|
if (resolvedText.trim()) {
|
|
321
|
-
if (
|
|
322
|
-
chatRunContexts.delete(
|
|
336
|
+
if (providerRunId) {
|
|
337
|
+
chatRunContexts.delete(providerRunId);
|
|
323
338
|
}
|
|
324
|
-
const outgoingPayload =
|
|
339
|
+
const outgoingPayload = providerRunId
|
|
325
340
|
? mergeCanonicalChatPayload(normalizedPayload, buildMobileAssistantFinalPayload({
|
|
326
|
-
run: { runId, sessionKey: resolvedSessionKey },
|
|
341
|
+
run: { runId: canonicalRunId, sessionKey: resolvedSessionKey },
|
|
327
342
|
text: resolvedText,
|
|
328
343
|
contentBlocks: nonTextContentBlocks(normalizedPayload),
|
|
329
344
|
includeTimelineEvents: true,
|
|
@@ -343,13 +358,13 @@ export async function runRelayManager(opts) {
|
|
|
343
358
|
const retryHistory = await withTimeout(fetchHistory(), CHAT_HISTORY_FETCH_TIMEOUT_MS, "chat.history retry");
|
|
344
359
|
outcome = runContext ? extractHistoryOutcome(retryHistory, runContext) : null;
|
|
345
360
|
}
|
|
346
|
-
if (
|
|
347
|
-
chatRunContexts.delete(
|
|
361
|
+
if (providerRunId && outcome) {
|
|
362
|
+
chatRunContexts.delete(providerRunId);
|
|
348
363
|
}
|
|
349
364
|
if (outcome?.kind === "final") {
|
|
350
|
-
const basePayload =
|
|
365
|
+
const basePayload = providerRunId
|
|
351
366
|
? buildMobileAssistantFinalPayload({
|
|
352
|
-
run: { runId, sessionKey: resolvedSessionKey },
|
|
367
|
+
run: { runId: canonicalRunId, sessionKey: resolvedSessionKey },
|
|
353
368
|
text: outcome.text,
|
|
354
369
|
contentBlocks: nonTextContentBlocksFromHistory(outcome.message),
|
|
355
370
|
includeTimelineEvents: true,
|
|
@@ -361,9 +376,9 @@ export async function runRelayManager(opts) {
|
|
|
361
376
|
return;
|
|
362
377
|
}
|
|
363
378
|
if (outcome?.kind === "error") {
|
|
364
|
-
const outgoingPayload =
|
|
379
|
+
const outgoingPayload = providerRunId
|
|
365
380
|
? mergeCanonicalChatPayload(normalizedPayload, buildMobileAssistantErrorPayload({
|
|
366
|
-
run: { runId, sessionKey: resolvedSessionKey },
|
|
381
|
+
run: { runId: canonicalRunId, sessionKey: resolvedSessionKey },
|
|
367
382
|
errorMessage: outcome.errorMessage,
|
|
368
383
|
includeTimelineEvents: true,
|
|
369
384
|
}))
|
|
@@ -375,24 +390,24 @@ export async function runRelayManager(opts) {
|
|
|
375
390
|
await publishAndSendGatewayEvent(event, outgoingPayload, shouldPublishOffice);
|
|
376
391
|
return;
|
|
377
392
|
}
|
|
378
|
-
if (
|
|
379
|
-
scheduleChatHistoryFallback(
|
|
393
|
+
if (providerRunId && runContext) {
|
|
394
|
+
scheduleChatHistoryFallback(providerRunId, runContext, 0);
|
|
380
395
|
return;
|
|
381
396
|
}
|
|
382
397
|
await publishAndSendGatewayEvent(event, normalizedPayload, shouldPublishOffice);
|
|
383
398
|
})
|
|
384
399
|
.catch((err) => {
|
|
385
400
|
console.error(`[relay] chat.history fetch failed: ${err}`);
|
|
386
|
-
if (
|
|
387
|
-
scheduleChatHistoryFallback(
|
|
401
|
+
if (providerRunId && runContext) {
|
|
402
|
+
scheduleChatHistoryFallback(providerRunId, runContext, 0);
|
|
388
403
|
return;
|
|
389
404
|
}
|
|
390
405
|
void publishAndSendGatewayEvent(event, normalizedPayload, shouldPublishOffice);
|
|
391
406
|
});
|
|
392
407
|
return;
|
|
393
408
|
}
|
|
394
|
-
if (
|
|
395
|
-
chatRunContexts.delete(
|
|
409
|
+
if (providerRunId && (state === "error" || state === "failed" || state === "fail" || state === "aborted")) {
|
|
410
|
+
chatRunContexts.delete(providerRunId);
|
|
396
411
|
scheduleContextUsageRefresh(p?.sessionKey, 450);
|
|
397
412
|
}
|
|
398
413
|
void publishAndSendGatewayEvent(event, realtimePayload, shouldPublishOffice);
|
|
@@ -497,51 +512,88 @@ export async function runRelayManager(opts) {
|
|
|
497
512
|
relaySecret: opts.relaySecret,
|
|
498
513
|
})
|
|
499
514
|
: rawCommandParams;
|
|
500
|
-
const
|
|
515
|
+
const providerIdentifiedParams = restoreOpenClawProviderRunIdForCommand(commandMethod, preparedParams, opts.gatewayId, openClawChatRunIdentities);
|
|
516
|
+
const params = canonicalizeRelayParams(commandMethod, providerIdentifiedParams, sessionDefaults);
|
|
501
517
|
if (!gatewayClient && commandMethod !== "chat.history") {
|
|
502
518
|
throw new Error("gateway not connected");
|
|
503
519
|
}
|
|
520
|
+
const paramsRecord = params && typeof params === "object" && !Array.isArray(params)
|
|
521
|
+
? params
|
|
522
|
+
: undefined;
|
|
523
|
+
const registerIdentity = (result) => {
|
|
524
|
+
const resultRecord = result && typeof result === "object" && !Array.isArray(result)
|
|
525
|
+
? result
|
|
526
|
+
: undefined;
|
|
527
|
+
const providerRunId = typeof resultRecord?.runId === "string" && resultRecord.runId.trim().length > 0
|
|
528
|
+
? resultRecord.runId.trim()
|
|
529
|
+
: requestId;
|
|
530
|
+
const canonicalRunId = commandMethod === "chat.send"
|
|
531
|
+
? normalizeOpenClawMobileRunId(paramsRecord?.idempotencyKey)
|
|
532
|
+
?? normalizeOpenClawMobileRunId(voiceInputRun?.runId)
|
|
533
|
+
?? providerRunId
|
|
534
|
+
: providerRunId;
|
|
535
|
+
if ((commandMethod !== "chat.send" && commandMethod !== "agent") || !providerRunId || !canonicalRunId) {
|
|
536
|
+
return undefined;
|
|
537
|
+
}
|
|
538
|
+
const identity = {
|
|
539
|
+
gatewayId: opts.gatewayId,
|
|
540
|
+
providerRunId,
|
|
541
|
+
canonicalRunId,
|
|
542
|
+
sessionKey: typeof paramsRecord?.sessionKey === "string" && paramsRecord.sessionKey.trim().length > 0
|
|
543
|
+
? paramsRecord.sessionKey.trim()
|
|
544
|
+
: sessionDefaults.mainSessionKey,
|
|
545
|
+
promptText: typeof paramsRecord?.message === "string" && paramsRecord.message.trim().length > 0
|
|
546
|
+
? paramsRecord.message.trim()
|
|
547
|
+
: undefined,
|
|
548
|
+
};
|
|
549
|
+
openClawChatRunIdentities.register(identity);
|
|
550
|
+
chatRunContexts.set(identity.providerRunId, identity);
|
|
551
|
+
return identity;
|
|
552
|
+
};
|
|
553
|
+
let identity;
|
|
504
554
|
const result = commandMethod === "chat.history"
|
|
505
555
|
? await requestChatHistoryFromClawConnect(params)
|
|
506
|
-
: await gatewayClient.request(commandMethod, params
|
|
507
|
-
|
|
556
|
+
: await gatewayClient.request(commandMethod, params, {
|
|
557
|
+
// response 帧内同步登记,保证紧随其后的首个 delta 已能解析 canonical 身份。
|
|
558
|
+
onResponse: (response) => {
|
|
559
|
+
identity = registerIdentity(response);
|
|
560
|
+
},
|
|
561
|
+
});
|
|
562
|
+
identity ??= registerIdentity(result);
|
|
563
|
+
return { params, result, identity };
|
|
508
564
|
};
|
|
509
565
|
const commandExecution = chatSendIdempotencyRequest
|
|
510
566
|
? openClawChatSendIdempotency.execute(chatSendIdempotencyRequest, executeCommand)
|
|
511
567
|
: { status: "started", promise: executeCommand() };
|
|
512
568
|
commandExecution.promise
|
|
513
|
-
.then(async ({ params, result }) => {
|
|
569
|
+
.then(async ({ params, result, identity }) => {
|
|
570
|
+
const paramsRecord = params && typeof params === "object" && !Array.isArray(params)
|
|
571
|
+
? params
|
|
572
|
+
: undefined;
|
|
573
|
+
const resultRecord = result && typeof result === "object" && !Array.isArray(result)
|
|
574
|
+
? result
|
|
575
|
+
: undefined;
|
|
576
|
+
const providerRunId = typeof resultRecord?.runId === "string" && resultRecord.runId.trim().length > 0
|
|
577
|
+
? resultRecord.runId.trim()
|
|
578
|
+
: requestId;
|
|
579
|
+
const canonicalRunId = commandMethod === "chat.send"
|
|
580
|
+
? normalizeOpenClawMobileRunId(paramsRecord?.idempotencyKey)
|
|
581
|
+
?? normalizeOpenClawMobileRunId(voiceInputRun?.runId)
|
|
582
|
+
?? providerRunId
|
|
583
|
+
: providerRunId;
|
|
514
584
|
if (commandExecution.status === "started") {
|
|
515
|
-
const paramsRecord = params && typeof params === "object" && !Array.isArray(params)
|
|
516
|
-
? params
|
|
517
|
-
: undefined;
|
|
518
585
|
const chatSendDedupeRequest = commandMethod === "chat.send"
|
|
519
586
|
? chatSendDedupe.buildRequest(paramsRecord)
|
|
520
587
|
: undefined;
|
|
521
588
|
if ((commandMethod === "chat.send" || commandMethod === "agent") && params && typeof params === "object" && !Array.isArray(params)) {
|
|
522
|
-
const
|
|
523
|
-
const sessionKey = typeof paramsRecord.sessionKey === "string" && paramsRecord.sessionKey.trim().length > 0
|
|
589
|
+
const sessionKey = typeof paramsRecord?.sessionKey === "string" && paramsRecord.sessionKey.trim().length > 0
|
|
524
590
|
? paramsRecord.sessionKey.trim()
|
|
525
591
|
: sessionDefaults.mainSessionKey;
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
: undefined;
|
|
529
|
-
const runId = typeof resultRecord?.runId === "string" && resultRecord.runId.trim().length > 0
|
|
530
|
-
? resultRecord.runId.trim()
|
|
531
|
-
: requestId;
|
|
532
|
-
if (runId) {
|
|
533
|
-
const promptText = typeof paramsRecord.message === "string" && paramsRecord.message.trim().length > 0
|
|
534
|
-
? paramsRecord.message.trim()
|
|
535
|
-
: undefined;
|
|
536
|
-
const runContext = {
|
|
537
|
-
sessionKey,
|
|
538
|
-
requestedAtMs: Date.now(),
|
|
539
|
-
promptText,
|
|
540
|
-
};
|
|
541
|
-
scheduleChatHistoryFallback(runId, runContext);
|
|
592
|
+
if (providerRunId && identity) {
|
|
593
|
+
scheduleChatHistoryFallback(providerRunId, identity);
|
|
542
594
|
}
|
|
543
595
|
if (commandMethod === "chat.send" && chatSendDedupeRequest) {
|
|
544
|
-
chatSendDedupe.register(chatSendDedupeRequest,
|
|
596
|
+
chatSendDedupe.register(chatSendDedupeRequest, providerRunId);
|
|
545
597
|
}
|
|
546
598
|
// Let a model switch settle before publishing context usage again.
|
|
547
599
|
// Forced refreshes can replay a stale model snapshot and overwrite the new selection.
|
|
@@ -549,7 +601,10 @@ export async function runRelayManager(opts) {
|
|
|
549
601
|
}
|
|
550
602
|
}
|
|
551
603
|
if (requestId) {
|
|
552
|
-
const
|
|
604
|
+
const externallyIdentifiedResult = commandMethod === "chat.send" && canonicalRunId
|
|
605
|
+
? canonicalizeOpenClawChatSendResult(result, canonicalRunId)
|
|
606
|
+
: result;
|
|
607
|
+
const responsePayload = await relayOutgoingMediaForResponse(commandMethod, externallyIdentifiedResult);
|
|
553
608
|
send({ type: "res", id: requestId, ok: true, payload: responsePayload });
|
|
554
609
|
}
|
|
555
610
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-manager.js","sourceRoot":"","sources":["../../src/openclaw/relay-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relay-manager.js","sourceRoot":"","sources":["../../src/openclaw/relay-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,10 @@ export function selectOpenclawBinCandidate(options) {
|
|
|
99
99
|
const exists = options.exists ?? existsSync;
|
|
100
100
|
const canRun = options.canRun ?? canRunOpenclawBin;
|
|
101
101
|
const explicitBin = options.explicitBin?.trim();
|
|
102
|
-
|
|
102
|
+
// OPENCLAW_BIN 是运维侧的权威选择。高负载下 `--version` 探测可能瞬时超时;
|
|
103
|
+
// 若因此静默回退到 PATH 中另一套 OpenClaw,会对错误的 runtime 执行 start/restart。
|
|
104
|
+
// 显式路径只校验存在性,真实执行失败应原样暴露,不能换目标。
|
|
105
|
+
if (explicitBin && exists(explicitBin)) {
|
|
103
106
|
return explicitBin;
|
|
104
107
|
}
|
|
105
108
|
const candidates = [
|