mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
refactor(pi): dedupe compaction failure
This commit is contained in:
@@ -252,16 +252,7 @@ export async function compactEmbeddedPiSessionDirect(
|
||||
|
||||
const provider = (params.provider ?? DEFAULT_PROVIDER).trim() || DEFAULT_PROVIDER;
|
||||
const modelId = (params.model ?? DEFAULT_MODEL).trim() || DEFAULT_MODEL;
|
||||
const agentDir = params.agentDir ?? resolveOpenClawAgentDir();
|
||||
await ensureOpenClawModelsJson(params.config, agentDir);
|
||||
const { model, error, authStorage, modelRegistry } = resolveModel(
|
||||
provider,
|
||||
modelId,
|
||||
agentDir,
|
||||
params.config,
|
||||
);
|
||||
if (!model) {
|
||||
const reason = error ?? `Unknown model: ${provider}/${modelId}`;
|
||||
const fail = (reason: string): EmbeddedPiCompactResult => {
|
||||
log.warn(
|
||||
`[compaction-diag] end runId=${runId} sessionKey=${params.sessionKey ?? params.sessionId} ` +
|
||||
`diagId=${diagId} trigger=${trigger} provider=${provider}/${modelId} ` +
|
||||
@@ -273,6 +264,18 @@ export async function compactEmbeddedPiSessionDirect(
|
||||
compacted: false,
|
||||
reason,
|
||||
};
|
||||
};
|
||||
const agentDir = params.agentDir ?? resolveOpenClawAgentDir();
|
||||
await ensureOpenClawModelsJson(params.config, agentDir);
|
||||
const { model, error, authStorage, modelRegistry } = resolveModel(
|
||||
provider,
|
||||
modelId,
|
||||
agentDir,
|
||||
params.config,
|
||||
);
|
||||
if (!model) {
|
||||
const reason = error ?? `Unknown model: ${provider}/${modelId}`;
|
||||
return fail(reason);
|
||||
}
|
||||
try {
|
||||
const apiKeyInfo = await getApiKeyForModel({
|
||||
@@ -299,17 +302,7 @@ export async function compactEmbeddedPiSessionDirect(
|
||||
}
|
||||
} catch (err) {
|
||||
const reason = describeUnknownError(err);
|
||||
log.warn(
|
||||
`[compaction-diag] end runId=${runId} sessionKey=${params.sessionKey ?? params.sessionId} ` +
|
||||
`diagId=${diagId} trigger=${trigger} provider=${provider}/${modelId} ` +
|
||||
`attempt=${attempt} maxAttempts=${maxAttempts} outcome=failed reason=${classifyCompactionReason(reason)} ` +
|
||||
`durationMs=${Date.now() - startedAt}`,
|
||||
);
|
||||
return {
|
||||
ok: false,
|
||||
compacted: false,
|
||||
reason,
|
||||
};
|
||||
return fail(reason);
|
||||
}
|
||||
|
||||
await fs.mkdir(resolvedWorkspace, { recursive: true });
|
||||
@@ -711,17 +704,7 @@ export async function compactEmbeddedPiSessionDirect(
|
||||
}
|
||||
} catch (err) {
|
||||
const reason = describeUnknownError(err);
|
||||
log.warn(
|
||||
`[compaction-diag] end runId=${runId} sessionKey=${params.sessionKey ?? params.sessionId} ` +
|
||||
`diagId=${diagId} trigger=${trigger} provider=${provider}/${modelId} ` +
|
||||
`attempt=${attempt} maxAttempts=${maxAttempts} outcome=failed reason=${classifyCompactionReason(reason)} ` +
|
||||
`durationMs=${Date.now() - startedAt}`,
|
||||
);
|
||||
return {
|
||||
ok: false,
|
||||
compacted: false,
|
||||
reason,
|
||||
};
|
||||
return fail(reason);
|
||||
} finally {
|
||||
restoreSkillEnv?.();
|
||||
process.chdir(prevCwd);
|
||||
|
||||
Reference in New Issue
Block a user