@heyhuynhgiabuu/pi-pretty 0.6.20 → 0.6.22
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 +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -21
- package/dist/index.js.map +1 -1
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +7 -4
- package/dist/tools/read.js.map +1 -1
- package/package.json +6 -5
- package/src/index.ts +0 -20
- package/src/tools/read.ts +7 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.6.22] - 2026-08-20
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Removed the `tool_result` hook that prepended 4 spaces to every line of `read`, `grep`, and `bash` results ([#10](https://github.com/heyhuynhgiabuu/pi-pretty/issues/10)). The hook mutated model-visible, persisted content instead of the TUI view; rendering padding remains solely in the view layer (`renderResult`/`renderCall`).
|
|
8
|
+
- Added a regression test asserting no `tool_result` handler is registered and `read`/`bash`/`grep` execute output is byte-exact.
|
|
9
|
+
|
|
10
|
+
## [0.6.21] - 2026-07-29
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Preserved offset-aware line-number gutters after asynchronous syntax highlighting so expanded read output remains numbered across TUI re-renders ([#8](https://github.com/heyhuynhgiabuu/pi-pretty/issues/8)).
|
|
15
|
+
|
|
16
|
+
### Maintenance
|
|
17
|
+
|
|
18
|
+
- Aligned Pi SDK development dependencies and package peers with Pi 0.82.0.
|
|
19
|
+
|
|
3
20
|
## [0.6.20] - 2026-07-21
|
|
4
21
|
|
|
5
22
|
### Fixed
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,iCAAiC,CAAC;AAU/G,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AAqBzD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAA8B,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,iCAAiC,CAAC;AAU/G,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AAqBzD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAA8B,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+KpG"}
|
package/dist/index.js
CHANGED
|
@@ -219,26 +219,5 @@ async function piPrettyExtension(pi, deps) {
|
|
|
219
219
|
if (isToolEnabled("grep") && createGrepTool) {
|
|
220
220
|
(0, grep_js_1.registerGrepTool)(pi, cwd, fffService, createGrepTool(cwd), TextComp);
|
|
221
221
|
}
|
|
222
|
-
// Fallback padding for SDK-rendered tool bodies. The SDK reads
|
|
223
|
-
// result.content[0].text and slices collapsed output to roughly the first
|
|
224
|
-
// 10 lines, so insert bottom padding inside that visible slice.
|
|
225
|
-
const PADDED_TOOLS = new Set(["read", "grep", "bash"]);
|
|
226
|
-
const RESULT_LEFT_PAD = " ";
|
|
227
|
-
const BOTTOM_PADDING_BY_TOOL = { read: 2, grep: 2, bash: 0 };
|
|
228
|
-
pi.on("tool_result", (event, _ctx) => {
|
|
229
|
-
if (!PADDED_TOOLS.has(event.toolName))
|
|
230
|
-
return undefined;
|
|
231
|
-
const first = event.content[0];
|
|
232
|
-
if (!first || first.type !== "text")
|
|
233
|
-
return undefined;
|
|
234
|
-
const lines = first.text.split("\n").map((line) => `${RESULT_LEFT_PAD}${line}`);
|
|
235
|
-
if (lines.length === 0)
|
|
236
|
-
return undefined;
|
|
237
|
-
const padCount = BOTTOM_PADDING_BY_TOOL[event.toolName] ?? 0;
|
|
238
|
-
lines.push(...Array.from({ length: padCount }, () => RESULT_LEFT_PAD));
|
|
239
|
-
return {
|
|
240
|
-
content: [{ type: "text", text: lines.join("\n") }, ...event.content.slice(1)],
|
|
241
|
-
};
|
|
242
|
-
});
|
|
243
222
|
}
|
|
244
223
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,YAAY,EAAoC,MAAM,iCAAiC,CAAC;AAevH,OAAO,KAAK,EAA8B,UAAU,EAA0B,MAAM,aAAa,CAAC;AAgClG,wBAAgB,gBAAgB,CAC/B,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;IAAE,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACjF,IAAI,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,YAAY,EAAoC,MAAM,iCAAiC,CAAC;AAevH,OAAO,KAAK,EAA8B,UAAU,EAA0B,MAAM,aAAa,CAAC;AAgClG,wBAAgB,gBAAgB,CAC/B,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;IAAE,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACjF,IAAI,CA0JN"}
|
package/dist/tools/read.js
CHANGED
|
@@ -111,7 +111,7 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
111
111
|
}
|
|
112
112
|
const maxShow = lines.length;
|
|
113
113
|
const show = lines.slice(0, maxShow);
|
|
114
|
-
const nw = Math.max(3, String(total).length);
|
|
114
|
+
const nw = Math.max(3, String((d.offset || 0) + total).length);
|
|
115
115
|
const gw = nw + 3;
|
|
116
116
|
const cw = Math.max(1, tw - gw);
|
|
117
117
|
const header = skillName
|
|
@@ -122,7 +122,7 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
122
122
|
for (let i = 0; i < show.length; i++) {
|
|
123
123
|
const ln = (d.offset || 0) + i + 1;
|
|
124
124
|
const code = show[i] ?? "";
|
|
125
|
-
const display = code.length > cw ? code.slice(0, cw) + `${config_js_1.FG_DIM}›${config_js_1.RST}` : code;
|
|
125
|
+
const display = code.length > cw ? code.slice(0, Math.max(0, cw - 1)) + `${config_js_1.FG_DIM}›${config_js_1.RST}` : code;
|
|
126
126
|
const lineNo = String(ln);
|
|
127
127
|
out.push(`${config_js_1.TOOL_RESULT_INDENT}${config_js_1.FG_LNUM}${" ".repeat(Math.max(0, nw - lineNo.length))}${lineNo}${config_js_1.RST} ${config_js_1.FG_RULE}│${config_js_1.RST} ${display}${config_js_1.RST}`);
|
|
128
128
|
}
|
|
@@ -134,11 +134,14 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
134
134
|
text.setText((0, render_js_1.fillToolBackground)(rendered, config_js_1.BG_BASE));
|
|
135
135
|
ctx.state._rt = rendered;
|
|
136
136
|
// Async syntax highlighting via Shiki
|
|
137
|
-
(0, render_js_1.renderFileContent)(d.content, d.filePath, d.offset || 0, maxShow,
|
|
137
|
+
(0, render_js_1.renderFileContent)(d.content, d.filePath, d.offset || 0, maxShow, cw)
|
|
138
138
|
.then((hl) => {
|
|
139
139
|
const padded = hl
|
|
140
140
|
.split("\n")
|
|
141
|
-
.map((
|
|
141
|
+
.map((line, index) => {
|
|
142
|
+
const lineNo = String((d.offset || 0) + index + 1);
|
|
143
|
+
return `${config_js_1.TOOL_RESULT_INDENT}${config_js_1.FG_LNUM}${" ".repeat(Math.max(0, nw - lineNo.length))}${lineNo}${config_js_1.RST} ${config_js_1.FG_RULE}│${config_js_1.RST} ${line}${config_js_1.RST}`;
|
|
144
|
+
})
|
|
142
145
|
.join("\n");
|
|
143
146
|
const divider = skillName
|
|
144
147
|
? `${config_js_1.TOOL_RESULT_INDENT}${config_js_1.FG_RULE}${"─".repeat(Math.max(1, tw - 1))}${config_js_1.RST}\n`
|
package/dist/tools/read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":";AAAA,6FAA6F;;AAkD7F,
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heyhuynhgiabuu/pi-pretty",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.22",
|
|
4
4
|
"description": "Pretty terminal output for pi — syntax-highlighted file reads, colored bash output, tree-view directory listings, and more.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi",
|
|
@@ -42,15 +42,16 @@
|
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@biomejs/biome": "^2.3.5",
|
|
45
|
-
"@earendil-works/pi-ai": "^0.
|
|
46
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
47
|
-
"@earendil-works/pi-tui": "
|
|
45
|
+
"@earendil-works/pi-ai": "^0.82.0",
|
|
46
|
+
"@earendil-works/pi-coding-agent": "^0.82.0",
|
|
47
|
+
"@earendil-works/pi-tui": "^0.82.0",
|
|
48
48
|
"@types/node": "^20.0.0",
|
|
49
49
|
"typescript": "^5.0.0",
|
|
50
50
|
"vitest": "^4.0.18"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@earendil-works/pi-
|
|
53
|
+
"@earendil-works/pi-ai": "*",
|
|
54
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
54
55
|
"@earendil-works/pi-tui": "*"
|
|
55
56
|
},
|
|
56
57
|
"pi": {
|
package/src/index.ts
CHANGED
|
@@ -217,24 +217,4 @@ export default async function piPrettyExtension(pi: ExtensionAPI, deps?: PiPrett
|
|
|
217
217
|
registerGrepTool(pi, cwd, fffService, createGrepTool(cwd), TextComp);
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
// Fallback padding for SDK-rendered tool bodies. The SDK reads
|
|
221
|
-
// result.content[0].text and slices collapsed output to roughly the first
|
|
222
|
-
// 10 lines, so insert bottom padding inside that visible slice.
|
|
223
|
-
const PADDED_TOOLS = new Set(["read", "grep", "bash"]);
|
|
224
|
-
const RESULT_LEFT_PAD = " ";
|
|
225
|
-
const BOTTOM_PADDING_BY_TOOL: Record<string, number> = { read: 2, grep: 2, bash: 0 };
|
|
226
|
-
pi.on("tool_result", (event, _ctx) => {
|
|
227
|
-
if (!PADDED_TOOLS.has(event.toolName)) return undefined;
|
|
228
|
-
const first = event.content[0];
|
|
229
|
-
if (!first || first.type !== "text") return undefined;
|
|
230
|
-
const lines = first.text.split("\n").map((line) => `${RESULT_LEFT_PAD}${line}`);
|
|
231
|
-
if (lines.length === 0) return undefined;
|
|
232
|
-
|
|
233
|
-
const padCount = BOTTOM_PADDING_BY_TOOL[event.toolName] ?? 0;
|
|
234
|
-
lines.push(...Array.from({ length: padCount }, () => RESULT_LEFT_PAD));
|
|
235
|
-
|
|
236
|
-
return {
|
|
237
|
-
content: [{ type: "text" as const, text: lines.join("\n") }, ...event.content.slice(1)],
|
|
238
|
-
};
|
|
239
|
-
});
|
|
240
220
|
}
|
package/src/tools/read.ts
CHANGED
|
@@ -150,7 +150,7 @@ export function registerReadTool(
|
|
|
150
150
|
}
|
|
151
151
|
const maxShow = lines.length;
|
|
152
152
|
const show = lines.slice(0, maxShow);
|
|
153
|
-
const nw = Math.max(3, String(total).length);
|
|
153
|
+
const nw = Math.max(3, String((d.offset || 0) + total).length);
|
|
154
154
|
const gw = nw + 3;
|
|
155
155
|
const cw = Math.max(1, tw - gw);
|
|
156
156
|
|
|
@@ -162,7 +162,7 @@ export function registerReadTool(
|
|
|
162
162
|
for (let i = 0; i < show.length; i++) {
|
|
163
163
|
const ln = (d.offset || 0) + i + 1;
|
|
164
164
|
const code = show[i] ?? "";
|
|
165
|
-
const display = code.length > cw ? code.slice(0, cw) + `${FG_DIM}›${RST}` : code;
|
|
165
|
+
const display = code.length > cw ? code.slice(0, Math.max(0, cw - 1)) + `${FG_DIM}›${RST}` : code;
|
|
166
166
|
const lineNo = String(ln);
|
|
167
167
|
out.push(
|
|
168
168
|
`${TOOL_RESULT_INDENT}${FG_LNUM}${" ".repeat(Math.max(0, nw - lineNo.length))}${lineNo}${RST} ${FG_RULE}│${RST} ${display}${RST}`,
|
|
@@ -177,11 +177,14 @@ export function registerReadTool(
|
|
|
177
177
|
(ctx as any).state._rt = rendered;
|
|
178
178
|
|
|
179
179
|
// Async syntax highlighting via Shiki
|
|
180
|
-
renderFileContent(d.content, d.filePath, d.offset || 0, maxShow,
|
|
180
|
+
renderFileContent(d.content, d.filePath, d.offset || 0, maxShow, cw)
|
|
181
181
|
.then((hl) => {
|
|
182
182
|
const padded = hl
|
|
183
183
|
.split("\n")
|
|
184
|
-
.map((
|
|
184
|
+
.map((line, index) => {
|
|
185
|
+
const lineNo = String((d.offset || 0) + index + 1);
|
|
186
|
+
return `${TOOL_RESULT_INDENT}${FG_LNUM}${" ".repeat(Math.max(0, nw - lineNo.length))}${lineNo}${RST} ${FG_RULE}│${RST} ${line}${RST}`;
|
|
187
|
+
})
|
|
185
188
|
.join("\n");
|
|
186
189
|
const divider = skillName
|
|
187
190
|
? `${TOOL_RESULT_INDENT}${FG_RULE}${"─".repeat(Math.max(1, tw - 1))}${RST}\n`
|