@code-yeongyu/senpi-codemode 2026.9.23-3 → 2026.9.23-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/package.json +4 -4
- package/src/tool/render.ts +4 -19
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,32 @@
|
|
|
12
12
|
|
|
13
13
|
### Removed
|
|
14
14
|
|
|
15
|
+
## [2026.9.23-5] - 2026-09-23
|
|
16
|
+
|
|
17
|
+
### Breaking Changes
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
### Removed
|
|
26
|
+
|
|
27
|
+
## [2026.9.23-4] - 2026-09-23
|
|
28
|
+
|
|
29
|
+
### Breaking Changes
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- Eval cards no longer display truncation or full-output artifact footer warnings. Model-facing eval text and grouping are unchanged; content explicitly addressed only to the model is omitted from the text fallback. ([#2041](https://github.com/code-yeongyu/senpi/issues/2041))
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
### Removed
|
|
40
|
+
|
|
15
41
|
## [2026.9.23-3] - 2026-09-23
|
|
16
42
|
|
|
17
43
|
### Breaking Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/senpi-codemode",
|
|
3
|
-
"version": "2026.9.23-
|
|
3
|
+
"version": "2026.9.23-5",
|
|
4
4
|
"description": "Source-only senpi extension package for codemode evaluation tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.ts",
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@babel/parser": "8.0.4",
|
|
33
|
-
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.23-
|
|
33
|
+
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.9.23-5",
|
|
34
34
|
"typebox": "1.3.34"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@code-yeongyu/senpi": "2026.9.23-
|
|
37
|
+
"@code-yeongyu/senpi": "2026.9.23-5"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@code-yeongyu/senpi": "2026.9.23-
|
|
40
|
+
"@code-yeongyu/senpi": "2026.9.23-5"
|
|
41
41
|
},
|
|
42
42
|
"keywords": [
|
|
43
43
|
"senpi",
|
package/src/tool/render.ts
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
type ToolRenderResultOptions,
|
|
10
10
|
truncateToVisualLines,
|
|
11
11
|
} from "@code-yeongyu/senpi";
|
|
12
|
-
import {
|
|
12
|
+
import type { TruncationMeta } from "../output/output-meta.ts";
|
|
13
13
|
import { displayCode } from "./display-code.ts";
|
|
14
14
|
import { normalizeEvalSummary } from "./eval-request.ts";
|
|
15
15
|
import {
|
|
@@ -661,7 +661,7 @@ function renderCell(cell: EvalCellResult, environment: RenderEnvironment, badges
|
|
|
661
661
|
for (const line of codePreview.lines) {
|
|
662
662
|
appendLines(lines, renderPrefixed(line, environment, { prefix: "│ ", continuation: "│ ", color: "borderMuted" }));
|
|
663
663
|
}
|
|
664
|
-
const output =
|
|
664
|
+
const output = cell.output.trimEnd();
|
|
665
665
|
if (output.length > 0) {
|
|
666
666
|
appendLines(lines, renderPrefixed("output", environment, { prefix: "├─ ", continuation: "│ ", color: "dim" }));
|
|
667
667
|
const outputColor: ThemeColor = cell.status === "error" ? "error" : "toolOutput";
|
|
@@ -773,24 +773,13 @@ function renderDetailedLines(
|
|
|
773
773
|
context.environment.width,
|
|
774
774
|
),
|
|
775
775
|
);
|
|
776
|
-
if (details.notice !== undefined)
|
|
777
|
-
appendLines(
|
|
778
|
-
lines,
|
|
779
|
-
renderAllVisualLines(style(context.environment.theme, "dim", details.notice), context.environment.width),
|
|
780
|
-
);
|
|
781
|
-
const warning = formatTruncationWarning(details.meta) ?? (details.truncated ? "[eval output truncated]" : null);
|
|
782
|
-
if (warning !== null)
|
|
783
|
-
appendLines(
|
|
784
|
-
lines,
|
|
785
|
-
renderAllVisualLines(style(context.environment.theme, "warning", warning), context.environment.width),
|
|
786
|
-
);
|
|
787
776
|
return lines;
|
|
788
777
|
}
|
|
789
778
|
|
|
790
779
|
function textOutput(result: AgentToolResult<EvalResultDetails>, showImageFallback: boolean): string {
|
|
791
780
|
const lines: string[] = [];
|
|
792
781
|
for (const part of result.content) {
|
|
793
|
-
if (part.type === "text") lines.push(part.text);
|
|
782
|
+
if (part.type === "text" && part.audience !== "model") lines.push(part.text);
|
|
794
783
|
else if (showImageFallback && part.type === "image") {
|
|
795
784
|
lines.push(`[image: ${sanitizeTerminalLabel(part.mimeType)}]`);
|
|
796
785
|
}
|
|
@@ -1031,7 +1020,7 @@ export function renderEvalResult(
|
|
|
1031
1020
|
{ kind: "blank" },
|
|
1032
1021
|
];
|
|
1033
1022
|
const rawOutput = textOutput(result, context.showImages && imageProtocol === null);
|
|
1034
|
-
const output =
|
|
1023
|
+
const output = rawOutput.trimEnd();
|
|
1035
1024
|
const hasRenderedImage =
|
|
1036
1025
|
context.showImages && imageProtocol !== null && result.content.some((part) => part.type === "image");
|
|
1037
1026
|
if (output.length > 0) {
|
|
@@ -1088,10 +1077,6 @@ export function renderEvalResult(
|
|
|
1088
1077
|
const calls = toolCallRows(details);
|
|
1089
1078
|
const nestedCalls = nestedToolCallBlock(details, theme, context.cwd, expanded);
|
|
1090
1079
|
if (calls.length > 0) blocks.push({ kind: "blank" }, nestedCalls ?? { kind: "toolCalls", calls, expanded, theme });
|
|
1091
|
-
if (details?.notice !== undefined)
|
|
1092
|
-
blocks.push({ kind: "blank" }, { kind: "text", text: style(theme, "dim", details.notice) });
|
|
1093
|
-
const warning = formatTruncationWarning(details?.meta) ?? (details?.truncated ? "[eval output truncated]" : null);
|
|
1094
|
-
if (warning !== null) blocks.push({ kind: "blank" }, { kind: "text", text: style(theme, "warning", warning) });
|
|
1095
1080
|
component.setBlocks(blocks);
|
|
1096
1081
|
return component;
|
|
1097
1082
|
}
|