mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-21 20:04:55 +00:00
Release v0.7.16
This commit is contained in:
parent
f2b3953711
commit
6680034a64
12 changed files with 94 additions and 38 deletions
36
README.md
36
README.md
|
|
@ -56,9 +56,39 @@ These commands:
|
||||||
|
|
||||||
### Publishing
|
### Publishing
|
||||||
|
|
||||||
```bash
|
Complete release process:
|
||||||
npm run publish # Publish all packages to npm
|
|
||||||
```
|
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
|
## License
|
||||||
|
|
||||||
|
|
|
||||||
14
package-lock.json
generated
14
package-lock.json
generated
|
|
@ -3193,7 +3193,7 @@
|
||||||
},
|
},
|
||||||
"packages/agent": {
|
"packages/agent": {
|
||||||
"name": "@mariozechner/pi-agent",
|
"name": "@mariozechner/pi-agent",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mariozechner/pi-ai": "^0.7.15",
|
"@mariozechner/pi-ai": "^0.7.15",
|
||||||
|
|
@ -3223,7 +3223,7 @@
|
||||||
},
|
},
|
||||||
"packages/ai": {
|
"packages/ai": {
|
||||||
"name": "@mariozechner/pi-ai",
|
"name": "@mariozechner/pi-ai",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sdk": "^0.61.0",
|
"@anthropic-ai/sdk": "^0.61.0",
|
||||||
|
|
@ -3270,7 +3270,7 @@
|
||||||
},
|
},
|
||||||
"packages/coding-agent": {
|
"packages/coding-agent": {
|
||||||
"name": "@mariozechner/pi-coding-agent",
|
"name": "@mariozechner/pi-coding-agent",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mariozechner/pi-agent": "^0.7.15",
|
"@mariozechner/pi-agent": "^0.7.15",
|
||||||
|
|
@ -3317,7 +3317,7 @@
|
||||||
},
|
},
|
||||||
"packages/pods": {
|
"packages/pods": {
|
||||||
"name": "@mariozechner/pi",
|
"name": "@mariozechner/pi",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mariozechner/pi-agent": "^0.7.15",
|
"@mariozechner/pi-agent": "^0.7.15",
|
||||||
|
|
@ -3343,7 +3343,7 @@
|
||||||
},
|
},
|
||||||
"packages/proxy": {
|
"packages/proxy": {
|
||||||
"name": "@mariozechner/pi-proxy",
|
"name": "@mariozechner/pi-proxy",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@hono/node-server": "^1.14.0",
|
"@hono/node-server": "^1.14.0",
|
||||||
"hono": "^4.6.16"
|
"hono": "^4.6.16"
|
||||||
|
|
@ -3359,7 +3359,7 @@
|
||||||
},
|
},
|
||||||
"packages/tui": {
|
"packages/tui": {
|
||||||
"name": "@mariozechner/pi-tui",
|
"name": "@mariozechner/pi-tui",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/mime-types": "^2.1.4",
|
"@types/mime-types": "^2.1.4",
|
||||||
|
|
@ -3398,7 +3398,7 @@
|
||||||
},
|
},
|
||||||
"packages/web-ui": {
|
"packages/web-ui": {
|
||||||
"name": "@mariozechner/pi-web-ui",
|
"name": "@mariozechner/pi-web-ui",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@lmstudio/sdk": "^1.5.0",
|
"@lmstudio/sdk": "^1.5.0",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mariozechner/pi-agent",
|
"name": "@mariozechner/pi-agent",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
|
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
"prepublishOnly": "npm run clean && npm run build"
|
"prepublishOnly": "npm run clean && npm run build"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mariozechner/pi-ai": "^0.7.15",
|
"@mariozechner/pi-ai": "^0.7.16",
|
||||||
"@mariozechner/pi-tui": "^0.7.15"
|
"@mariozechner/pi-tui": "^0.7.16"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"ai",
|
"ai",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mariozechner/pi-ai",
|
"name": "@mariozechner/pi-ai",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"description": "Unified LLM API with automatic model discovery and provider configuration",
|
"description": "Unified LLM API with automatic model discovery and provider configuration",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,12 @@
|
||||||
|
|
||||||
## [Unreleased]
|
## [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
|
## [0.7.15] - 2025-11-17
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mariozechner/pi-coding-agent",
|
"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",
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|
@ -21,8 +21,8 @@
|
||||||
"prepublishOnly": "npm run clean && npm run build"
|
"prepublishOnly": "npm run clean && npm run build"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mariozechner/pi-agent": "^0.7.15",
|
"@mariozechner/pi-agent": "^0.7.16",
|
||||||
"@mariozechner/pi-ai": "^0.7.15",
|
"@mariozechner/pi-ai": "^0.7.16",
|
||||||
"chalk": "^5.5.0",
|
"chalk": "^5.5.0",
|
||||||
"diff": "^8.0.2",
|
"diff": "^8.0.2",
|
||||||
"glob": "^11.0.3"
|
"glob": "^11.0.3"
|
||||||
|
|
|
||||||
|
|
@ -251,9 +251,15 @@ export class ToolExecutionComponent extends Container {
|
||||||
const path = shortenPath(this.args?.file_path || this.args?.path || "");
|
const path = shortenPath(this.args?.file_path || this.args?.path || "");
|
||||||
text = chalk.bold("edit") + " " + (path ? chalk.cyan(path) : chalk.dim("..."));
|
text = chalk.bold("edit") + " " + (path ? chalk.cyan(path) : chalk.dim("..."));
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
} else if (this.result.details?.diff) {
|
||||||
// Show diff if available
|
// 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 diffLines = this.result.details.diff.split("\n");
|
||||||
const coloredLines = diffLines.map((line: string) => {
|
const coloredLines = diffLines.map((line: string) => {
|
||||||
if (line.startsWith("+")) {
|
if (line.startsWith("+")) {
|
||||||
|
|
@ -266,6 +272,7 @@ export class ToolExecutionComponent extends Container {
|
||||||
});
|
});
|
||||||
text += "\n\n" + coloredLines.join("\n");
|
text += "\n\n" + coloredLines.join("\n");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Generic tool
|
// Generic tool
|
||||||
text = chalk.bold(this.toolName);
|
text = chalk.bold(this.toolName);
|
||||||
|
|
|
||||||
|
|
@ -376,7 +376,20 @@ export class TuiRenderer {
|
||||||
// Update the existing tool component with the result
|
// Update the existing tool component with the result
|
||||||
const component = this.pendingTools.get(event.toolCallId);
|
const component = this.pendingTools.get(event.toolCallId);
|
||||||
if (component) {
|
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.pendingTools.delete(event.toolCallId);
|
||||||
this.ui.requestRender();
|
this.ui.requestRender();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mariozechner/pi",
|
"name": "@mariozechner/pi",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"description": "CLI tool for managing vLLM deployments on GPU pods",
|
"description": "CLI tool for managing vLLM deployments on GPU pods",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
"node": ">=20.0.0"
|
"node": ">=20.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mariozechner/pi-agent": "^0.7.15",
|
"@mariozechner/pi-agent": "^0.7.16",
|
||||||
"chalk": "^5.5.0"
|
"chalk": "^5.5.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {}
|
"devDependencies": {}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mariozechner/pi-proxy",
|
"name": "@mariozechner/pi-proxy",
|
||||||
"version": "0.7.15",
|
"version": "0.7.16",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"description": "CORS and authentication proxy for pi-ai",
|
"description": "CORS and authentication proxy for pi-ai",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mariozechner/pi-tui",
|
"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",
|
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@mariozechner/pi-web-ui",
|
"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",
|
"description": "Reusable web UI components for AI chat interfaces powered by @mariozechner/pi-ai",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@lmstudio/sdk": "^1.5.0",
|
"@lmstudio/sdk": "^1.5.0",
|
||||||
"@mariozechner/pi-ai": "^0.7.15",
|
"@mariozechner/pi-ai": "^0.7.16",
|
||||||
"@mariozechner/pi-tui": "^0.7.15",
|
"@mariozechner/pi-tui": "^0.7.16",
|
||||||
"docx-preview": "^0.3.7",
|
"docx-preview": "^0.3.7",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"lucide": "^0.544.0",
|
"lucide": "^0.544.0",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue