Phase 7: add enqueueDeferredReinjectFromCompact — queue plan on session_compact without sendUserMessage.

Defer delivery stores planned skill names in pendingReinject for injection on the next before_agent_start, avoiding races with pi-auto-compact follow-ups.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-17 11:55:13 +07:00
parent 23d580b6d2
commit e0daa50cce
+17
View File
@@ -37,3 +37,20 @@ export function planReinject(
registeredSkillNames(registeredSkills),
);
}
/** Defer path on session_compact: queue planned skills without sendUserMessage (SPEC §6.5.1, §16.2). */
export function enqueueDeferredReinjectFromCompact(
state: ExtensionState,
settings: SkillReinjectSettings,
ctx: ExtensionContext,
compactionEvent: SessionCompactEvent,
registeredSkills: readonly Pick<Skill, "name">[],
): void {
state.pendingReinject = planReinject(
state,
settings,
ctx,
compactionEvent,
registeredSkills,
);
}