@agentvault/agentvault 0.23.4 → 0.23.5
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/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/openclaw-entry.d.ts +3 -1
- package/dist/openclaw-entry.d.ts.map +1 -1
- package/dist/openclaw-entry.js +177 -131
- package/dist/openclaw-entry.js.map +3 -3
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/openclaw-entry.d.ts
CHANGED
|
@@ -107,6 +107,8 @@ declare function _buildRoomSenderId(roomId: string, senderDeviceId?: string, sen
|
|
|
107
107
|
* `accountId` is intentionally unused for the room form; kept in the signature
|
|
108
108
|
* for symmetry with the direct/A2A `To` shapes. */
|
|
109
109
|
declare function _buildRoomTo(roomId: string, _accountId: string): string;
|
|
110
|
+
declare function _withSessionSerial<T>(key: string, fn: () => Promise<T>): Promise<T>;
|
|
111
|
+
declare function _withTurnTimeout<T>(ms: number, fn: () => Promise<T>): Promise<T>;
|
|
110
112
|
/** Emit the full hierarchical span tree for a message lifecycle. */
|
|
111
113
|
declare function _emitHierarchicalSpans(channel: any, opts: {
|
|
112
114
|
traceId: string;
|
|
@@ -128,7 +130,7 @@ declare function _emitHierarchicalSpans(channel: any, opts: {
|
|
|
128
130
|
status: "ok" | "error";
|
|
129
131
|
statusMessage?: string;
|
|
130
132
|
}): void;
|
|
131
|
-
export { _parseMentions, _shouldProcessRoomMessage, _stripMentions, _stripThinkBlocks, _looksLikeReasoningLeak, _emitHierarchicalSpans, _resolveRoomIdentity, _buildRoomSenderId, _buildRoomTo };
|
|
133
|
+
export { _parseMentions, _shouldProcessRoomMessage, _stripMentions, _stripThinkBlocks, _looksLikeReasoningLeak, _emitHierarchicalSpans, _resolveRoomIdentity, _buildRoomSenderId, _buildRoomTo, _withSessionSerial, _withTurnTimeout };
|
|
132
134
|
declare const _default: {
|
|
133
135
|
id: string;
|
|
134
136
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EACV,iBAAiB,EASlB,MAAM,qBAAqB,CAAC;AA4D7B,gFAAgF;AAChF,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AA0FxC,uEAAuE;AACvE,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAS9C;AAED;;;;;GAKG;AACH,iBAAS,yBAAyB,CAChC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,OAAO,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,GAAE,OAAc,GAC3B,OAAO,CAwBT;AA6BD,sFAAsF;AACtF,iBAAS,cAAc,CACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAeR;AAED;;;;;;yDAMyD;AACzD,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;yEAKyE;AACzE,iBAAS,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQtD;AAED;;;;cAIc;AACd,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GACnB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA2CxC;AAED;;;;;;;;;;;4CAW4C;AAC5C,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAS7E;AAED;;;;;iDAKiD;AACjD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAMT;AAED;;;;;;;;;;;;;;;;gFAgBgF;AAChF,iBAAS,kBAAkB,CACzB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAMR;AAED;;;;;;;;;;;;;;;;mDAgBmD;AACnD,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;
|
|
1
|
+
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"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"}
|
package/dist/openclaw-entry.js
CHANGED
|
@@ -49748,6 +49748,47 @@ async function _recallTeamMemory(query, limit = 5) {
|
|
|
49748
49748
|
return "";
|
|
49749
49749
|
}
|
|
49750
49750
|
}
|
|
49751
|
+
var _sessionQueues = /* @__PURE__ */ new Map();
|
|
49752
|
+
function _withSessionSerial(key, fn) {
|
|
49753
|
+
const prev = _sessionQueues.get(key) ?? Promise.resolve();
|
|
49754
|
+
const run = prev.then(fn, fn);
|
|
49755
|
+
const tail = run.catch(() => {
|
|
49756
|
+
});
|
|
49757
|
+
_sessionQueues.set(key, tail);
|
|
49758
|
+
void tail.then(() => {
|
|
49759
|
+
if (_sessionQueues.get(key) === tail) _sessionQueues.delete(key);
|
|
49760
|
+
});
|
|
49761
|
+
return run;
|
|
49762
|
+
}
|
|
49763
|
+
var TURN_BUDGET_MS = 12e4;
|
|
49764
|
+
function _withTurnTimeout(ms, fn) {
|
|
49765
|
+
return new Promise((resolve2, reject) => {
|
|
49766
|
+
let settled = false;
|
|
49767
|
+
const timer = setTimeout(() => {
|
|
49768
|
+
if (settled) return;
|
|
49769
|
+
settled = true;
|
|
49770
|
+
reject(new Error(`turn exceeded ${ms}ms budget \u2014 releasing session lock`));
|
|
49771
|
+
}, ms);
|
|
49772
|
+
fn().then(
|
|
49773
|
+
(v2) => {
|
|
49774
|
+
if (!settled) {
|
|
49775
|
+
settled = true;
|
|
49776
|
+
clearTimeout(timer);
|
|
49777
|
+
resolve2(v2);
|
|
49778
|
+
}
|
|
49779
|
+
},
|
|
49780
|
+
// If we already timed out, swallow the late rejection here so the orphaned
|
|
49781
|
+
// turn never becomes an unhandled rejection.
|
|
49782
|
+
(e) => {
|
|
49783
|
+
if (!settled) {
|
|
49784
|
+
settled = true;
|
|
49785
|
+
clearTimeout(timer);
|
|
49786
|
+
reject(e);
|
|
49787
|
+
}
|
|
49788
|
+
}
|
|
49789
|
+
);
|
|
49790
|
+
});
|
|
49791
|
+
}
|
|
49751
49792
|
async function handleInbound(params) {
|
|
49752
49793
|
const { plaintext: rawPlaintext, metadata, channel, account, cfg } = params;
|
|
49753
49794
|
const isRoomMessage = Boolean(metadata.roomId);
|
|
@@ -50092,143 +50133,146 @@ ${contextBody}`;
|
|
|
50092
50133
|
...attachmentFields,
|
|
50093
50134
|
...credentialFields
|
|
50094
50135
|
});
|
|
50095
|
-
|
|
50096
|
-
|
|
50097
|
-
|
|
50098
|
-
|
|
50099
|
-
|
|
50100
|
-
|
|
50101
|
-
|
|
50102
|
-
|
|
50103
|
-
|
|
50104
|
-
|
|
50105
|
-
|
|
50106
|
-
|
|
50107
|
-
|
|
50108
|
-
|
|
50109
|
-
|
|
50110
|
-
|
|
50111
|
-
|
|
50112
|
-
|
|
50113
|
-
|
|
50114
|
-
|
|
50115
|
-
|
|
50116
|
-
|
|
50117
|
-
|
|
50118
|
-
|
|
50119
|
-
const replyStart = Date.now();
|
|
50120
|
-
replyCount++;
|
|
50121
|
-
totalReplyChars += text.length;
|
|
50122
|
-
if (!firstReplyTime) firstReplyTime = replyStart;
|
|
50123
|
-
let replyTarget;
|
|
50124
|
-
if (isA2AMessage) {
|
|
50125
|
-
if (!_a2aCanReply(metadata.a2aChannelId)) {
|
|
50126
|
-
console.warn(`[AgentVault] A2A reply suppressed (rate limit) for channel ${metadata.a2aChannelId?.slice(0, 8)}...`);
|
|
50127
|
-
return;
|
|
50136
|
+
const _turnSessionKey = typeof route.sessionKey === "string" && route.sessionKey ? route.sessionKey : `__unkeyed__:${traceId}`;
|
|
50137
|
+
await _withSessionSerial(_turnSessionKey, () => _withTurnTimeout(TURN_BUDGET_MS, async () => {
|
|
50138
|
+
await core.channel.session.recordInboundSession({
|
|
50139
|
+
storePath,
|
|
50140
|
+
sessionKey: ctxPayload.SessionKey ?? route.sessionKey,
|
|
50141
|
+
ctx: ctxPayload,
|
|
50142
|
+
onRecordError: (err) => {
|
|
50143
|
+
core.error?.(`[AgentVault] session record failed: ${String(err)}`);
|
|
50144
|
+
}
|
|
50145
|
+
});
|
|
50146
|
+
try {
|
|
50147
|
+
await runWithTraceContext(
|
|
50148
|
+
{ traceId, parentSpanId: inferenceSpanId },
|
|
50149
|
+
() => core.channel.reply.dispatchReplyWithBufferedBlockDispatcher({
|
|
50150
|
+
ctx: ctxPayload,
|
|
50151
|
+
cfg,
|
|
50152
|
+
dispatcherOptions: {
|
|
50153
|
+
deliver: async (payload) => {
|
|
50154
|
+
if (payload.kind === "thinking" || payload.kind === "reasoning") return;
|
|
50155
|
+
const text = (payload.text ?? "").trim();
|
|
50156
|
+
if (!text) return;
|
|
50157
|
+
{
|
|
50158
|
+
const recoverable = _stripThinkBlocks(text);
|
|
50159
|
+
if (recoverable && !_looksLikeReasoningLeak(recoverable)) lastFilteredText = recoverable;
|
|
50128
50160
|
}
|
|
50129
|
-
|
|
50130
|
-
|
|
50131
|
-
|
|
50132
|
-
|
|
50133
|
-
|
|
50161
|
+
if (_looksLikeReasoningLeak(text)) return;
|
|
50162
|
+
const replyStart = Date.now();
|
|
50163
|
+
replyCount++;
|
|
50164
|
+
totalReplyChars += text.length;
|
|
50165
|
+
if (!firstReplyTime) firstReplyTime = replyStart;
|
|
50166
|
+
let replyTarget;
|
|
50167
|
+
if (isA2AMessage) {
|
|
50168
|
+
if (!_a2aCanReply(metadata.a2aChannelId)) {
|
|
50169
|
+
console.warn(`[AgentVault] A2A reply suppressed (rate limit) for channel ${metadata.a2aChannelId?.slice(0, 8)}...`);
|
|
50170
|
+
return;
|
|
50171
|
+
}
|
|
50172
|
+
replyTarget = { kind: "a2a", hubAddress: metadata.fromHubAddress };
|
|
50173
|
+
} else if (isRoomMessage) {
|
|
50174
|
+
if (!_roomCanReply(metadata.roomId)) {
|
|
50175
|
+
console.warn(`[AgentVault] Room reply suppressed (rate limit) for room ${metadata.roomId?.slice(0, 8)}...`);
|
|
50176
|
+
return;
|
|
50177
|
+
}
|
|
50178
|
+
replyTarget = { kind: "room", roomId: metadata.roomId };
|
|
50179
|
+
} else {
|
|
50180
|
+
replyTarget = { kind: "owner" };
|
|
50134
50181
|
}
|
|
50135
|
-
replyTarget
|
|
50136
|
-
|
|
50137
|
-
|
|
50138
|
-
|
|
50139
|
-
|
|
50140
|
-
|
|
50141
|
-
|
|
50142
|
-
|
|
50143
|
-
|
|
50144
|
-
|
|
50145
|
-
|
|
50146
|
-
|
|
50147
|
-
|
|
50148
|
-
|
|
50149
|
-
|
|
50182
|
+
await channel.deliver(replyTarget, { type: "text", text }, {
|
|
50183
|
+
conversationId: metadata.conversationId,
|
|
50184
|
+
topicId: metadata.topicId,
|
|
50185
|
+
parentSpanId: inferenceSpanId,
|
|
50186
|
+
metadata: isRoomMessage ? { content_length: text.length } : void 0
|
|
50187
|
+
});
|
|
50188
|
+
if (isA2AMessage) {
|
|
50189
|
+
_a2aRecordReply(metadata.a2aChannelId);
|
|
50190
|
+
}
|
|
50191
|
+
if (isRoomMessage) {
|
|
50192
|
+
_roomRecordReply(metadata.roomId);
|
|
50193
|
+
}
|
|
50194
|
+
const replyEnd = Date.now();
|
|
50195
|
+
replySpans.push({ startTime: replyStart, endTime: replyEnd, chars: text.length, index: replyCount });
|
|
50196
|
+
},
|
|
50197
|
+
onError: (err, info) => {
|
|
50198
|
+
core.error?.(`[AgentVault] ${info?.kind ?? "reply"} error: ${String(err)}`);
|
|
50150
50199
|
}
|
|
50151
|
-
const replyEnd = Date.now();
|
|
50152
|
-
replySpans.push({ startTime: replyStart, endTime: replyEnd, chars: text.length, index: replyCount });
|
|
50153
50200
|
},
|
|
50154
|
-
|
|
50155
|
-
|
|
50156
|
-
|
|
50157
|
-
|
|
50158
|
-
|
|
50159
|
-
|
|
50160
|
-
|
|
50161
|
-
|
|
50162
|
-
|
|
50163
|
-
|
|
50164
|
-
|
|
50165
|
-
|
|
50166
|
-
|
|
50167
|
-
|
|
50168
|
-
|
|
50169
|
-
|
|
50170
|
-
|
|
50171
|
-
|
|
50172
|
-
|
|
50173
|
-
|
|
50174
|
-
|
|
50175
|
-
|
|
50176
|
-
|
|
50177
|
-
|
|
50178
|
-
|
|
50179
|
-
|
|
50180
|
-
console.warn("[AgentVault] reply blocks all filtered AND rate-limited \u2014 no fallback delivered");
|
|
50201
|
+
replyOptions: {}
|
|
50202
|
+
})
|
|
50203
|
+
);
|
|
50204
|
+
if (replyCount === 0 && lastFilteredText) {
|
|
50205
|
+
const canReply = isA2AMessage ? _a2aCanReply(metadata.a2aChannelId) : isRoomMessage ? _roomCanReply(metadata.roomId) : true;
|
|
50206
|
+
if (canReply) {
|
|
50207
|
+
const replyTarget = isA2AMessage ? { kind: "a2a", hubAddress: metadata.fromHubAddress } : isRoomMessage ? { kind: "room", roomId: metadata.roomId } : { kind: "owner" };
|
|
50208
|
+
console.warn(
|
|
50209
|
+
`[AgentVault] all reply blocks filtered as reasoning \u2014 delivering recovered fallback (${lastFilteredText.length} chars)`
|
|
50210
|
+
);
|
|
50211
|
+
await channel.deliver(replyTarget, { type: "text", text: lastFilteredText }, {
|
|
50212
|
+
conversationId: metadata.conversationId,
|
|
50213
|
+
topicId: metadata.topicId,
|
|
50214
|
+
parentSpanId: inferenceSpanId,
|
|
50215
|
+
metadata: isRoomMessage ? { content_length: lastFilteredText.length } : void 0
|
|
50216
|
+
});
|
|
50217
|
+
replyCount++;
|
|
50218
|
+
totalReplyChars += lastFilteredText.length;
|
|
50219
|
+
if (!firstReplyTime) firstReplyTime = Date.now();
|
|
50220
|
+
if (isA2AMessage) _a2aRecordReply(metadata.a2aChannelId);
|
|
50221
|
+
else if (isRoomMessage) _roomRecordReply(metadata.roomId);
|
|
50222
|
+
} else {
|
|
50223
|
+
console.warn("[AgentVault] reply blocks all filtered AND rate-limited \u2014 no fallback delivered");
|
|
50224
|
+
}
|
|
50225
|
+
} else if (replyCount === 0) {
|
|
50226
|
+
console.warn("[AgentVault] turn produced no deliverable reply (all blocks empty/filtered, nothing recoverable)");
|
|
50181
50227
|
}
|
|
50182
|
-
|
|
50183
|
-
|
|
50228
|
+
const endTime = Date.now();
|
|
50229
|
+
_emitHierarchicalSpans(channel, {
|
|
50230
|
+
traceId,
|
|
50231
|
+
rootSpanId,
|
|
50232
|
+
inferenceSpanId,
|
|
50233
|
+
startTime,
|
|
50234
|
+
endTime,
|
|
50235
|
+
firstReplyTime,
|
|
50236
|
+
replySpans,
|
|
50237
|
+
inputChars: plaintext.length,
|
|
50238
|
+
replyCount,
|
|
50239
|
+
totalReplyChars,
|
|
50240
|
+
isRoom: isRoomMessage,
|
|
50241
|
+
status: "ok"
|
|
50242
|
+
});
|
|
50243
|
+
} catch (err) {
|
|
50244
|
+
const endTime = Date.now();
|
|
50245
|
+
_emitHierarchicalSpans(channel, {
|
|
50246
|
+
traceId,
|
|
50247
|
+
rootSpanId,
|
|
50248
|
+
inferenceSpanId,
|
|
50249
|
+
startTime,
|
|
50250
|
+
endTime,
|
|
50251
|
+
firstReplyTime,
|
|
50252
|
+
replySpans,
|
|
50253
|
+
inputChars: plaintext.length,
|
|
50254
|
+
replyCount,
|
|
50255
|
+
totalReplyChars,
|
|
50256
|
+
isRoom: isRoomMessage,
|
|
50257
|
+
status: "error",
|
|
50258
|
+
statusMessage: String(err)
|
|
50259
|
+
});
|
|
50260
|
+
_emitChildSpan(channel, {
|
|
50261
|
+
traceId,
|
|
50262
|
+
parentSpanId: rootSpanId,
|
|
50263
|
+
name: "error",
|
|
50264
|
+
startTime: endTime,
|
|
50265
|
+
endTime,
|
|
50266
|
+
attributes: {
|
|
50267
|
+
"ai.agent.error.type": err?.constructor?.name ?? "Error",
|
|
50268
|
+
"ai.agent.error.message": String(err)
|
|
50269
|
+
},
|
|
50270
|
+
status: "error",
|
|
50271
|
+
statusMessage: String(err)
|
|
50272
|
+
});
|
|
50273
|
+
throw err;
|
|
50184
50274
|
}
|
|
50185
|
-
|
|
50186
|
-
_emitHierarchicalSpans(channel, {
|
|
50187
|
-
traceId,
|
|
50188
|
-
rootSpanId,
|
|
50189
|
-
inferenceSpanId,
|
|
50190
|
-
startTime,
|
|
50191
|
-
endTime,
|
|
50192
|
-
firstReplyTime,
|
|
50193
|
-
replySpans,
|
|
50194
|
-
inputChars: plaintext.length,
|
|
50195
|
-
replyCount,
|
|
50196
|
-
totalReplyChars,
|
|
50197
|
-
isRoom: isRoomMessage,
|
|
50198
|
-
status: "ok"
|
|
50199
|
-
});
|
|
50200
|
-
} catch (err) {
|
|
50201
|
-
const endTime = Date.now();
|
|
50202
|
-
_emitHierarchicalSpans(channel, {
|
|
50203
|
-
traceId,
|
|
50204
|
-
rootSpanId,
|
|
50205
|
-
inferenceSpanId,
|
|
50206
|
-
startTime,
|
|
50207
|
-
endTime,
|
|
50208
|
-
firstReplyTime,
|
|
50209
|
-
replySpans,
|
|
50210
|
-
inputChars: plaintext.length,
|
|
50211
|
-
replyCount,
|
|
50212
|
-
totalReplyChars,
|
|
50213
|
-
isRoom: isRoomMessage,
|
|
50214
|
-
status: "error",
|
|
50215
|
-
statusMessage: String(err)
|
|
50216
|
-
});
|
|
50217
|
-
_emitChildSpan(channel, {
|
|
50218
|
-
traceId,
|
|
50219
|
-
parentSpanId: rootSpanId,
|
|
50220
|
-
name: "error",
|
|
50221
|
-
startTime: endTime,
|
|
50222
|
-
endTime,
|
|
50223
|
-
attributes: {
|
|
50224
|
-
"ai.agent.error.type": err?.constructor?.name ?? "Error",
|
|
50225
|
-
"ai.agent.error.message": String(err)
|
|
50226
|
-
},
|
|
50227
|
-
status: "error",
|
|
50228
|
-
statusMessage: String(err)
|
|
50229
|
-
});
|
|
50230
|
-
throw err;
|
|
50231
|
-
}
|
|
50275
|
+
}));
|
|
50232
50276
|
}
|
|
50233
50277
|
function _inferSpanType(name) {
|
|
50234
50278
|
if (name === "error" || name.includes("error")) return "error";
|
|
@@ -51151,6 +51195,8 @@ export {
|
|
|
51151
51195
|
_shouldProcessRoomMessage,
|
|
51152
51196
|
_stripMentions,
|
|
51153
51197
|
_stripThinkBlocks,
|
|
51198
|
+
_withSessionSerial,
|
|
51199
|
+
_withTurnTimeout,
|
|
51154
51200
|
openclaw_entry_default as default,
|
|
51155
51201
|
isUsingManagedRoutes
|
|
51156
51202
|
};
|