feat(coding-agent): add ctx.getSystemPrompt() to extension context

Adds a method to access the effective system prompt (after any per-turn
extension modifications) from the extension context.

Implementation:
- Add systemPrompt getter to AgentSession reading from agent.state.systemPrompt
- Wire getSystemPrompt through ExtensionContextActions to ExtensionRunner
- Add getSystemPrompt to interactive-mode's shortcut context
- Update docs with ctx.getSystemPrompt() section
- Add system-prompt-header.ts example
- Add example to docs reference table

Closes #1098
This commit is contained in:
Mario Zechner 2026-01-30 17:44:25 +01:00
parent abd0c47b03
commit 99281e5913
7 changed files with 46 additions and 0 deletions

View file

@ -0,0 +1,17 @@
/**
* Displays a status widget showing the system prompt length.
*
* Demonstrates ctx.getSystemPrompt() for accessing the effective system prompt.
*/
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
export default function (pi: ExtensionAPI) {
pi.on("agent_start", (_event, ctx) => {
const prompt = ctx.getSystemPrompt();
ctx.ui.setStatus("system-prompt", `System: ${prompt.length} chars`);
});
pi.on("session_shutdown", (_event, ctx) => {
ctx.ui.setStatus("system-prompt", undefined);
});
}