repositories / pi-ext
pi-ext
bugabingas pi extensions
owned by admin
extensions/ultra/index.ts
Raw// ultra entry point: keep startup limited to command, result rendering, and the auto-enable check.
import { fileURLToPath } from "node:url";
import type {
ExtensionAPI,
ExtensionCommandContext,
ExtensionContext,
} from "@earendil-works/pi-coding-agent";
import { getMarkdownTheme } from "@earendil-works/pi-coding-agent";
import { type AutocompleteItem, Markdown } from "@earendil-works/pi-tui";
import type { WorkflowResult } from "./engine.ts";
import { formatUltraResultMarkdown } from "./result.ts";
import {
effectiveModelTiers,
fanoutToolPolicyPrompt,
loadUltraSettings,
modelTierPrompt,
} from "./settings.ts";
import { closeDebug, dbg, span } from "./src/debug.ts";
const ULTRA_AUTHORING_SKILL_PATH = fileURLToPath(
new URL("./prompts/ultra-authoring/SKILL.md", import.meta.url),
);
interface UltraRuntime {
activateWorkflowTool(): void;
subagentFlagSection(ctx: ExtensionContext): Promise<string | undefined>;
getArgumentCompletions(prefix: string): AutocompleteItem[] | null;
handleCommand(
argString: string,
ctx: ExtensionCommandContext,
): Promise<
| "completed"
| "incomplete"
| "aborted"
| "disabled"
| "invalid"
| "failed"
| "skipped"
>;
}
export default function ultraExtension(pi: ExtensionAPI) {
pi.on("resources_discover", (_event, ctx) => {
const settings = loadUltraSettings(pi, ctx);
return settings.enabled
? { skillPaths: [ULTRA_AUTHORING_SKILL_PATH] }
: undefined;
});
pi.registerMessageRenderer<WorkflowResult>(
"ultra-result",
(message, options, theme) => {
if (!message.details)
return new Markdown(
"ultra result missing details",
0,
0,
getMarkdownTheme(),
);
return new Markdown(
formatUltraResultMarkdown(message.details, options.expanded),
0,
0,
getMarkdownTheme(),
{ color: (text) => theme.fg("customMessageText", text) },
);
},
);
let runtimePromise: Promise<UltraRuntime> | undefined;
const runtime = () =>
(runtimePromise ??= import("./implementation.ts").then(
({ createUltraRuntime }) => createUltraRuntime(pi),
));
pi.on("session_start", async (_event, ctx) => {
dbg?.("session.start");
const settings = loadUltraSettings(pi, ctx);
if (settings.enabled && settings.autoEnable)
(await runtime()).activateWorkflowTool();
});
pi.on("session_shutdown", () => {
dbg?.("session.shutdown");
closeDebug();
});
pi.on("before_agent_start", async (event, ctx) => {
if (!pi.getActiveTools().includes("run_workflow")) return;
const settings = loadUltraSettings(pi, ctx);
if (!settings.enabled) return;
event.systemPromptOptions.sections.ultra_model_tier_policy =
modelTierPrompt(effectiveModelTiers(settings, ctx.model?.provider));
event.systemPromptOptions.sections.ultra_fanout_tool_policy =
fanoutToolPolicyPrompt(settings.fanoutToolAllowlist);
// run_workflow is active, so the runtime is already loaded.
const flags = await (await runtime()).subagentFlagSection(ctx);
if (flags) event.systemPromptOptions.sections.ultra_subagent_flags = flags;
});
pi.registerCommand("ultra", {
description:
"Enable ultra, execute workflow instructions, or run a saved workflow.",
getArgumentCompletions: async (prefix) =>
(await runtime()).getArgumentCompletions(prefix),
handler: async (argString, ctx) => {
const finish = span?.("command.handle");
try {
const outcome = await (await runtime()).handleCommand(argString, ctx);
finish?.("finish", { outcome });
} catch (error) {
finish?.("error", { outcome: "failed" });
throw error;
}
},
});
}