Release v0.8.3

This commit is contained in:
Mario Zechner 2025-11-21 04:57:24 +01:00
parent 85adcf22bf
commit aa46dfecd4
19 changed files with 1156 additions and 2545 deletions

View file

@ -2,6 +2,13 @@
## [Unreleased]
## [0.8.3] - 2025-11-21
### Improved
- **Export HTML**: Limited container width to 700px for better readability. Fixed message statistics to match `/session` command output with proper breakdown of User/Assistant/Tool Calls/Tool Results/Total messages.
- **Dark Theme**: Increased visibility of editor border (darkGray from #303030 to #505050) and thinking minimal indicator (from #4e4e4e to #6e6e6e).
## [0.8.0] - 2025-11-21
### Added

View file

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

View file

@ -340,6 +340,21 @@ export function exportSessionToHtml(sessionManager: SessionManager, state: Agent
}
}
// Calculate message stats (matching session command)
const userMessages = messages.filter((m) => m.role === "user").length;
const assistantMessages = messages.filter((m) => m.role === "assistant").length;
const toolResultMessages = messages.filter((m) => m.role === "toolResult").length;
const totalMessages = messages.length;
// Count tool calls from assistant messages
let toolCallsCount = 0;
for (const message of messages) {
if (message.role === "assistant") {
const assistantMsg = message as AssistantMessage;
toolCallsCount += assistantMsg.content.filter((c) => c.type === "toolCall").length;
}
}
// Generate messages HTML
let messagesHtml = "";
for (const message of messages) {
@ -373,7 +388,7 @@ export function exportSessionToHtml(sessionManager: SessionManager, state: Agent
}
.container {
max-width: 1200px;
max-width: 700px;
margin: 0 auto;
}
@ -631,9 +646,31 @@ export function exportSessionToHtml(sessionManager: SessionManager, state: Agent
<span class="info-label">Model:</span>
<span class="info-value">${escapeHtml(sessionHeader?.model || state.model.id)}</span>
</div>
</div>
</div>
<div class="header">
<h1>Messages</h1>
<div class="header-info">
<div class="info-item">
<span class="info-label">Messages:</span>
<span class="info-value">${messages.filter((m) => m.role !== "toolResult").length}</span>
<span class="info-label">User:</span>
<span class="info-value">${userMessages}</span>
</div>
<div class="info-item">
<span class="info-label">Assistant:</span>
<span class="info-value">${assistantMessages}</span>
</div>
<div class="info-item">
<span class="info-label">Tool Calls:</span>
<span class="info-value">${toolCallsCount}</span>
</div>
<div class="info-item">
<span class="info-label">Tool Results:</span>
<span class="info-value">${toolResultMessages}</span>
</div>
<div class="info-item">
<span class="info-label">Total:</span>
<span class="info-value">${totalMessages}</span>
</div>
<div class="info-item">
<span class="info-label">Directory:</span>

View file

@ -9,7 +9,7 @@
"yellow": "#ffff00",
"gray": "#808080",
"dimGray": "#666666",
"darkGray": "#303030",
"darkGray": "#505050",
"accent": "#8abeb7",
"userMsgBg": "#343541",
"toolPendingBg": "#282832",
@ -62,7 +62,7 @@
"syntaxPunctuation": "gray",
"thinkingOff": "darkGray",
"thinkingMinimal": "#4e4e4e",
"thinkingMinimal": "#6e6e6e",
"thinkingLow": "#5f87af",
"thinkingMedium": "#81a2be",
"thinkingHigh": "#b294bb"