Skip to content

chore(deps-dev): bump @earendil-works/pi-ai from 0.85.1 to 0.87.0 in /packages/pi-extension - #79

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/packages/pi-extension/earendil-works/pi-ai-0.87.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/packages/pi-extension/earendil-works/pi-ai-0.87.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 29, 2026

Copy link
Copy Markdown
Contributor

Bumps @earendil-works/pi-ai from 0.85.1 to 0.87.0.

Release notes

Sourced from @​earendil-works/pi-ai's releases.

v0.87.0

New Features

  • Canonical session context and extension boundaries — Edit model context without rewriting history and add actionable lifecycle hooks. See ContextEditEntry and extension events.
  • Full-transcript context extensions — Use context_with_system for per-request system-message transformations. See context_with_system.
  • Per-model image input limits — Configure cache-safe image resizing per model for attachments, read, and tool-result images. See Image Input Limits.

Breaking Changes

  • Removed the inherited shouldStopAfterTurn agent option. Use finishTurn and return { action: "end" } instead. finishTurn runs before turn_end but applies the decision afterward, and it also receives error and aborted responses; migrate normal-response predicates by returning undefined for those hard exits. See the @earendil-works/pi-agent-core changelog for a complete before-and-after example.
  • Added ContextEditEntry to the exported SessionEntry union. TypeScript consumers with exhaustive entry switches must handle context_edit; use replacement: null for omission and a content replacement otherwise.
  • Made SessionManager canonical for AgentSession provider context. Assigning session.agent.state.messages no longer replaces future request history; restore with SessionManager.inMemory(cwd, { id }, entries), navigate with session.navigateTree(), or append through session.sessionManager and call session.refreshContext().
  • Expanded TurnEndEvent with required boundary fields and added AgentBeforeSettleEvent to the exported ExtensionEvent union. Consumers constructing events or exhaustively switching on ExtensionEvent must handle the new shapes. ExtensionRunner.emit() no longer accepts turn_end; host integrations dispatch actionable boundaries with emitBoundary(baseEvent, buildContext).
  • Deferred runs requested from agent_settled handlers until all settled handlers finish. Handlers still observe ctx.isIdle() === true, but no longer see a reentrant agent_start during the same notification dispatch.

