@heyhuynhgiabuu/pi-pretty 0.6.23 → 0.6.25
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 +24 -0
- package/README.md +51 -1
- package/dist/autocomplete.js +1 -4
- package/dist/autocomplete.js.map +1 -1
- package/dist/config.d.ts +19 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +141 -118
- package/dist/config.js.map +1 -1
- package/dist/fff-helpers.js +2 -7
- package/dist/fff-helpers.js.map +1 -1
- package/dist/fff.js +16 -23
- package/dist/fff.js.map +1 -1
- package/dist/find-glob.js +2 -6
- package/dist/find-glob.js.map +1 -1
- package/dist/helpers.js +11 -21
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +182 -59
- package/dist/index.js.map +1 -1
- package/dist/notices.js +1 -4
- package/dist/notices.js.map +1 -1
- package/dist/render.js +78 -96
- package/dist/render.js.map +1 -1
- package/dist/session-color.d.ts +30 -0
- package/dist/session-color.d.ts.map +1 -0
- package/dist/session-color.js +170 -0
- package/dist/session-color.js.map +1 -0
- package/dist/tools/bash.js +26 -29
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/find.js +31 -34
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/grep.js +22 -25
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/labels.js +1 -4
- package/dist/tools/labels.js.map +1 -1
- package/dist/tools/ls.js +18 -21
- package/dist/tools/ls.js.map +1 -1
- package/dist/tools/metrics.js +4 -7
- package/dist/tools/metrics.js.map +1 -1
- package/dist/tools/read.js +35 -38
- package/dist/tools/read.js.map +1 -1
- package/dist/tui-text.js +5 -9
- package/dist/tui-text.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/dist/working-indicator.d.ts +184 -0
- package/dist/working-indicator.d.ts.map +1 -0
- package/dist/working-indicator.js +524 -0
- package/dist/working-indicator.js.map +1 -0
- package/package.json +7 -6
- package/src/config.ts +48 -0
- package/src/index.ts +177 -2
- package/src/session-color.ts +172 -0
- package/src/working-indicator.ts +691 -0
package/dist/tools/grep.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* pi-pretty: grep tool -- FFF-backed text search with SDK fallback. */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const tui_text_js_1 = require("../tui-text.js");
|
|
11
|
-
const metrics_js_1 = require("./metrics.js");
|
|
2
|
+
import { BG_ERROR, FG_DIM, RST, resolveBaseBackground, TOOL_RESULT_INDENT } from "../config.js";
|
|
3
|
+
import { fffFormatGrepText } from "../fff-helpers.js";
|
|
4
|
+
import { normalizeLineEndings, shortPath } from "../helpers.js";
|
|
5
|
+
import { NOTICE_PARTIAL_FILE_INDEX } from "../notices.js";
|
|
6
|
+
import { fillToolBackground, renderToolError } from "../render.js";
|
|
7
|
+
import { resolveTextCtor } from "../tui-text.js";
|
|
8
|
+
import { wrapExecuteWithMetrics } from "./metrics.js";
|
|
12
9
|
const invalidArg = "<missing>";
|
|
13
|
-
function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
14
|
-
const T =
|
|
10
|
+
export function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
11
|
+
const T = resolveTextCtor(TextComp);
|
|
15
12
|
const home = process.env.HOME ?? "";
|
|
16
13
|
pi.registerTool({
|
|
17
14
|
name: "grep",
|
|
@@ -19,7 +16,7 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
19
16
|
description: sdkTool.description ?? "Search file contents by pattern",
|
|
20
17
|
parameters: sdkTool.parameters,
|
|
21
18
|
renderShell: "self",
|
|
22
|
-
execute:
|
|
19
|
+
execute: wrapExecuteWithMetrics(async (tid, params, sig, _upd, ctx) => {
|
|
23
20
|
const p = params;
|
|
24
21
|
const pattern = String(p.pattern ?? "");
|
|
25
22
|
const path = p.path ? String(p.path) : undefined;
|
|
@@ -45,7 +42,7 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
45
42
|
const cursorStore = fffService.getCursorStore();
|
|
46
43
|
const notices = [];
|
|
47
44
|
if (fffService.partialIndex)
|
|
48
|
-
notices.push(
|
|
45
|
+
notices.push(NOTICE_PARTIAL_FILE_INDEX);
|
|
49
46
|
if (items.length >= effectiveLimit)
|
|
50
47
|
notices.push(`${effectiveLimit} limit reached`);
|
|
51
48
|
if (grep.regexFallbackError)
|
|
@@ -54,7 +51,7 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
54
51
|
const cursorId = cursorStore.store(grep.nextCursor);
|
|
55
52
|
notices.push(`More results available: cursor="${cursorId}"`);
|
|
56
53
|
}
|
|
57
|
-
const text = appendNotices(
|
|
54
|
+
const text = appendNotices(fffFormatGrepText(items, effectiveLimit), notices);
|
|
58
55
|
return {
|
|
59
56
|
content: [{ type: "text", text }],
|
|
60
57
|
details: {
|
|
@@ -73,7 +70,7 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
73
70
|
const result = (await sdkTool.execute(tid, p, sig, undefined, ctx));
|
|
74
71
|
for (const c of (result.content ?? [])) {
|
|
75
72
|
if (c.type === "text")
|
|
76
|
-
c.text =
|
|
73
|
+
c.text = normalizeLineEndings(c.text);
|
|
77
74
|
}
|
|
78
75
|
const tc = (result.content ?? [])
|
|
79
76
|
.filter((c) => c.type === "text")
|
|
@@ -88,10 +85,10 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
88
85
|
return result;
|
|
89
86
|
}),
|
|
90
87
|
renderCall(args, theme, ctx) {
|
|
91
|
-
|
|
88
|
+
resolveBaseBackground(theme);
|
|
92
89
|
const text = ctx.lastComponent ?? new T("", 0, 0);
|
|
93
90
|
const pattern = args.pattern === null || args.pattern === undefined ? invalidArg : String(args.pattern);
|
|
94
|
-
const path = args.path === null || args.path === undefined ? invalidArg :
|
|
91
|
+
const path = args.path === null || args.path === undefined ? invalidArg : shortPath(cwd, home, String(args.path));
|
|
95
92
|
const glob = args.glob;
|
|
96
93
|
const limit = args.limit;
|
|
97
94
|
const literal = args.literal === true;
|
|
@@ -105,14 +102,14 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
105
102
|
out += theme.fg("dim", ` (literal)`);
|
|
106
103
|
if (caseInsensitive)
|
|
107
104
|
out += theme.fg("dim", ` (case-insensitive)`);
|
|
108
|
-
text.setText(
|
|
105
|
+
text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${out}\n`, ctx.isError ? BG_ERROR : undefined));
|
|
109
106
|
return text;
|
|
110
107
|
},
|
|
111
108
|
renderResult(result, _opt, theme, ctx) {
|
|
112
|
-
|
|
109
|
+
resolveBaseBackground(theme);
|
|
113
110
|
const text = ctx.lastComponent ?? new T("", 0, 0);
|
|
114
111
|
if (ctx.isError) {
|
|
115
|
-
text.setText(
|
|
112
|
+
text.setText(renderToolError((result.content ?? [])
|
|
116
113
|
.filter((c) => c.type === "text")
|
|
117
114
|
.map((c) => c.text)
|
|
118
115
|
.join("\n") || "Error", theme));
|
|
@@ -122,7 +119,7 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
122
119
|
if (d?._type === "grepResult" && d.text) {
|
|
123
120
|
const lines = d.text.split("\n");
|
|
124
121
|
if (!ctx.expanded) {
|
|
125
|
-
text.setText(
|
|
122
|
+
text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${FG_DIM}${lines.length} lines — ctrl+o to expand${RST}\n`, ctx.isError ? BG_ERROR : undefined));
|
|
126
123
|
return text;
|
|
127
124
|
}
|
|
128
125
|
const maxShow = lines.length;
|
|
@@ -137,13 +134,13 @@ function registerGrepTool(pi, cwd, fffService, sdkTool, TextComp) {
|
|
|
137
134
|
if (remaining > 0) {
|
|
138
135
|
out.push(theme.fg("muted", `… (${remaining} more ${remaining === 1 ? "line" : "lines"}, to expand)`));
|
|
139
136
|
}
|
|
140
|
-
const body = `${out.map((l) => `${
|
|
141
|
-
text.setText(
|
|
137
|
+
const body = `${out.map((l) => `${TOOL_RESULT_INDENT}${l}`).join("\n")}\n\n`;
|
|
138
|
+
text.setText(fillToolBackground(body, ctx.isError ? BG_ERROR : undefined));
|
|
142
139
|
return text;
|
|
143
140
|
}
|
|
144
141
|
const fc = result.content?.[0];
|
|
145
142
|
const fallback = fc && "text" in fc ? String(fc.text).slice(0, 120) : "no matches";
|
|
146
|
-
text.setText(
|
|
143
|
+
text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${theme.fg("dim", fallback)}`, ctx.isError ? BG_ERROR : undefined));
|
|
147
144
|
return text;
|
|
148
145
|
},
|
|
149
146
|
});
|
package/dist/tools/grep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/labels.js
CHANGED
package/dist/tools/labels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/tools/labels.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/tools/labels.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,OAAO,KAAK,IAAI,EAAE,CAAC;AACpB,CAAC"}
|
package/dist/tools/ls.js
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* pi-pretty: ls tool -- directory listing with styled output. */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const metrics_js_1 = require("./metrics.js");
|
|
10
|
-
function registerLsTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
2
|
+
import { BG_ERROR, FG_DIM, RST, resolveBaseBackground, TOOL_RESULT_INDENT } from "../config.js";
|
|
3
|
+
import { shortPath } from "../helpers.js";
|
|
4
|
+
import { fillToolBackground, renderToolError, renderToolMetrics, renderTree } from "../render.js";
|
|
5
|
+
import { resolveTextCtor } from "../tui-text.js";
|
|
6
|
+
import { wrapExecuteWithMetrics } from "./metrics.js";
|
|
7
|
+
export function registerLsTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
11
8
|
const home = process.env.HOME ?? "";
|
|
12
|
-
const TC =
|
|
9
|
+
const TC = resolveTextCtor(TextComp);
|
|
13
10
|
pi.registerTool({
|
|
14
11
|
name: "ls",
|
|
15
12
|
label: "List",
|
|
16
13
|
description: sdkTool.description ?? "List directory contents",
|
|
17
14
|
parameters: sdkTool.parameters,
|
|
18
15
|
renderShell: "self",
|
|
19
|
-
execute:
|
|
16
|
+
execute: wrapExecuteWithMetrics(async (tid, params, sig, _upd, ctx) => {
|
|
20
17
|
const result = (await sdkTool.execute(tid, params, sig, undefined, ctx));
|
|
21
18
|
const tc = getText(result);
|
|
22
19
|
result.details = {
|
|
@@ -28,43 +25,43 @@ function registerLsTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
28
25
|
return result;
|
|
29
26
|
}),
|
|
30
27
|
renderCall(args, theme, ctx) {
|
|
31
|
-
|
|
28
|
+
resolveBaseBackground(theme);
|
|
32
29
|
const text = ctx.lastComponent ?? new TC("", 0, 0);
|
|
33
30
|
const rawPath = args.path;
|
|
34
31
|
const path = rawPath === null || rawPath === undefined || String(rawPath).length === 0
|
|
35
32
|
? ""
|
|
36
|
-
:
|
|
33
|
+
: shortPath(cwd, home, String(rawPath));
|
|
37
34
|
const limit = args.limit;
|
|
38
35
|
let out = theme.fg("toolTitle", theme.bold("ls"));
|
|
39
36
|
if (path)
|
|
40
37
|
out += ` ${theme.fg("accent", path)}`;
|
|
41
38
|
if (limit !== undefined && limit !== null)
|
|
42
39
|
out += theme.fg("toolOutput", ` (limit ${limit})`);
|
|
43
|
-
text.setText(
|
|
40
|
+
text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${out}\n`, ctx.isError ? BG_ERROR : undefined));
|
|
44
41
|
return text;
|
|
45
42
|
},
|
|
46
43
|
renderResult(result, _opt, theme, ctx) {
|
|
47
|
-
|
|
44
|
+
resolveBaseBackground(theme);
|
|
48
45
|
const text = ctx.lastComponent ?? new TC("", 0, 0);
|
|
49
46
|
if (ctx.isError) {
|
|
50
|
-
text.setText(
|
|
47
|
+
text.setText(renderToolError(getText(result) || "Error", theme));
|
|
51
48
|
return text;
|
|
52
49
|
}
|
|
53
50
|
const d = result.details;
|
|
54
51
|
if (d?._type === "lsResult" && d.text) {
|
|
55
52
|
if (!ctx.expanded) {
|
|
56
|
-
text.setText(
|
|
53
|
+
text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${FG_DIM}${d.entryCount} entries — ctrl+o to expand${RST}${renderToolMetrics(result)}\n`));
|
|
57
54
|
return text;
|
|
58
55
|
}
|
|
59
|
-
const rendered =
|
|
56
|
+
const rendered = renderTree(d.text, d.path)
|
|
60
57
|
.split("\n")
|
|
61
|
-
.map((l) => `${
|
|
58
|
+
.map((l) => `${TOOL_RESULT_INDENT}${l}`)
|
|
62
59
|
.join("\n");
|
|
63
|
-
text.setText(
|
|
60
|
+
text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${FG_DIM}${d.entryCount} entries${RST}${renderToolMetrics(result)}\n${rendered}\n`));
|
|
64
61
|
return text;
|
|
65
62
|
}
|
|
66
63
|
const fc = result.content?.[0];
|
|
67
|
-
text.setText(
|
|
64
|
+
text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${theme.fg("dim", fc && "text" in fc ? String(fc.text).slice(0, 120) : "done")}`));
|
|
68
65
|
return text;
|
|
69
66
|
},
|
|
70
67
|
});
|
package/dist/tools/ls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../src/tools/ls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../src/tools/ls.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/metrics.js
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* pi-pretty: tool metrics wrapper — elapsed time + output size.
|
|
4
3
|
*
|
|
5
4
|
* Wraps execute functions to record performance metadata in result.details.
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const helpers_js_1 = require("../helpers.js");
|
|
10
|
-
function wrapExecuteWithMetrics(execute) {
|
|
6
|
+
import { CHARS_KEY, ELAPSED_KEY } from "../helpers.js";
|
|
7
|
+
export function wrapExecuteWithMetrics(execute) {
|
|
11
8
|
return async (tid, params, sig, upd, ctx) => {
|
|
12
9
|
const start = performance.now();
|
|
13
10
|
const result = await execute(tid, params, sig, upd, ctx);
|
|
14
11
|
const elapsedMs = performance.now() - start;
|
|
15
12
|
const details = (result.details ?? {});
|
|
16
|
-
details[
|
|
17
|
-
details[
|
|
13
|
+
details[ELAPSED_KEY] = elapsedMs;
|
|
14
|
+
details[CHARS_KEY] = getOutputCharCount(result);
|
|
18
15
|
result.details = details;
|
|
19
16
|
return result;
|
|
20
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/tools/metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/tools/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUvD,MAAM,UAAU,sBAAsB,CAAC,OAAkB;IACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;QAClE,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAA+C,CAAC,OAAO,GAAG,OAAO,CAAC;QACnE,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAgC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACpC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IAC9D,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
package/dist/tools/read.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* pi-pretty: read tool -- file reading with syntax highlighting and inline image support. */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const tui_text_js_1 = require("../tui-text.js");
|
|
10
|
-
const metrics_js_1 = require("./metrics.js");
|
|
2
|
+
import { basename, dirname } from "node:path";
|
|
3
|
+
import { BG_BASE, BG_ERROR, FG_DIM, FG_LNUM, FG_RULE, RST, resolveBaseBackground, TOOL_RESULT_INDENT, termWidth, } from "../config.js";
|
|
4
|
+
import { normalizeLineEndings, shortPath } from "../helpers.js";
|
|
5
|
+
import { fillToolBackground, renderFileContent, renderToolError } from "../render.js";
|
|
6
|
+
import { resolveTextCtor } from "../tui-text.js";
|
|
7
|
+
import { wrapExecuteWithMetrics } from "./metrics.js";
|
|
11
8
|
function getSkillName(filePath, content) {
|
|
12
|
-
if (
|
|
9
|
+
if (basename(filePath) !== "SKILL.md")
|
|
13
10
|
return undefined;
|
|
14
11
|
const lines = content.split("\n");
|
|
15
12
|
if (lines[0]?.trim() === "---") {
|
|
@@ -20,12 +17,12 @@ function getSkillName(filePath, content) {
|
|
|
20
17
|
continue;
|
|
21
18
|
const value = match[1].trim();
|
|
22
19
|
if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
23
|
-
return value.slice(1, -1).trim() ||
|
|
20
|
+
return value.slice(1, -1).trim() || basename(dirname(filePath));
|
|
24
21
|
}
|
|
25
|
-
return value ||
|
|
22
|
+
return value || basename(dirname(filePath));
|
|
26
23
|
}
|
|
27
24
|
}
|
|
28
|
-
return
|
|
25
|
+
return basename(dirname(filePath));
|
|
29
26
|
}
|
|
30
27
|
function renderSkillHeader(skillName, expanded, theme) {
|
|
31
28
|
const label = theme.fg("accent", "[skill]");
|
|
@@ -33,8 +30,8 @@ function renderSkillHeader(skillName, expanded, theme) {
|
|
|
33
30
|
const hint = theme.fg("dim", `ctrl+o to ${expanded ? "collapse" : "expand"}`);
|
|
34
31
|
return `${label} ${name} ${hint}`;
|
|
35
32
|
}
|
|
36
|
-
function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
37
|
-
const TC =
|
|
33
|
+
export function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
34
|
+
const TC = resolveTextCtor(TextComp);
|
|
38
35
|
const home = process.env.HOME ?? "";
|
|
39
36
|
pi.registerTool({
|
|
40
37
|
name: "read",
|
|
@@ -42,7 +39,7 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
42
39
|
description: sdkTool.description ?? "Read file contents",
|
|
43
40
|
parameters: sdkTool.parameters,
|
|
44
41
|
renderShell: "self",
|
|
45
|
-
execute:
|
|
42
|
+
execute: wrapExecuteWithMetrics(async (tid, params, sig, _upd, ctx) => {
|
|
46
43
|
const p = params;
|
|
47
44
|
const result = (await sdkTool.execute(tid, p, sig, undefined, ctx));
|
|
48
45
|
const imageBlock = result.content?.find((c) => c.type === "image");
|
|
@@ -53,7 +50,7 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
53
50
|
};
|
|
54
51
|
return result;
|
|
55
52
|
}
|
|
56
|
-
const tc =
|
|
53
|
+
const tc = normalizeLineEndings(getText(result));
|
|
57
54
|
result.details = {
|
|
58
55
|
_type: "readFile",
|
|
59
56
|
filePath: String(p.path ?? ""),
|
|
@@ -64,7 +61,7 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
64
61
|
return result;
|
|
65
62
|
}),
|
|
66
63
|
renderCall(args, theme, ctx) {
|
|
67
|
-
|
|
64
|
+
resolveBaseBackground(theme);
|
|
68
65
|
const text = ctx.lastComponent ?? new TC("", 0, 0);
|
|
69
66
|
if (!ctx.isError) {
|
|
70
67
|
text.setText("");
|
|
@@ -72,14 +69,14 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
72
69
|
}
|
|
73
70
|
const path = String(args.path ?? "");
|
|
74
71
|
const label = theme.fg("error", theme.bold("→ read"));
|
|
75
|
-
text.setText(
|
|
72
|
+
text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${label} ${theme.fg("toolTitle", path)}\n`, BG_ERROR));
|
|
76
73
|
return text;
|
|
77
74
|
},
|
|
78
75
|
renderResult(result, _opt, theme, ctx) {
|
|
79
|
-
|
|
76
|
+
resolveBaseBackground(theme);
|
|
80
77
|
const text = ctx.lastComponent ?? new TC("", 0, 0);
|
|
81
78
|
if (ctx.isError) {
|
|
82
|
-
text.setText(
|
|
79
|
+
text.setText(fillToolBackground(renderToolError(getText(result) || "Error", theme), BG_ERROR));
|
|
83
80
|
return text;
|
|
84
81
|
}
|
|
85
82
|
const d = result.details;
|
|
@@ -88,25 +85,25 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
88
85
|
// or unsupported by the terminal.
|
|
89
86
|
if (d?._type === "readImage") {
|
|
90
87
|
const note = getText(result);
|
|
91
|
-
text.setText(note ?
|
|
88
|
+
text.setText(note ? fillToolBackground(note, BG_BASE) : "");
|
|
92
89
|
return text;
|
|
93
90
|
}
|
|
94
91
|
// File content — line-numbered display
|
|
95
92
|
if (d?._type === "readFile" && d.content) {
|
|
96
|
-
const tw =
|
|
93
|
+
const tw = termWidth();
|
|
97
94
|
const lines = d.content.split("\n");
|
|
98
95
|
const total = lines.length;
|
|
99
96
|
const filePath = String(d.filePath ?? "");
|
|
100
97
|
const skillName = getSkillName(filePath, d.content);
|
|
101
|
-
const p2 =
|
|
98
|
+
const p2 = shortPath(cwd, home, filePath);
|
|
102
99
|
const off2 = typeof d.offset === "number" ? `:${d.offset}` : "";
|
|
103
100
|
if (!ctx.expanded) {
|
|
104
101
|
if (skillName) {
|
|
105
102
|
const header = renderSkillHeader(skillName, false, theme);
|
|
106
|
-
text.setText(
|
|
103
|
+
text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${header}\n`, BG_BASE));
|
|
107
104
|
return text;
|
|
108
105
|
}
|
|
109
|
-
text.setText(
|
|
106
|
+
text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${theme.fg("toolTitle", theme.bold("→ read"))} ${theme.fg("toolTitle", p2)}${theme.fg("dim", off2)}\n${TOOL_RESULT_INDENT}${FG_DIM}${total} lines — ctrl+o to expand${RST}\n`, BG_BASE));
|
|
110
107
|
return text;
|
|
111
108
|
}
|
|
112
109
|
const maxShow = lines.length;
|
|
@@ -117,44 +114,44 @@ function registerReadTool(pi, cwd, _fffService, sdkTool, TextComp) {
|
|
|
117
114
|
const header = skillName
|
|
118
115
|
? renderSkillHeader(skillName, true, theme)
|
|
119
116
|
: `${theme.fg("toolTitle", theme.bold("→ read"))} ${theme.fg("toolTitle", p2)}${theme.fg("dim", off2)}`;
|
|
120
|
-
const out = ["", `${
|
|
121
|
-
out.push(`${
|
|
117
|
+
const out = ["", `${TOOL_RESULT_INDENT}${header}`];
|
|
118
|
+
out.push(`${TOOL_RESULT_INDENT}${FG_RULE}${"─".repeat(tw - 1)}${RST}`);
|
|
122
119
|
for (let i = 0; i < show.length; i++) {
|
|
123
120
|
const ln = (d.offset || 0) + i + 1;
|
|
124
121
|
const code = show[i] ?? "";
|
|
125
|
-
const display = code.length > cw ? code.slice(0, Math.max(0, cw - 1)) + `${
|
|
122
|
+
const display = code.length > cw ? code.slice(0, Math.max(0, cw - 1)) + `${FG_DIM}›${RST}` : code;
|
|
126
123
|
const lineNo = String(ln);
|
|
127
|
-
out.push(`${
|
|
124
|
+
out.push(`${TOOL_RESULT_INDENT}${FG_LNUM}${" ".repeat(Math.max(0, nw - lineNo.length))}${lineNo}${RST} ${FG_RULE}│${RST} ${display}${RST}`);
|
|
128
125
|
}
|
|
129
126
|
if (total > maxShow) {
|
|
130
|
-
out.push(`${
|
|
127
|
+
out.push(`${TOOL_RESULT_INDENT}${FG_DIM}… ${total - maxShow} more lines (${total} total)${RST}`);
|
|
131
128
|
}
|
|
132
129
|
out.push("");
|
|
133
130
|
const rendered = out.join("\n");
|
|
134
|
-
text.setText(
|
|
131
|
+
text.setText(fillToolBackground(rendered, BG_BASE));
|
|
135
132
|
ctx.state._rt = rendered;
|
|
136
133
|
// Async syntax highlighting via Shiki
|
|
137
|
-
|
|
134
|
+
renderFileContent(d.content, d.filePath, d.offset || 0, maxShow, cw)
|
|
138
135
|
.then((hl) => {
|
|
139
136
|
const padded = hl
|
|
140
137
|
.split("\n")
|
|
141
138
|
.map((line, index) => {
|
|
142
139
|
const lineNo = String((d.offset || 0) + index + 1);
|
|
143
|
-
return `${
|
|
140
|
+
return `${TOOL_RESULT_INDENT}${FG_LNUM}${" ".repeat(Math.max(0, nw - lineNo.length))}${lineNo}${RST} ${FG_RULE}│${RST} ${line}${RST}`;
|
|
144
141
|
})
|
|
145
142
|
.join("\n");
|
|
146
143
|
const divider = skillName
|
|
147
|
-
? `${
|
|
144
|
+
? `${TOOL_RESULT_INDENT}${FG_RULE}${"─".repeat(Math.max(1, tw - 1))}${RST}\n`
|
|
148
145
|
: "";
|
|
149
|
-
const rendered = `\n${
|
|
150
|
-
text.setText(
|
|
146
|
+
const rendered = `\n${TOOL_RESULT_INDENT}${header}\n${divider}${padded}\n`;
|
|
147
|
+
text.setText(fillToolBackground(rendered, BG_BASE));
|
|
151
148
|
ctx.state._rt = rendered;
|
|
152
149
|
})
|
|
153
150
|
.catch(() => { });
|
|
154
151
|
return text;
|
|
155
152
|
}
|
|
156
153
|
const fc = result.content?.[0];
|
|
157
|
-
text.setText(
|
|
154
|
+
text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${theme.fg("dim", fc && "text" in fc ? String(fc.text).slice(0, 120) : "done")}`, BG_BASE));
|
|
158
155
|
return text;
|
|
159
156
|
},
|
|
160
157
|
});
|
package/dist/tools/read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"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"}
|
package/dist/tui-text.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.resolveTextCtor = resolveTextCtor;
|
|
5
|
-
const pi_tui_1 = require("@earendil-works/pi-tui");
|
|
6
|
-
function getTextCtor() {
|
|
7
|
-
return pi_tui_1.Text;
|
|
1
|
+
import { Text } from "@earendil-works/pi-tui";
|
|
2
|
+
export function getTextCtor() {
|
|
3
|
+
return Text;
|
|
8
4
|
}
|
|
9
|
-
function resolveTextCtor(TextComp) {
|
|
10
|
-
return TextComp ??
|
|
5
|
+
export function resolveTextCtor(TextComp) {
|
|
6
|
+
return TextComp ?? Text;
|
|
11
7
|
}
|
|
12
8
|
//# sourceMappingURL=tui-text.js.map
|
package/dist/tui-text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-text.js","sourceRoot":"","sources":["../src/tui-text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui-text.js","sourceRoot":"","sources":["../src/tui-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAU9C,MAAM,UAAU,WAAW;IAC1B,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAmB;IAClD,OAAO,QAAQ,IAAI,IAAI,CAAC;AACzB,CAAC"}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|