@openviking/openclaw-plugin 2026.8.21 → 2026.8.28
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.
|
@@ -196,10 +196,14 @@ function isSessionNotFoundError(err) {
|
|
|
196
196
|
return errorMessage.includes("[NOT_FOUND]") && errorMessage.includes("Session not found");
|
|
197
197
|
}
|
|
198
198
|
export async function assembleOpenVikingSession({ sessionId, sessionKey, messages, tokenBudget, runtimeContext, isMainAssemble, cfg, getClient, logger, resolveAgentId, rememberSessionAgentId, isBypassedSession, queryConfigStore, traceRecorder, diag, roughEstimate, messageDigest, extractAgentMessageText, hasAutoRecallBlock, prependRecallToLatestUserMessage, }) {
|
|
199
|
-
const ovSessionId = openClawSessionToOvStorageId(sessionId, sessionKey);
|
|
200
|
-
const sender = extractRuntimeSenderId(runtimeContext);
|
|
201
199
|
const latestMessage = messages.at(-1);
|
|
202
200
|
const isTransformContextAssemble = !isMainAssemble;
|
|
201
|
+
// Tool-loop calls do no recall work on non-user tails; avoid scanning the full history.
|
|
202
|
+
if (isTransformContextAssemble && latestMessage?.role !== "user") {
|
|
203
|
+
return { messages, estimatedTokens: 0 };
|
|
204
|
+
}
|
|
205
|
+
const ovSessionId = openClawSessionToOvStorageId(sessionId, sessionKey);
|
|
206
|
+
const sender = extractRuntimeSenderId(runtimeContext);
|
|
203
207
|
const originalTokens = roughEstimate(messages);
|
|
204
208
|
rememberSessionAgentId?.({
|
|
205
209
|
sessionId,
|
|
@@ -220,16 +224,6 @@ export async function assembleOpenVikingSession({ sessionId, sessionKey, message
|
|
|
220
224
|
return assemblePassthrough({ diag, ovSessionId, reason: "session_bypassed", liveMessages: messages, originalTokens });
|
|
221
225
|
}
|
|
222
226
|
if (isTransformContextAssemble) {
|
|
223
|
-
if (latestMessage?.role !== "user") {
|
|
224
|
-
return assemblePassthrough({
|
|
225
|
-
diag,
|
|
226
|
-
ovSessionId,
|
|
227
|
-
reason: "transform_context_non_user_tail",
|
|
228
|
-
liveMessages: messages,
|
|
229
|
-
originalTokens,
|
|
230
|
-
extra: { latestRole: latestMessage?.role ?? null },
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
227
|
if (!cfg.autoRecall) {
|
|
234
228
|
return assemblePassthrough({ diag, ovSessionId, reason: "transform_context_auto_recall_disabled", liveMessages: messages, originalTokens });
|
|
235
229
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openviking/openclaw-plugin",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.28",
|
|
4
4
|
"displayName": "OpenViking",
|
|
5
5
|
"description": "OpenClaw context-engine plugin — OpenViking AI memory, long-term memory, knowledge base, semantic search, RAG, context engine. 长期记忆 · 知识库 · 语义检索 · 上下文引擎",
|
|
6
6
|
"type": "module",
|
|
@@ -441,10 +441,16 @@ export async function assembleOpenVikingSession({
|
|
|
441
441
|
hasAutoRecallBlock,
|
|
442
442
|
prependRecallToLatestUserMessage,
|
|
443
443
|
}: AssembleOpenVikingSessionParams): Promise<AssembleOpenVikingSessionResult> {
|
|
444
|
-
const ovSessionId = openClawSessionToOvStorageId(sessionId, sessionKey);
|
|
445
|
-
const sender = extractRuntimeSenderId(runtimeContext);
|
|
446
444
|
const latestMessage = messages.at(-1);
|
|
447
445
|
const isTransformContextAssemble = !isMainAssemble;
|
|
446
|
+
|
|
447
|
+
// Tool-loop calls do no recall work on non-user tails; avoid scanning the full history.
|
|
448
|
+
if (isTransformContextAssemble && latestMessage?.role !== "user") {
|
|
449
|
+
return { messages, estimatedTokens: 0 };
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
const ovSessionId = openClawSessionToOvStorageId(sessionId, sessionKey);
|
|
453
|
+
const sender = extractRuntimeSenderId(runtimeContext);
|
|
448
454
|
const originalTokens = roughEstimate(messages);
|
|
449
455
|
|
|
450
456
|
rememberSessionAgentId?.({
|
|
@@ -468,16 +474,6 @@ export async function assembleOpenVikingSession({
|
|
|
468
474
|
}
|
|
469
475
|
|
|
470
476
|
if (isTransformContextAssemble) {
|
|
471
|
-
if (latestMessage?.role !== "user") {
|
|
472
|
-
return assemblePassthrough({
|
|
473
|
-
diag,
|
|
474
|
-
ovSessionId,
|
|
475
|
-
reason: "transform_context_non_user_tail",
|
|
476
|
-
liveMessages: messages,
|
|
477
|
-
originalTokens,
|
|
478
|
-
extra: { latestRole: latestMessage?.role ?? null },
|
|
479
|
-
});
|
|
480
|
-
}
|
|
481
477
|
if (!cfg.autoRecall) {
|
|
482
478
|
return assemblePassthrough({ diag, ovSessionId, reason: "transform_context_auto_recall_disabled", liveMessages: messages, originalTokens });
|
|
483
479
|
}
|