xonecode 0.8.46 → 0.9.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.
Files changed (91) hide show
  1. package/apps/web/dist/assets/{index-_cBVqq54.css → index-CtfT1BjI.css} +1 -1
  2. package/apps/web/dist/assets/{index-GRwyotMV.js → index-DqcZ7_Rx.js} +65 -65
  3. package/apps/web/dist/assets/{php-Bx1jVads.js → php-DjRQ1K-w.js} +1 -1
  4. package/apps/web/dist/assets/{ruby-L0I9KR6K.js → ruby-BcLyZ3qi.js} +1 -1
  5. package/apps/web/dist/index.html +2 -2
  6. package/dist/agent/grafo/arbolDeProyecto.js +1 -1
  7. package/dist/agent/grafo/arbolDeProyecto.js.map +1 -1
  8. package/dist/agent/grafo/opcionesDeFicheros.js +24 -0
  9. package/dist/agent/grafo/opcionesDeFicheros.js.map +1 -0
  10. package/dist/agent/grafo/perfiles.js +1 -1
  11. package/dist/agent/grafo/perfiles.js.map +1 -1
  12. package/dist/agent/grafo/xoneAgent.js +49 -51
  13. package/dist/agent/grafo/xoneAgent.js.map +1 -1
  14. package/dist/agent/motores/trueforge/capacidades.js +138 -0
  15. package/dist/agent/motores/trueforge/capacidades.js.map +1 -0
  16. package/dist/agent/motores/trueforge/eventosTrueforge.js +98 -0
  17. package/dist/agent/motores/trueforge/eventosTrueforge.js.map +1 -0
  18. package/dist/agent/motores/trueforge/memoriaTrueforge.js +336 -0
  19. package/dist/agent/motores/trueforge/memoriaTrueforge.js.map +1 -0
  20. package/dist/agent/motores/trueforge/metricasTrueforge.js +55 -0
  21. package/dist/agent/motores/trueforge/metricasTrueforge.js.map +1 -0
  22. package/dist/agent/motores/trueforge/modeloExterno.js +46 -0
  23. package/dist/agent/motores/trueforge/modeloExterno.js.map +1 -0
  24. package/dist/agent/motores/trueforge/modeloLangchain.js +149 -0
  25. package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -0
  26. package/dist/agent/motores/trueforge/recortes.js +121 -0
  27. package/dist/agent/motores/trueforge/recortes.js.map +1 -0
  28. package/dist/agent/motores/trueforge/sesionTrueforge.js +1045 -0
  29. package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -0
  30. package/dist/agent/motores/trueforge/skillsTrueforge.js +14 -0
  31. package/dist/agent/motores/trueforge/skillsTrueforge.js.map +1 -0
  32. package/dist/agent/motores/trueforge/toolsDeFichero.js +264 -0
  33. package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -0
  34. package/dist/agent/motores/trueforge/toolsPropias.js +65 -0
  35. package/dist/agent/motores/trueforge/toolsPropias.js.map +1 -0
  36. package/dist/agent/motores/trueforge/trueforge.js +45 -0
  37. package/dist/agent/motores/trueforge/trueforge.js.map +1 -0
  38. package/dist/agent/sesiones/memoriaDeHilo.js +24 -0
  39. package/dist/agent/sesiones/memoriaDeHilo.js.map +1 -0
  40. package/dist/agent/subagentes/actividadDeCodex.js +60 -0
  41. package/dist/agent/subagentes/actividadDeCodex.js.map +1 -0
  42. package/dist/agent/subagentes/escrituraExterna.js +2 -0
  43. package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
  44. package/dist/agent/subagentes/subagenteCodex.js +20 -0
  45. package/dist/agent/subagentes/subagenteCodex.js.map +1 -1
  46. package/dist/agent/subagentes/subagenteExterno.js +269 -202
  47. package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
  48. package/dist/agent/subagentes/subagenteOpencode.js +18 -1
  49. package/dist/agent/subagentes/subagenteOpencode.js.map +1 -1
  50. package/dist/agent/turno/diagnosticoDeTools.js +3 -0
  51. package/dist/agent/turno/diagnosticoDeTools.js.map +1 -1
  52. package/dist/agent/turno/ficherosDelProyecto.js +62 -0
  53. package/dist/agent/turno/ficherosDelProyecto.js.map +1 -0
  54. package/dist/agent/turno/informeDeTraza.js +28 -1
  55. package/dist/agent/turno/informeDeTraza.js.map +1 -1
  56. package/dist/agent/turno/resumenDeTool.js +3 -0
  57. package/dist/agent/turno/resumenDeTool.js.map +1 -1
  58. package/dist/agent/turno/sesionReal.js +2 -0
  59. package/dist/agent/turno/sesionReal.js.map +1 -0
  60. package/dist/agent/turno/turnoReal.js +40 -163
  61. package/dist/agent/turno/turnoReal.js.map +1 -1
  62. package/dist/agent/turno/verificacion.js +142 -0
  63. package/dist/agent/turno/verificacion.js.map +1 -0
  64. package/dist/cli/config.js +19 -0
  65. package/dist/cli/config.js.map +1 -1
  66. package/dist/cli/consola.js.map +1 -1
  67. package/dist/cli/main.js +35 -2
  68. package/dist/cli/main.js.map +1 -1
  69. package/dist/cli/tui/correrTui.js +1 -1
  70. package/dist/cli/tui/correrTui.js.map +1 -1
  71. package/dist/cli/tui/transcript.js +5 -0
  72. package/dist/cli/tui/transcript.js.map +1 -1
  73. package/dist/core/actos.js.map +1 -1
  74. package/dist/core/config.js +13 -0
  75. package/dist/core/config.js.map +1 -1
  76. package/dist/core/motor.js +41 -0
  77. package/dist/core/motor.js.map +1 -0
  78. package/dist/core/ports.js.map +1 -1
  79. package/dist/core/trazaDeErrores.js +8 -2
  80. package/dist/core/trazaDeErrores.js.map +1 -1
  81. package/dist/core/turno.js +10 -0
  82. package/dist/core/turno.js.map +1 -1
  83. package/dist/web/servidor/arranque.js +7 -4
  84. package/dist/web/servidor/arranque.js.map +1 -1
  85. package/dist/web/servidor/pielWeb.js +6 -0
  86. package/dist/web/servidor/pielWeb.js.map +1 -1
  87. package/dist/web/servidor/sesiones.js +11 -0
  88. package/dist/web/servidor/sesiones.js.map +1 -1
  89. package/dist/web/servidor/vestibulo.js +23 -2
  90. package/dist/web/servidor/vestibulo.js.map +1 -1
  91. package/package.json +7 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sesionTrueforge.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/sesionTrueforge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export function anuncioDeSkills(agente, catalogo) {
2
+ const porNombre = new Map(catalogo.map((s) => [s.nombre, s]));
3
+ const suyas = agente.skills.flatMap((n) => {
4
+ const s = porNombre.get(n);
5
+ return s === undefined ? [] : [s];
6
+ });
7
+ if (suyas.length === 0)
8
+ return "";
9
+ return [
10
+ "TUS SKILLS (léelas con read_file cuando el encargo las necesite, antes de actuar):",
11
+ ...suyas.map((s) => `- ${s.nombre}: ${s.descripcion} — /skills/${s.nombre}/SKILL.md`),
12
+ ].join("\n");
13
+ }
14
+ //# sourceMappingURL=skillsTrueforge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillsTrueforge.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/skillsTrueforge.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,eAAe,CAAC,MAA8B,EAAE,QAA8B;IAC5F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO;QACL,oFAAoF;QACpF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,WAAW,cAAc,CAAC,CAAC,MAAM,WAAW,CAAC;KACtF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Las tools de fichero del motor TrueForge, sobre NUESTRO backend.
3
+ *
4
+ * TrueForge no trae tools de fichero: el `ToolSource` que se le pasa es el que lee y escribe.
5
+ * Así que aquí se hacen las seis de deepagents —`ls`, `read_file`, `write_file`, `edit_file`,
6
+ * `glob`, `grep`—, con sus mismos nombres y argumentos, para que un prompt que las nombra valga
7
+ * con los dos motores, y **delegando en el mismo backend** (`backendDeAgente`): con eso las
8
+ * guardas que viven en su pila de Proxies —el confinamiento virtual, las vistas aplanadas, los
9
+ * artefactos y descargas fuera del proyecto, las escrituras en serie por fichero, la validación
10
+ * del contenido, los montajes de `/skills/`, `/artefactos/`, `/adjuntos/`— van gratis.
11
+ *
12
+ * **Lo que NO va gratis es `permisosDe`**: en deepagents es middleware, no Proxy, así que aquí
13
+ * nadie denegaría `/.env`, `/.git`, `/.xonecode` ni escribir en `/skills/` o `/adjuntos/`. Se
14
+ * evalúan las MISMAS reglas (`perfiles.ts#permisosDe`, que las compone) con la misma semántica
15
+ * que la librería —la primera que casa decide, y si no casa ninguna se permite— y con el mismo
16
+ * `micromatch` y opciones. No es una segunda copia de la regla: la regla sigue siendo la lista
17
+ * de `permisosDe`; esto solo la evalúa donde el middleware no llega.
18
+ *
19
+ * Un rechazo se DEVUELVE como resultado de error y nunca se lanza: el modelo lo lee y reintenta,
20
+ * que es la regla de las guardas del backend.
21
+ */
22
+ import { posix } from "node:path";
23
+ import micromatch from "micromatch";
24
+ import { toolResultResponse } from "./trueforge.js";
25
+ import { desalojarSiGrande, MAXIMO_DE_COINCIDENCIAS, truncarSiLargo } from "./recortes.js";
26
+ /** La misma decisión que `decidePathAccess` de deepagents: primera que casa, y permitir por
27
+ * omisión. Con `micromatch` y `dot: true`, que es como la librería compara. */
28
+ export function decidirAccesoDeRuta(reglas, operacion, ruta) {
29
+ for (const regla of reglas) {
30
+ if (!regla.operations.includes(operacion))
31
+ continue;
32
+ if (regla.paths.some((p) => micromatch.isMatch(ruta, p, { dot: true })))
33
+ return regla.mode ?? "allow";
34
+ }
35
+ return "allow";
36
+ }
37
+ /** Las seis tools y lo que cada una toca, para decidir el permiso antes de llamar al backend. */
38
+ export const TOOLS_DE_FICHERO = ["ls", "read_file", "write_file", "edit_file", "glob", "grep"];
39
+ /** Las que ESCRIBEN: son las que piden aprobación, igual que el HITL de deepagents. */
40
+ export const TOOLS_QUE_ESCRIBEN = ["write_file", "edit_file"];
41
+ const cadena = { type: "string" };
42
+ const ESQUEMAS = {
43
+ ls: { descripcion: "Lists files and directories in a directory (non-recursive).", propiedades: { path: cadena }, obligatorias: ["path"] },
44
+ read_file: {
45
+ descripcion: "Reads a file. Returns its lines numbered. Use offset/limit to page through long files.",
46
+ propiedades: { file_path: cadena, offset: { type: "number" }, limit: { type: "number" } },
47
+ obligatorias: ["file_path"],
48
+ },
49
+ write_file: { descripcion: "Writes a NEW file with the given content.", propiedades: { file_path: cadena, content: cadena }, obligatorias: ["file_path", "content"] },
50
+ edit_file: {
51
+ descripcion: "Replaces old_string with new_string in a file. old_string must match exactly.",
52
+ propiedades: { file_path: cadena, old_string: cadena, new_string: cadena, replace_all: { type: "boolean" } },
53
+ obligatorias: ["file_path", "old_string", "new_string"],
54
+ },
55
+ glob: { descripcion: "Finds files matching a glob pattern.", propiedades: { pattern: cadena, path: cadena }, obligatorias: ["pattern"] },
56
+ grep: { descripcion: "Searches file contents for a literal pattern.", propiedades: { pattern: cadena, path: cadena, glob: cadena }, obligatorias: ["pattern"] },
57
+ };
58
+ /**
59
+ * La ruta VIRTUAL que el backend entiende, desde lo que escriba el modelo. Medido en la primera
60
+ * sesión real: el modelo pidió `ls .` y `read_file MEMORIA_PROYECTO.md`, sin la barra, y el
61
+ * backend —que solo sabe de rutas absolutas del espacio virtual— contestó «no existe» sobre un
62
+ * fichero que sí está; el agente acabó barriendo los `.xne` a mano. Vacía o `.` es la raíz, y
63
+ * lo relativo cuelga de ella.
64
+ *
65
+ * **Se normaliza ANTES de evaluar los permisos**, y es lo que importa: las reglas de `permisosDe`
66
+ * están escritas sobre rutas absolutas (`/.env`), así que una relativa (`.env`) no casaría con
67
+ * ninguna y pasaría. Y una que se sale de la raíz con `..` no es una ruta del proyecto: `undefined`,
68
+ * que quien llama rechaza — lo mismo que hace deepagents.
69
+ */
70
+ export function normalizarRuta(bruta) {
71
+ const limpia = bruta.trim();
72
+ if (limpia === "" || limpia === ".")
73
+ return "/";
74
+ const absoluta = limpia.startsWith("/") ? limpia : `/${limpia.replace(/^\.\//, "")}`;
75
+ if (absoluta.split("/").includes(".."))
76
+ return undefined;
77
+ const normal = posix.normalize(absoluta);
78
+ return normal.length > 1 && normal.endsWith("/") ? normal.slice(0, -1) : normal;
79
+ }
80
+ /** La ruta de la que habla cada tool, y si es para leer o para escribir. */
81
+ function objetivoDe(nombre, args) {
82
+ const texto = (v, omision = "/") => (typeof v === "string" && v !== "" ? v : omision);
83
+ switch (nombre) {
84
+ case "ls":
85
+ return { ruta: texto(args.path), operacion: "read" };
86
+ case "read_file":
87
+ return { ruta: texto(args.file_path, ""), operacion: "read" };
88
+ case "write_file":
89
+ case "edit_file":
90
+ return { ruta: texto(args.file_path, ""), operacion: "write" };
91
+ case "glob":
92
+ case "grep":
93
+ return { ruta: texto(args.path), operacion: "read" };
94
+ }
95
+ }
96
+ /** El contenido de un fichero, numerado como lo numera deepagents (6 de ancho y un tabulador). */
97
+ function numerado(contenido, desde) {
98
+ const lineas = contenido.split("\n");
99
+ if (lineas.length > 0 && lineas[lineas.length - 1] === "")
100
+ lineas.pop();
101
+ return lineas.map((l, i) => `${String(i + desde).padStart(6)}\t${l}`).join("\n");
102
+ }
103
+ /** Lo que el backend contestó, en el texto que ve el modelo. */
104
+ async function ejecutar(backend, nombre, args) {
105
+ const s = (v) => (typeof v === "string" ? v : "");
106
+ switch (nombre) {
107
+ case "ls": {
108
+ const r = (await backend.ls(s(args.path) || "/"));
109
+ if (r.error !== undefined)
110
+ return { texto: r.error, error: true };
111
+ return { texto: truncarSiLargo((r.files ?? []).map((f) => (f.is_dir === true ? `${f.path}/` : f.path)).join("\n")) || "(vacío)", error: false };
112
+ }
113
+ case "read_file": {
114
+ const offset = typeof args.offset === "number" && args.offset > 0 ? Math.floor(args.offset) : 0;
115
+ const limit = typeof args.limit === "number" && args.limit > 0 ? Math.floor(args.limit) : 100;
116
+ const r = (await backend.read(s(args.file_path), offset, limit));
117
+ if (r.error !== undefined)
118
+ return { texto: r.error, error: true };
119
+ if (typeof r.content !== "string")
120
+ return { texto: "fichero binario: no se puede leer como texto", error: true };
121
+ return { texto: numerado(r.content, offset + 1), error: false };
122
+ }
123
+ case "write_file": {
124
+ const r = (await backend.write(s(args.file_path), s(args.content)));
125
+ if (r.error !== undefined)
126
+ return { texto: r.error, error: true };
127
+ return { texto: `Successfully wrote to ${s(args.file_path)}`, error: false };
128
+ }
129
+ case "edit_file": {
130
+ const r = (await backend.edit(s(args.file_path), s(args.old_string), s(args.new_string), args.replace_all === true));
131
+ if (r.error !== undefined)
132
+ return { texto: r.error, error: true };
133
+ return { texto: `Successfully replaced ${r.occurrences ?? 1} occurrence(s) in ${s(args.file_path)}`, error: false };
134
+ }
135
+ case "glob": {
136
+ const r = (await backend.glob(s(args.pattern), s(args.path) || "/"));
137
+ if (r.error !== undefined)
138
+ return { texto: r.error, error: true };
139
+ return { texto: truncarSiLargo((r.files ?? []).map((f) => f.path).join("\n")) || "(ninguno)", error: false };
140
+ }
141
+ case "grep": {
142
+ const r = (await backend.grep(s(args.pattern), s(args.path) || "/", s(args.glob) || null));
143
+ if (r.error !== undefined)
144
+ return { texto: r.error, error: true };
145
+ // El tope de coincidencias y el truncado de deepagents (`recortes.ts`): sin ellos un `grep`
146
+ // sobre la raíz metía cientos de líneas que se reenviaban en cada llamada siguiente.
147
+ const todas = r.matches ?? [];
148
+ const lineas = todas.slice(0, MAXIMO_DE_COINCIDENCIAS).map((m) => `${m.path}:${m.line}: ${m.text}`);
149
+ const resto = todas.length > MAXIMO_DE_COINCIDENCIAS ? `\n... [${todas.length - MAXIMO_DE_COINCIDENCIAS} coincidencias más: afina el patrón o la ruta]` : "";
150
+ return { texto: truncarSiLargo(lineas.join("\n") + resto) || "(sin coincidencias)", error: false };
151
+ }
152
+ }
153
+ }
154
+ /**
155
+ * El `ToolSource` de TrueForge con las seis tools. La aprobación NO se decide aquí: la pone el
156
+ * `ToolSet` que lo envuelve (`requireApprovalForTools`), y la tool solo corre tras el «sí».
157
+ */
158
+ export function fuenteDeFicheros(opciones) {
159
+ const ofrecidas = opciones.tools ?? TOOLS_DE_FICHERO;
160
+ const esDeFichero = (n) => ofrecidas.includes(n);
161
+ return {
162
+ name: "xone",
163
+ id: "xone",
164
+ listTools: async () => ({
165
+ result: {
166
+ tools: ofrecidas.map((n) => ({
167
+ name: n,
168
+ description: ESQUEMAS[n].descripcion,
169
+ inputSchema: { type: "object", properties: ESQUEMAS[n].propiedades, required: ESQUEMAS[n].obligatorias },
170
+ preload: true,
171
+ })),
172
+ },
173
+ wasInitialized: undefined,
174
+ }),
175
+ callTool: async (params) => {
176
+ if (!esDeFichero(params.name))
177
+ return toolResultResponse({ text: `tool desconocida: ${params.name}`, isError: true });
178
+ const crudos = params.arguments ?? {};
179
+ const { ruta: bruta, operacion } = objetivoDe(params.name, crudos);
180
+ if (bruta === "")
181
+ return toolResultResponse({ text: "falta la ruta del fichero", isError: true });
182
+ const ruta = normalizarRuta(bruta);
183
+ if (ruta === undefined) {
184
+ return toolResultResponse({ text: `ruta fuera del proyecto: ${bruta}`, isError: true });
185
+ }
186
+ // Los argumentos que llegan al backend llevan la ruta YA normalizada: la misma que se
187
+ // acaba de autorizar, y no otra.
188
+ const campo = params.name === "ls" || params.name === "glob" || params.name === "grep" ? "path" : "file_path";
189
+ const args = { ...crudos, [campo]: ruta };
190
+ if (decidirAccesoDeRuta(opciones.reglas, operacion, ruta) === "deny") {
191
+ return toolResultResponse({ text: `permission denied: ${operacion} ${ruta}`, isError: true });
192
+ }
193
+ try {
194
+ const { texto, error } = await ejecutar(opciones.backend, params.name, args);
195
+ return toolResultResponse({ text: texto, isError: error });
196
+ }
197
+ catch (e) {
198
+ // Un backend que LANZA no tumba el turno: se le devuelve al modelo, como las guardas.
199
+ return toolResultResponse({ text: e instanceof Error ? e.message : String(e), isError: true });
200
+ }
201
+ },
202
+ toolCallInfo: async (params) => ({
203
+ type: "mcp",
204
+ mcp_server_id: "xone",
205
+ mcp_server_name: "xone",
206
+ original_tool_name: params.name,
207
+ }),
208
+ };
209
+ }
210
+ /** Las que solo LEEN: las que lleva un subagente que no escribe el proyecto. */
211
+ export const TOOLS_DE_LECTURA = ["ls", "read_file", "glob", "grep"];
212
+ /**
213
+ * `execute`: la shell del `device-controller`, sobre el MISMO backend que le monta deepagents
214
+ * (`backendDeAgente` con `ejecucion`), así que su entorno —los scripts de las skills en el PATH, sin
215
+ * las claves de API, con el fichero del dispositivo de la sesión— y el anuncio de los artefactos que
216
+ * deje un comando son los de siempre.
217
+ *
218
+ * **Solo la lleva UN agente**, como en deepagents: una shell no pasa por `permisosDe` ni por la
219
+ * aprobación, así que no se le da al que escribe el proyecto. Y no pregunta antes de cada comando:
220
+ * lo que lo compensa es que el comando entero se VE en el chat (`resumenDeTool.ts` lo tiene en su
221
+ * lista blanca).
222
+ */
223
+ export function fuenteDeEjecucion(backend) {
224
+ return {
225
+ name: "shell",
226
+ id: "shell",
227
+ listTools: async () => ({
228
+ result: {
229
+ tools: [
230
+ {
231
+ name: "execute",
232
+ description: "Runs a shell command in the project root and returns its output and exit code. Use the xone-* scripts of your skills.",
233
+ inputSchema: { type: "object", properties: { command: { type: "string" } }, required: ["command"] },
234
+ preload: true,
235
+ },
236
+ ],
237
+ },
238
+ wasInitialized: undefined,
239
+ }),
240
+ callTool: async (params) => {
241
+ const comando = params.arguments?.command;
242
+ if (params.name !== "execute" || typeof comando !== "string" || comando.trim() === "") {
243
+ return toolResultResponse({ text: "execute necesita un `command`", isError: true });
244
+ }
245
+ try {
246
+ const r = (await backend.execute(comando));
247
+ const salida = `${r.output ?? ""}${r.truncated === true ? "\n[salida truncada]" : ""}`;
248
+ const codigo = r.exitCode ?? 0;
249
+ const texto = await desalojarSiGrande(`${salida}\n[exit code ${codigo}]`, backend);
250
+ return toolResultResponse({ text: texto, isError: codigo !== 0 });
251
+ }
252
+ catch (e) {
253
+ return toolResultResponse({ text: e instanceof Error ? e.message : String(e), isError: true });
254
+ }
255
+ },
256
+ toolCallInfo: async (params) => ({
257
+ type: "mcp",
258
+ mcp_server_id: "shell",
259
+ mcp_server_name: "shell",
260
+ original_tool_name: params.name,
261
+ }),
262
+ };
263
+ }
264
+ //# sourceMappingURL=toolsDeFichero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolsDeFichero.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/toolsDeFichero.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Las tools PROPIAS de xonecode —las que no son de fichero— en TrueForge.
3
+ *
4
+ * En deepagents son tools de LangChain (`tool()` de `@langchain/core`): `xone_navegacion`,
5
+ * `regex_search`, `copiar_artefacto`, la crítica visual y traer de la máquina. No se reescriben
6
+ * para este motor: un segundo sitio donde decidir qué contesta `xone_navegacion` sería un segundo
7
+ * sitio donde las dos respuestas pueden divergir. Se ADAPTAN: el esquema sale del de la tool y la
8
+ * llamada es su `invoke`, así que lo que hace cada una —sus guardas incluidas, que ya re-aplican
9
+ * `puedeLeerRuta` a mano porque tampoco en deepagents pasan por el middleware de permisos— es el
10
+ * mismo código en los dos motores.
11
+ */
12
+ import { toolResultResponse } from "./trueforge.js";
13
+ import { toJsonSchema } from "@langchain/core/utils/json_schema";
14
+ import { desalojarSiGrande } from "./recortes.js";
15
+ /** El texto de lo que devuelve una tool de LangChain: una cadena, o un `ToolMessage`. */
16
+ function textoDeResultado(r) {
17
+ if (typeof r === "string")
18
+ return r;
19
+ const contenido = r?.content;
20
+ if (typeof contenido === "string")
21
+ return contenido;
22
+ return JSON.stringify(r ?? "");
23
+ }
24
+ /** Un `ToolSource` de TrueForge con estas tools, llamadas tal cual. */
25
+ export function fuenteDeLangchain(tools, backend) {
26
+ const porNombre = new Map(tools.map((t) => [t.name, t]));
27
+ return {
28
+ name: "xone-propias",
29
+ id: "xone-propias",
30
+ listTools: async () => ({
31
+ result: {
32
+ tools: tools.map((t) => ({
33
+ name: t.name,
34
+ description: t.description,
35
+ inputSchema: toJsonSchema(t.schema),
36
+ preload: true,
37
+ })),
38
+ },
39
+ wasInitialized: undefined,
40
+ }),
41
+ callTool: async (params) => {
42
+ const t = porNombre.get(params.name);
43
+ if (t === undefined)
44
+ return toolResultResponse({ text: `tool desconocida: ${params.name}`, isError: true });
45
+ try {
46
+ // Las propias SÍ se desalojan cuando son grandes: no son de fichero, y en deepagents el
47
+ // `FilesystemMiddleware` solo exime a esas (`recortes.ts`).
48
+ const texto = await desalojarSiGrande(textoDeResultado(await t.invoke(params.arguments ?? {})), backend);
49
+ return toolResultResponse({ text: texto, isError: false });
50
+ }
51
+ catch (e) {
52
+ // Una tool que LANZA —un argumento que no pasa su esquema, por ejemplo— no tumba el turno:
53
+ // se le devuelve al modelo, que puede corregirse, como las guardas.
54
+ return toolResultResponse({ text: e instanceof Error ? e.message : String(e), isError: true });
55
+ }
56
+ },
57
+ toolCallInfo: async (params) => ({
58
+ type: "mcp",
59
+ mcp_server_id: "xone-propias",
60
+ mcp_server_name: "xone-propias",
61
+ original_tool_name: params.name,
62
+ }),
63
+ };
64
+ }
65
+ //# sourceMappingURL=toolsPropias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolsPropias.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/toolsPropias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AAU3E,yFAAyF;AACzF,SAAS,gBAAgB,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,MAAM,SAAS,GAAI,CAAkC,EAAE,OAAO,CAAC;IAC/D,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,KAAiC,EAAE,OAA2B;IAC9F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,cAAc;QAClB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACtB,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,MAAe,CAAuB;oBAClE,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;aACJ;YACD,cAAc,EAAE,SAAS;SAC1B,CAAC;QACF,QAAQ,EAAE,KAAK,EAAE,MAA6D,EAAE,EAAE;YAChF,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,kBAAkB,CAAC,EAAE,IAAI,EAAE,qBAAqB,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC;gBACH,wFAAwF;gBACxF,4DAA4D;gBAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACzG,OAAO,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,2FAA2F;gBAC3F,oEAAoE;gBACpE,OAAO,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,MAAwB,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,KAAc;YACpB,aAAa,EAAE,cAAc;YAC7B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,MAAM,CAAC,IAAI;SAChC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * TODO lo que XOneCode usa de `@truefoundry/trueforge-core`, por un solo sitio.
3
+ *
4
+ * La librería es 0.x (fijada EXACTA a 0.2.1 en `package.json`) y no promete compatibilidad entre
5
+ * versiones. Con los imports repartidos por el motor, subirla obligaba a revisar cada fichero; aquí
6
+ * se revisa uno. Dos clases de cosas, y se separan a propósito:
7
+ *
8
+ * - Lo de la API PÚBLICA (`@truefoundry/trueforge-core/core`): el orquestador, los hilos, las
9
+ * capabilities, `ILLM`.
10
+ * - Lo que SOLO está en rutas profundas: los tipos de los fragmentos del modelo y el trazado mudo.
11
+ * El paquete los deja importar (`"./*"` en sus `exports`), pero no son su API: son lo primero
12
+ * que puede moverse en una versión nueva, y por eso viven aquí y en ningún otro sitio.
13
+ *
14
+ * El trazado mudo (`NOOP_AGENT_TRACING`) es NUESTRO y va con `satisfies` contra los tipos PÚBLICOS
15
+ * de la librería: si su interfaz cambia, el compilador lo dice aquí. Era una ruta profunda más, y la
16
+ * única que no era un tipo.
17
+ */
18
+ /**
19
+ * La versión de la librería con la que corre este motor, la MISMA que fija `package.json`
20
+ * (`frontera.test.ts` compara las dos, y contra la instalada). Viaja en la foto de memoria
21
+ * (`memoriaTrueforge.ts`) para que una migración futura sepa con qué `toSnapshot()` se escribió.
22
+ * Es una constante y no una lectura de su `package.json`: leerlo desde otro fichero sería una
23
+ * segunda puerta a la librería, y aquí subirla se revisa de todas formas.
24
+ */
25
+ export const VERSION_DE_TRUEFORGE = "0.2.1";
26
+ export { AgentThread, AgentThreadOrchestrator, EventType, ToolSet, askUserQuestion, contextCompaction, currentDateTime, dynamicSubAgents, toolResultResponse, } from "@truefoundry/trueforge-core/core";
27
+ // ── El trazado mudo: no trazamos con la librería (la traza es la nuestra, `diagnosticoDeTools`) ─
28
+ const TRAZA_MUDA = {
29
+ runInContext: (operation) => operation(),
30
+ startSubAgent: () => TRAZA_MUDA,
31
+ setOutput: () => undefined,
32
+ setMetrics: () => undefined,
33
+ setError: () => undefined,
34
+ setSuccess: () => undefined,
35
+ end: () => undefined,
36
+ };
37
+ const TOOL_MUDA = { setOutput: () => undefined, setSandboxId: () => undefined };
38
+ const MCP_MUDO = { setOutput: () => undefined, setNumberOfTools: () => undefined };
39
+ export const NOOP_AGENT_TRACING = {
40
+ withInitSpan: (operation) => operation(),
41
+ startRootSpan: () => TRAZA_MUDA,
42
+ withLocalToolSpan: (_input, operation) => operation(TOOL_MUDA),
43
+ withRemoteMcpToolSpan: (_input, operation) => operation(MCP_MUDO),
44
+ };
45
+ //# sourceMappingURL=trueforge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trueforge.js","sourceRoot":"","sources":["../../../../src/agent/motores/trueforge/trueforge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,SAAS,EACT,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAY1C,mGAAmG;AACnG,MAAM,UAAU,GAAG;IACjB,YAAY,EAAE,CAAI,SAAkB,EAAK,EAAE,CAAC,SAAS,EAAE;IACvD,aAAa,EAAE,GAAwB,EAAE,CAAC,UAAU;IACpD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;IAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;IAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;IACzB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;IAC3B,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;CACS,CAAC;AAChC,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,EAAgC,CAAC;AAC9G,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,EAAoC,CAAC;AAErH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,CAAI,SAA2B,EAAc,EAAE,CAAC,SAAS,EAAE;IACzE,aAAa,EAAE,GAAwB,EAAE,CAAC,UAAU;IACpD,iBAAiB,EAAE,CAAI,MAAe,EAAE,SAAoD,EAAc,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;IACjI,qBAAqB,EAAE,CAAI,MAAe,EAAE,SAAwD,EAAc,EAAE,CAClH,SAAS,CAAC,QAAQ,CAAC;CACC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * La memoria del agente de UNA sesión, sea cual sea el motor que la escribió.
3
+ *
4
+ * deepagents la guarda en el checkpointer de SQLite del proyecto (`checkpointer.ts`), y TrueForge
5
+ * en la foto de su hilo raíz (`motores/trueforge/memoriaTrueforge.ts`). Quien pregunta —la web al
6
+ * reabrir una sesión, el borrado de una sesión, una tarea que olvida su hilo— no sabe ni tiene por
7
+ * qué saber cuál corrió, así que aquí se miran las dos.
8
+ *
9
+ * Vive aquí, exportado y con test, y no como dos lambdas en `arranque.ts`: compuesto en un cierre
10
+ * que los tests doblan, «la web sabe de la memoria de TrueForge» sería una regla escrita y no
11
+ * probada — el patrón de fallo de este repo.
12
+ */
13
+ import { crearCheckpointerDeProyecto, hayCheckpoint, olvidarHilo } from "./checkpointer.js";
14
+ import { hayMemoria as hayMemoriaTrueforge, olvidarMemoria as olvidarMemoriaTrueforge } from "../motores/trueforge/memoriaTrueforge.js";
15
+ /** ¿Queda memoria de esta sesión que continuar? La de cualquiera de los dos motores. */
16
+ export async function hayMemoriaDeHilo(raiz, hilo) {
17
+ return hayMemoriaTrueforge(raiz, hilo) || (await hayCheckpoint(crearCheckpointerDeProyecto(raiz), hilo));
18
+ }
19
+ /** Olvida la memoria de esta sesión en los DOS sitios: una sesión borrada no deja conversación en disco. */
20
+ export async function olvidarMemoriaDeHilo(raiz, hilo) {
21
+ olvidarMemoriaTrueforge(raiz, hilo);
22
+ await olvidarHilo(crearCheckpointerDeProyecto(raiz), hilo);
23
+ }
24
+ //# sourceMappingURL=memoriaDeHilo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoriaDeHilo.js","sourceRoot":"","sources":["../../../src/agent/sesiones/memoriaDeHilo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,2BAA2B,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAExI,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAY;IAC/D,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,4GAA4G;AAC5G,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAY;IACnE,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Lo que Codex HACE mientras trabaja, en los eventos de siempre (`tool` y `razonamiento`).
3
+ *
4
+ * Sin esto, con Codex no se veía nada entre la delegación y su respuesta —medido en una pasada real:
5
+ * cuatro comandos y dos comentarios, y la pantalla quieta—, cuando con Claude Code y OpenCode sí.
6
+ *
7
+ * **Todo sale de lo que Codex CLASIFICA, nunca del comando de shell.** Medido contra el app-server
8
+ * real (codex-cli 0.152.1): cada `commandExecution` trae `commandActions`, con `type` `read` (y
9
+ * `path`), `search` (y `query`) y los demás; y el comando trae la ruta de la máquina —
10
+ * `sed -n '1,240p' /Users/…/SKILL.md`—, así que enseñarlo sería sacarla por el cable. De aquí sale una
11
+ * línea NORMAL —`read_file`, `grep`, `ls`— con la ruta VIRTUAL por la MISMA función que Claude Code
12
+ * (`escrituraExterna.ts#eventoDeToolExterna`), y una ruta de FUERA del proyecto no se dice.
13
+ *
14
+ * Solo se cuenta lo que terminó bien —`status: completed`—, que es el invariante de
15
+ * `core/entrelazar.ts`: una línea que diga que leyó algo que no leyó afirma un hecho falso.
16
+ *
17
+ * **Límites declarados**: las escrituras (`fileChange`) no se anuncian aquí —ya pasan por la
18
+ * aprobación con su diff, y su forma al terminar no está medida—, y el `reasoning` tampoco: en la
19
+ * medida llegó siempre vacío. Lo que Codex va CONTANDO son sus `agentMessage` de fase `commentary`.
20
+ */
21
+ import { resolve } from "node:path";
22
+ import { realpathSync } from "node:fs";
23
+ import { eventoDeToolExterna } from "./escrituraExterna.js";
24
+ /** Cómo se llama cada acción de Codex con los nombres del harness. Lo que no está, es `execute`. */
25
+ const TOOL_DE_ACCION = {
26
+ read: "Read",
27
+ search: "Grep",
28
+ listFiles: "ls",
29
+ };
30
+ /** Lo que sale de un `item/completed` de Codex: las tools que hizo y lo que contó. */
31
+ export function actividadDeItemDeCodex(item, cwd, real = realpathSync) {
32
+ if (typeof item !== "object" || item === null)
33
+ return { tools: [] };
34
+ const i = item;
35
+ if (i["type"] === "agentMessage" && i["phase"] === "commentary" && typeof i["text"] === "string" && i["text"].trim() !== "") {
36
+ return { tools: [], razonamiento: i["text"] };
37
+ }
38
+ if (i["type"] !== "commandExecution" || i["status"] !== "completed")
39
+ return { tools: [] };
40
+ // El `cwd` del comando es desde donde se resuelven sus rutas relativas («app.xml», «.»); si no
41
+ // viene, el del proyecto.
42
+ const desde = typeof i["cwd"] === "string" ? i["cwd"] : cwd;
43
+ const acciones = Array.isArray(i["commandActions"]) ? i["commandActions"] : [];
44
+ // Sin clasificar no hay nada que decir salvo que ejecutó algo: sin el comando, que lleva rutas.
45
+ if (acciones.length === 0)
46
+ return { tools: [{ nombre: "execute" }] };
47
+ const tools = acciones.map((a) => {
48
+ const accion = (typeof a === "object" && a !== null ? a : {});
49
+ const tool = TOOL_DE_ACCION[String(accion["type"])];
50
+ if (tool === undefined)
51
+ return { nombre: "execute" };
52
+ if (tool === "Grep") {
53
+ return eventoDeToolExterna("Grep", typeof accion["query"] === "string" ? { pattern: accion["query"] } : {}, cwd, real);
54
+ }
55
+ const ruta = typeof accion["path"] === "string" && accion["path"] !== "" ? resolve(desde, accion["path"]) : undefined;
56
+ return eventoDeToolExterna(tool, ruta === undefined ? {} : { file_path: ruta }, cwd, real);
57
+ });
58
+ return { tools };
59
+ }
60
+ //# sourceMappingURL=actividadDeCodex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actividadDeCodex.js","sourceRoot":"","sources":["../../../src/agent/subagentes/actividadDeCodex.ts"],"names":[],"mappings":"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"}
@@ -447,6 +447,8 @@ export function motivoDeToolDenegada(nombre, clase) {
447
447
  return ("XOneCode no te concede escribir: tu papel es de solo lectura. " +
448
448
  "Explica qué harías en vez de intentar hacerlo.");
449
449
  }
450
+ /** Por qué `correr` rechaza cuando se paró el turno: el hijo se mató, no terminó su encargo. */
451
+ export const MOTIVO_DE_CANCELACION_EXTERNA = "el turno se canceló y el agente externo se ha detenido";
450
452
  /** Y el motivo cuando el propio SDK abortó mientras se esperaba la decisión. */
451
453
  export const MOTIVO_DE_ESCRITURA_ABORTADA = "la petición se canceló antes de que nadie autorizara esa escritura, así que no se ha escrito nada.";
452
454
  /** El motivo cuando la escritura se pidió bien y quien decide dijo que no. */