Release v0.11.0

This commit is contained in:
Mario Zechner 2025-11-29 01:03:31 +01:00
parent 66517b72e9
commit 532bb69ed6
10 changed files with 342 additions and 38 deletions

341
package-lock.json generated
View file

@ -3770,11 +3770,11 @@
},
"packages/agent": {
"name": "@mariozechner/pi-agent-core",
"version": "0.10.2",
"version": "0.11.0",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.10.1",
"@mariozechner/pi-tui": "^0.10.1"
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2"
},
"devDependencies": {
"@types/node": "^24.3.0",
@ -3785,6 +3785,43 @@
"node": ">=20.0.0"
}
},
"packages/agent/node_modules/@mariozechner/pi-ai": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.2.tgz",
"integrity": "sha512-GbdvHU7jIH33izIDxCORXMGERW9p+C7dTn8r0kZfCejzyAlhFJZ1pWs24Wa3DlcE7PwcHB7o1NjXLM+Ts2Dprg==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
"@google/genai": "^1.30.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "5.21.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/agent/node_modules/@mariozechner/pi-tui": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.10.2.tgz",
"integrity": "sha512-RWj10ytN3vZmZeb0Ui1N0W7FQCGRPTnnsQcZN+ryaCfq0eR1fnw4e7kW9ugitwRf3zegCmOBHmfj6ZbA/+nRKA==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"minimatch": "^10.1.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/agent/node_modules/@types/node": {
"version": "24.10.1",
"dev": true,
@ -3793,6 +3830,22 @@
"undici-types": "~7.16.0"
}
},
"packages/agent/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/agent/node_modules/undici-types": {
"version": "7.16.0",
"dev": true,
@ -3800,7 +3853,7 @@
},
"packages/ai": {
"name": "@mariozechner/pi-ai",
"version": "0.10.2",
"version": "0.11.0",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
@ -3837,12 +3890,12 @@
},
"packages/coding-agent": {
"name": "@mariozechner/pi-coding-agent",
"version": "0.10.2",
"version": "0.11.0",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent-core": "^0.10.1",
"@mariozechner/pi-ai": "^0.10.1",
"@mariozechner/pi-tui": "^0.10.1",
"@mariozechner/pi-agent-core": "^0.10.2",
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2",
"chalk": "^5.5.0",
"diff": "^8.0.2",
"glob": "^11.0.3"
@ -3860,6 +3913,56 @@
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@mariozechner/pi-agent-core": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-agent-core/-/pi-agent-core-0.10.2.tgz",
"integrity": "sha512-ymW2YxD4f4ZNGg1Z5RqPRo1+wi1tToGxp6z+6G6pmzth6SBk2gy5VELRfb0eEBA+rn9LXtdmbtWr1AxRXJpcOA==",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@mariozechner/pi-ai": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.2.tgz",
"integrity": "sha512-GbdvHU7jIH33izIDxCORXMGERW9p+C7dTn8r0kZfCejzyAlhFJZ1pWs24Wa3DlcE7PwcHB7o1NjXLM+Ts2Dprg==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
"@google/genai": "^1.30.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "5.21.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@mariozechner/pi-tui": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.10.2.tgz",
"integrity": "sha512-RWj10ytN3vZmZeb0Ui1N0W7FQCGRPTnnsQcZN+ryaCfq0eR1fnw4e7kW9ugitwRf3zegCmOBHmfj6ZbA/+nRKA==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"minimatch": "^10.1.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/coding-agent/node_modules/@types/node": {
"version": "24.10.1",
"dev": true,
@ -3868,6 +3971,22 @@
"undici-types": "~7.16.0"
}
},
"packages/coding-agent/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/coding-agent/node_modules/undici-types": {
"version": "7.16.0",
"dev": true,
@ -3875,12 +3994,12 @@
},
"packages/mom": {
"name": "@mariozechner/pi-mom",
"version": "0.10.2",
"version": "0.11.0",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sandbox-runtime": "^0.0.16",
"@mariozechner/pi-agent-core": "^0.10.1",
"@mariozechner/pi-ai": "^0.10.1",
"@mariozechner/pi-agent-core": "^0.10.2",
"@mariozechner/pi-ai": "^0.10.2",
"@sinclair/typebox": "^0.34.0",
"@slack/socket-mode": "^2.0.0",
"@slack/web-api": "^7.0.0",
@ -3899,6 +4018,56 @@
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@mariozechner/pi-agent-core": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-agent-core/-/pi-agent-core-0.10.2.tgz",
"integrity": "sha512-ymW2YxD4f4ZNGg1Z5RqPRo1+wi1tToGxp6z+6G6pmzth6SBk2gy5VELRfb0eEBA+rn9LXtdmbtWr1AxRXJpcOA==",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@mariozechner/pi-ai": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.2.tgz",
"integrity": "sha512-GbdvHU7jIH33izIDxCORXMGERW9p+C7dTn8r0kZfCejzyAlhFJZ1pWs24Wa3DlcE7PwcHB7o1NjXLM+Ts2Dprg==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
"@google/genai": "^1.30.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "5.21.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@mariozechner/pi-tui": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.10.2.tgz",
"integrity": "sha512-RWj10ytN3vZmZeb0Ui1N0W7FQCGRPTnnsQcZN+ryaCfq0eR1fnw4e7kW9ugitwRf3zegCmOBHmfj6ZbA/+nRKA==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"minimatch": "^10.1.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/mom/node_modules/@types/node": {
"version": "24.10.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
@ -3909,6 +4078,22 @@
"undici-types": "~7.16.0"
}
},
"packages/mom/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/mom/node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
@ -3918,10 +4103,10 @@
},
"packages/pods": {
"name": "@mariozechner/pi",
"version": "0.10.2",
"version": "0.11.0",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent-core": "^0.10.1",
"@mariozechner/pi-agent-core": "^0.10.2",
"chalk": "^5.5.0"
},
"bin": {
@ -3932,9 +4117,75 @@
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/@mariozechner/pi-agent-core": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-agent-core/-/pi-agent-core-0.10.2.tgz",
"integrity": "sha512-ymW2YxD4f4ZNGg1Z5RqPRo1+wi1tToGxp6z+6G6pmzth6SBk2gy5VELRfb0eEBA+rn9LXtdmbtWr1AxRXJpcOA==",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/@mariozechner/pi-ai": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.2.tgz",
"integrity": "sha512-GbdvHU7jIH33izIDxCORXMGERW9p+C7dTn8r0kZfCejzyAlhFJZ1pWs24Wa3DlcE7PwcHB7o1NjXLM+Ts2Dprg==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
"@google/genai": "^1.30.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "5.21.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/@mariozechner/pi-tui": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.10.2.tgz",
"integrity": "sha512-RWj10ytN3vZmZeb0Ui1N0W7FQCGRPTnnsQcZN+ryaCfq0eR1fnw4e7kW9ugitwRf3zegCmOBHmfj6ZbA/+nRKA==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"minimatch": "^10.1.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/pods/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"packages/proxy": {
"name": "@mariozechner/pi-proxy",
"version": "0.10.2",
"version": "0.11.0",
"dependencies": {
"@hono/node-server": "^1.14.0",
"hono": "^4.6.16"
@ -3950,14 +4201,13 @@
},
"packages/tui": {
"name": "@mariozechner/pi-tui",
"version": "0.10.2",
"version": "0.11.0",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"minimatch": "^10.1.1",
"string-width": "^8.1.0"
},
"devDependencies": {
@ -3984,12 +4234,12 @@
},
"packages/web-ui": {
"name": "@mariozechner/pi-web-ui",
"version": "0.10.2",
"version": "0.11.0",
"license": "MIT",
"dependencies": {
"@lmstudio/sdk": "^1.5.0",
"@mariozechner/pi-ai": "^0.10.1",
"@mariozechner/pi-tui": "^0.10.1",
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2",
"docx-preview": "^0.3.7",
"jszip": "^3.10.1",
"lucide": "^0.544.0",
@ -4007,6 +4257,59 @@
"@mariozechner/mini-lit": "^0.2.0",
"lit": "^3.3.1"
}
},
"packages/web-ui/node_modules/@mariozechner/pi-ai": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.2.tgz",
"integrity": "sha512-GbdvHU7jIH33izIDxCORXMGERW9p+C7dTn8r0kZfCejzyAlhFJZ1pWs24Wa3DlcE7PwcHB7o1NjXLM+Ts2Dprg==",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
"@google/genai": "^1.30.0",
"@sinclair/typebox": "^0.34.41",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"chalk": "^5.6.2",
"openai": "5.21.0",
"partial-json": "^0.1.7",
"zod-to-json-schema": "^3.24.6"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/web-ui/node_modules/@mariozechner/pi-tui": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@mariozechner/pi-tui/-/pi-tui-0.10.2.tgz",
"integrity": "sha512-RWj10ytN3vZmZeb0Ui1N0W7FQCGRPTnnsQcZN+ryaCfq0eR1fnw4e7kW9ugitwRf3zegCmOBHmfj6ZbA/+nRKA==",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
"chalk": "^5.5.0",
"marked": "^15.0.12",
"mime-types": "^3.0.1",
"minimatch": "^10.1.1",
"string-width": "^8.1.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"packages/web-ui/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
}
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-agent-core",
"version": "0.10.2",
"version": "0.11.0",
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
"type": "module",
"main": "./dist/index.js",
@ -18,8 +18,8 @@
"prepublishOnly": "npm run clean && npm run build"
},
"dependencies": {
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2"
"@mariozechner/pi-ai": "^0.11.0",
"@mariozechner/pi-tui": "^0.11.0"
},
"keywords": [
"ai",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-ai",
"version": "0.10.2",
"version": "0.11.0",
"description": "Unified LLM API with automatic model discovery and provider configuration",
"type": "module",
"main": "./dist/index.js",

View file

@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [0.11.0] - 2025-11-29
### Added
@ -15,6 +15,7 @@
- **Prompt Restoration on API Key Error**: When submitting a message fails due to missing API key, the prompt is now restored to the editor instead of being lost. ([#77](https://github.com/badlogic/pi-mono/issues/77))
- **File `@` Autocomplete Performance**: Fixed severe UI jank when using `@` for file attachment in large repositories. The file picker now uses `fd` (a fast file finder) instead of synchronous directory walking with minimatch. On a 55k file repo, search time dropped from ~900ms to ~10ms per keystroke. If `fd` is not installed, it will be automatically downloaded to `~/.pi/agent/tools/` on first use. ([#69](https://github.com/badlogic/pi-mono/issues/69))
- **File Selector Styling**: Selected items in file autocomplete (`@` and Tab) now use consistent accent color for the entire line instead of mixed colors.
## [0.10.2] - 2025-11-27

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-coding-agent",
"version": "0.10.2",
"version": "0.11.0",
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
"type": "module",
"bin": {
@ -22,9 +22,9 @@
"prepublishOnly": "npm run clean && npm run build"
},
"dependencies": {
"@mariozechner/pi-agent-core": "^0.10.2",
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2",
"@mariozechner/pi-agent-core": "^0.11.0",
"@mariozechner/pi-ai": "^0.11.0",
"@mariozechner/pi-tui": "^0.11.0",
"chalk": "^5.5.0",
"diff": "^8.0.2",
"glob": "^11.0.3"

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-mom",
"version": "0.10.2",
"version": "0.11.0",
"description": "Slack bot that delegates messages to the pi coding agent",
"type": "module",
"bin": {
@ -21,8 +21,8 @@
},
"dependencies": {
"@anthropic-ai/sandbox-runtime": "^0.0.16",
"@mariozechner/pi-agent-core": "^0.10.2",
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-agent-core": "^0.11.0",
"@mariozechner/pi-ai": "^0.11.0",
"@sinclair/typebox": "^0.34.0",
"@slack/socket-mode": "^2.0.0",
"@slack/web-api": "^7.0.0",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi",
"version": "0.10.2",
"version": "0.11.0",
"description": "CLI tool for managing vLLM deployments on GPU pods",
"type": "module",
"bin": {
@ -34,7 +34,7 @@
"node": ">=20.0.0"
},
"dependencies": {
"@mariozechner/pi-agent-core": "^0.10.2",
"@mariozechner/pi-agent-core": "^0.11.0",
"chalk": "^5.5.0"
},
"devDependencies": {}

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-proxy",
"version": "0.10.2",
"version": "0.11.0",
"type": "module",
"description": "CORS and authentication proxy for pi-ai",
"main": "dist/index.js",

View file

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

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-web-ui",
"version": "0.10.2",
"version": "0.11.0",
"description": "Reusable web UI components for AI chat interfaces powered by @mariozechner/pi-ai",
"type": "module",
"main": "dist/index.js",
@ -18,8 +18,8 @@
},
"dependencies": {
"@lmstudio/sdk": "^1.5.0",
"@mariozechner/pi-ai": "^0.10.2",
"@mariozechner/pi-tui": "^0.10.2",
"@mariozechner/pi-ai": "^0.11.0",
"@mariozechner/pi-tui": "^0.11.0",
"docx-preview": "^0.3.7",
"jszip": "^3.10.1",
"lucide": "^0.544.0",