Skip to content

Switch the terminal UI stack to the official @earendil-works scope - #66

Merged
ApiliumDevTeam merged 2 commits into
devfrom
chore/merge-pi-earendil-migration
Jul 13, 2026
Merged

ApiliumDevTeam merged 2 commits into
devfrom
chore/merge-pi-earendil-migration

Conversation

@ApiliumDevTeam

Copy link
Copy Markdown
Collaborator

Summary

Moves the four core agent libraries from the original personal scope to the official `@earendil-works` scope and bumps them from 0.54.0 to 0.80.2. This brings the terminal UI, agent loop, model layer, and coding agent onto the maintained release line instead of the legacy personal-publish path.

  • `pi-agent-core`, `pi-ai`, `pi-coding-agent`, `pi-tui` now resolve under `@earendil-works/*@0.80.2`.
  • Adapts to the 0.54 → 0.80 API surface: namespaced keybinding ids, async autocomplete provider, `createCodingTools(cwd)`, `ModelRegistry`, `agent.state.*`, compat/oauth subpaths in pi-ai.
  • Adds a `pnpm` override so the bluebubbles plugin resolves its peer to the workspace package instead of pulling the published 0.1.1 that bundled the old vulnerable stack.
  • Closes the three remaining advisories on the old scope; `pnpm audit` reports no findings on `@earendil-works`.

Why

The original scope was a personal publish; the maintained line moved to `@earendil-works`. Staying on the legacy scope meant missing security patches, no further releases, and a name that does not match the project's identity.

Test plan

The @mariozechner/pi-{agent-core,ai,coding-agent,tui} packages were renamed
and deprecated ("use @earendil-works/... going forward"); their last published
version (0.73.1) is still affected by 3 open advisories with no fix. Migrate
the whole suite to @earendil-works/pi-* ^0.80.2, which carries the fixes.

- Repoint all import specifiers @mariozechner/pi-* -> @earendil-works/pi-*
  across src, extensions, scripts, skills, docs and the mac packaging script.
- Bump the 4 root deps to ^0.80.2.
- Adapt to the 0.54 -> 0.80 API surface:
  - pi-ai: legacy helpers (complete/completeSimple/stream/streamSimple/getModel/
    getEnvApiKey/streamOpenAIResponses) moved to the `@earendil-works/pi-ai/compat`
    subpath; OAuth helpers to `@earendil-works/pi-ai/oauth`; deep `/dist/...`
    imports repointed (types -> root, google-shared -> /api); onPayload callback
    now (payload, model); ProviderHeaders allows null values; typebox re-exported
    from pi-ai.
  - pi-tui: dropped the `Editor` infix (getKeybindings/setKeybindings/
    KeybindingsConfig/KeybindingsManager); KeybindingsManager(definitions,
    userBindings?); namespaced keybinding ids; async 4-arg AutocompleteProvider.
  - pi-coding-agent: codingTools -> createCodingTools(cwd); Skill.source ->
    Skill.sourceInfo.source; ModelRegistry.create(...)/getApiKeyForProvider;
    generateSummary headers param; createAgentSession tools is a name allowlist.
  - pi-agent-core: agent.replaceMessages/setSystemPrompt -> agent.state.*.
- Add pnpm override "@apilium/mayros": "workspace:*" so the bluebubbles plugin
  resolves its peer to the workspace package instead of pulling the published
  0.1.1, which bundled the old vulnerable pi suite.

Closes the 3 remaining pi-coding-agent advisories: pnpm audit no longer reports
any @mariozechner/pi or pi-coding-agent finding, and @earendil-works has none.

Verified: pnpm install, pnpm tsgo (0 errors), pnpm lint (0 errors), oxfmt on
changed files. Full test suite not run here (native deps + live keys); needs a
CI run and a smoke test of the agent runtime before merge.
@ApiliumDevTeam
ApiliumDevTeam merged commit 1a11439 into dev Jul 13, 2026
13 of 15 checks passed
@ApiliumDevTeam
ApiliumDevTeam deleted the chore/merge-pi-earendil-migration branch July 13, 2026 17:32
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