fix(pi-plugin): load native handoff SDK only on supported runtimes

This commit is contained in:
kartik-mem0
2026-09-10 18:28:55 +05:30
parent 82c32f993e
commit 0fb924051f
5 changed files with 50 additions and 3 deletions
+6 -1
View File
@@ -1,4 +1,4 @@
import { buildSessionContext, convertToLlm, type ExtensionAPI } from "@earendil-works/pi-coding-agent";
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
import { buildHandoffBundle, runHandoff } from "../../agent-plugin-core/typescript/src/handoff.ts";
export function registerHandoffCommand(pi: ExtensionAPI): void {
@@ -11,6 +11,11 @@ export function registerHandoffCommand(pi: ExtensionAPI): void {
}
try {
if (!ctx.isIdle()) throw new Error("Finish the current response before handing off this session.");
const [major, minor] = process.versions.node.split(".").map(Number);
if (major < 22 || (major === 22 && minor < 19)) {
throw new Error("Pi session handoff requires Node.js 22.19+ (the native Pi SDK requirement). Memory features remain available.");
}
const { buildSessionContext, convertToLlm } = await import("@earendil-works/pi-coding-agent");
const session = ctx.sessionManager;
const context = buildSessionContext(session.getEntries(), session.getLeafId());
const bundle = await buildHandoffBundle({