Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
f1c587d
fix(coding-agent): avoid duplicate session reads
mitsuhiko Jul 19, 2026
9560746
fix(ai): replace generic record checks
mitsuhiko Jul 19, 2026
d2f8daf
fix(ai,agent,coding-agent): share UUIDv7 and use for Codex (#6834)
xl0 Jul 19, 2026
75cb0b8
fix(ai): support responses API for OpenCode Go
mitsuhiko Jul 19, 2026
94373d8
feat(ai): add shared contentText utility (#6840)
xl0 Jul 19, 2026
5f2f7d0
fix(tui): clear inverted cursor on exit to avoid dual cursor appearan…
dam9000 Jul 20, 2026
916de90
fix(pi-ai): normalize bin path to avoid consumer lockfile churn (#6812)
jmfederico Jul 20, 2026
87845fc
chore: approve contributor rsaryev
github-actions[bot] Jul 20, 2026
85f89db
chore: approve contributor QuintinShaw
github-actions[bot] Jul 20, 2026
8b93737
kimi: add low,high to k3 and remove k2p7 references
davidbrai Jul 20, 2026
da95649
lint fix
davidbrai Jul 20, 2026
21f92b3
run generate-models
davidbrai Jul 20, 2026
84fb69c
update npm shrinkwrap
davidbrai Jul 20, 2026
35f12c8
fix: gpt 5.6 context window (#6853)
aadishv Jul 20, 2026
9e7fce7
export missing message and tool execution event types (#6772)
davidbrai Jul 20, 2026
d9f7f81
fix: tool_call_id error when switching (#6854)
cristinaponcela Jul 20, 2026
bbb91fa
feat(ai): add Qwen Token Plan as built-in provider (#6858)
QuintinShaw Jul 20, 2026
2e810c2
fix: issue template links
cristinaponcela Jul 20, 2026
bb437b0
Merge pull request #6861 from cristinaponcela/fix/issue-linking
cristinaponcela Jul 20, 2026
3595e08
fix(tui): keep paste registry in sync when deleting paste markers
badlogic Jul 20, 2026
13437ca
fix(ai): normalize Kimi K2.7 to the canonical coding model
badlogic Jul 20, 2026
1942b26
fix: env section ignored (#6864)
cristinaponcela Jul 20, 2026
c179395
feat: get_available_thinking_levels rpc (#6865)
cristinaponcela Jul 20, 2026
2fd3868
add usage info to branch summary, compaction and tool result entries …
davidbrai Jul 20, 2026
f8b74a4
fix: complete extension usage accounting
badlogic Jul 20, 2026
c889eb8
fix(coding-agent): defer startup model catalog refresh
badlogic Jul 20, 2026
3a40794
feat(ai): regenerate models
mitsuhiko Jul 20, 2026
1235c0e
fix(agent): decouple agent streams from compat
badlogic Jul 20, 2026
ff99226
chore: approve contributor R-Taneja
github-actions[bot] Jul 20, 2026
c8c3cd4
fix(ai): validate generated model data before builds
mitsuhiko Jul 20, 2026
31dc078
update brace-expansion version
davidbrai Jul 21, 2026
bc62a57
Merge pull request #6896 from earendil-works/update-brace-expansion
davidbrai Jul 21, 2026
bb01973
chore: approve contributor zaycruz
github-actions[bot] Jul 21, 2026
890b354
run generate-models
davidbrai Jul 21, 2026
54fad50
fix(coding-agent): prefer newer generated model catalogs
mitsuhiko Jul 21, 2026
9e7582a
feat: sqlite session storage (#6594)
cristinaponcela Jul 21, 2026
8495f9d
chore: rename orchestrator to server (#6898)
cristinaponcela Jul 21, 2026
109c412
feat(agent): prepare SQLite storage package for publishing
badlogic Jul 21, 2026
74f8784
update deprecated github actions
davidbrai Jul 21, 2026
864b35c
fix(coding-agent): show llama download progress
badlogic Jul 21, 2026
c901d9a
docs: audit unreleased changelogs
badlogic Jul 21, 2026
c23b58a
feat(ai): update generated image models
badlogic Jul 21, 2026
d35237c
fix: build packages before release tests
badlogic Jul 21, 2026
3f1762c
Merge pull request #6902 from earendil-works/bump-github-actions-vers…
davidbrai Jul 21, 2026
9c480b6
Release v0.81.0
badlogic Jul 21, 2026
3dcb411
Add [Unreleased] section for next cycle
badlogic Jul 21, 2026
92e5c71
Merge upstream v0.81.0 into KKL main
junior-ricon Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/APPROVED_CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -279,3 +279,11 @@ ananthakumaran pr
andrebreijao pr

anh-chu pr

rsaryev pr

QuintinShaw pr

R-Taneja pr

zaycruz pr
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ body:
- type: markdown
attributes:
value: |
**Before you start:** Read [CONTRIBUTING.md](https://github.com/earendil-works/pi-mono/blob/main/CONTRIBUTING.md).
**Before you start:** Read [CONTRIBUTING.md](https://github.com/earendil-works/pi/blob/main/CONTRIBUTING.md).

New issues from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. Issues that do not meet the quality bar in [CONTRIBUTING.md](https://github.com/earendil-works/pi-mono/blob/main/CONTRIBUTING.md) will not be reopened or receive a reply.
New issues from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. Issues that do not meet the quality bar in [CONTRIBUTING.md](https://github.com/earendil-works/pi/blob/main/CONTRIBUTING.md) will not be reopened or receive a reply.

Keep this short. If it doesn't fit on one screen, it's too long. Write in your own voice.

Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/contribution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ body:
- type: markdown
attributes:
value: |
**Before you start:** Read [CONTRIBUTING.md](https://github.com/earendil-works/pi-mono/blob/main/CONTRIBUTING.md).
**Before you start:** Read [CONTRIBUTING.md](https://github.com/earendil-works/pi/blob/main/CONTRIBUTING.md).

New issues from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. Issues that do not meet the quality bar in [CONTRIBUTING.md](https://github.com/earendil-works/pi-mono/blob/main/CONTRIBUTING.md) will not be reopened or receive a reply.
New issues from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. Issues that do not meet the quality bar in [CONTRIBUTING.md](https://github.com/earendil-works/pi/blob/main/CONTRIBUTING.md) will not be reopened or receive a reply.

Keep this short. If it doesn't fit on one screen, it's too long. Write in your own voice.

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/package-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
value: |
Use this form to report a package listed on pi.dev. For Pi core bugs, use the bug report template instead.
New issues from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. Issues that do not meet the quality bar in [CONTRIBUTING.md](https://github.com/earendil-works/pi-mono/blob/main/CONTRIBUTING.md) will not be reopened or receive a reply.
New issues from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. Issues that do not meet the quality bar in [CONTRIBUTING.md](https://github.com/earendil-works/pi/blob/main/CONTRIBUTING.md) will not be reopened or receive a reply.
Keep this short. If it doesn't fit on one screen, it's too long. Write in your own voice.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 22
cache: npm
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/issue-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
steps:
- name: Verify sender permission
id: verify
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
ORG_READ_TOKEN: ${{ secrets.EARENDIL_ORG_READ_TOKEN }}
with:
Expand Down Expand Up @@ -254,19 +254,19 @@ jobs:
steps:
- name: Create high-entropy working directory name
id: workdir
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const crypto = require('crypto');
core.setOutput('name', `pi-ci-${crypto.randomBytes(16).toString('hex')}`);

- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
path: ${{ steps.workdir.outputs.name }}

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 22
cache: npm
Expand Down Expand Up @@ -319,7 +319,7 @@ jobs:

- name: Write auth.json
id: write_auth
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
PI_AUTH_JSON: ${{ secrets.PI_AUTH_JSON }}
with:
Expand All @@ -341,7 +341,7 @@ jobs:
}

- name: Run pi /is
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
PI_CODING_AGENT_DIR: ${{ runner.temp }}/pi-agent
GH_TOKEN: ${{ github.token }}
Expand Down Expand Up @@ -404,7 +404,7 @@ jobs:

- name: Persist refreshed auth.json
if: always() && steps.write_auth.outcome == 'success'
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
GH_TOKEN: ${{ secrets.PI_AUTH_UPDATE_TOKEN }}
PI_CODING_AGENT_DIR: ${{ runner.temp }}/pi-agent
Expand Down Expand Up @@ -457,7 +457,7 @@ jobs:
- name: Export session files
id: export_session_files
if: always()
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
PI_CODING_AGENT_DIR: ${{ runner.temp }}/pi-agent
WORKDIR: ${{ steps.workdir.outputs.name }}
Expand Down Expand Up @@ -509,7 +509,7 @@ jobs:
- name: Upload session gist
id: gist
if: always() && steps.export_session_files.outcome == 'success'
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
PI_GIST_TOKEN: ${{ secrets.PI_GIST_TOKEN }}
with:
Expand Down Expand Up @@ -540,7 +540,7 @@ jobs:

- name: Comment with session import instructions
if: always() && steps.gist.outcome == 'success'
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
GIST_URL: ${{ steps.gist.outputs.url }}
GIST_ID: ${{ steps.gist.outputs.id }}
Expand Down Expand Up @@ -619,7 +619,7 @@ jobs:

- name: Remove trigger label
if: always()
uses: actions/github-script@v7
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
try {
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ packages/*/dist/
packages/*/dist-chrome/
packages/*/dist-firefox/
packages/ai/src/providers/data/
packages/ai/src/providers/.model-generation-*/
*.cpuprofile

# Environment
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,9 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines and [AGENTS.m

```bash
npm install --ignore-scripts # Install all dependencies without running lifecycle scripts
npm run build # Build all packages
npm run check # Lint, format, and type check
npm run build # Refresh model data, then build all packages
npm run build:offline # Rebuild using existing model data without network access
npm run check # Lint, format, and type check
./test.sh # Run tests (skips LLM-dependent tests without API keys)
./pi-test.sh # Run pi from sources (can be run from any directory)
```
Expand Down
2 changes: 2 additions & 0 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
"includes": [
"packages/*/src/**/*.ts",
"packages/*/test/**/*.ts",
"packages/storage/*/src/**/*.ts",
"packages/storage/*/test/**/*.ts",
"packages/coding-agent/examples/**/*.ts",
"!**/node_modules/**/*",
"!**/test-sessions.ts",
Expand Down
65 changes: 42 additions & 23 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"type": "module",
"workspaces": [
"packages/*",
"packages/storage/*",
"packages/coding-agent/examples/extensions/with-deps",
"packages/coding-agent/examples/extensions/custom-provider-anthropic",
"packages/coding-agent/examples/extensions/custom-provider-gitlab-duo",
Expand All @@ -12,14 +13,17 @@
],
"scripts": {
"clean": "npm run clean --workspaces",
"build": "cd packages/tui && npm run build && cd ../ai && npm run build && cd ../agent && npm run build && cd ../coding-agent && npm run build && cd ../orchestrator && npm run build",
"build": "cd packages/tui && npm run build && cd ../ai && npm run build && cd ../agent && npm run build && cd ../storage/sqlite-node && npm run build && cd ../../coding-agent && npm run build && cd ../server && npm run build",
"build:offline": "cd packages/tui && npm run build && cd ../ai && npm run build:offline && cd ../agent && npm run build && cd ../storage/sqlite-node && npm run build && cd ../../coding-agent && npm run build && cd ../server && npm run build",
"check": "biome check --write --error-on-warnings . && npm run check:pinned-deps && npm run check:ts-imports && npm run check:shrinkwrap && npm run check:install-lock:coding-agent && tsgo --noEmit && npm run check:browser-smoke",
"check:browser-smoke": "node scripts/check-browser-smoke.mjs",
"check:pinned-deps": "node scripts/check-pinned-deps.mjs",
"check:shrinkwrap": "node scripts/generate-coding-agent-shrinkwrap.mjs --check",
"check:install-lock:coding-agent": "node scripts/generate-coding-agent-install-lock.mjs --check",
"check:ts-imports": "node scripts/check-ts-relative-imports.mjs",
"generate:models": "npm --prefix packages/ai run generate-models && npm --prefix packages/ai run generate-image-models",
"hydrate:model-data": "npm --prefix packages/ai run hydrate-model-data",
"check:model-data": "npm --prefix packages/ai run check:model-data",
"generate:model-catalog": "npm --prefix packages/ai run generate-model-catalog",
"diff:model-catalog": "node scripts/diff-model-catalog.mjs",
"check:model-catalog": "node scripts/publish-model-catalog.mjs --input .artifacts/model-catalog --dry-run",
Expand Down
12 changes: 12 additions & 0 deletions packages/agent/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

## [Unreleased]

## [0.81.0] - 2026-07-21

### Breaking Changes

- Changed `SessionStorage` to use `getPathToRootOrCompaction()`, require session name and statistics methods, support cursor-based entry reads, and store retained compaction tails as self-contained checkpoints ([#6594](https://github.com/earendil-works/pi/pull/6594) by [@cristinaponcela](https://github.com/cristinaponcela)).
- Moved the `uuidv7` export to `@earendil-works/pi-ai` ([#6834](https://github.com/earendil-works/pi/pull/6834) by [@xl0](https://github.com/xl0)).
- Replaced the optional `Agent` `streamFn` fallback with a required `streamFunction` and made low-level loop stream functions required, preventing `@earendil-works/pi-ai/compat` and all built-in providers from entering selective-provider bundles ([#6851](https://github.com/earendil-works/pi/issues/6851)).

### Added

- Added usage metadata to tool results, compaction entries, and branch summaries in the agent harness ([#6671](https://github.com/earendil-works/pi/pull/6671) by [@davidbrai](https://github.com/davidbrai)).

## [0.80.10] - 2026-07-16

## [0.80.9] - 2026-07-16
Expand Down
Loading