fix(agent): recover stale runs and improve new-user OA delivery
Fix DEV logout cookie clearing, materialize selected MindSpace OA assets before agent runs, and recover zombie runs from synced workspace pages. Add client run wait timeout, harness retry limits, page-edit asset forwarding, and logout/john2 scenario tests. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -55,6 +55,7 @@ export function createPostAgentRunsHandler({
|
||||
userAuth,
|
||||
sessionAccess = null,
|
||||
agentRunGateway,
|
||||
mindSpaceAssetAgent = null,
|
||||
codeRunsEnabled = envFlag(process.env.MEMIND_AGENT_CODE_RUNS_ENABLED),
|
||||
codeRunUserIds = parseUserIdSet(process.env.MEMIND_AGENT_CODE_RUNS_USER_IDS),
|
||||
codeRunTaskTypes = parseTaskTypeSet(process.env.MEMIND_AGENT_CODE_RUN_TASK_TYPES),
|
||||
@@ -117,6 +118,36 @@ export function createPostAgentRunsHandler({
|
||||
return;
|
||||
}
|
||||
}
|
||||
const selectedAssetIds = [
|
||||
...new Set(
|
||||
(Array.isArray(request.body?.selected_asset_ids)
|
||||
? request.body.selected_asset_ids
|
||||
: Array.isArray(request.body?.selectedAssetIds)
|
||||
? request.body.selectedAssetIds
|
||||
: []
|
||||
)
|
||||
.map((item) => String(item ?? '').trim())
|
||||
.filter(Boolean),
|
||||
),
|
||||
];
|
||||
if (
|
||||
selectedAssetIds.length > 0 &&
|
||||
mindSpaceAssetAgent?.materializeAssetsForSession
|
||||
) {
|
||||
try {
|
||||
await mindSpaceAssetAgent.materializeAssetsForSession({
|
||||
sessionId,
|
||||
userId: request.currentUser.id,
|
||||
assetIds: selectedAssetIds,
|
||||
});
|
||||
} catch (err) {
|
||||
response.status(400).json({
|
||||
message: err instanceof Error ? err.message : '勾选资料落盘失败',
|
||||
code: err?.code ?? 'asset_materialize_failed',
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
const run = await agentRunGateway.createRun(request.currentUser.id, {
|
||||
sessionId,
|
||||
requestId,
|
||||
|
||||
Reference in New Issue
Block a user