Skip to content

chore(deps-dev): bump @earendil-works/pi-ai from 0.87.1 to 1.0.0 in /packages/pi-extension - #91

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

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

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 9, 2026

Copy link
Copy Markdown
Contributor

Bumps @earendil-works/pi-ai from 0.87.1 to 1.0.0.

Release notes

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

v1.0.0

New Features

  • Fullscreen by default — The TUI now runs fullscreen. Set tuiMode to "regular" to keep the terminal's normal scrollback. See Terminal and display.
  • Leaner codemode — About 40% fewer prompt tokens, and errors that tell the model how to recover. See Codemode.
  • Image generation in codemode — Scripts call models.generateImages() with the session's credentials. See Generate images and Use image models.
  • Radius in /login — Sign in with Radius and set up its MCP server in one step. See Radius.
  • Anthropic copy code login — Sign in when the browser runs on another machine. See Authenticate interactively.
  • MCP OAuth hardening — oauth.authServerMetadataUrl, RFC 9207 iss checks, credentials per server, and step-up sign-in that keeps granted scopes. See Authenticate with OAuth.
  • Header-only quiet startup — quietStartup: "header" keeps the version and key hints and hides the rest. See Terminal and display.

Added

  • Added an oauth.authServerMetadataUrl setting for MCP servers that advertise a wrong OAuth authorization server or none. Pi uses the configured metadata document instead of discovery (#10172).
  • Added quietStartup: "header", which keeps the startup header with version and key hints but hides the model scope line and loaded-resource listing.
  • Added models.generateImages() to codemode scripts. It runs image models such as OpenRouter's with the session's credentials and returns base64 image blocks that image() attaches to the result; usage counts toward the session cost like models.classify(). Extensions can call ctx.modelRegistry.generateImages(). See Use image models.
  • Added a copy code login method to Anthropic /login for headless setups where the browser runs on another machine (#10194 by @​lucasmeijer).

Changed

  • Changed the default TUI mode to fullscreen. Set tuiMode to "regular" or pass --tui-mode regular to keep the terminal's normal scrollback.
  • /login now offers "Sign in with Radius" at the top level, as the last option, with its status. After a Radius sign-in, /login offers to configure the Radius MCP server in the global mcp.json with "auth": { "provider": "radius" } and reloads. Cancelling a login returns to the menu it was started from.
  • The provider docs page is renamed to Providers, its "Cloud Providers" section is now "Provider Specific Config", and it documents Radius first.
  • MCP OAuth credentials are now stored per server name and URL, so MCP servers with the same URL can sign in with different accounts. Credentials stored by URL alone move to the first server that uses them (#10252).
  • Codemode costs far fewer prompt tokens: with the default tools and codemode active, a GPT-5.6 request shrinks from about 5,300 to 3,300 tokens. The codemode description lists the script globals in one line each and points to the new Codemode reference for the models API, which the model reads when it needs it. Declared tools say in one line how scripts call them and what the call resolves to, instead of repeating their full declaration, and the system prompt's codemode guidance and MCP server section are shorter.
  • Codemode errors now say how to recover: reading a tool or models member that does not exist names the close matches (tools.Bash suggests tools.bash), models.classify() and models.generateImages() reject malformed arguments with the expected shape, an unknown model points to models.getAvailableOfType(), an oversized store() value explains what the store is for, and a script that generates images without showing them gets a note. Scripts that probed for a tool with typeof tools.name must use "name" in tools.
  • /login and /logout now label providers without credentials as "not configured" instead of "unconfigured".
  • OAuth browser pages now show the color Pi logo.

Fixed

  • Fixed MCP OAuth sign-in accepting an authorization response whose iss parameter names another authorization server; the code is now rejected before it is exchanged (RFC 9207).
  • Fixed MCP OAuth sign-in failing with Invalid scope when the token response contains "scope": "", and similar failures for other empty or null optional OAuth fields (#10266).
  • Fixed the sign-in URL printed by /mcp login not being clickable when it wraps (#10186).
  • Fixed --provider without --model being silently ignored and running the default model from another provider; it now fails with an error (#10236).
  • Fixed MCP servers that ask for more scope (insufficient_scope) requesting sign-in over and over. The new sign-in requested only the missing scopes, so the new token lost access the previous one had; it now keeps the granted scopes.
  • Fixed user messages in the transcript keeping two full-width copies of every rendered line; they keep one, with identical output.
  • Fixed /login and /logout labeling every OAuth sign-in, including Radius, as a subscription; only subscription-backed providers say "subscription", other OAuth sign-ins say "account".
  • Fixed the startup header logo rendering with gaps in Apple Terminal; it now shows a colored "Pi" with the version instead.
  • Fixed deferred MCP tools that tool_search loaded being dropped on resume and /reload even when their server reconnected before the next prompt, because the session restored its tools before the MCP servers reconnected.
  • Fixed the system theme making pastel palettes such as Catppuccin Frappe much more vivid; palette colors now keep their chroma (#10255, #10293 by @​dgtlntv).
  • Fixed slash command autocompletion not triggering when the input starts with whitespace (#10218 by @​haoqixu).
  • Fixed color bleeding past mouse selections and search highlights in fullscreen mode when a styled token ends at the highlight boundary (#10169).
  • Fixed memory retained per rendered message in the transcript; a long assistant message keeps about a fifth of the heap it kept before.

v0.99.2

New Features

  • MCP servers stay out of the way: servers with the default codemode exposure are no longer listed in the codemode description and no longer block the first prompt. They appear in a short system prompt section, and scripts find their tools with searchTools() and describeNamespace(). See Control tool exposure.
  • More MCP authentication options: oauth.clientName for servers that only accept known OAuth clients, and "auth": { "provider": "<provider>" } to authenticate HTTP servers with a provider's /login token. See Authenticate with OAuth.

... (truncated)

Changelog

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

[1.0.0] - 2026-10-01

Added

  • Added a copy code login method to Anthropic OAuth. Login asks for browser login (default) or copy code login, which shows the authorization code on Anthropic's page for pasting into pi and works when the browser runs on another machine (#10194 by @​lucasmeijer).

Changed

  • Changed OAuth browser pages to use the color Pi logo.

Fixed

  • Fixed OpenAI Responses requests failing with Expected an ID that begins with 'ctc' when replaying grammar tool calls, such as codemode, from another provider or a gateway like Radius.

[0.99.2] - 2026-09-30

Added

  • Added the lightweight @earendil-works/pi-ai/models entry point for model collections and provider construction without loading TypeBox, built-in catalogs, or provider SDKs.
  • Added Anthropic workload identity federation from the Anthropic SDK environment variables ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID, and ANTHROPIC_IDENTITY_TOKEN_FILE (plus optional ANTHROPIC_SERVICE_ACCOUNT_ID and ANTHROPIC_WORKSPACE_ID). API keys and ANTHROPIC_AUTH_TOKEN take precedence (#10177, #10242 by @​philfreo)

Fixed

  • Fixed context overflow detection for Z.AI CN endpoint Prompt exceeds max length errors (#10208)
  • Fixed Anthropic requests failing when a strict: "prefer" tool schema uses keywords Anthropic strict tool use rejects, such as minimum/maximum; such tools are now sent non-strict (#9953)
  • Fixed provider retries firing immediately when a Retry-After header contains an unparseable date; they now use exponential backoff (#9571)

[0.99.1] - 2026-09-29

Added

  • Added GPT-6.1 Sol (gpt-6.1-sol) to the OpenAI, Azure OpenAI Responses, and OpenAI Codex providers.

[0.99.0] - 2026-09-29

Breaking Changes

  • Unified image models into the regular Provider/Models surface. The separate ImagesModels collection is removed: createImagesModels(), createImagesProvider(), ImagesProvider, openrouterImagesProvider(), builtinImagesProviders(), and builtinImagesModels() are gone. Use builtinModels(), models.getModelOfType("image", ...), models.generateImages(), and createProvider({ models, images }) instead. Existing unqualified reads remain chat-only.
  • Image models are now ImageModel with a required type: "image" and share BaseModel with chat models. The old plural image type names (ImagesModel, ImagesApi, KnownImagesApi, KnownImagesProvider, and ImagesProviderId) are removed. generateImages() accepts only image models. Output modalities (output) remain on image models only.
  • Generated model data schema is now version 6: every entry carries type, operation-specific catalogs include chat, image, and classifier models, and one upstream ID may have separate entries per type. OpenRouter image models live in the openrouter-images api group of openrouter.json; image-models.generated.ts and scripts/generate-image-models.ts are removed. Run npm run hydrate:model-data.

Added

  • Added Models.generateImages() with provider-resolved auth, Provider.generateImages?, and createProvider({ images }) keyed by model.api. createProvider() models and fetchModels accept models of every type, and api is optional when images or classifiers is given.
  • Added an optional model type ("chat", "image", or "classifier"). Chat models may omit it, so existing chat models, providers, and stores keep working unchanged. Narrow mixed lists with the new isModelType() guard or read the effective type with getModelType().
  • Added getModelsOfType(), getModelOfType(), getAvailableOfType(), getAllModels(), and getAllAvailable() on Models; optional Provider.getAllModels() and Provider.filterAllModels(); corresponding generated-catalog accessors; and the AnyModel and ModelTypeMap types. hasApi(), calculateCost(), and modelsAreEqual() accept AnyModel.
  • Added support for models of every type in ModelsStoreEntry.models. Stored and fetched models of unknown types are dropped instead of failing a refresh.
  • Added classifier models and Models.classify() with a provider-neutral JEV-style choice/score/bool contract. The built-in TypeSafe provider exposes models.dev's jev-latest through the System One API and translates public bool questions to TypeSafe's noul wire format.
  • Added Jev classifier models on OpenRouter (typesafe/jev-1.13, ~typesafe/jev-latest) through its TypeSafe-compatible System One endpoint, and on Cloudflare Workers AI (typesafe/jev) through the new cloudflare-workers-ai-system-one classifier API.
  • Added Jev classifier models on Vercel AI Gateway (typesafe-ai/jev, generated from its evaluation model catalog) and OpenCode Zen (jev-1.13, jev-1.13-free) through their TypeSafe-compatible System One endpoints.

... (truncated)

Commits
  • a13d35a Release v1.0.0
  • bc2d8dc fix(ai): drop mismatched item ids when replaying grammar tool calls
  • 92fc452 docs: audit changelogs and add new features for next release
  • 233f174 fix(ai): use color Pi logo on OAuth pages
  • 7a11fe1 feat(ai): add copy code login method to Anthropic OAuth (#10194)
  • 955cc66 Add [Unreleased] section for next cycle
  • 005af57 Release v0.99.2
  • 002c183 docs(ai,coding-agent): audit unreleased changelog entries
  • a9424cd feat(ai): Anthropic workload identity federation (#10242)
  • 2bbfcca fix(ai): use exponential backoff when Retry-After is unparseable
  • 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.87.1 to 1.0.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/v1.0.0/packages/ai)

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

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 Oct 9, 2026
@dependabot @github

dependabot Bot commented on behalf of github Oct 13, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #93.

@dependabot dependabot Bot closed this Oct 13, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/packages/pi-extension/earendil-works/pi-ai-1.0.0 branch October 13, 2026 13:30
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