@giovannijecha/jecode 0.1.6 → 0.1.8-rc.0

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
@@ -20,10 +20,15 @@
20
20
  <p align="center">
21
21
  <a href="https://github.com/giovannijecha/jecode/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/giovannijecha/jecode/actions/workflows/ci.yml/badge.svg"></a>
22
22
  <a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-669BD2"></a>
23
- <img alt="Node.js 24+" src="https://img.shields.io/badge/node-%3E%3D24-86CB92">
23
+ <img alt="Node.js 22.18+ or 24+" src="https://img.shields.io/badge/node-22.18%2B%20%7C%2024%2B-86CB92">
24
24
  <img alt="Runtime dependencies: zero" src="https://img.shields.io/badge/runtime_dependencies-0-8DB4DD">
25
25
  </p>
26
26
 
27
+ <p align="center">
28
+ <a href="https://github.com/giovannijecha/jecode/blob/main/CHANGELOG.md">Changelog</a> ·
29
+ <a href="https://github.com/giovannijecha/jecode/releases">Releases</a>
30
+ </p>
31
+
27
32
  > Jecode is an early 0.1.x release. The core loop is usable today; commands and
28
33
  > terminal interactions may still evolve before 1.0.
29
34
 
@@ -38,12 +43,12 @@
38
43
  - **Provider-neutral.** Use Anthropic, OpenAI, or a local/remote Ollama server
39
44
  without changing the workflow.
40
45
  - **Lean by construction.** Jecode installs as plain JavaScript, runs on
41
- Node.js 24, executes no installation scripts, and has zero third-party
42
- runtime dependencies.
46
+ Node.js 22.18+ (22.x) or Node.js 24+, executes no installation scripts, and
47
+ has zero third-party runtime dependencies.
43
48
 
44
49
  ## Install
45
50
 
46
- Jecode requires **Node.js 24 or newer** and npm:
51
+ Jecode requires **Node.js 22.18+ on the 22.x line, or Node.js 24+**, and npm:
47
52
 
48
53
  ~~~console
49
54
  npm install --global @giovannijecha/jecode
@@ -98,7 +103,7 @@ WSL has its own Node.js installation and `PATH`; the Node.js version installed
98
103
  on Windows does not apply inside it. If installation succeeds but `jecode` is
99
104
  not found, run **npm config get prefix** and ensure its **bin/** directory is on
100
105
  your Linux `PATH`. Do not ignore an `EBADENGINE` warning: **node --version** must
101
- report 24 or newer.
106
+ report 22.18+ on the 22.x line, or 24+.
102
107
 
103
108
  ### Build from source
104
109
 
@@ -202,7 +207,8 @@ printf "explain this project\n" | jecode --root .
202
207
  ~~~
203
208
 
204
209
  Dangerous tools stay denied in batch mode unless **--auto-approve** is supplied
205
- explicitly.
210
+ explicitly. A terminal batch failure is written to stderr and exits non-zero,
211
+ so shell pipelines can stop reliably.
206
212
 
207
213
  ## Safety model
208
214
 
package/bin/jecode.js CHANGED
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const major = Number.parseInt(process.versions.node, 10);
4
- if (major < 24) {
3
+ const [major = 0, minor = 0] = process.versions.node.split(".").map(Number);
4
+ const supported = major >= 24 || (major === 22 && minor >= 18);
5
+ if (!supported) {
5
6
  process.stderr.write(
6
- `jecode requires Node.js 24 or newer (current: ${process.versions.node})\n`,
7
+ `jecode requires Node.js 22.18+ (22.x) or Node.js 24+ (current: ${process.versions.node})\n`,
7
8
  );
8
9
  process.exitCode = 1;
9
10
  } else {
package/dist/batch.js CHANGED
@@ -32,15 +32,8 @@ export async function runBatch(session, environment = {}) {
32
32
  write(`> ${terminalText(line)}\n`);
33
33
  session.history.push({ role: "user", content: [{ kind: "text", text: line }] });
34
34
  const turn = events(emit, session);
35
- try {
36
- await runTurn(session.history, options(session), turn);
37
- }
38
- catch (error) {
39
- emit({ kind: "notice", text: error.message, tone: "error" });
40
- }
41
- finally {
42
- turn.flush();
43
- }
35
+ await runTurn(session.history, options(session), turn);
36
+ turn.flush();
44
37
  }
45
38
  }
46
39
  finally {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giovannijecha/jecode",
3
- "version": "0.1.6",
3
+ "version": "0.1.8-rc.0",
4
4
  "description": "An owned coding agent with zero external runtime dependencies.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,7 +29,7 @@
29
29
  "jecode": "bin/jecode.js"
30
30
  },
31
31
  "engines": {
32
- "node": ">=24"
32
+ "node": "^22.18.0 || >=24.0.0"
33
33
  },
34
34
  "publishConfig": {
35
35
  "access": "public",