@rubytech/create-maxy-lite 0.1.6 → 0.1.8
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/index.mjs +10 -1
- package/lib/paths.mjs +9 -1
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -137,7 +137,16 @@ const installDeps = async () => {
|
|
|
137
137
|
// err= — the true reason (ABI/NODE_MODULE_VERSION/symbol/ELF), not the swallowed miss.
|
|
138
138
|
if (runIn(ptyLoadCommand()).code !== 0) {
|
|
139
139
|
const direct = runIn(ptyDirectLoadCommand())
|
|
140
|
-
|
|
140
|
+
// proot emits `can't sanitize binding /proc/self/fd/*` lines to stderr on every
|
|
141
|
+
// non-interactive login; they are noise that buries (and truncates) the real
|
|
142
|
+
// dlopen error. Strip them so err= carries only the actual cause.
|
|
143
|
+
const cause =
|
|
144
|
+
direct.stderr
|
|
145
|
+
.split('\n')
|
|
146
|
+
.filter((l) => !/proot warning: can't sanitize binding/.test(l))
|
|
147
|
+
.join(' ')
|
|
148
|
+
.replace(/\s+/g, ' ')
|
|
149
|
+
.trim() || `no stderr; ${PTY_NODE}`
|
|
141
150
|
throw new Error(`node-pty native module did not load after build: ${cause}`)
|
|
142
151
|
}
|
|
143
152
|
}
|
package/lib/paths.mjs
CHANGED
|
@@ -66,7 +66,15 @@ export function ptyDirectLoadCommand({ ptyNode = PTY_NODE } = {}) {
|
|
|
66
66
|
* was the divergence from Q2. The toolchain step guarantees python3/make/g++.
|
|
67
67
|
*/
|
|
68
68
|
export function webchatInstallCommand({ webchatDir = WEBCHAT_DIR } = {}) {
|
|
69
|
-
|
|
69
|
+
// Reproduce the spike's working condition VERBATIM, including its freshness: the
|
|
70
|
+
// spike ran `npm install node-pty` in an EMPTY dir (`mkdir ~/pty`), which forced a
|
|
71
|
+
// real source build of pty.node that loaded. On a re-installed device the webchat
|
|
72
|
+
// node_modules already holds a prior (broken) pty.node, so a plain `npm install`
|
|
73
|
+
// reports "up to date" and rebuilds nothing — leaving the bad binary. So clean
|
|
74
|
+
// node_modules first, then install: that recreates the spike's empty-dir build.
|
|
75
|
+
// `npm install node-pty` also resolves package.json (ws). The env prefix forces
|
|
76
|
+
// scripts on to match the spike's environment regardless of ambient ignore-scripts.
|
|
77
|
+
return `cd ${webchatDir} && rm -rf node_modules package-lock.json && npm_config_ignore_scripts=false npm install node-pty`
|
|
70
78
|
}
|
|
71
79
|
|
|
72
80
|
// The shipped skills, as bundled into the app dir, and the path the on-device
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rubytech/create-maxy-lite",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Install maxy-lite on an Android phone: orchestrates proot-distro Ubuntu, glibc Node, claude, the web-chat relay, the vault and its bind-mount — run via npx in bare Termux.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|