Phase 1: add saveState — persist ExtensionState via appendEntry.

STATE_ENTRY_TYPE skill-reinject:state matches SPEC §6.1 so state survives
/resume and branch reload without a full rescan.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-17 10:02:42 +07:00
parent 195ed026ff
commit db04a1dd01
+8
View File
@@ -1,3 +1,5 @@
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
/** How a skill was first observed in the session (SPEC §6.2). */
export type SkillSource = "slash" | "skill-block" | "read";
@@ -31,6 +33,12 @@ export interface RuntimeFlags {
autoCompactIntegration: AutoCompactIntegration;
}
export const STATE_ENTRY_TYPE = "skill-reinject:state";
export function saveState(pi: ExtensionAPI, state: ExtensionState): void {
pi.appendEntry<ExtensionState>(STATE_ENTRY_TYPE, state);
}
export function createInitialState(): ExtensionState {
return {
version: 1,