Release v0.7.16

This commit is contained in:
Mario Zechner 2025-11-17 14:12:04 +01:00
parent f2b3953711
commit 6680034a64
12 changed files with 94 additions and 38 deletions

View file

@ -56,9 +56,39 @@ These commands:
### Publishing
```bash
npm run publish # Publish all packages to npm
```
Complete release process:
1. **Update CHANGELOG.md** (for coding-agent releases):
```bash
# Add your changes to the [Unreleased] section in packages/coding-agent/CHANGELOG.md
```
2. **Bump version** (all packages):
```bash
npm run version:patch # For bug fixes
npm run version:minor # For new features
npm run version:major # For breaking changes
```
3. **Update CHANGELOG.md version** (for coding-agent):
```bash
# Move the [Unreleased] section to the new version number with today's date
# e.g., ## [0.7.16] - 2025-11-17
```
4. **Commit and tag**:
```bash
git add .
git commit -m "Release v0.7.16"
git tag v0.7.16
git push origin main
git push origin v0.7.16
```
5. **Publish to npm**:
```bash
npm run publish # Publish all packages to npm
```
## License

14
package-lock.json generated
View file

@ -3193,7 +3193,7 @@
},
"packages/agent": {
"name": "@mariozechner/pi-agent",
"version": "0.7.15",
"version": "0.7.16",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.7.15",
@ -3223,7 +3223,7 @@
},
"packages/ai": {
"name": "@mariozechner/pi-ai",
"version": "0.7.15",
"version": "0.7.16",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
@ -3270,7 +3270,7 @@
},
"packages/coding-agent": {
"name": "@mariozechner/pi-coding-agent",
"version": "0.7.15",
"version": "0.7.16",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent": "^0.7.15",
@ -3317,7 +3317,7 @@
},
"packages/pods": {
"name": "@mariozechner/pi",
"version": "0.7.15",
"version": "0.7.16",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent": "^0.7.15",
@ -3343,7 +3343,7 @@
},
"packages/proxy": {
"name": "@mariozechner/pi-proxy",
"version": "0.7.15",
"version": "0.7.16",
"dependencies": {
"@hono/node-server": "^1.14.0",
"hono": "^4.6.16"
@ -3359,7 +3359,7 @@
},
"packages/tui": {
"name": "@mariozechner/pi-tui",
"version": "0.7.15",
"version": "0.7.16",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
@ -3398,7 +3398,7 @@
},
"packages/web-ui": {
"name": "@mariozechner/pi-web-ui",
"version": "0.7.15",
"version": "0.7.16",
"license": "MIT",
"dependencies": {
"@lmstudio/sdk": "^1.5.0",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-agent",
"version": "0.7.15",
"version": "0.7.16",
"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.7.15",
"@mariozechner/pi-tui": "^0.7.15"
"@mariozechner/pi-ai": "^0.7.16",
"@mariozechner/pi-tui": "^0.7.16"
},
"keywords": [
"ai",

View file

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

View file

@ -2,6 +2,12 @@
## [Unreleased]
## [0.7.16] - 2025-11-17
### Fixed
- **Tool Error Display**: Fixed edit tool (and all other tools) not showing error state correctly in TUI. Failed tool executions now properly display with red background and show the error message. Previously, the `isError` flag from tool execution events was not being passed to the UI component, causing all tool results to show with green (success) background regardless of whether they succeeded or failed.
## [0.7.15] - 2025-11-17
### Fixed

View file

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

View file

@ -251,20 +251,27 @@ export class ToolExecutionComponent extends Container {
const path = shortenPath(this.args?.file_path || this.args?.path || "");
text = chalk.bold("edit") + " " + (path ? chalk.cyan(path) : chalk.dim("..."));
// Show diff if available
if (this.result?.details?.diff) {
// Parse the diff string and apply colors
const diffLines = this.result.details.diff.split("\n");
const coloredLines = diffLines.map((line: string) => {
if (line.startsWith("+")) {
return chalk.green(line);
} else if (line.startsWith("-")) {
return chalk.red(line);
} else {
return chalk.dim(line);
if (this.result) {
// Show error message if it's an error
if (this.result.isError) {
const errorText = this.getTextOutput();
if (errorText) {
text += "\n\n" + chalk.red(errorText);
}
});
text += "\n\n" + coloredLines.join("\n");
} else if (this.result.details?.diff) {
// Show diff if available
const diffLines = this.result.details.diff.split("\n");
const coloredLines = diffLines.map((line: string) => {
if (line.startsWith("+")) {
return chalk.green(line);
} else if (line.startsWith("-")) {
return chalk.red(line);
} else {
return chalk.dim(line);
}
});
text += "\n\n" + coloredLines.join("\n");
}
}
} else {
// Generic tool

View file

@ -376,7 +376,20 @@ export class TuiRenderer {
// Update the existing tool component with the result
const component = this.pendingTools.get(event.toolCallId);
if (component) {
component.updateResult(event.result);
// Convert result to the format expected by updateResult
const resultData =
typeof event.result === "string"
? {
content: [{ type: "text" as const, text: event.result }],
details: undefined,
isError: event.isError,
}
: {
content: event.result.content,
details: event.result.details,
isError: event.isError,
};
component.updateResult(resultData);
this.pendingTools.delete(event.toolCallId);
this.ui.requestRender();
}

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi",
"version": "0.7.15",
"version": "0.7.16",
"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": "^0.7.15",
"@mariozechner/pi-agent": "^0.7.16",
"chalk": "^5.5.0"
},
"devDependencies": {}

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-proxy",
"version": "0.7.15",
"version": "0.7.16",
"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.7.15",
"version": "0.7.16",
"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.7.15",
"version": "0.7.16",
"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.7.15",
"@mariozechner/pi-tui": "^0.7.15",
"@mariozechner/pi-ai": "^0.7.16",
"@mariozechner/pi-tui": "^0.7.16",
"docx-preview": "^0.3.7",
"jszip": "^3.10.1",
"lucide": "^0.544.0",