Phase 11: /skill-reinject now delegates to reinjectNow — SPEC §7.1.
Wire debug force re-inject through the existing immediate delivery path with registered skills from the session. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+13
-1
@@ -1,11 +1,14 @@
|
||||
import type { ExtensionAPI, ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
|
||||
import type { ExtensionAPI, ExtensionCommandContext, Skill } from "@earendil-works/pi-coding-agent";
|
||||
import { resolveDeliveryMode } from "./auto-compact.js";
|
||||
import { reinjectNow } from "./reinject.js";
|
||||
import { readSettings, writeGlobalSettings, type SkillReinjectSettings } from "./settings.js";
|
||||
import type { AutoCompactIntegration, ExtensionState, RuntimeFlags } from "./state.js";
|
||||
|
||||
export interface SkillReinjectCommandDeps {
|
||||
pi: ExtensionAPI;
|
||||
state: ExtensionState;
|
||||
runtime: RuntimeFlags;
|
||||
getRegisteredSkills: () => readonly Skill[];
|
||||
persistState: () => void;
|
||||
}
|
||||
|
||||
@@ -120,6 +123,10 @@ async function handleSkillReinjectCommand(
|
||||
handleIntegrationOverride(trimmed, ctx, deps);
|
||||
return;
|
||||
}
|
||||
if (subcommand === "now") {
|
||||
handleReinjectNow(ctx, deps);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctx.hasUI) {
|
||||
ctx.ui.notify(`skill-reinject: unknown subcommand "${subcommand}"`, "warning");
|
||||
@@ -219,3 +226,8 @@ function handleIntegrationOverride(
|
||||
const settings = readSettings(ctx);
|
||||
ctx.ui.notify(formatDeliveryLine(settings, deps.runtime, mode), "info");
|
||||
}
|
||||
|
||||
function handleReinjectNow(ctx: ExtensionCommandContext, deps: SkillReinjectCommandDeps): void {
|
||||
const settings = readSettings(ctx);
|
||||
reinjectNow(deps.pi, deps.state, settings, ctx, deps.getRegisteredSkills());
|
||||
}
|
||||
|
||||
+7
-1
@@ -45,7 +45,13 @@ export default function skillReinject(pi: ExtensionAPI): void {
|
||||
saveState(pi, state);
|
||||
}
|
||||
|
||||
registerSkillReinjectCommand(pi, { state, runtime, persistState });
|
||||
registerSkillReinjectCommand(pi, {
|
||||
pi,
|
||||
state,
|
||||
runtime,
|
||||
getRegisteredSkills: () => registeredSkills,
|
||||
persistState,
|
||||
});
|
||||
|
||||
function trackSkillAndPersist(input: TrackSkillInput): void {
|
||||
trackSkill(state, input);
|
||||
|
||||
Reference in New Issue
Block a user