Skip to content

fix(pi-extension): hoist @earendil-works/pi-* runtime deps#984

Open
viadezo1er wants to merge 1 commit into
backnotprop:mainfrom
viadezo1er:cedric(fix)/pi-extension-hoist-earendil-deps
Open

fix(pi-extension): hoist @earendil-works/pi-* runtime deps#984
viadezo1er wants to merge 1 commit into
backnotprop:mainfrom
viadezo1er:cedric(fix)/pi-extension-hoist-earendil-deps

Conversation

@viadezo1er

@viadezo1er viadezo1er commented Jul 1, 2026

Copy link
Copy Markdown

Move @earendil-works/pi-ai, pi-agent-core, and pi-tui from devDependencies to dependencies so they are installed and hoisted alongside @plannotator/pi-extension.

These packages are imported at runtime by index.ts (e.g. import { Type } from "@earendil-works/pi-ai"), but were only listed as devDependencies/peerDependencies. pi installs extensions with peer-dep resolution disabled (--omit=peer / --legacy-peer-deps), so on a clean install or pi update the modules never land in the extension's node_modules and pi fails to open with:

  Failed to load extension: Cannot find module '@earendil-works/pi-ai'
  Require stack:
  - @plannotator/pi-extension/index.ts

The namespace was migrated from @mariozechner/* to @earendil-works/* in #729, which swapped the imports and devDependency pins but kept them as devDependencies, leaving no guaranteed install path for the runtime imports.

MIT & Apache 2.0 dual-licensing is fine.

 Move @earendil-works/pi-ai, pi-agent-core, and pi-tui from
 devDependencies to dependencies so they are installed and hoisted
 alongside @plannotator/pi-extension.

 These packages are imported at runtime by index.ts (e.g.
 `import { Type } from "@earendil-works/pi-ai"`), but were only listed
 as devDependencies/peerDependencies. pi installs extensions with
 peer-dep resolution disabled (--omit=peer / --legacy-peer-deps), so
 on a clean install or `pi update` the modules never land in the
 extension's node_modules and pi fails to open with:

   Failed to load extension: Cannot find module '@earendil-works/pi-ai'
   Require stack:
   - @plannotator/pi-extension/index.ts

 The namespace was migrated from @mariozechner/* to @earendil-works/*
 in backnotprop#729, which swapped the imports and devDependency pins but kept
 them as devDependencies — leaving no guaranteed install path for
 the runtime imports.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant