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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user