@jossuealcala/madre 0.7.0 → 0.7.1
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 +8 -1
- package/package.json +1 -1
- package/src/adapters/codex.mjs +3 -1
- package/src/adapters/process.mjs +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,14 @@ Todas las versiones publicadas de `@jossuealcala/madre`. Fechas en ISO.
|
|
|
4
4
|
|
|
5
5
|
Una versión se cierra cuando está en npm: hasta entonces su sección se llama **Sin publicar** y puede crecer. Cada versión publicada tiene exactamente una etiqueta `vX.Y.Z`, una release en GitHub y una sección aquí; el parche puede llegar a dos dígitos (`0.2.10`) antes de subir el menor. Ver `docs/ROADMAP.md` para el criterio de qué sube cada número.
|
|
6
6
|
|
|
7
|
-
## 0.7.
|
|
7
|
+
## 0.7.2 · Sin publicar
|
|
8
|
+
|
|
9
|
+
## 0.7.1 · 2026-10-03
|
|
10
|
+
|
|
11
|
+
### Codex responde en un proyecto que todavía no es un repositorio git
|
|
12
|
+
|
|
13
|
+
- Si la carpeta del proyecto no tenía git, Codex fallaba en cada mensaje con `Codex exited with code 1.` aunque hubieras iniciado sesión. Ahora responde igual en cualquier carpeta, y sigue limitado al modo que eligió la sala.
|
|
14
|
+
- Cuando un agente termina con error, el mensaje en la sala trae también la última línea que imprimió, así se ve la causa sin tener que abrir nada más.
|
|
8
15
|
|
|
9
16
|
## 0.7.0 · 2026-10-03
|
|
10
17
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jossuealcala/madre",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "MADRE · one local room where the AI coding agents already on your machine (Codex, Claude Code, Gemini CLI, OpenCode) work on your project together, share one memory you can see and explore, and answer to you. Read-only by default, with per-message permission modes and checkpoints you can undo. Nothing leaves your machine on its own.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
package/src/adapters/codex.mjs
CHANGED
|
@@ -37,7 +37,9 @@ export function buildCodexArgs({ projectRoot, prompt, model = null, attachments
|
|
|
37
37
|
// Image generation is a Codex feature; the human's scope decides per turn.
|
|
38
38
|
...(lease && (scopes?.imageGen === false || lease.scopes?.imageGen === false) ? ['-c', 'features.image_generation=false'] : []),
|
|
39
39
|
'exec',
|
|
40
|
-
|
|
40
|
+
// Codex refuses to run outside a git repository it has not been told to trust, and a new
|
|
41
|
+
// project is often a bare folder. The sandbox above is MADRE's to decide, not this check's.
|
|
42
|
+
'--skip-git-repo-check',
|
|
41
43
|
...(model ? ['--model', model] : []),
|
|
42
44
|
...images.flatMap((file) => ['--image', file.path]),
|
|
43
45
|
'--ephemeral',
|
package/src/adapters/process.mjs
CHANGED
|
@@ -179,9 +179,12 @@ export function runReadonlyProcess({
|
|
|
179
179
|
// facts that actually diagnose the turn — the exit code, or a clean exit with nothing to
|
|
180
180
|
// show — were discarded by the `||` and never reached the human. A warning is not a cause.
|
|
181
181
|
const printed = stderr.trim();
|
|
182
|
-
|
|
182
|
+
// The room keeps one line of a failure, so the last thing the CLI printed rides on it —
|
|
183
|
+
// labelled as output, the way a timeout carries it, and never as the cause.
|
|
184
|
+
const lastLine = printed.split('\n').map((line) => line.trim()).filter(Boolean).at(-1);
|
|
185
|
+
const why = response.error ?? ((code === 0
|
|
183
186
|
? `${label} exited cleanly without an answer.`
|
|
184
|
-
: `${label} ${endedBy(code, closedBy)}`);
|
|
187
|
+
: `${label} ${endedBy(code, closedBy)}`) + (lastLine ? t(' Last output: {output}', { output: lastLine.slice(0, 200) }) : ''));
|
|
185
188
|
const error = new Error(printed ? `${why}\n\n${label} printed:\n${printed.slice(-600)}` : why);
|
|
186
189
|
error.partialStderr = printed.slice(-2000);
|
|
187
190
|
error.exitCode = code;
|