@mmmbuto/gemini-cli-termux 0.24.6-termux → 0.24.8-termux
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/README.md
CHANGED
|
@@ -169,3 +169,20 @@ See [docs/termux-api/](./docs/termux-api/) for complete documentation.
|
|
|
169
169
|
## License
|
|
170
170
|
|
|
171
171
|
Apache 2.0 (same as upstream). See LICENSE.
|
|
172
|
+
|
|
173
|
+
## PTY Support (Shared Library)
|
|
174
|
+
|
|
175
|
+
This project uses `@mmmbuto/pty-termux-utils` as a shared library for PTY
|
|
176
|
+
management across all Termux CLI projects (Gemini, Qwen, Nexus).
|
|
177
|
+
|
|
178
|
+
- **Native PTY:** Uses `@mmmbuto/node-pty-android-arm64@~1.1.0` when available
|
|
179
|
+
- **Linux ARM64:** Uses `@lydell/node-pty-linux-arm64@~1.2.0-beta.2` when
|
|
180
|
+
available
|
|
181
|
+
- **Fallback:** Gracefully degrades to `child_process` adapter
|
|
182
|
+
- **Debug Logging:** Enable with `PTY_DEBUG=1` environment variable
|
|
183
|
+
- **Architecture:** See `@mmmbuto/pty-termux-utils` documentation
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Enable PTY debug logging
|
|
187
|
+
PTY_DEBUG=1 gemini "your prompt"
|
|
188
|
+
```
|
package/bundle/docs/TERMUX.md
CHANGED
|
@@ -50,8 +50,7 @@ node bundle/gemini.js --version
|
|
|
50
50
|
## Update
|
|
51
51
|
|
|
52
52
|
- npm: `npm install -g @mmmbuto/gemini-cli-termux@latest`
|
|
53
|
-
- source:
|
|
54
|
-
`git pull && npm install && npm run build && npm run bundle`
|
|
53
|
+
- source: `git pull && npm install && npm run build && npm run bundle`
|
|
55
54
|
|
|
56
55
|
## Termux-API Support (Optional)
|
|
57
56
|
|
|
@@ -8,8 +8,8 @@ it updated whenever a new patch is added or removed.
|
|
|
8
8
|
|
|
9
9
|
1. **Clipboard (TERMUX\_\_PREFIX)** – On Termux set `TERMUX__PREFIX` from
|
|
10
10
|
`$PREFIX` so clipboardy detects Termux correctly.
|
|
11
|
-
2. **Android PTY prebuild** – Use `@mmmbuto/node-pty-android-arm64` for
|
|
12
|
-
|
|
11
|
+
2. **Android PTY prebuild** – Use `@mmmbuto/node-pty-android-arm64` for Termux;
|
|
12
|
+
remove `@lydell/node-pty-*` and generic `node-pty`.
|
|
13
13
|
3. **Prepare script** – `prepare` is a no-op on Termux to avoid unnecessary
|
|
14
14
|
bundle/husky work during installs.
|
|
15
15
|
4. **Core exports** – `packages/core/src/index.ts` re-exports stdio utilities,
|
|
@@ -22,8 +22,8 @@ it updated whenever a new patch is added or removed.
|
|
|
22
22
|
8. **Termux detection** – `packages/core/src/utils/termux-detect.ts` utility.
|
|
23
23
|
9. **Postinstall message** – Clear success message on Termux install.
|
|
24
24
|
10. **Context memory + Memory Mode** – JSON memories (base/user/journal) plus
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
presets: `default`, `jit`, `jit+json`. Auto-load toggles, primary selector,
|
|
26
|
+
and MCP import tool (disabled by default; base writes still gated).
|
|
27
27
|
11. **Mobile-first settings** – Compact `/settings` rendering by default on
|
|
28
28
|
Termux; TTS toggle exposed (opt-in).
|
|
29
29
|
12. **Shell parser fix** – Base64 polyfill in bundle banner to support
|
|
@@ -34,8 +34,8 @@ it updated whenever a new patch is added or removed.
|
|
|
34
34
|
|
|
35
35
|
## Expected Warnings
|
|
36
36
|
|
|
37
|
-
- No node-pty warnings expected on Termux. If PTY fails to load, the CLI
|
|
38
|
-
|
|
37
|
+
- No node-pty warnings expected on Termux. If PTY fails to load, the CLI falls
|
|
38
|
+
back to `child_process`.
|
|
39
39
|
|
|
40
40
|
## Scope
|
|
41
41
|
|
|
@@ -86,7 +86,10 @@ Likely conflict files:
|
|
|
86
86
|
- `packages/core/src/services/contextManager.ts` - Keep JIT + JSON wiring
|
|
87
87
|
- `packages/core/src/utils/contextMemory.ts` - Keep JSON memory logic
|
|
88
88
|
- `packages/core/src/tools/shell.ts` - Keep TTS guard
|
|
89
|
-
- `packages/core/package.json` - Keep `@mmmbuto/node-pty-android-arm64` and
|
|
89
|
+
- `packages/core/package.json` - Keep `@mmmbuto/node-pty-android-arm64` and
|
|
90
|
+
remove `@lydell/node-pty-*`/`node-pty`
|
|
91
|
+
- `packages/core/src/types/pty-shim.d.ts` - Keep Termux PTY typings shim
|
|
92
|
+
- `packages/core/src/types/mcp-sdk-shims.d.ts` - Keep MCP SDK typings shim
|
|
90
93
|
- `scripts/prepare-termux.cjs` - Keep Termux prepare no-op
|
|
91
94
|
|
|
92
95
|
### Step 4: Verify patches intact
|
|
@@ -98,6 +101,8 @@ ls -la packages/core/src/utils/contextMemory.ts
|
|
|
98
101
|
ls -la scripts/postinstall.cjs
|
|
99
102
|
ls -la scripts/termux-setup.sh
|
|
100
103
|
ls -la scripts/termux-tools/
|
|
104
|
+
ls -la packages/core/src/types/pty-shim.d.ts
|
|
105
|
+
ls -la packages/core/src/types/mcp-sdk-shims.d.ts
|
|
101
106
|
|
|
102
107
|
# Check that modifications are present
|
|
103
108
|
grep "TERMUX PATCH" esbuild.config.js
|
|
@@ -71,7 +71,7 @@ export default isInCi;
|
|
|
71
71
|
|
|
72
72
|
```json
|
|
73
73
|
{
|
|
74
|
-
"optionalDependencies": {
|
|
74
|
+
"optionalDependencies": {
|
|
75
75
|
"@mmmbuto/node-pty-android-arm64": "1.1.0"
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -101,9 +101,7 @@ export default isInCi;
|
|
|
101
101
|
**File**: `esbuild.config.js`
|
|
102
102
|
|
|
103
103
|
```javascript
|
|
104
|
-
const external = [
|
|
105
|
-
'@mmmbuto/node-pty-android-arm64',
|
|
106
|
-
];
|
|
104
|
+
const external = ['@mmmbuto/node-pty-android-arm64'];
|
|
107
105
|
```
|
|
108
106
|
|
|
109
107
|
**Purpose**: Excludes native modules from the bundle.
|
|
@@ -125,7 +123,8 @@ npm warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @lydell/n
|
|
|
125
123
|
|
|
126
124
|
**Current Status**:
|
|
127
125
|
|
|
128
|
-
With `@mmmbuto/node-pty-android-arm64`, installs on Termux should be clean and
|
|
126
|
+
With `@mmmbuto/node-pty-android-arm64`, installs on Termux should be clean and
|
|
127
|
+
avoid node-gyp.
|
|
129
128
|
|
|
130
129
|
**Legacy Proposed Solution**:
|
|
131
130
|
|
package/bundle/gemini.js
CHANGED
|
@@ -106968,7 +106968,7 @@ import { fileURLToPath as fileURLToPath4 } from "node:url";
|
|
|
106968
106968
|
import path12 from "node:path";
|
|
106969
106969
|
async function getVersion() {
|
|
106970
106970
|
const pkgJson = await getPackageJson(__dirname3);
|
|
106971
|
-
return "0.24.
|
|
106971
|
+
return "0.24.8-termux";
|
|
106972
106972
|
}
|
|
106973
106973
|
var __filename, __dirname3;
|
|
106974
106974
|
var init_version2 = __esm({
|
|
@@ -445951,7 +445951,7 @@ var WarningMessage = ({ text }) => {
|
|
|
445951
445951
|
};
|
|
445952
445952
|
|
|
445953
445953
|
// packages/cli/src/generated/git-commit.ts
|
|
445954
|
-
var GIT_COMMIT_INFO2 = "
|
|
445954
|
+
var GIT_COMMIT_INFO2 = "f16b1daad";
|
|
445955
445955
|
|
|
445956
445956
|
// packages/cli/src/ui/components/AboutBox.tsx
|
|
445957
445957
|
var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmmbuto/gemini-cli-termux",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.8-termux",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=20.0.0"
|
|
6
6
|
},
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"url": "https://github.com/DioNanos/gemini-cli-termux.git"
|
|
15
15
|
},
|
|
16
16
|
"config": {
|
|
17
|
-
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.24.
|
|
17
|
+
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.24.8-termux"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"start": "crossenv NODE_ENV=development node scripts/start.js",
|