@8gi-foundation/8gent-code 0.20.10 → 0.20.12

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 CHANGED
@@ -9,6 +9,34 @@ versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.20.12] - 2026-10-22
13
+
14
+ ### Added
15
+ - eight: required-output gate, the turn may not end while a named output file is missing (#4734) ([#4736](https://github.com/8gi-foundation/8gent-code/pull/4736))
16
+
17
+ ### Fixed
18
+ - tui: number shortcuts that work in Termux, help shows only keys the terminal can send (#4723) ([#4738](https://github.com/8gi-foundation/8gent-code/pull/4738))
19
+ - eight: a stalled turn says it is waiting and gives up after a bound (#4727) ([#4737](https://github.com/8gi-foundation/8gent-code/pull/4737))
20
+ - permissions: a path the person names in the ask is readable; boundary blocks are terminal ([#4722](https://github.com/8gi-foundation/8gent-code/pull/4722))
21
+ - provider: one keyed provider and no local runtime means no question, and the choice persists (#4720) ([#4728](https://github.com/8gi-foundation/8gent-code/pull/4728))
22
+ - eight: no unprompted audio, COMPLETED line is a fixed form ([#4718](https://github.com/8gi-foundation/8gent-code/pull/4718))
23
+
24
+ ## [0.20.11] - 2026-10-22
25
+
26
+ ### Added
27
+ - voice: Android uses the keyboard mic; termux-tts-speak output; Termux hints ([#4726](https://github.com/8gi-foundation/8gent-code/pull/4726))
28
+ - memory: ME profile folder behind EIGHT_ME=1, /me and 8gent me import ([#4709](https://github.com/8gi-foundation/8gent-code/pull/4709))
29
+
30
+ ### Fixed
31
+ - state: keep project memory and scratch out of the repo (#4711) ([#4719](https://github.com/8gi-foundation/8gent-code/pull/4719))
32
+ - goal: no private paths, safeSpawn, ready check before turn 1 (#4721) ([#4725](https://github.com/8gi-foundation/8gent-code/pull/4725))
33
+ - a proxy 403 is not a bad key; done gate sees `bun test`; ignored providers print once ([#4717](https://github.com/8gi-foundation/8gent-code/pull/4717))
34
+ - first-run: ask for the key in the app, name `8gent keys set`, bare / opens help ([#4704](https://github.com/8gi-foundation/8gent-code/pull/4704))
35
+ - release: publish the npm tarball by absolute path, fail loudly, add npm_only_tag repair (#4700) ([#4702](https://github.com/8gi-foundation/8gent-code/pull/4702))
36
+ - update: find the release without api.github.com and install the verified package with --ignore-scripts (#4698) ([#4701](https://github.com/8gi-foundation/8gent-code/pull/4701))
37
+ - install: fall back to the releases page when the GitHub API rate limits ([#4696](https://github.com/8gi-foundation/8gent-code/pull/4696))
38
+ - install: Termux npm path installs with --ignore-scripts (#4693) ([#4694](https://github.com/8gi-foundation/8gent-code/pull/4694))
39
+
12
40
  ## [0.20.10] - 2026-10-21
13
41
 
14
42
  ### Fixed
package/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  <p align="center">
23
23
  <a href="https://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-E8610A?style=for-the-badge&labelColor=1A1612" alt="Apache 2.0 License" /></a>
24
- <a href="https://8gent.dev"><img src="https://img.shields.io/badge/version-0.20.10-2D8A56?style=for-the-badge&labelColor=1A1612" alt="v0.20.10" /></a>
24
+ <a href="https://8gent.dev"><img src="https://img.shields.io/badge/version-0.20.12-2D8A56?style=for-the-badge&labelColor=1A1612" alt="v0.20.12" /></a>
25
25
  <a href="https://eight-vessel.fly.dev"><img src="https://img.shields.io/badge/daemon-Fly.io_Amsterdam-E8610A?style=for-the-badge&labelColor=1A1612" alt="Daemon" /></a>
26
26
  </p>
27
27
 
package/bin/8gent-run.js CHANGED
@@ -7,6 +7,13 @@ import { fileURLToPath } from "node:url";
7
7
  import { nodeTooOld, tooOldMessage } from "./node-version.js";
8
8
  import { nodeExecPath } from "./termux-exec.js";
9
9
 
10
+ // An 8gent tool shell marks its child env (packages/permissions/nested-guard.ts); a second
11
+ // 8gent inside it refuses to start (#4715). Kept inline: this file is plain JS, run before the build.
12
+ if (process.env.EIGHT_PARENT_SESSION !== undefined) {
13
+ process.stderr.write("8gent: refusing to start inside an 8gent tool shell\n");
14
+ process.exit(2);
15
+ }
16
+
10
17
  const __dirname = dirname(fileURLToPath(import.meta.url));
11
18
  const cli = join(__dirname, "..", "dist", "cli.js");
12
19
  // Never let the user's cwd steer the runtime: a workspace bunfig.toml `preload`