@mmmbuto/gemini-cli-termux 0.22.3-termux → 0.22.5-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
@@ -126,6 +126,18 @@ This fork supports optional integration with Termux-API commands for Android
126
126
  device access. Enable Gemini to interact with your device hardware and Android
127
127
  features.
128
128
 
129
+ **Context memory + TTS note:**
130
+
131
+ - The Termux fork ships JSON context memory at
132
+ `~/.gemini/context_memory/{base.json,user.json,user.journal.jsonl}`. In
133
+ `/settings → Context Memory` you can toggle autoload, choose the primary
134
+ source, and (if needed) enable writes to `base.json` via
135
+ `Allow Base Memory Writes`.
136
+ - TTS notifications are controlled by
137
+ `/settings → Notifications → Enable TTS Notifications`. When disabled,
138
+ `termux-tts-speak` is blocked even if an agent asks for it. These behaviors
139
+ are merge-safe and confined to Termux patches.
140
+
129
141
  ### Quick Setup
130
142
 
131
143
  ```bash
@@ -171,6 +183,8 @@ See [docs/termux-api/](./docs/termux-api/) for complete documentation.
171
183
  shell tool blocks TTS when disabled.
172
184
  - **Termux-first shell**: non-interactive commands (`echo`, `pwd`, `ls`) work
173
185
  without native PTY deps; optional natives removed for faster installs.
186
+ - **Termux-API tools**: discovery/call scripts under `scripts/termux-tools/`
187
+ expose Termux APIs as tools (battery, tts, camera, etc.).
174
188
 
175
189
  See `docs/cli/context-memory.md` for the detailed memory layout and settings.
176
190
 
package/bundle/gemini.js CHANGED
@@ -93738,7 +93738,7 @@ import { fileURLToPath as fileURLToPath4 } from "node:url";
93738
93738
  import path12 from "node:path";
93739
93739
  async function getVersion() {
93740
93740
  const pkgJson = await getPackageJson(__dirname3);
93741
- return "0.22.3-termux";
93741
+ return "0.22.5-termux";
93742
93742
  }
93743
93743
  var __filename, __dirname3;
93744
93744
  var init_version2 = __esm({
@@ -435391,6 +435391,15 @@ var SETTINGS_SCHEMA = {
435391
435391
  description: "General application settings.",
435392
435392
  showInDialog: false,
435393
435393
  properties: {
435394
+ mobileSettings: {
435395
+ type: "boolean",
435396
+ label: "Mobile Settings Layout",
435397
+ category: "General",
435398
+ requiresRestart: false,
435399
+ default: true,
435400
+ description: "Use compact /settings layout for narrow terminals (auto-detected, can be turned off).",
435401
+ showInDialog: true
435402
+ },
435394
435403
  previewFeatures: {
435395
435404
  type: "boolean",
435396
435405
  label: "Preview Features (e.g., models)",
@@ -436218,6 +436227,54 @@ var SETTINGS_SCHEMA = {
436218
436227
  showInDialog: false
436219
436228
  }
436220
436229
  }
436230
+ },
436231
+ mcpImport: {
436232
+ type: "object",
436233
+ label: "MCP Import",
436234
+ category: "Context",
436235
+ requiresRestart: false,
436236
+ default: {},
436237
+ description: "Import remote MCP memory categories into local base.json (merge-safe).",
436238
+ showInDialog: false,
436239
+ properties: {
436240
+ enabled: {
436241
+ type: "boolean",
436242
+ label: "Enable MCP Import",
436243
+ category: "Context",
436244
+ requiresRestart: false,
436245
+ default: false,
436246
+ description: "Allow the MCP import tool to write remote memory into base.json (requires base write enabled).",
436247
+ showInDialog: true
436248
+ },
436249
+ categories: {
436250
+ type: "array",
436251
+ label: "Categories to Import",
436252
+ category: "Context",
436253
+ requiresRestart: false,
436254
+ default: [
436255
+ "identity",
436256
+ "infrastructure",
436257
+ "projects",
436258
+ "workflow",
436259
+ "base"
436260
+ ],
436261
+ description: "MCP categories to pull into base.json.",
436262
+ showInDialog: true,
436263
+ items: {
436264
+ type: "string",
436265
+ description: "Category name"
436266
+ }
436267
+ },
436268
+ scope: {
436269
+ type: "string",
436270
+ label: "Import Scope",
436271
+ category: "Context",
436272
+ requiresRestart: false,
436273
+ default: "global",
436274
+ description: "Scope to apply to imported entries (e.g., global, host:<id>, project:<id>).",
436275
+ showInDialog: true
436276
+ }
436277
+ }
436221
436278
  }
436222
436279
  }
436223
436280
  }
@@ -439227,7 +439284,7 @@ var WarningMessage = ({ text }) => {
439227
439284
  };
439228
439285
 
439229
439286
  // packages/cli/src/generated/git-commit.ts
439230
- var GIT_COMMIT_INFO2 = "defd3a5ea";
439287
+ var GIT_COMMIT_INFO2 = "4e52a0117";
439231
439288
 
439232
439289
  // packages/cli/src/ui/components/AboutBox.tsx
439233
439290
  var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
@@ -445779,6 +445836,8 @@ function SettingsDialog({
445779
445836
  availableTerminalHeight,
445780
445837
  config: config2
445781
445838
  }) {
445839
+ const columns = process.stdout.columns ?? 80;
445840
+ const mobileMode = (settings.merged.general?.mobileSettings ?? true) || columns < 80;
445782
445841
  const { vimEnabled, toggleVimEnabled } = useVimMode();
445783
445842
  const [focusSection, setFocusSection] = (0, import_react78.useState)(
445784
445843
  "settings"
@@ -446468,7 +446527,7 @@ function SettingsDialog({
446468
446527
  children: isActive ? "\u25CF" : ""
446469
446528
  }
446470
446529
  ) }),
446471
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Box_default, { minWidth: 50, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
446530
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Box_default, { minWidth: mobileMode ? 24 : 50, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
446472
446531
  Text,
446473
446532
  {
446474
446533
  color: isActive ? theme.status.success : theme.text.primary,
@@ -446485,8 +446544,9 @@ function SettingsDialog({
446485
446544
  /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
446486
446545
  Text,
446487
446546
  {
446547
+ wrap: "truncate",
446488
446548
  color: isActive ? theme.status.success : shouldBeGreyedOut ? theme.text.secondary : theme.text.primary,
446489
- children: displayValue
446549
+ children: mobileMode && typeof displayValue === "string" ? displayValue.length > columns - 30 ? displayValue.slice(0, columns - 33) + "\u2026" : displayValue : displayValue
446490
446550
  }
446491
446551
  )
446492
446552
  ] }),
@@ -476344,6 +476404,12 @@ function buildContextMemoryOptions(settings) {
476344
476404
  const defaults3 = getDefaultContextMemoryOptions();
476345
476405
  const userPaths = settings.context?.contextMemory?.paths || {};
476346
476406
  const auto = settings.context?.contextMemory?.autoLoad || {};
476407
+ const mcpImport = settings.context?.contextMemory?.mcpImport;
476408
+ const defaultMcpImport = defaults3.mcpImport ?? {
476409
+ enabled: false,
476410
+ categories: [],
476411
+ scope: "global"
476412
+ };
476347
476413
  const options2 = {
476348
476414
  ...defaults3,
476349
476415
  enabled: settings.context?.contextMemory?.enabled ?? true,
@@ -476352,6 +476418,11 @@ function buildContextMemoryOptions(settings) {
476352
476418
  autoLoadJsonBase: auto.jsonBase ?? true,
476353
476419
  autoLoadJsonUser: auto.jsonUser ?? true,
476354
476420
  allowBaseWrite: settings.context?.contextMemory?.allowBaseWrite ?? false,
476421
+ mcpImport: {
476422
+ enabled: mcpImport?.enabled ?? defaultMcpImport.enabled ?? false,
476423
+ categories: mcpImport?.categories ?? defaultMcpImport.categories ?? [],
476424
+ scope: mcpImport?.scope ?? defaultMcpImport.scope ?? "global"
476425
+ },
476355
476426
  paths: {
476356
476427
  base: userPaths.base || defaults3.paths.base,
476357
476428
  user: userPaths.user || defaults3.paths.user,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmmbuto/gemini-cli-termux",
3
- "version": "0.22.3-termux",
3
+ "version": "0.22.5-termux",
4
4
  "engines": {
5
5
  "node": ">=20.0.0"
6
6
  },