Phase 11: register /skill-reinject command — SPEC §7.
Wire pi.registerCommand with a minimal handler stub so later subcommands can plug into commands.ts. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
import type { ExtensionAPI, ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
|
||||||
|
import type { ExtensionState, RuntimeFlags } from "./state.js";
|
||||||
|
|
||||||
|
export interface SkillReinjectCommandDeps {
|
||||||
|
state: ExtensionState;
|
||||||
|
runtime: RuntimeFlags;
|
||||||
|
persistState: () => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function registerSkillReinjectCommand(pi: ExtensionAPI, _deps: SkillReinjectCommandDeps): void {
|
||||||
|
pi.registerCommand("skill-reinject", {
|
||||||
|
description:
|
||||||
|
"Skill re-inject after compaction (usage: /skill-reinject [on|off|list|now|integration ...])",
|
||||||
|
handler: handleSkillReinjectCommand,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function handleSkillReinjectCommand(
|
||||||
|
args: string,
|
||||||
|
ctx: ExtensionCommandContext,
|
||||||
|
): Promise<void> {
|
||||||
|
const trimmed = args.trim();
|
||||||
|
if (!trimmed) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const subcommand = trimmed.split(/\s+/)[0];
|
||||||
|
if (ctx.hasUI) {
|
||||||
|
ctx.ui.notify(`skill-reinject: unknown subcommand "${subcommand}"`, "warning");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
type Skill,
|
type Skill,
|
||||||
} from "@earendil-works/pi-coding-agent";
|
} from "@earendil-works/pi-coding-agent";
|
||||||
import { detectAndCachePiAutoCompact, resolveDeliveryMode } from "./auto-compact.js";
|
import { detectAndCachePiAutoCompact, resolveDeliveryMode } from "./auto-compact.js";
|
||||||
|
import { registerSkillReinjectCommand } from "./commands.js";
|
||||||
import {
|
import {
|
||||||
consumeCompactionOnSessionCompact,
|
consumeCompactionOnSessionCompact,
|
||||||
createCompactionRuntime,
|
createCompactionRuntime,
|
||||||
@@ -44,6 +45,8 @@ export default function skillReinject(pi: ExtensionAPI): void {
|
|||||||
saveState(pi, state);
|
saveState(pi, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
registerSkillReinjectCommand(pi, { state, runtime, persistState });
|
||||||
|
|
||||||
function trackSkillAndPersist(input: TrackSkillInput): void {
|
function trackSkillAndPersist(input: TrackSkillInput): void {
|
||||||
trackSkill(state, input);
|
trackSkill(state, input);
|
||||||
persistState();
|
persistState();
|
||||||
|
|||||||
Reference in New Issue
Block a user