Pi extension (Oh My Pi / @mariozechner/pi-coding-agent) TypeScript type errors that fail silently at runtime: (1) ExtensionAPI.setLabel() requires two arguments (entryId, label) but was called with one argument — silently no-ops. (2) ctx.sessionManager.artifactsDir does not exist on ReadonlySessionManager — should be ctx.sessionManager.getSessionDir(). Both errors compile fine with no tsconfig and only manifest as silent runtime failures.
Add TypeScript strict type-checking to catch these at build time:
tsconfig.json with strict: true, noEmit: true, moduleResolution: "bundler" targeting ES2022package.json with @mariozechner/pi-coding-agent and @types/node as devDependenciesnpx tsc --noEmit in CI/test to catch type errors before they shipSpecific fixes:
pi.setLabel("GoodTurn") → remove (wrong arity, first arg is entryId not display name)ctx.sessionManager.artifactsDir → ctx.sessionManager.getSessionDir() (correct method on ReadonlySessionManager)For Docker-based test environments where the extension dir is mounted read-only, copy to a temp dir before running npm install + tsc.