pennyrouter 0.3.42 → 0.3.43
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pennyrouter",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.43",
|
|
4
4
|
"description": "Install and manage PennyRouter local coding-agent integrations.",
|
|
5
5
|
"homepage": "https://pennyrouter.com",
|
|
6
6
|
"bugs": {
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@xterm/addon-fit": "^0.10.0",
|
|
32
|
+
"@xterm/addon-unicode11": "^0.8.0",
|
|
32
33
|
"@xterm/xterm": "^5.5.0",
|
|
33
34
|
"node-pty": "^1.0.0",
|
|
34
35
|
"ws": "^8.18.0"
|
package/src/launch.js
CHANGED
|
@@ -315,7 +315,7 @@ export async function installPennyCompare() {
|
|
|
315
315
|
await mkdir(join(destination, "reports"), { recursive: true, mode: 0o700 });
|
|
316
316
|
await mkdir(pennyBinDir(), { recursive: true, mode: 0o755 });
|
|
317
317
|
const modules = join(destination, "web-demo", "node_modules");
|
|
318
|
-
for (const name of ["@xterm/addon-fit", "@xterm/xterm", "node-pty", "ws"]) {
|
|
318
|
+
for (const name of ["@xterm/addon-fit", "@xterm/addon-unicode11", "@xterm/xterm", "node-pty", "ws"]) {
|
|
319
319
|
const target = join(modules, name);
|
|
320
320
|
await mkdir(dirname(target), { recursive: true });
|
|
321
321
|
await cp(await findInstalledPackage(name), target, { recursive: true });
|
package/src/launch.test.js
CHANGED
|
@@ -106,6 +106,10 @@ async function main() {
|
|
|
106
106
|
assert.equal(second.changed, false);
|
|
107
107
|
assert.equal(await fileMode(pennyShimPath()), 0o755);
|
|
108
108
|
assert.ok(fs.existsSync(path.join(pennyRuntimeDir(), "bin", "penny.js")));
|
|
109
|
+
for (const asset of ["terminal-unicode.js", "artifacts.mjs", "artifact-preview.html",
|
|
110
|
+
"node_modules/@xterm/addon-unicode11/lib/addon-unicode11.js"]) {
|
|
111
|
+
assert.ok(fs.existsSync(path.join(pennyCompareDir(), "web-demo", asset)), `compare installs ${asset}`);
|
|
112
|
+
}
|
|
109
113
|
assert.equal(
|
|
110
114
|
fs.realpathSync(path.join(pennyBinDir(), "penny-compare")),
|
|
111
115
|
fs.realpathSync(path.join(pennyCompareDir(), "penny-compare")),
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Keep the terminal's widths aligned with Claude's status-line cursor movements.
|
|
2
|
+
// Unicode 11 predates the coin emoji (Unicode 13), which Claude counts as two cells.
|
|
3
|
+
globalThis.configureCompareUnicode = function (terminal, Unicode11Addon) {
|
|
4
|
+
const addon = new Unicode11Addon();
|
|
5
|
+
addon.activate({ unicode: { register(base) {
|
|
6
|
+
const provider = Object.create(base);
|
|
7
|
+
provider.version = '11-penny';
|
|
8
|
+
provider.wcwidth = function (codepoint) {
|
|
9
|
+
return codepoint === 0x1fa99 ? 2 : base.wcwidth(codepoint);
|
|
10
|
+
};
|
|
11
|
+
terminal.unicode.register(provider);
|
|
12
|
+
} } });
|
|
13
|
+
terminal.unicode.activeVersion = '11-penny';
|
|
14
|
+
};
|