singularity-forge/packages/pi-coding-agent/src
Tom Boucher 63a61196e8 fix: silence spurious extension load error for non-extension libraries (#1709) (#1747)
The extension loader emits "Extension does not export a valid factory
function" for shared libraries like cmux that live in the extensions/
directory but are not extensions. Previous fixes (#1537, #1545) added
pi manifest opt-out checks in the three discovery layers, but a
defense-in-depth gap remained: if any discovery path fails to filter
a library, loadExtension() reports it as a broken extension.

Add isNonExtensionLibrary() check in loadExtension() itself. When a
module does not export a factory function, the loader now checks the
nearest package.json for a "pi" manifest with no declared extensions
before reporting an error. Libraries with "pi": {} are silently
skipped instead of producing a spurious error on every startup.

Fixes #1709

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 08:54:19 -06:00
..
cli feat: dynamic model discovery & provider management UX (#581) 2026-03-16 06:23:18 -06:00
core fix: silence spurious extension load error for non-extension libraries (#1709) (#1747) 2026-03-21 08:54:19 -06:00
modes feat(pi): add Skill tool resolution (#1661) 2026-03-20 15:42:28 -06:00
resources/extensions/memory perf: add concurrency limits to unbounded Promise.all operations (#1029) 2026-03-17 18:29:28 -06:00
tests fix: normalize Windows paths in LLM-visible text to prevent bash failures (#874) (#884) 2026-03-17 09:02:23 -06:00
utils Merge pull request #1484 from frizynn/refactor/agent-session-decomposition 2026-03-19 15:48:59 -06:00
cli.ts feat: vendor Pi source into workspace monorepo 2026-03-12 21:55:17 -06:00
config.ts refactor: remove dead code (unused exports) (#1486) 2026-03-19 15:33:32 -06:00
index.ts feat(gsd): activate matching skills in dispatched prompts (#1630) 2026-03-20 13:20:06 -06:00
main.ts fix: failure recovery & resume safeguards (all 4 waves) (#956) 2026-03-17 16:03:49 -06:00
migrations.ts refactor: remove dead code (unused exports) (#1486) 2026-03-19 15:33:32 -06:00