xonecode 0.8.46 → 0.11.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/THIRD_PARTY_NOTICES.md +56 -0
- package/apps/web/dist/assets/index-BAyybSz-.css +1 -0
- package/apps/web/dist/assets/index-BNCMVjWv.js +485 -0
- package/apps/web/dist/assets/{php-Bx1jVads.js → php-DPbDT8rX.js} +1 -1
- package/apps/web/dist/assets/{ruby-L0I9KR6K.js → ruby-Bfvws9R8.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/apps/web/dist/openui/visor.css +1 -0
- package/apps/web/dist/openui/visor.js +9113 -0
- package/dist/agent/exportarPdf.js +5 -1
- package/dist/agent/exportarPdf.js.map +1 -1
- package/dist/agent/grafo/arbolDeProyecto.js +67 -2
- package/dist/agent/grafo/arbolDeProyecto.js.map +1 -1
- package/dist/agent/grafo/memoriaDeProyecto.js +3 -2
- package/dist/agent/grafo/memoriaDeProyecto.js.map +1 -1
- package/dist/agent/grafo/navegacionXone.js +8 -3
- package/dist/agent/grafo/navegacionXone.js.map +1 -1
- package/dist/agent/grafo/opcionesDeFicheros.js +24 -0
- package/dist/agent/grafo/opcionesDeFicheros.js.map +1 -0
- package/dist/agent/grafo/perfiles.js +1 -1
- package/dist/agent/grafo/perfiles.js.map +1 -1
- package/dist/agent/grafo/proyecto.js +31 -15
- package/dist/agent/grafo/proyecto.js.map +1 -1
- package/dist/agent/grafo/unirSecciones.js +128 -0
- package/dist/agent/grafo/unirSecciones.js.map +1 -0
- package/dist/agent/grafo/xoneAgent.js +56 -51
- package/dist/agent/grafo/xoneAgent.js.map +1 -1
- package/dist/agent/motores/trueforge/capacidades.js +179 -0
- package/dist/agent/motores/trueforge/capacidades.js.map +1 -0
- package/dist/agent/motores/trueforge/eventosTrueforge.js +143 -0
- package/dist/agent/motores/trueforge/eventosTrueforge.js.map +1 -0
- package/dist/agent/motores/trueforge/memoriaTrueforge.js +336 -0
- package/dist/agent/motores/trueforge/memoriaTrueforge.js.map +1 -0
- package/dist/agent/motores/trueforge/metricasTrueforge.js +55 -0
- package/dist/agent/motores/trueforge/metricasTrueforge.js.map +1 -0
- package/dist/agent/motores/trueforge/modeloExterno.js +46 -0
- package/dist/agent/motores/trueforge/modeloExterno.js.map +1 -0
- package/dist/agent/motores/trueforge/modeloLangchain.js +152 -0
- package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -0
- package/dist/agent/motores/trueforge/recortes.js +121 -0
- package/dist/agent/motores/trueforge/recortes.js.map +1 -0
- package/dist/agent/motores/trueforge/sesionTrueforge.js +1062 -0
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -0
- package/dist/agent/motores/trueforge/skillsTrueforge.js +14 -0
- package/dist/agent/motores/trueforge/skillsTrueforge.js.map +1 -0
- package/dist/agent/motores/trueforge/toolsDeFichero.js +265 -0
- package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -0
- package/dist/agent/motores/trueforge/toolsPropias.js +65 -0
- package/dist/agent/motores/trueforge/toolsPropias.js.map +1 -0
- package/dist/agent/motores/trueforge/trueforge.js +45 -0
- package/dist/agent/motores/trueforge/trueforge.js.map +1 -0
- package/dist/agent/navegacion/indiceEnDisco.js +10 -1
- package/dist/agent/navegacion/indiceEnDisco.js.map +1 -1
- package/dist/agent/planesEnDisco.js +64 -0
- package/dist/agent/planesEnDisco.js.map +1 -0
- package/dist/agent/sesiones/memoriaDeHilo.js +24 -0
- package/dist/agent/sesiones/memoriaDeHilo.js.map +1 -0
- package/dist/agent/sesiones/modeloDelCambio.js +70 -0
- package/dist/agent/sesiones/modeloDelCambio.js.map +1 -0
- package/dist/agent/sesiones/sesionGit.js +14 -0
- package/dist/agent/sesiones/sesionGit.js.map +1 -1
- package/dist/agent/subagentes/actividadDeCodex.js +60 -0
- package/dist/agent/subagentes/actividadDeCodex.js.map +1 -0
- package/dist/agent/subagentes/agentesEnDisco.js +95 -5
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
- package/dist/agent/subagentes/escrituraExterna.js +10 -2
- package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
- package/dist/agent/subagentes/subagenteCodex.js +20 -0
- package/dist/agent/subagentes/subagenteCodex.js.map +1 -1
- package/dist/agent/subagentes/subagenteExterno.js +269 -202
- package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
- package/dist/agent/subagentes/subagenteOpencode.js +19 -2
- package/dist/agent/subagentes/subagenteOpencode.js.map +1 -1
- package/dist/agent/turno/diagnosticoDeTools.js +3 -0
- package/dist/agent/turno/diagnosticoDeTools.js.map +1 -1
- package/dist/agent/turno/ficherosDelProyecto.js +62 -0
- package/dist/agent/turno/ficherosDelProyecto.js.map +1 -0
- package/dist/agent/turno/informeDeTraza.js +28 -1
- package/dist/agent/turno/informeDeTraza.js.map +1 -1
- package/dist/agent/turno/puente.js +17 -1
- package/dist/agent/turno/puente.js.map +1 -1
- package/dist/agent/turno/resumenDeContexto.js +17 -4
- package/dist/agent/turno/resumenDeContexto.js.map +1 -1
- package/dist/agent/turno/resumenDeTool.js +3 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -1
- package/dist/agent/turno/sesionReal.js +2 -0
- package/dist/agent/turno/sesionReal.js.map +1 -0
- package/dist/agent/turno/turnoReal.js +55 -164
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/agent/turno/verificacion.js +142 -0
- package/dist/agent/turno/verificacion.js.map +1 -0
- package/dist/cli/config.js +19 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/main.js +35 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tui/correrTui.js +1 -1
- package/dist/cli/tui/correrTui.js.map +1 -1
- package/dist/cli/tui/transcript.js +9 -0
- package/dist/cli/tui/transcript.js.map +1 -1
- package/dist/core/actos.js.map +1 -1
- package/dist/core/agentes.js +17 -0
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/artefactos.js +22 -0
- package/dist/core/artefactos.js.map +1 -1
- package/dist/core/config.js +13 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/diffDeColecciones.js +84 -0
- package/dist/core/diffDeColecciones.js.map +1 -0
- package/dist/core/exportacion.js +6 -1
- package/dist/core/exportacion.js.map +1 -1
- package/dist/core/fotoDeColecciones.js +48 -0
- package/dist/core/fotoDeColecciones.js.map +1 -0
- package/dist/core/imagenesDeDocumento.js +88 -0
- package/dist/core/imagenesDeDocumento.js.map +1 -0
- package/dist/core/memoria.js +24 -0
- package/dist/core/memoria.js.map +1 -0
- package/dist/core/motor.js +41 -0
- package/dist/core/motor.js.map +1 -0
- package/dist/core/navegacion.js.map +1 -1
- package/dist/core/notify.js +23 -5
- package/dist/core/notify.js.map +1 -1
- package/dist/core/ports.js.map +1 -1
- package/dist/core/serieDeEscrituras.js +13 -0
- package/dist/core/serieDeEscrituras.js.map +1 -1
- package/dist/core/settings.js +17 -1
- package/dist/core/settings.js.map +1 -1
- package/dist/core/tareasDelPlan.js +103 -0
- package/dist/core/tareasDelPlan.js.map +1 -0
- package/dist/core/trazaDeErrores.js +42 -3
- package/dist/core/trazaDeErrores.js.map +1 -1
- package/dist/core/turno.js +44 -4
- package/dist/core/turno.js.map +1 -1
- package/dist/web/servidor/arranque.js +204 -5
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/pielWeb.js +69 -4
- package/dist/web/servidor/pielWeb.js.map +1 -1
- package/dist/web/servidor/sesiones.js +11 -0
- package/dist/web/servidor/sesiones.js.map +1 -1
- package/dist/web/servidor/transporte.js.map +1 -1
- package/dist/web/servidor/vestibulo.js +23 -2
- package/dist/web/servidor/vestibulo.js.map +1 -1
- package/dist/web/servidor/visorOpenui.js +63 -0
- package/dist/web/servidor/visorOpenui.js.map +1 -0
- package/package.json +7 -2
- package/skills/openui-builder/SKILL.md +48 -0
- package/apps/web/dist/assets/index-GRwyotMV.js +0 -478
- package/apps/web/dist/assets/index-_cBVqq54.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagenteCodex.js","sourceRoot":"","sources":["../../../src/agent/subagentes/subagenteCodex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"subagenteCodex.js","sourceRoot":"","sources":["../../../src/agent/subagentes/subagenteCodex.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,9 @@
|
|
|
27
27
|
import { codexDisponible, correrCodex } from "./subagenteCodex.js";
|
|
28
28
|
import { correrOpencode, opencodeDisponible } from "./subagenteOpencode.js";
|
|
29
29
|
import { consumoDeClaude } from "./consumoExterno.js";
|
|
30
|
+
import { mensajeSeguro } from "../../core/trazaDeErrores.js";
|
|
30
31
|
import { montarPluginDeSkills } from "./pluginDeSkills.js";
|
|
31
|
-
import { claseDeToolExterna, decisionDePreToolUse, diffDeEscrituraExterna, eventoDeToolExterna, veredictoDeLectura, motivoDeToolDenegada, veredictoDeRuta, MOTIVO_DE_ESCRITURA_RECHAZADA, MOTIVO_DE_ESCRITURA_ABORTADA, } from "./escrituraExterna.js";
|
|
32
|
+
import { claseDeToolExterna, decisionDePreToolUse, diffDeEscrituraExterna, eventoDeToolExterna, veredictoDeLectura, motivoDeToolDenegada, veredictoDeRuta, MOTIVO_DE_ESCRITURA_RECHAZADA, MOTIVO_DE_ESCRITURA_ABORTADA, MOTIVO_DE_CANCELACION_EXTERNA, } from "./escrituraExterna.js";
|
|
32
33
|
/**
|
|
33
34
|
* La decisión sobre una tool del hijo. **Exportada para poder probarla**: es la regla de
|
|
34
35
|
* seguridad de toda esta integración, y probarla llamando al SDK exigiría lanzar un Claude
|
|
@@ -197,210 +198,237 @@ export function crearSubagenteExterno(opciones) {
|
|
|
197
198
|
cache.set(motor, hay);
|
|
198
199
|
return hay;
|
|
199
200
|
},
|
|
200
|
-
|
|
201
|
-
|
|
201
|
+
/**
|
|
202
|
+
* **Dos hijos que ESCRIBEN no corren a la vez en una sesión**; los de solo lectura, sí.
|
|
203
|
+
*
|
|
204
|
+
* Sus escrituras van al disco directo, sin pasar por la cola por fichero del backend
|
|
205
|
+
* (`escriturasEnSerie.ts`), así que dos a la vez sobre el mismo fichero se pisan y los dos
|
|
206
|
+
* contestan que bien — el fallo que esa cola existe para impedir. Serializar el hijo entero
|
|
207
|
+
* es más grueso que serializar por fichero, pero aquí no hay otra costura: la escritura ocurre
|
|
208
|
+
* dentro de su proceso. Vive aquí, y no en quien delega, para que valga igual con deepagents
|
|
209
|
+
* que con TrueForge: los dos delegan en este mismo puerto.
|
|
210
|
+
*/
|
|
211
|
+
correr: escritoresEnSerie(correrUno),
|
|
212
|
+
};
|
|
213
|
+
async function correrUno(peticion) {
|
|
214
|
+
if (peticion.motor === "codex") {
|
|
215
|
+
/**
|
|
216
|
+
* **Las cuatro costuras van aquí, y este es exactamente el sitio donde este repo ha
|
|
217
|
+
* fallado nueve veces**: una regla de producción compuesta dentro de algo que todos
|
|
218
|
+
* los tests doblan. `aprobar` y `ficheros` son opcionales, así que olvidarlos deja
|
|
219
|
+
* los dos `tsc` limpios y el agente sin poder escribir NADA —o, peor, escribiendo
|
|
220
|
+
* sin que las guardas de ruta lo vean—. Por eso la decisión entera vive extraída en
|
|
221
|
+
* `escrituraDeCodex.ts#decisionDeEscrituraDeCodex` y aquí solo queda el cableado,
|
|
222
|
+
* que tiene un test por argumento.
|
|
223
|
+
*/
|
|
224
|
+
return correrCodex(peticion, {
|
|
225
|
+
...(opciones.alConsumir === undefined
|
|
226
|
+
? {}
|
|
227
|
+
: { alConsumir: (c) => opciones.alConsumir?.({ motor: "codex", ...c }) }),
|
|
228
|
+
...(opciones.aprobarEscritura === undefined ? {} : { aprobar: opciones.aprobarEscritura }),
|
|
229
|
+
// `real` no se pasa: aquí no hay ninguno que inyectar y el de omisión es
|
|
230
|
+
// `realpathSync`, que es el de producción. Quien lo dobla es el test de
|
|
231
|
+
// `decisionDeEscrituraDeCodex`, que es donde vive la guarda.
|
|
232
|
+
ficheros: () => opciones.ficherosDelProyecto?.() ?? new Set(),
|
|
233
|
+
// Lo que hace y lo que cuenta mientras trabaja: sin ellos, minutos de pantalla quieta.
|
|
234
|
+
...(opciones.alUsarTool === undefined ? {} : { alUsarTool: opciones.alUsarTool }),
|
|
235
|
+
...(opciones.alRazonar === undefined ? {} : { alRazonar: opciones.alRazonar }),
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
if (peticion.motor === "opencode") {
|
|
239
|
+
/**
|
|
240
|
+
* Las mismas costuras que Codex, y el mismo motivo para que estén aquí y probadas una
|
|
241
|
+
* por una: son opcionales, así que olvidar una deja los dos `tsc` limpios. La de
|
|
242
|
+
* `vistasAplanadas` es la peligrosa — sin ella el hijo puede LEER un `.xml` generado y
|
|
243
|
+
* editar el fichero equivocado.
|
|
244
|
+
*/
|
|
245
|
+
return correrOpencode(peticion, {
|
|
246
|
+
...(opciones.alConsumir === undefined
|
|
247
|
+
? {}
|
|
248
|
+
: { alConsumir: (c) => opciones.alConsumir?.({ motor: "opencode", ...c }) }),
|
|
249
|
+
...(opciones.aprobarEscritura === undefined ? {} : { aprobar: opciones.aprobarEscritura }),
|
|
250
|
+
ficheros: () => opciones.ficherosDelProyecto?.() ?? new Set(),
|
|
251
|
+
vistasAplanadas: () => vistasAplanadasDe(opciones.ficherosDelProyecto?.() ?? new Set()),
|
|
252
|
+
// `alRazonar` NO se reenvía aquí: `correrOpencode` no lo acepta, y un spread
|
|
253
|
+
// condicional se lo habría tragado sin que `tsc` dijera nada — el no-op mudo de
|
|
254
|
+
// siempre. Está declarado abajo como límite, no escondido en una lambda.
|
|
255
|
+
...(opciones.alUsarTool === undefined ? {} : { alUsarTool: opciones.alUsarTool }),
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
259
|
+
// Se monta ANTES de arrancar y en cada ejecución: una skill guardada mientras la
|
|
260
|
+
// consola vive tiene que alcanzar al siguiente subagente, que es justo lo que el
|
|
261
|
+
// montaje del agente interno no consigue (ver `backendConSkills`).
|
|
262
|
+
const pluginDeSkills = montarPluginDeSkills({ raiz: peticion.cwd });
|
|
263
|
+
// Parar el turno aborta el SDK, que mata a su proceso hijo (`PeticionExterna.senal`). Un
|
|
264
|
+
// controlador PROPIO atado a la señal, y no la señal a pelo: el SDK pide un controlador.
|
|
265
|
+
const controlador = new AbortController();
|
|
266
|
+
const alCancelar = () => controlador.abort(new Error(MOTIVO_DE_CANCELACION_EXTERNA));
|
|
267
|
+
if (peticion.senal?.aborted === true)
|
|
268
|
+
alCancelar();
|
|
269
|
+
else
|
|
270
|
+
peticion.senal?.addEventListener("abort", alCancelar, { once: true });
|
|
271
|
+
if (controlador.signal.aborted)
|
|
272
|
+
throw new Error(MOTIVO_DE_CANCELACION_EXTERNA);
|
|
273
|
+
const respuesta = query({
|
|
274
|
+
prompt: peticion.tarea,
|
|
275
|
+
options: {
|
|
276
|
+
abortController: controlador,
|
|
277
|
+
// La carpeta del proyecto y ninguna otra. El hijo lee de aquí sus propios ajustes
|
|
278
|
+
// (`CLAUDE.md`, `.claude/`) si los hay; xonecode no se los escribe ni se los filtra.
|
|
279
|
+
cwd: peticion.cwd,
|
|
280
|
+
// Sus instrucciones se AÑADEN al preset de Claude Code en vez de sustituirlo: lo
|
|
281
|
+
// que sabe hacer como producto —leer código, buscar, razonar sobre un repo— es la
|
|
282
|
+
// razón de llamarlo, y reemplazar su prompt entero lo dejaría sin ello. Lo que
|
|
283
|
+
// añadimos son las reglas de XOne y su papel, que es lo que no puede saber.
|
|
284
|
+
systemPrompt: { type: "preset", preset: "claude_code", append: peticion.instrucciones },
|
|
285
|
+
// Doble llave. `permissionMode` es la política del propio hijo y `canUseTool` es
|
|
286
|
+
// la nuestra: la primera puede cambiar de significado con una versión del SDK, la
|
|
287
|
+
// segunda la decidimos aquí y es la que manda.
|
|
202
288
|
/**
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
289
|
+
* **`"default"` y no `"dontAsk"`, y el motivo es que ninguno de los dos es seguro
|
|
290
|
+
* por suposición.** Leídas sus descripciones en el SDK: `dontAsk` es «deny if not
|
|
291
|
+
* pre-approved», así que podría denegar la escritura ANTES de consultar nuestro
|
|
292
|
+
* callback y dejar toda esta función muerta con los tests en verde; `default` es
|
|
293
|
+
* «prompts for dangerous operations», así que podría aprobar una tool «no
|
|
294
|
+
* peligrosa» —`WebSearch`, que saca el proyecto de la máquina— sin consultarnos.
|
|
295
|
+
* El primero falla cerrado y el segundo abierto.
|
|
296
|
+
*
|
|
297
|
+
* Lo que resuelve la elección es que ya no depende del modo: el hook `PreToolUse`
|
|
298
|
+
* de abajo contesta las tres clases explícitamente, así que no queda ninguna tool
|
|
299
|
+
* para que la decida el modo. Con eso se elige `default`, que es el modo donde la
|
|
300
|
+
* decisión `ask` del hook SÍ llega a `canUseTool` («the 'ask' path surfaces via a
|
|
301
|
+
* can_use_tool control_request»), que es donde se puede esperar a una persona.
|
|
210
302
|
*/
|
|
211
|
-
|
|
212
|
-
...(opciones.alConsumir === undefined
|
|
213
|
-
? {}
|
|
214
|
-
: { alConsumir: (c) => opciones.alConsumir?.({ motor: "codex", ...c }) }),
|
|
215
|
-
...(opciones.aprobarEscritura === undefined ? {} : { aprobar: opciones.aprobarEscritura }),
|
|
216
|
-
// `real` no se pasa: aquí no hay ninguno que inyectar y el de omisión es
|
|
217
|
-
// `realpathSync`, que es el de producción. Quien lo dobla es el test de
|
|
218
|
-
// `decisionDeEscrituraDeCodex`, que es donde vive la guarda.
|
|
219
|
-
ficheros: () => opciones.ficherosDelProyecto?.() ?? new Set(),
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
if (peticion.motor === "opencode") {
|
|
303
|
+
permissionMode: "default",
|
|
223
304
|
/**
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
305
|
+
* **La denegación de verdad vive aquí**, no en `canUseTool`: una regla `allow` de
|
|
306
|
+
* un `settings.json` puede ensombrecer el callback, y un deny del hook «resuelve
|
|
307
|
+
* antes de que `canUseTool` corra». Las dos citas son del propio SDK.
|
|
308
|
+
*
|
|
309
|
+
* Y las dos llaves siguen puestas, que es lo que hace que esto sea robusto en vez
|
|
310
|
+
* de listo: si el hook no llegara a correr, `canUseTool` aplica las MISMAS tres
|
|
311
|
+
* listas (es la misma función); si `canUseTool` se ensombreciera, el hook ya negó
|
|
312
|
+
* lo que no toca y una escritura quedaría en `ask` sin nadie que la conceda.
|
|
228
313
|
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
* callback y dejar toda esta función muerta con los tests en verde; `default` es
|
|
266
|
-
* «prompts for dangerous operations», así que podría aprobar una tool «no
|
|
267
|
-
* peligrosa» —`WebSearch`, que saca el proyecto de la máquina— sin consultarnos.
|
|
268
|
-
* El primero falla cerrado y el segundo abierto.
|
|
269
|
-
*
|
|
270
|
-
* Lo que resuelve la elección es que ya no depende del modo: el hook `PreToolUse`
|
|
271
|
-
* de abajo contesta las tres clases explícitamente, así que no queda ninguna tool
|
|
272
|
-
* para que la decida el modo. Con eso se elige `default`, que es el modo donde la
|
|
273
|
-
* decisión `ask` del hook SÍ llega a `canUseTool` («the 'ask' path surfaces via a
|
|
274
|
-
* can_use_tool control_request»), que es donde se puede esperar a una persona.
|
|
275
|
-
*/
|
|
276
|
-
permissionMode: "default",
|
|
277
|
-
/**
|
|
278
|
-
* **La denegación de verdad vive aquí**, no en `canUseTool`: una regla `allow` de
|
|
279
|
-
* un `settings.json` puede ensombrecer el callback, y un deny del hook «resuelve
|
|
280
|
-
* antes de que `canUseTool` corra». Las dos citas son del propio SDK.
|
|
281
|
-
*
|
|
282
|
-
* Y las dos llaves siguen puestas, que es lo que hace que esto sea robusto en vez
|
|
283
|
-
* de listo: si el hook no llegara a correr, `canUseTool` aplica las MISMAS tres
|
|
284
|
-
* listas (es la misma función); si `canUseTool` se ensombreciera, el hook ya negó
|
|
285
|
-
* lo que no toca y una escritura quedaría en `ask` sin nadie que la conceda.
|
|
286
|
-
*/
|
|
287
|
-
hooks: {
|
|
288
|
-
PreToolUse: [
|
|
289
|
-
{
|
|
290
|
-
hooks: [
|
|
291
|
-
// El tipo del callback es la unión de TODOS los eventos de hook, así que
|
|
292
|
-
// el nombre de la tool se lee con cuidado en vez de afirmarlo: por aquí
|
|
293
|
-
// solo llegan `PreToolUse`, pero una entrada sin `tool_name` no puede
|
|
294
|
-
// decidir nada — y ante la duda, denegar (cadena vacía no está en ninguna
|
|
295
|
-
// lista blanca, así que `decisionDePreToolUse` contesta «deny»).
|
|
296
|
-
async (entrada) => {
|
|
297
|
-
const nombre = "tool_name" in entrada ? entrada.tool_name : "";
|
|
298
|
-
const cruda = "tool_input" in entrada ? entrada.tool_input : undefined;
|
|
299
|
-
const args = typeof cruda === "object" && cruda !== null
|
|
300
|
-
? cruda
|
|
301
|
-
: {};
|
|
302
|
-
const decision = decisionDePreToolUse({
|
|
303
|
-
nombre,
|
|
304
|
-
entrada: args,
|
|
305
|
-
cwd: peticion.cwd,
|
|
306
|
-
ficheros: opciones.ficherosDelProyecto?.() ?? new Set(),
|
|
307
|
-
});
|
|
308
|
-
/**
|
|
309
|
-
* **Solo se cuenta lo que va a ocurrir.** Una tool DENEGADA no se
|
|
310
|
-
* anuncia: la línea diría que el hijo hizo algo que no hizo, y este
|
|
311
|
-
* repo no tiene ningún sitio donde eso sea aceptable. `ask` sí se
|
|
312
|
-
* cuenta —es una escritura propuesta—, que es exactamente lo que el
|
|
313
|
-
* flujo del grafo ya hace con un `write_file` antes de su aprobación.
|
|
314
|
-
*/
|
|
315
|
-
if (decision.permissionDecision !== "deny") {
|
|
316
|
-
opciones.alUsarTool?.(eventoDeToolExterna(nombre, args, peticion.cwd));
|
|
317
|
-
}
|
|
318
|
-
return { hookSpecificOutput: decision };
|
|
319
|
-
},
|
|
320
|
-
],
|
|
321
|
-
},
|
|
322
|
-
],
|
|
323
|
-
},
|
|
324
|
-
/**
|
|
325
|
-
* **Los ajustes del PROYECTO no se cargan, y esto cierra un agujero que ya estaba
|
|
326
|
-
* abierto.** Medido en el propio SDK (`sdk.mjs`, el aviso
|
|
327
|
-
* `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`): «Allow rules from settings files can also
|
|
328
|
-
* shadow the callback». O sea que una regla `allow` en un `settings.json` hace que
|
|
329
|
-
* `canUseTool` **no se invoque** — y por omisión el SDK carga las tres fuentes,
|
|
330
|
-
* incluida `.claude/settings.json` de dentro del `cwd`. Ese fichero viene de
|
|
331
|
-
* CloudStudio con el proyecto, o sea de fuera: es exactamente el argumento por el
|
|
332
|
-
* que las decisiones del dueño de la máquina viven en `settings.json` y no en el
|
|
333
|
-
* `config.json` del proyecto. Con las tres fuentes cargadas, quien te pasa un proyecto decidía si
|
|
334
|
-
* tus barreras se aplican.
|
|
335
|
-
*
|
|
336
|
-
* Se queda `"user"`: son los ajustes del dueño de la máquina —su autenticación,
|
|
337
|
-
* sus MCP, su modelo—, que es la misma confianza que ya se declara para Codex («el
|
|
338
|
-
* hijo es el Codex DEL USUARIO, con sus MCP, sus plugins y sus hooks»). Lo que se
|
|
339
|
-
* va es lo que puede venir en un zip.
|
|
340
|
-
*
|
|
341
|
-
* Coste dicho: sin `"project"` el hijo tampoco carga el `CLAUDE.md` del proyecto
|
|
342
|
-
* (lo dice su propia documentación de esta opción). No se pierde el papel: sus
|
|
343
|
-
* instrucciones y las reglas de XOne van por `systemPrompt.append`, que es de
|
|
344
|
-
* donde salen de verdad.
|
|
345
|
-
*
|
|
346
|
-
* Y queda DECLARADO lo que esto no cierra: un `allow` en los ajustes GLOBALES del
|
|
347
|
-
* usuario sigue pudiendo ensombrecer el callback. El cierre robusto que el propio
|
|
348
|
-
* SDK nombra es un hook `PreToolUse`, que no se ensombrece; no está puesto todavía.
|
|
349
|
-
*/
|
|
350
|
-
settingSources: ["user"],
|
|
351
|
-
/**
|
|
352
|
-
* **Nuestras skills, como PLUGIN LOCAL — que es la única palanca que funciona.**
|
|
353
|
-
*
|
|
354
|
-
* Medido contra un hijo de verdad: con `additionalDirectories` apuntando a una
|
|
355
|
-
* carpeta con la disposición `.claude/skills/`, el hijo no las ve. Con
|
|
356
|
-
* `plugins: [{type:"local", …}]` sí, y salen como `xonecode:<nombre>`. El porqué
|
|
357
|
-
* entero y los dos límites que esto NO cierra están en `pluginDeSkills.ts`.
|
|
358
|
-
*
|
|
359
|
-
* Y va aquí y no escribiendo un `.claude/` dentro del proyecto —que es la otra
|
|
360
|
-
* forma— porque el proyecto es la app del cliente: se sincroniza con CloudStudio y
|
|
361
|
-
* entra en el commit de cada turno.
|
|
362
|
-
*
|
|
363
|
-
* Ausente = no se pudo montar, o no hay ninguna skill. Se arranca igual: un fallo
|
|
364
|
-
* al escribir en la casa del usuario no puede llevarse por delante el turno.
|
|
365
|
-
*/
|
|
366
|
-
...(pluginDeSkills === undefined ? {} : { plugins: [{ type: "local", path: pluginDeSkills }] }),
|
|
367
|
-
// El modelo del PRODUCTO, si el `.md` lo pide. Ausente = el que Claude Code use
|
|
368
|
-
// por su cuenta, que es lo que hacía siempre. Los alias (`opus`, `sonnet`…) son
|
|
369
|
-
// los que su propio SDK documenta, y se prefieren a un id pinchado: sobreviven a
|
|
370
|
-
// la siguiente versión, que es justo para lo que el producto los ofrece.
|
|
371
|
-
...(peticion.modelo === undefined ? {} : { model: peticion.modelo }),
|
|
372
|
-
/**
|
|
373
|
-
* El envoltorio es el fail-closed llevado al final: **nada de aquí dentro puede
|
|
374
|
-
* lanzar hacia el SDK**. Si la política revienta, si el disco contesta un EACCES
|
|
375
|
-
* al canonicalizar o si alguien introduce un fallo en las guardas, la respuesta es
|
|
376
|
-
* DENEGAR — nunca una excepción, cuyo tratamiento en la máquina de permisos del
|
|
377
|
-
* SDK no está medido, y nunca un permiso.
|
|
378
|
-
*/
|
|
379
|
-
canUseTool: async (nombre, entrada, contexto) => {
|
|
380
|
-
try {
|
|
381
|
-
return await decisionDeTool({
|
|
382
|
-
nombre,
|
|
383
|
-
entrada,
|
|
384
|
-
peticion,
|
|
385
|
-
signal: contexto.signal,
|
|
386
|
-
ficheros: opciones.ficherosDelProyecto?.() ?? new Set(),
|
|
387
|
-
...(opciones.aprobarEscritura === undefined
|
|
388
|
-
? {}
|
|
389
|
-
: { politica: opciones.aprobarEscritura }),
|
|
390
|
-
});
|
|
391
|
-
}
|
|
392
|
-
catch {
|
|
393
|
-
return {
|
|
394
|
-
behavior: "deny",
|
|
395
|
-
message: "XOneCode no pudo decidir sobre esa llamada, así que no se concede. Explica qué querías hacer.",
|
|
396
|
-
};
|
|
397
|
-
}
|
|
398
|
-
},
|
|
314
|
+
hooks: {
|
|
315
|
+
PreToolUse: [
|
|
316
|
+
{
|
|
317
|
+
hooks: [
|
|
318
|
+
// El tipo del callback es la unión de TODOS los eventos de hook, así que
|
|
319
|
+
// el nombre de la tool se lee con cuidado en vez de afirmarlo: por aquí
|
|
320
|
+
// solo llegan `PreToolUse`, pero una entrada sin `tool_name` no puede
|
|
321
|
+
// decidir nada — y ante la duda, denegar (cadena vacía no está en ninguna
|
|
322
|
+
// lista blanca, así que `decisionDePreToolUse` contesta «deny»).
|
|
323
|
+
async (entrada) => {
|
|
324
|
+
const nombre = "tool_name" in entrada ? entrada.tool_name : "";
|
|
325
|
+
const cruda = "tool_input" in entrada ? entrada.tool_input : undefined;
|
|
326
|
+
const args = typeof cruda === "object" && cruda !== null
|
|
327
|
+
? cruda
|
|
328
|
+
: {};
|
|
329
|
+
const decision = decisionDePreToolUse({
|
|
330
|
+
nombre,
|
|
331
|
+
entrada: args,
|
|
332
|
+
cwd: peticion.cwd,
|
|
333
|
+
ficheros: opciones.ficherosDelProyecto?.() ?? new Set(),
|
|
334
|
+
});
|
|
335
|
+
/**
|
|
336
|
+
* **Solo se cuenta lo que va a ocurrir.** Una tool DENEGADA no se
|
|
337
|
+
* anuncia: la línea diría que el hijo hizo algo que no hizo, y este
|
|
338
|
+
* repo no tiene ningún sitio donde eso sea aceptable. `ask` sí se
|
|
339
|
+
* cuenta —es una escritura propuesta—, que es exactamente lo que el
|
|
340
|
+
* flujo del grafo ya hace con un `write_file` antes de su aprobación.
|
|
341
|
+
*/
|
|
342
|
+
if (decision.permissionDecision !== "deny") {
|
|
343
|
+
opciones.alUsarTool?.({ ...eventoDeToolExterna(nombre, args, peticion.cwd), agente: peticion.agente });
|
|
344
|
+
}
|
|
345
|
+
return { hookSpecificOutput: decision };
|
|
346
|
+
},
|
|
347
|
+
],
|
|
348
|
+
},
|
|
349
|
+
],
|
|
399
350
|
},
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
351
|
+
/**
|
|
352
|
+
* **Los ajustes del PROYECTO no se cargan, y esto cierra un agujero que ya estaba
|
|
353
|
+
* abierto.** Medido en el propio SDK (`sdk.mjs`, el aviso
|
|
354
|
+
* `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`): «Allow rules from settings files can also
|
|
355
|
+
* shadow the callback». O sea que una regla `allow` en un `settings.json` hace que
|
|
356
|
+
* `canUseTool` **no se invoque** — y por omisión el SDK carga las tres fuentes,
|
|
357
|
+
* incluida `.claude/settings.json` de dentro del `cwd`. Ese fichero viene de
|
|
358
|
+
* CloudStudio con el proyecto, o sea de fuera: es exactamente el argumento por el
|
|
359
|
+
* que las decisiones del dueño de la máquina viven en `settings.json` y no en el
|
|
360
|
+
* `config.json` del proyecto. Con las tres fuentes cargadas, quien te pasa un proyecto decidía si
|
|
361
|
+
* tus barreras se aplican.
|
|
362
|
+
*
|
|
363
|
+
* Se queda `"user"`: son los ajustes del dueño de la máquina —su autenticación,
|
|
364
|
+
* sus MCP, su modelo—, que es la misma confianza que ya se declara para Codex («el
|
|
365
|
+
* hijo es el Codex DEL USUARIO, con sus MCP, sus plugins y sus hooks»). Lo que se
|
|
366
|
+
* va es lo que puede venir en un zip.
|
|
367
|
+
*
|
|
368
|
+
* Coste dicho: sin `"project"` el hijo tampoco carga el `CLAUDE.md` del proyecto
|
|
369
|
+
* (lo dice su propia documentación de esta opción). No se pierde el papel: sus
|
|
370
|
+
* instrucciones y las reglas de XOne van por `systemPrompt.append`, que es de
|
|
371
|
+
* donde salen de verdad.
|
|
372
|
+
*
|
|
373
|
+
* Y lo que esto solo no cerraría —un `allow` en los ajustes GLOBALES del usuario
|
|
374
|
+
* ensombreciendo el callback— lo cierra el hook `PreToolUse` de más arriba, que es el
|
|
375
|
+
* cierre robusto que el propio SDK nombra: un hook no se ensombrece.
|
|
376
|
+
*/
|
|
377
|
+
settingSources: ["user"],
|
|
378
|
+
/**
|
|
379
|
+
* **Nuestras skills, como PLUGIN LOCAL — que es la única palanca que funciona.**
|
|
380
|
+
*
|
|
381
|
+
* Medido contra un hijo de verdad: con `additionalDirectories` apuntando a una
|
|
382
|
+
* carpeta con la disposición `.claude/skills/`, el hijo no las ve. Con
|
|
383
|
+
* `plugins: [{type:"local", …}]` sí, y salen como `xonecode:<nombre>`. El porqué
|
|
384
|
+
* entero y los dos límites que esto NO cierra están en `pluginDeSkills.ts`.
|
|
385
|
+
*
|
|
386
|
+
* Y va aquí y no escribiendo un `.claude/` dentro del proyecto —que es la otra
|
|
387
|
+
* forma— porque el proyecto es la app del cliente: se sincroniza con CloudStudio y
|
|
388
|
+
* entra en el commit de cada turno.
|
|
389
|
+
*
|
|
390
|
+
* Ausente = no se pudo montar, o no hay ninguna skill. Se arranca igual: un fallo
|
|
391
|
+
* al escribir en la casa del usuario no puede llevarse por delante el turno.
|
|
392
|
+
*/
|
|
393
|
+
...(pluginDeSkills === undefined ? {} : { plugins: [{ type: "local", path: pluginDeSkills }] }),
|
|
394
|
+
// El modelo del PRODUCTO, si el `.md` lo pide. Ausente = el que Claude Code use
|
|
395
|
+
// por su cuenta, que es lo que hacía siempre. Los alias (`opus`, `sonnet`…) son
|
|
396
|
+
// los que su propio SDK documenta, y se prefieren a un id pinchado: sobreviven a
|
|
397
|
+
// la siguiente versión, que es justo para lo que el producto los ofrece.
|
|
398
|
+
...(peticion.modelo === undefined ? {} : { model: peticion.modelo }),
|
|
399
|
+
/**
|
|
400
|
+
* El envoltorio es el fail-closed llevado al final: **nada de aquí dentro puede
|
|
401
|
+
* lanzar hacia el SDK**. Si la política revienta, si el disco contesta un EACCES
|
|
402
|
+
* al canonicalizar o si alguien introduce un fallo en las guardas, la respuesta es
|
|
403
|
+
* DENEGAR — nunca una excepción, cuyo tratamiento en la máquina de permisos del
|
|
404
|
+
* SDK no está medido, y nunca un permiso.
|
|
405
|
+
*/
|
|
406
|
+
canUseTool: async (nombre, entrada, contexto) => {
|
|
407
|
+
try {
|
|
408
|
+
return await decisionDeTool({
|
|
409
|
+
nombre,
|
|
410
|
+
entrada,
|
|
411
|
+
peticion,
|
|
412
|
+
signal: contexto.signal,
|
|
413
|
+
ficheros: opciones.ficherosDelProyecto?.() ?? new Set(),
|
|
414
|
+
...(opciones.aprobarEscritura === undefined
|
|
415
|
+
? {}
|
|
416
|
+
: { politica: opciones.aprobarEscritura }),
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
catch {
|
|
420
|
+
return {
|
|
421
|
+
behavior: "deny",
|
|
422
|
+
message: "XOneCode no pudo decidir sobre esa llamada, así que no se concede. Explica qué querías hacer.",
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
},
|
|
427
|
+
});
|
|
428
|
+
// Se recorre hasta el `result`, que es el cierre del turno. El texto final está ahí y
|
|
429
|
+
// no en el último `assistant`: un turno puede terminar por error y entonces el último
|
|
430
|
+
// mensaje del modelo no es la respuesta.
|
|
431
|
+
try {
|
|
404
432
|
for await (const mensaje of respuesta) {
|
|
405
433
|
/**
|
|
406
434
|
* **Lo que el hijo cuenta por el camino SÍ cruza, aunque su respuesta salga del
|
|
@@ -443,8 +471,47 @@ export function crearSubagenteExterno(opciones) {
|
|
|
443
471
|
throw new Error(`${peticion.motor}: ${mensaje.result}`);
|
|
444
472
|
return mensaje.result;
|
|
445
473
|
}
|
|
446
|
-
|
|
447
|
-
|
|
474
|
+
}
|
|
475
|
+
catch (error) {
|
|
476
|
+
// Lo que el SDK lance al abortarse se dice con NUESTRO motivo: el suyo es un
|
|
477
|
+
// `AbortError` que no le cuenta a nadie que el turno se paró.
|
|
478
|
+
if (controlador.signal.aborted)
|
|
479
|
+
throw new Error(MOTIVO_DE_CANCELACION_EXTERNA);
|
|
480
|
+
throw error;
|
|
481
|
+
}
|
|
482
|
+
if (controlador.signal.aborted)
|
|
483
|
+
throw new Error(MOTIVO_DE_CANCELACION_EXTERNA);
|
|
484
|
+
throw new Error(`${peticion.motor} no devolvió ningún resultado`);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Lo que el especialista externo contesta cuando su motor FALLA —no arranca, se agota su tope—.
|
|
489
|
+
*
|
|
490
|
+
* Se devuelve como su respuesta y no se lanza, en los DOS motores que delegan en este puerto: en
|
|
491
|
+
* TrueForge una excepción en el modelo de un hijo se llevaría el turno entero (es la regla de las guardas: un rechazo se DEVUELVE), y el orquestador, que es
|
|
492
|
+
* quien decide qué hacer después, se quedaría sin saber qué pasó. Con esto lee que falló y por qué.
|
|
493
|
+
*
|
|
494
|
+
* **El motivo va SANEADO** (`mensajeSeguro`): el error de un producto que no arranca lleva la ruta
|
|
495
|
+
* de la máquina —«spawn /Users/…/codex ENOENT»—, y este texto lo lee el modelo, sale en el chat y se
|
|
496
|
+
* guarda en el `.jsonl`. Ninguna ruta de la máquina viaja por el cable.
|
|
497
|
+
*/
|
|
498
|
+
export function textoDeFalloExterno(motor, error) {
|
|
499
|
+
const motivo = mensajeSeguro(error instanceof Error ? error.message : String(error));
|
|
500
|
+
return `⚠ El agente externo (${motor}) no terminó su encargo: ${motivo}. No hay resultado suyo que usar.`;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Envuelve `correr` para que los hijos que ESCRIBEN pasen de uno en uno (ver `correr`, arriba);
|
|
504
|
+
* los de solo lectura no esperan a nadie. La cola sigue aunque uno falle: un hijo que revienta no
|
|
505
|
+
* bloquea al siguiente. Extraída y pura para poder probarla sin lanzar ningún producto.
|
|
506
|
+
*/
|
|
507
|
+
export function escritoresEnSerie(correr) {
|
|
508
|
+
let cola = Promise.resolve();
|
|
509
|
+
return (peticion) => {
|
|
510
|
+
if (!peticion.permitirEscritura)
|
|
511
|
+
return correr(peticion);
|
|
512
|
+
const turno = cola.then(() => correr(peticion));
|
|
513
|
+
cola = turno.then(() => undefined, () => undefined);
|
|
514
|
+
return turno;
|
|
448
515
|
};
|
|
449
516
|
}
|
|
450
517
|
/** Los que están cableados de verdad. Los tres, desde que OpenCode habla por ACP. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagenteExterno.js","sourceRoot":"","sources":["../../../src/agent/subagentes/subagenteExterno.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagenteExterno.js","sourceRoot":"","sources":["../../../src/agent/subagentes/subagenteExterno.ts"],"names":[],"mappings":"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"}
|