Release v1.5.0

This commit is contained in:
Armin Ronacher 2026-11-02 11:35:40 +01:00
parent 513f6f1ce8
commit f9a2636556
35 changed files with 121 additions and 121 deletions

View file

@ -1,3 +1,3 @@
{
"revision": "sha256-7fe1b41feaf43a7aad4bc832e6b306c7ced56e6d41bbc724b74e91eeacff6edf"
"revision": "sha256-f4dbabe79cda4b38aee4a761b23fd5eaf526ac2e28fed3c9ee86e37ca0e5d71e"
}

72
package-lock.json generated
View file

@ -5654,11 +5654,11 @@
},
"packages/agent": {
"name": "@earendil-works/pi-agent-core",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-schema": "1.4.0"
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-schema": "1.5.0"
},
"devDependencies": {
"@types/node": "22.19.19",
@ -5677,13 +5677,13 @@
},
"packages/ai": {
"name": "@earendil-works/pi-ai",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.129.0",
"@aws-sdk/client-bedrock-runtime": "3.1127.0",
"@earendil-works/pi-schema": "1.4.0",
"@earendil-works/pi-telemetry": "1.4.0",
"@earendil-works/pi-schema": "1.5.0",
"@earendil-works/pi-telemetry": "1.5.0",
"@google/genai": "2.21.0",
"@smithy/node-http-handler": "4.12.1",
"http-proxy-agent": "9.1.0",
@ -5766,11 +5766,11 @@
},
"packages/chord": {
"name": "@earendil-works/chord",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"@earendil-works/pi-schema": "1.4.0",
"@earendil-works/pi-telemetry": "1.4.0"
"@earendil-works/pi-schema": "1.5.0",
"@earendil-works/pi-telemetry": "1.5.0"
},
"devDependencies": {
"@types/ws": "8.18.2",
@ -5795,7 +5795,7 @@
},
"packages/codemode": {
"name": "@earendil-works/pi-codemode",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"quickjs-wasi": "3.6.2"
@ -5809,14 +5809,14 @@
},
"packages/coding-agent": {
"name": "@earendil-works/pi-coding-agent",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"@earendil-works/pi-agent-core": "1.4.0",
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-codemode": "1.4.0",
"@earendil-works/pi-mcp": "1.4.0",
"@earendil-works/pi-tui": "1.4.0",
"@earendil-works/pi-agent-core": "1.5.0",
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-codemode": "1.5.0",
"@earendil-works/pi-mcp": "1.5.0",
"@earendil-works/pi-tui": "1.5.0",
"@silvia-odwyer/photon-node": "0.3.4",
"brace-expansion": "5.0.12",
"chalk": "6.0.0",
@ -5853,25 +5853,25 @@
},
"packages/coding-agent/examples/extensions/custom-provider-anthropic": {
"name": "pi-extension-custom-provider-anthropic",
"version": "1.4.0",
"version": "1.5.0",
"dependencies": {
"@anthropic-ai/sdk": "0.52.0"
}
},
"packages/coding-agent/examples/extensions/custom-provider-gitlab-duo": {
"name": "pi-extension-custom-provider-gitlab-duo",
"version": "1.4.0"
"version": "1.5.0"
},
"packages/coding-agent/examples/extensions/gondolin": {
"name": "pi-extension-gondolin",
"version": "1.4.0",
"version": "1.5.0",
"dependencies": {
"@earendil-works/gondolin": "0.14.0"
}
},
"packages/coding-agent/examples/extensions/with-deps": {
"name": "pi-extension-with-deps",
"version": "1.4.0",
"version": "1.5.0",
"dependencies": {
"ms": "2.1.3"
},
@ -5925,14 +5925,14 @@
},
"packages/durable": {
"name": "@earendil-works/pi-durable",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"@earendil-works/chord": "1.4.0",
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-codemode": "1.4.0",
"@earendil-works/pi-schema": "1.4.0",
"@earendil-works/pi-telemetry": "1.4.0",
"@earendil-works/chord": "1.5.0",
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-codemode": "1.5.0",
"@earendil-works/pi-schema": "1.5.0",
"@earendil-works/pi-telemetry": "1.5.0",
"@silvia-odwyer/photon": "0.3.3",
"diff": "8.0.4"
},
@ -5947,11 +5947,11 @@
},
"packages/env": {
"name": "@earendil-works/pi-env",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"@earendil-works/chord": "1.4.0",
"@earendil-works/pi-durable": "1.4.0"
"@earendil-works/chord": "1.5.0",
"@earendil-works/pi-durable": "1.5.0"
},
"devDependencies": {
"vitest": "4.1.12"
@ -5962,10 +5962,10 @@
},
"packages/evals": {
"name": "@earendil-works/pi-evals",
"version": "1.4.0",
"version": "1.5.0",
"devDependencies": {
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-coding-agent": "1.4.0",
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-coding-agent": "1.5.0",
"@types/node": "22.19.19",
"@vitest-evals/core": "0.15.0",
"vitest": "4.1.12",
@ -5974,7 +5974,7 @@
},
"packages/mcp": {
"name": "@earendil-works/pi-mcp",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"cross-spawn": "7.0.6"
@ -5989,7 +5989,7 @@
},
"packages/schema": {
"name": "@earendil-works/pi-schema",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"devDependencies": {
"@cfworker/json-schema": "4.1.1",
@ -6007,7 +6007,7 @@
},
"packages/telemetry": {
"name": "@earendil-works/pi-telemetry",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"devDependencies": {
"@types/node": "22.19.19",
@ -6019,7 +6019,7 @@
},
"packages/tui": {
"name": "@earendil-works/pi-tui",
"version": "1.4.0",
"version": "1.5.0",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "1.6.0",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Breaking Changes

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-agent-core",
"version": "1.4.0",
"version": "1.5.0",
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
"type": "module",
"main": "./dist/index.js",
@ -23,8 +23,8 @@
"prepublishOnly": "npm run build"
},
"dependencies": {
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-schema": "1.4.0"
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-schema": "1.5.0"
},
"keywords": [
"ai",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Breaking Changes

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-ai",
"version": "1.4.0",
"version": "1.5.0",
"description": "Unified LLM API with automatic model discovery and provider configuration",
"type": "module",
"main": "./dist/index.js",
@ -69,8 +69,8 @@
"dependencies": {
"@anthropic-ai/sdk": "0.129.0",
"@aws-sdk/client-bedrock-runtime": "3.1127.0",
"@earendil-works/pi-schema": "1.4.0",
"@earendil-works/pi-telemetry": "1.4.0",
"@earendil-works/pi-schema": "1.5.0",
"@earendil-works/pi-telemetry": "1.5.0",
"@google/genai": "2.21.0",
"@smithy/node-http-handler": "4.12.1",
"http-proxy-agent": "9.1.0",

View file

@ -1,2 +1,2 @@
// The @earendil-works/pi-ai package version. scripts/sync-versions.js keeps it in sync with package.json.
export const PI_AI_VERSION = "1.4.0";
export const PI_AI_VERSION = "1.5.0";

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Breaking Changes

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/chord",
"version": "1.4.0",
"version": "1.5.0",
"description": "Typed host runtime for plugins, contracts, replicated state, and RPC over JSON links",
"type": "module",
"main": "./dist/index.js",
@ -90,8 +90,8 @@
"node": ">=22.19.0"
},
"dependencies": {
"@earendil-works/pi-schema": "1.4.0",
"@earendil-works/pi-telemetry": "1.4.0"
"@earendil-works/pi-schema": "1.5.0",
"@earendil-works/pi-telemetry": "1.5.0"
},
"peerDependencies": {
"esbuild": "0.28.2",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Changed

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-codemode",
"version": "1.4.0",
"version": "1.5.0",
"description": "Sandboxed JavaScript execution where the only capability is calling injected tools",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### New Features

View file

@ -1,12 +1,12 @@
{
"name": "pi-extension-custom-provider",
"version": "1.4.0",
"version": "1.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pi-extension-custom-provider",
"version": "1.4.0",
"version": "1.5.0",
"dependencies": {
"@anthropic-ai/sdk": "^0.52.0"
}

View file

@ -1,7 +1,7 @@
{
"name": "pi-extension-custom-provider-anthropic",
"private": true,
"version": "1.4.0",
"version": "1.5.0",
"type": "module",
"scripts": {
"clean": "echo 'nothing to clean'",

View file

@ -1,7 +1,7 @@
{
"name": "pi-extension-custom-provider-gitlab-duo",
"private": true,
"version": "1.4.0",
"version": "1.5.0",
"type": "module",
"scripts": {
"clean": "echo 'nothing to clean'",

View file

@ -1,12 +1,12 @@
{
"name": "pi-extension-gondolin",
"version": "1.4.0",
"version": "1.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pi-extension-gondolin",
"version": "1.4.0",
"version": "1.5.0",
"dependencies": {
"@earendil-works/gondolin": "0.14.0"
}

View file

@ -1,7 +1,7 @@
{
"name": "pi-extension-gondolin",
"private": true,
"version": "1.4.0",
"version": "1.5.0",
"type": "module",
"scripts": {
"clean": "echo 'nothing to clean'",

View file

@ -1,12 +1,12 @@
{
"name": "pi-extension-with-deps",
"version": "1.4.0",
"version": "1.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pi-extension-with-deps",
"version": "1.4.0",
"version": "1.5.0",
"dependencies": {
"ms": "^2.1.3"
},

View file

@ -1,7 +1,7 @@
{
"name": "pi-extension-with-deps",
"private": true,
"version": "1.4.0",
"version": "1.5.0",
"type": "module",
"scripts": {
"clean": "echo 'nothing to clean'",

View file

@ -1,14 +1,14 @@
{
"name": "@earendil-works/pi-coding-agent-install",
"version": "1.4.0",
"version": "1.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@earendil-works/pi-coding-agent-install",
"version": "1.4.0",
"version": "1.5.0",
"dependencies": {
"@earendil-works/pi-coding-agent": "1.4.0"
"@earendil-works/pi-coding-agent": "1.5.0"
},
"engines": {
"node": ">=22.19.0"
@ -386,26 +386,26 @@
}
},
"node_modules/@earendil-works/pi-agent-core": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-1.5.0.tgz",
"license": "MIT",
"dependencies": {
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-schema": "1.4.0"
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-schema": "1.5.0"
},
"engines": {
"node": ">=22.19.0"
}
},
"node_modules/@earendil-works/pi-ai": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-1.5.0.tgz",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "0.129.0",
"@aws-sdk/client-bedrock-runtime": "3.1127.0",
"@earendil-works/pi-schema": "1.4.0",
"@earendil-works/pi-telemetry": "1.4.0",
"@earendil-works/pi-schema": "1.5.0",
"@earendil-works/pi-telemetry": "1.5.0",
"@google/genai": "2.21.0",
"@smithy/node-http-handler": "4.12.1",
"http-proxy-agent": "9.1.0",
@ -481,8 +481,8 @@
}
},
"node_modules/@earendil-works/pi-codemode": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-codemode/-/pi-codemode-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-codemode/-/pi-codemode-1.5.0.tgz",
"license": "MIT",
"dependencies": {
"quickjs-wasi": "3.6.2"
@ -492,15 +492,15 @@
}
},
"node_modules/@earendil-works/pi-coding-agent": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-1.5.0.tgz",
"license": "MIT",
"dependencies": {
"@earendil-works/pi-agent-core": "1.4.0",
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-codemode": "1.4.0",
"@earendil-works/pi-mcp": "1.4.0",
"@earendil-works/pi-tui": "1.4.0",
"@earendil-works/pi-agent-core": "1.5.0",
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-codemode": "1.5.0",
"@earendil-works/pi-mcp": "1.5.0",
"@earendil-works/pi-tui": "1.5.0",
"@silvia-odwyer/photon-node": "0.3.4",
"brace-expansion": "5.0.12",
"chalk": "6.0.0",
@ -527,8 +527,8 @@
}
},
"node_modules/@earendil-works/pi-mcp": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-mcp/-/pi-mcp-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-mcp/-/pi-mcp-1.5.0.tgz",
"license": "MIT",
"dependencies": {
"cross-spawn": "7.0.6"
@ -538,24 +538,24 @@
}
},
"node_modules/@earendil-works/pi-schema": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-schema/-/pi-schema-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-schema/-/pi-schema-1.5.0.tgz",
"license": "MIT",
"engines": {
"node": ">=22.19.0"
}
},
"node_modules/@earendil-works/pi-telemetry": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-1.5.0.tgz",
"license": "MIT",
"engines": {
"node": ">=22.19.0"
}
},
"node_modules/@earendil-works/pi-tui": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-1.4.0.tgz",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-1.5.0.tgz",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "1.6.0",

View file

@ -1,10 +1,10 @@
{
"name": "@earendil-works/pi-coding-agent-install",
"version": "1.4.0",
"version": "1.5.0",
"private": true,
"description": "Lockfile root used by the Pi installer and updater.",
"dependencies": {
"@earendil-works/pi-coding-agent": "1.4.0"
"@earendil-works/pi-coding-agent": "1.5.0"
},
"overrides": {
"protobufjs": "7.6.6"

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-coding-agent",
"version": "1.4.0",
"version": "1.5.0",
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
"type": "module",
"piConfig": {
@ -41,11 +41,11 @@
"prepublishOnly": "npm run clean && npm run build"
},
"dependencies": {
"@earendil-works/pi-agent-core": "1.4.0",
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-codemode": "1.4.0",
"@earendil-works/pi-mcp": "1.4.0",
"@earendil-works/pi-tui": "1.4.0",
"@earendil-works/pi-agent-core": "1.5.0",
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-codemode": "1.5.0",
"@earendil-works/pi-mcp": "1.5.0",
"@earendil-works/pi-tui": "1.5.0",
"@silvia-odwyer/photon-node": "0.3.4",
"brace-expansion": "5.0.12",
"chalk": "6.0.0",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Breaking Changes

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-durable",
"version": "1.4.0",
"version": "1.5.0",
"description": "Durable conversation, task, and document runtime for Pi",
"type": "module",
"main": "./dist/index.js",
@ -158,11 +158,11 @@
"node": ">=22.19.0"
},
"dependencies": {
"@earendil-works/chord": "1.4.0",
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-codemode": "1.4.0",
"@earendil-works/pi-schema": "1.4.0",
"@earendil-works/pi-telemetry": "1.4.0",
"@earendil-works/chord": "1.5.0",
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-codemode": "1.5.0",
"@earendil-works/pi-schema": "1.5.0",
"@earendil-works/pi-telemetry": "1.5.0",
"@silvia-odwyer/photon": "0.3.3",
"diff": "8.0.4"
},

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Breaking Changes

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-env",
"version": "1.4.0",
"version": "1.5.0",
"description": "Remote execution environments for Pi Durable: a small daemon deployed over SSH and its ExecutionEnv client",
"type": "module",
"main": "./dist/index.js",
@ -45,8 +45,8 @@
"node": ">=22.19.0"
},
"dependencies": {
"@earendil-works/chord": "1.4.0",
"@earendil-works/pi-durable": "1.4.0"
"@earendil-works/chord": "1.5.0",
"@earendil-works/pi-durable": "1.5.0"
},
"devDependencies": {
"vitest": "4.1.12"

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-evals",
"version": "1.4.0",
"version": "1.5.0",
"private": true,
"type": "module",
"scripts": {
@ -12,8 +12,8 @@
"test": "vitest run --config vitest.test.config.ts"
},
"devDependencies": {
"@earendil-works/pi-ai": "1.4.0",
"@earendil-works/pi-coding-agent": "1.4.0",
"@earendil-works/pi-ai": "1.5.0",
"@earendil-works/pi-coding-agent": "1.5.0",
"@types/node": "22.19.19",
"@vitest-evals/core": "0.15.0",
"vitest": "4.1.12",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Changed

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-mcp",
"version": "1.4.0",
"version": "1.5.0",
"description": "Standalone Model Context Protocol client for pi and other applications",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Added

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-schema",
"version": "1.4.0",
"version": "1.5.0",
"description": "JSON Schema validation without eval: drafts 2020-12 and 7, compiled into plain closures",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Fixed

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-telemetry",
"version": "1.4.0",
"version": "1.5.0",
"description": "Vendor-neutral telemetry contracts and typed schema utilities for pi",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [1.5.0] - 2026-11-02
### Added

View file

@ -1,6 +1,6 @@
{
"name": "@earendil-works/pi-tui",
"version": "1.4.0",
"version": "1.5.0",
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
"type": "module",
"main": "dist/index.js",