> ## Documentation Index
> Fetch the complete documentation index at: https://vibes-sdk.a7ul.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Auto-Updates from Pydantic AI

> How @vibesjs/sdk tracks Pydantic AI releases and stays up to date.

## How this framework stays current

Vibes is deliberately modeled on [Pydantic AI](https://ai.pydantic.dev). As Pydantic AI evolves  -  adding new features, fixing bugs, refining its API  -  Vibes tracks those changes and ports the relevant ones to TypeScript.

This process is automated.

## The update pipeline

A GitHub Actions workflow runs every day at 9am UTC. It checks whether a new version of `pydantic-ai` has been published to PyPI. If one has, and no open issue already exists for that version, it:

1. **Fetches the release notes** from the Pydantic AI GitHub release
2. **Diffs the changed files** between the old and new tags to identify what actually changed
3. **Highlights the relevant files**  -  agent logic, tool handling, result validators, streaming, MCP, graph  -  the parts that map to Vibes concepts
4. **Opens a GitHub Issue** with the full porting checklist and assigns it to the GitHub Copilot coding agent via GraphQL
5. **Copilot opens exactly one PR** referencing the issue, using `.claude/vibes-pydantic-porting.md` as its porting guide
6. **Merging the PR closes the issue automatically** — no manual cleanup needed

You only ever manage one PR. The issue is just the trigger and disappears when the PR is merged. The Copilot agent's output is always reviewed by a human before merging; complex architectural changes go through a full design review.

<Note>
  The workflow requires a fine-grained PAT stored as `VIBES_GH_PAT` with **Actions**, **Contents**, **Issues**, and **Pull requests** read/write permissions scoped to this repository. This is needed because `GITHUB_TOKEN` cannot assign the Copilot coding agent.
</Note>

## What gets ported

Not everything in a Pydantic AI release is relevant to Vibes. The porting guide categorises each change as:

| Category                    | Action                                                                                     |
| --------------------------- | ------------------------------------------------------------------------------------------ |
| New agent framework feature | Port to TypeScript  -  new file in `packages/sdk/lib/`, exported from `mod.ts`, documented |
| Breaking API change         | Update Vibes equivalent, add migration note to changelog                                   |
| Bug fix                     | Port if the same bug could exist in Vibes                                                  |
| Python-only concern         | Skip  -  noted as "not applicable" in the PR                                               |
| Dependency / tooling        | Skip                                                                                       |

The [Feature Parity](/reference/features) table is updated with every porting cycle to reflect current status.

## What gets skipped

Some Pydantic AI features have no direct TypeScript equivalent and are intentionally not ported:

* Python-specific runtime concerns (asyncio internals, `__init__.py` organisation)
* Features already covered by the Vercel AI SDK (provider integrations, tokenisation)
* Pydantic-specific validation patterns (replaced by Zod in Vibes)

These are documented in the Feature Parity table as "Not implemented  -  skipped by design".

## The porting guide

The file `.claude/vibes-pydantic-porting.md` in this repository is the canonical reference for how Pydantic AI Python concepts map to Vibes TypeScript equivalents. It covers:

* Framework structure and file locations
* How `RunContext[Deps]` maps to `RunContext<TDeps>`
* How Pydantic validators map to Zod schemas
* Streaming patterns (asyncio generators → AI SDK streams)
* Testing patterns (`TestModel`, `FunctionModel`)
* MCP, graph workflows, and multi-agent patterns

The Copilot agent and human contributors both use this document when implementing a port.

## Tracking a specific release

The currently tracked version of Pydantic AI is stored in `.github/pydantic-ai-version.txt`. To check what version Vibes is currently aligned with:

```bash theme={null}
cat .github/pydantic-ai-version.txt
```

To see the full history of porting work, filter GitHub Issues by the [`pydantic-ai-update`](https://github.com/a7ul/vibes/issues?q=label%3Apydantic-ai-update) label.

## Running the workflow manually

The workflow can be triggered manually from the [Actions tab](https://github.com/a7ul/vibes/actions/workflows/pydantic-ai-update.yml) using the **Run workflow** button. This is useful after a manual version bump or to re-run a failed cycle.