Added

  • Added append-only model-context edits. For example, sessionManager.appendContextEdit(entryId, null) omits one message from future provider context without changing raw history, usage, or UI history.
  • Added actionable turn_end and agent_before_settle extension boundaries. Return { entries: [...event.entries, draft], continue: true } to persist structural entries in order and ensure one next provider request without changing steering or follow-up scheduling.
  • Added retain-none compaction input: sessionManager.appendCompaction(summary, null, tokensBefore) stores the compaction's own ID as its kept boundary.
  • Added the context_with_system extension event, which runs after context handlers on the full transcript including system messages and sends its result verbatim. See context_with_system.
  • Added per-model image resize profiles through inputLimits.images.resize in models.json, applied to file attachments, image reads, and tool-result images (#9631).

Fixed

  • Fixed string context-edit replacements producing invalid assistant and tool-result message content instead of text blocks.
  • Fixed context-invisible boundary metadata and replacement edits causing newly appended or replaced input to be summarized before its first provider request.
  • Fixed edited-context accounting both discarding valid assistant usage captured after the latest context edit and reusing that usage after a later compaction made it stale.
  • Fixed selected error retries and final length/overflow recovery retaining abandoned model attempts in future provider context; post-run recovery omissions are now persisted without hiding raw transcript history or changing queue scheduling.
  • Fixed context handlers that filter or slice messages dropping the prompt and tool declarations, which after extension-driven compaction left requests without built-in tools or made Codex emit raw tool-call text. Handlers no longer see system messages; Pi restores the prompt and tool state after they run. See context (#9789, #9822).
  • Fixed /bug allowing uploads in offline mode while preserving local zip exports (#9841 by @​christianklotz).
  • Fixed idle prompt-cache warming rebuilding expired caches when its timer or an extension decision is delayed.
  • Improved crash diagnostics with hints identifying loaded extensions that appear in the stack trace.
  • Fixed text files beginning with GIF being misclassified as images and omitted from read and CLI @file input (#9755).
  • Fixed malformed prompt template frontmatter being silently ignored instead of reported as a resource warning (#9830 by @​christianklotz).
  • Fixed inherited unknown OpenAI-compatible Chat Completions endpoints receiving strict tool schemas unless they explicitly advertise support (#9816).

v0.86.1

New Features

  • Meta Muse provider — Sign in with Meta using /login meta or use META_API_KEY to access Muse Spark models. See Meta (Muse subscription).

Added

  • Added Meta (Muse subscription) login via /login meta with automatic Model API key refresh, plus META_API_KEY support (#9096 by @​xl0).

Changed

  • Enabled Node's persistent compile cache before loading the bundled CLI runtime, reducing repeat launch time.

... (truncated)

Changelog

Sourced from @​earendil-works/pi-ai's changelog.

[0.87.0] - 2026-09-21

Added

  • Added model image-input limit and cache-safe resize metadata to the generated catalog (#9631).

Fixed

  • Fixed unknown OpenAI-compatible Chat Completions endpoints receiving strict tool schemas unless they explicitly advertise support, while preserving strict tools for capable built-in models (#9816).

[0.86.1] - 2026-09-20

Added

  • Added Meta provider (Model API key and Muse subscription OAuth) with Muse Spark models (#9096 by @​xl0).

Fixed

  • Fixed z.ai Prompt too long errors not being recognized as context overflow (#9805).
  • Fixed Cerebras models advertising unsupported strict tool schemas, which caused HTTP 400 errors when strict and non-strict tools were mixed (#9804 by @​EdenGottlieb).

[0.86.0] - 2026-09-19

Breaking Changes

  • Changed provider-facing ProviderStreams and StreamFunction inputs from Context to normalized TranscriptContext values. System prompts and tool declarations now live in transcript system messages; custom providers must read them with getCurrentSystemPrompt() and getCurrentTools(). See System Messages.
  • Restricted ToolCall.arguments and ToolResultMessage.details to JSON-compatible values, changed ToolResultMessage into a conditional type, and made JsonValue arrays readonly.

Added

  • Added transcript-backed mid-conversation system prompt and tool changes, with native replay on supported models and automatic collapse for other providers. See System Messages (#9548).
  • Added a generated public Radius model catalog for synchronous API lookup, with cached and live gateway catalogs overlaid at runtime.
  • Enabled native deferred tool loading for Fireworks Messages models. Use ToolSearch or tool_search as the loader name for prompt-prefix deferral (#9323).
  • Added RetryPolicy.maxAgentDelayMs support to cap shared assistant retry backoff for summarization calls (#8826).
  • Added Model.promptCache lifetime metadata for short and long retention tiers to support prompt-cache warming decisions (#9668).

Fixed

  • Fixed GitHub Copilot GPT models, including GPT-6 Astra, using the Chat Completions adapter instead of the required Responses adapter (#9253 by @​petrroll).
  • Fixed DeepSeek V4.1 thinking levels on OpenRouter and OpenCode Go preserving provider effort metadata (#9485).
  • Fixed bodyless HTTP 400/413 errors from non-Cerebras providers being misclassified as context overflow (#9482).
  • Fixed Vercel AI Gateway replaying unsigned thinking as assistant text (#9676).
  • Fixed Google Generative AI and Vertex AI using unsupported thinking levels when reasoning is omitted or when model capabilities differ within a Gemini family (#9455).
  • Fixed Anthropic-compatible relays breaking signed thinking replay when they report a different response model, while preserving fallback pricing (#9188).
  • Fixed Amazon Bedrock one-hour cache writes being priced at the five-minute rate (#9457).
  • Fixed quadratic CPU usage when draining buffered EventStream events (#9055).
  • Fixed Mistral Medium reasoning requests to use reasoning_effort for all reasoning-capable mistral-medium-* model IDs instead of the unsupported prompt_mode (#8700).
  • Fixed OpenCode and OpenCode Go requests to send x-opencode-session from sessionId across all supported API adapters (#9326).
  • Fixed OpenAI Codex requests to send the model's Off reasoning effort instead of omitting it, while respecting unsupported Off mappings (#9191).
  • Fixed Fireworks unsigned thinking replay and reasoning effort selection using catalog metadata, with verified DeepSeek V4 and Qwen3.8 fallbacks and removal of redundant GLM 5.2 and Kimi K3 effort aliases (#9323).

... (truncated)

Commits
  • 16787ad Release v0.87.0
  • 8bfef4d fix(ai): update strict mode test expectations
  • 890f920 fix(ai): default unknown providers to non-strict tools (closes #9816)
  • f5c9464 feat(ai,coding-agent): add image input limits (closes #9631)
  • 19451ac Add [Unreleased] section for next cycle
  • 13cbf77 Release v0.86.1
  • 68f9802 docs: audit Cerebras fix changelog entries
  • af7359b fix(ai): exclude Cerebras from supportsStrictMode (#9804)
  • 0e28320 fix(ai): detect z.ai prompt-too-long errors
  • ee2df31 docs: audit post-release changelog entries
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [@earendil-works/pi-ai](https://github.com/earendil-works/pi/tree/HEAD/packages/ai) from 0.85.1 to 0.87.0.
- [Release notes](https://github.com/earendil-works/pi/releases)
- [Changelog](https://github.com/earendil-works/pi/blob/main/packages/ai/CHANGELOG.md)
- [Commits](https://github.com/earendil-works/pi/commits/v0.87.0/packages/ai)

---
updated-dependencies:
- dependency-name: "@earendil-works/pi-ai"
  dependency-version: 0.87.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 29, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #81.

@dependabot dependabot Bot closed this Sep 30, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/packages/pi-extension/earendil-works/pi-ai-0.87.0 branch September 30, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants