oficina-opencode 3.0.5 → 3.1.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 (92) hide show
  1. package/README.md +240 -208
  2. package/dist/cli.js +124 -26
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/bus.js +3 -3
  5. package/dist/core/bus.js.map +1 -1
  6. package/dist/core/catalog.d.ts +9 -1
  7. package/dist/core/catalog.d.ts.map +1 -1
  8. package/dist/core/catalog.js +77 -2
  9. package/dist/core/catalog.js.map +1 -1
  10. package/dist/core/dispatch.d.ts +1 -1
  11. package/dist/core/dispatch.d.ts.map +1 -1
  12. package/dist/core/dispatch.js +73 -12
  13. package/dist/core/dispatch.js.map +1 -1
  14. package/dist/core/docsync.d.ts +0 -9
  15. package/dist/core/docsync.d.ts.map +1 -1
  16. package/dist/core/docsync.js +12 -15
  17. package/dist/core/docsync.js.map +1 -1
  18. package/dist/core/factory.d.ts +16 -0
  19. package/dist/core/factory.d.ts.map +1 -1
  20. package/dist/core/factory.js +143 -0
  21. package/dist/core/factory.js.map +1 -1
  22. package/dist/core/fsx.d.ts +20 -2
  23. package/dist/core/fsx.d.ts.map +1 -1
  24. package/dist/core/fsx.js +10 -6
  25. package/dist/core/fsx.js.map +1 -1
  26. package/dist/core/gates.d.ts +23 -1
  27. package/dist/core/gates.d.ts.map +1 -1
  28. package/dist/core/gates.js +83 -8
  29. package/dist/core/gates.js.map +1 -1
  30. package/dist/core/leases.d.ts.map +1 -1
  31. package/dist/core/leases.js +4 -1
  32. package/dist/core/leases.js.map +1 -1
  33. package/dist/core/mesa.d.ts +1 -6
  34. package/dist/core/mesa.d.ts.map +1 -1
  35. package/dist/core/mesa.js +1 -6
  36. package/dist/core/mesa.js.map +1 -1
  37. package/dist/core/office.d.ts +3 -29
  38. package/dist/core/office.d.ts.map +1 -1
  39. package/dist/core/office.js +77 -90
  40. package/dist/core/office.js.map +1 -1
  41. package/dist/core/paths.d.ts.map +1 -1
  42. package/dist/core/paths.js +6 -1
  43. package/dist/core/paths.js.map +1 -1
  44. package/dist/core/retry.d.ts +2 -8
  45. package/dist/core/retry.d.ts.map +1 -1
  46. package/dist/core/retry.js +3 -34
  47. package/dist/core/retry.js.map +1 -1
  48. package/dist/core/roster.js +3 -3
  49. package/dist/core/roster.js.map +1 -1
  50. package/dist/core/sandbox.d.ts +38 -1
  51. package/dist/core/sandbox.d.ts.map +1 -1
  52. package/dist/core/sandbox.js +119 -15
  53. package/dist/core/sandbox.js.map +1 -1
  54. package/dist/core/state.d.ts +2 -2
  55. package/dist/core/state.d.ts.map +1 -1
  56. package/dist/core/state.js +5 -33
  57. package/dist/core/state.js.map +1 -1
  58. package/dist/core/stores.d.ts +3 -13
  59. package/dist/core/stores.d.ts.map +1 -1
  60. package/dist/core/stores.js +8 -32
  61. package/dist/core/stores.js.map +1 -1
  62. package/dist/core/systemPrompt.js +1 -1
  63. package/dist/core/systemPrompt.js.map +1 -1
  64. package/dist/core/tripwire.d.ts +22 -8
  65. package/dist/core/tripwire.d.ts.map +1 -1
  66. package/dist/core/tripwire.js +71 -26
  67. package/dist/core/tripwire.js.map +1 -1
  68. package/dist/core/types.d.ts +6 -14
  69. package/dist/core/types.d.ts.map +1 -1
  70. package/dist/core/types.js +11 -3
  71. package/dist/core/types.js.map +1 -1
  72. package/dist/hooks/scopeGuard.d.ts +15 -1
  73. package/dist/hooks/scopeGuard.d.ts.map +1 -1
  74. package/dist/hooks/scopeGuard.js +88 -73
  75. package/dist/hooks/scopeGuard.js.map +1 -1
  76. package/dist/tools/index.d.ts.map +1 -1
  77. package/dist/tools/index.js +3 -59
  78. package/dist/tools/index.js.map +1 -1
  79. package/dist/v1.d.ts.map +1 -1
  80. package/dist/v1.js +30 -36
  81. package/dist/v1.js.map +1 -1
  82. package/dist/v2.d.ts.map +1 -1
  83. package/dist/v2.js +22 -41
  84. package/dist/v2.js.map +1 -1
  85. package/docs/GARANTIAS.md +2 -2
  86. package/docs/PRUEBA-E2E.md +4 -4
  87. package/docs/QUE-ES.md +4 -5
  88. package/docs/SEGURIDAD-REPO.md +83 -0
  89. package/docs/assets/banner.svg +42 -0
  90. package/docs/catalog-facts.json +3 -3
  91. package/docs/superpowers/specs/2026-10-29-factory-skill-creator-and-remove-budget.md +182 -0
  92. package/package.json +11 -6
@@ -22,6 +22,8 @@
22
22
  */
23
23
  import { capabilityTokens } from "./catalog.js";
24
24
  import { shortId } from "./fsx.js";
25
+ import { ensureDir, writeAtomic } from "./fsx.js";
26
+ import path from "node:path";
25
27
  export const FACTORY_DISPLAY_FALLBACK = "Especialista";
26
28
  /**
27
29
  * Template de un agente fabricado.
@@ -240,4 +242,145 @@ export class CandidateRegistry {
240
242
  return [...this.candidates.values()].sort((a, b) => b.uses - a.uses);
241
243
  }
242
244
  }
245
+ /**
246
+ * Genera el slug para el archivo de agente.
247
+ * Ej: "implementador-jwt-auth" -> "implementador-jwt-auth"
248
+ * (el prefijo "oficina-" lo añade agentNameFor al registrar en OpenCode)
249
+ */
250
+ export function agentSlugFromRole(role) {
251
+ return role.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
252
+ }
253
+ /**
254
+ * Genera el frontmatter YAML para el archivo de agente.
255
+ */
256
+ function generateAgentFrontmatter(displayName, description, vibe, capabilities) {
257
+ const capsYaml = capabilities.length > 0
258
+ ? "\n " + capabilities.map(c => `- ${c}`).join("\n ")
259
+ : "";
260
+ return [
261
+ "---",
262
+ `name: ${displayName}`,
263
+ `description: ${description}`,
264
+ `vibe: ${vibe}`,
265
+ `mode: subagent`,
266
+ `permission:`,
267
+ ` edit: allow`,
268
+ ` shell: allow`,
269
+ ` task: allow`,
270
+ `capabilities:${capsYaml}`,
271
+ "---",
272
+ ""
273
+ ].join("\n");
274
+ }
275
+ /**
276
+ * Genera el cuerpo del agente usando la plantilla de 10 secciones de Agency-Agents.
277
+ */
278
+ function generateAgentBody(displayName, role, capabilities, mission, failureModes, objective) {
279
+ const capabilitiesList = capabilities.join(", ") || role;
280
+ const primaryDomain = capabilities[0] || role;
281
+ const keyTechnologies = capabilities.slice(0, 5).join(", ");
282
+ const capabilityTokensStr = capabilities.join(" ");
283
+ const missionTitle = `### ${titleize(role)}`;
284
+ const missionDesc = `- Ejecutá la card asignada con foco en: ${capabilitiesList}\n- Dejá el resultado en el formato que el briefing pide: handoff y evidencia\n- Pedí ayuda en el bus en cuanto detectes que la tarea se sale de tu dominio`;
285
+ const failureModesList = failureModes.map(f => `- ${f}`).join("\n");
286
+ const objectiveSection = objective
287
+ ? `**Objetivo de la corrida:** ${objective}\n\n**Misión de tu card:** ${mission}\n`
288
+ : `**Misión de tu card:** ${mission}\n`;
289
+ const sections = [
290
+ `# ${displayName} Agent Personality`,
291
+ "",
292
+ `You are **${displayName}**, a specialist in ${capabilitiesList} focused on ${mission.toLowerCase()}.`,
293
+ "",
294
+ "## Your Identity & Memory",
295
+ "",
296
+ `- **Role**: Specialist in ${primaryDomain} with deep expertise in ${keyTechnologies}.`,
297
+ `- **Personality**: Direct, pragmatic, and detail-oriented. You prefer the simplest robust solution and state explicitly when a rule or pattern does not apply.`,
298
+ `- **Memory**: You maintain state through durable disk artifacts and communication logs. You never rely on hidden session memory.`,
299
+ `- **Experience**: Seasoned implementer with strong instincts for edge cases, error handling, and security boundaries.`,
300
+ "",
301
+ "## Your Core Mission",
302
+ "",
303
+ missionTitle,
304
+ missionDesc,
305
+ "",
306
+ "## Critical Rules You Must Follow",
307
+ "",
308
+ "1. **Scope is a hard boundary, not a suggestion.** Touch only authorized files. The engine blocks unauthorized paths.",
309
+ "2. **No evidence, no work.** A claim without real command output (`evidence.md`) is only a hypothesis.",
310
+ "3. **Never review or approve your own work.** An independent reviewer audits your code.",
311
+ "4. **Ask before guessing.** If required context is missing, request it via the office bus (`oficina_bus`).",
312
+ "5. **Acknowledge gaps explicitly.** A handoff that hides omissions is worse than one that names them.",
313
+ "",
314
+ "## Your Technical Deliverables",
315
+ "",
316
+ "- Clean, tested code strictly within the assigned scope.",
317
+ "- `handoff.md`: Clear technical summary of what was implemented, decisions made, and remaining work.",
318
+ "- `evidence.md`: Verbatim terminal output showing exit codes from tests, builds, and verification commands.",
319
+ "",
320
+ "## Your Workflow Process",
321
+ "",
322
+ "### Step 1: Understand the Terrain",
323
+ "Inspect existing codebase, read your briefing, and check dependencies and constraints before modifying any file.",
324
+ "",
325
+ "### Step 2: Decide the Approach",
326
+ "Plan the minimal changes required to satisfy acceptance criteria. Ensure backward compatibility and strict type safety.",
327
+ "",
328
+ "### Step 3: Execute Within Scope",
329
+ "Implement code incrementally. Run tests and type checks after every logical change.",
330
+ "",
331
+ "### Step 4: Verify and Hand Off",
332
+ "Execute technical gates (build, lint, test, security scan). Generate `evidence.md` and `handoff.md`, then submit with `oficina_submit`.",
333
+ "",
334
+ "## Your Communication Style",
335
+ "",
336
+ "- **Direct and concise:** State facts, decisions, and blockers without conversational filler.",
337
+ "- **Structured triage:** When receiving help requests, evaluate scope, capacity, and context before accepting or declining.",
338
+ "- **Zero ambiguity:** Always cite exact file paths and error messages.",
339
+ "",
340
+ "## Learning & Memory",
341
+ "",
342
+ "Remember and build rigor in:",
343
+ ...failureModesList.split("\n"),
344
+ "",
345
+ "## Your Success Metrics",
346
+ "",
347
+ "You are successful when:",
348
+ "1. All assigned card acceptance criteria are satisfied with verifiable evidence.",
349
+ "2. The project compiles, typechecks, and passes all tests with exit code 0.",
350
+ "3. No out-of-scope files or secrets are touched.",
351
+ "",
352
+ "## Advanced Capabilities",
353
+ "",
354
+ capabilityTokensStr,
355
+ "",
356
+ "## Context of This Run",
357
+ "",
358
+ objectiveSection,
359
+ ];
360
+ return sections.join("\n");
361
+ }
362
+ /**
363
+ * Crea un archivo de agente persistente en `.opencode/agents/<slug>.md`.
364
+ *
365
+ * Este archivo es directamente usable por OpenCode como subagent (`@oficina-<slug>`)
366
+ * y es descubierto por el catálogo dinámico para matching futuro.
367
+ */
368
+ export async function createPersistentAgent(projectRoot, input) {
369
+ const displayName = input.displayName ?? titleize(input.role);
370
+ const capabilities = input.capabilities.length > 0
371
+ ? input.capabilities
372
+ : [...capabilityTokens(input.role)];
373
+ const mission = input.mission ?? `Resolver el trabajo que se te asigne en esta corrida.`;
374
+ const failureModes = input.failureModes ?? defaultFailureModes(input.role);
375
+ const slug = agentSlugFromRole(input.role);
376
+ const agentsDir = path.join(projectRoot, ".opencode", "agents");
377
+ await ensureDir(agentsDir);
378
+ const filePath = path.join(agentsDir, `${slug}.md`);
379
+ const description = `${displayName} — ${capabilities.slice(0, 5).join(", ") || "especialista de la oficina"}`;
380
+ const vibe = `Rol fabricado para esta corrida: ${capabilities.slice(0, 3).join(", ")}.`;
381
+ const frontmatter = generateAgentFrontmatter(displayName, description, vibe, capabilities);
382
+ const body = generateAgentBody(displayName, input.role, capabilities, mission, failureModes, input.objective);
383
+ await writeAtomic(filePath, `${frontmatter}${body}\n`);
384
+ return { slug, filePath };
385
+ }
243
386
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,30 @@ export declare function writeAtomic(filePath: string, contents: string): Promise
12
12
  /** Escribe JSON de forma atómica, con newline final. */
13
13
  export declare function writeJsonAtomic(filePath: string, value: unknown): Promise<void>;
14
14
  /**
15
- * Lee JSON. Devuelve `undefined` si el archivo no existe o está corrupto.
15
+ * Lee JSON. Devuelve un resultado que distingue:
16
+ * - { ok: true, value: T } si el archivo existe y es JSON válido
17
+ * - { ok: false, kind: "not-found" } si el archivo no existe
18
+ * - { ok: false, kind: "corrupt", error: Error } si el archivo existe pero es JSON inválido
19
+ * - { ok: false, kind: "error", error: Error } para otros errores de I/O
16
20
  *
17
21
  * Un archivo corrupto no debe tumbar la corrida: se loguea y se sigue con lo
18
22
  * que hubiera. Perder un artefacto es malo; perder la oficina entera es peor.
19
23
  */
20
- export declare function readJson<T>(filePath: string): Promise<T | undefined>;
24
+ export declare function readJson<T>(filePath: string): Promise<{
25
+ ok: true;
26
+ value: T;
27
+ } | {
28
+ ok: false;
29
+ kind: "not-found";
30
+ } | {
31
+ ok: false;
32
+ kind: "corrupt";
33
+ error: Error;
34
+ } | {
35
+ ok: false;
36
+ kind: "error";
37
+ error: Error;
38
+ }>;
21
39
  /** Lee texto. Devuelve `undefined` si no existe. */
22
40
  export declare function readText(filePath: string): Promise<string | undefined>;
23
41
  /** Existe sin lanzar. */
@@ -1 +1 @@
1
- {"version":3,"file":"fsx.d.ts","sourceRoot":"","sources":["../../src/core/fsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,yDAAyD;AACzD,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF;AAED,wDAAwD;AACxD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAoB1E;AAED,oDAAoD;AACpD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO5E;AAED,yBAAyB;AACzB,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,uDAAuD;AACvD,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,mEAAmE;AACnE,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOlE;AAED,yEAAyE;AACzE,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQjE;AAED,oCAAoC;AACpC,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,4CAA4C;AAC5C,wBAAgB,MAAM,CAAC,KAAK,GAAE,MAAM,MAAiB,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"fsx.d.ts","sourceRoot":"","sources":["../../src/core/fsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,yDAAyD;AACzD,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF;AAED,wDAAwD;AACxD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CACxD;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAC7C,CAoBA;AAED,oDAAoD;AACpD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO5E;AAED,yBAAyB;AACzB,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,uDAAuD;AACvD,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,mEAAmE;AACnE,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOlE;AAED,yEAAyE;AACzE,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQjE;AAED,oCAAoC;AACpC,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,4CAA4C;AAC5C,wBAAgB,MAAM,CAAC,KAAK,GAAE,MAAM,MAAiB,GAAG,MAAM,CAE7D"}
package/dist/core/fsx.js CHANGED
@@ -29,7 +29,11 @@ export async function writeJsonAtomic(filePath, value) {
29
29
  await writeAtomic(filePath, `${JSON.stringify(value, null, 2)}\n`);
30
30
  }
31
31
  /**
32
- * Lee JSON. Devuelve `undefined` si el archivo no existe o está corrupto.
32
+ * Lee JSON. Devuelve un resultado que distingue:
33
+ * - { ok: true, value: T } si el archivo existe y es JSON válido
34
+ * - { ok: false, kind: "not-found" } si el archivo no existe
35
+ * - { ok: false, kind: "corrupt", error: Error } si el archivo existe pero es JSON inválido
36
+ * - { ok: false, kind: "error", error: Error } para otros errores de I/O
33
37
  *
34
38
  * Un archivo corrupto no debe tumbar la corrida: se loguea y se sigue con lo
35
39
  * que hubiera. Perder un artefacto es malo; perder la oficina entera es peor.
@@ -37,12 +41,12 @@ export async function writeJsonAtomic(filePath, value) {
37
41
  export async function readJson(filePath) {
38
42
  try {
39
43
  const raw = await fs.readFile(filePath, "utf8");
40
- return JSON.parse(raw);
44
+ return { ok: true, value: JSON.parse(raw) };
41
45
  }
42
46
  catch (err) {
43
47
  const code = err.code;
44
48
  if (code === "ENOENT")
45
- return undefined;
49
+ return { ok: false, kind: "not-found" };
46
50
  if (err instanceof SyntaxError) {
47
51
  // Un archivo vacio casi siempre es una escritura en curso (otro
48
52
  // proceso lo esta creando), no corrupcion. Ponerlo en cuarentena
@@ -50,12 +54,12 @@ export async function readJson(filePath) {
50
54
  // Un archivo con contenido que no parsea SI es corrupcion.
51
55
  const raw = await fs.readFile(filePath, "utf8").catch(() => "");
52
56
  if (raw.trim().length === 0)
53
- return undefined;
57
+ return { ok: false, kind: "not-found" };
54
58
  const quarantine = `${filePath}.corrupt-${Date.now()}`;
55
59
  await fs.rename(filePath, quarantine).catch(() => { });
56
- return undefined;
60
+ return { ok: false, kind: "corrupt", error: new Error(`JSON corrupto en ${filePath}: ${String(err)}`) };
57
61
  }
58
- throw err;
62
+ return { ok: false, kind: "error", error: err };
59
63
  }
60
64
  }
61
65
  /** Lee texto. Devuelve `undefined` si no existe. */
@@ -1 +1 @@
1
- {"version":3,"file":"fsx.js","sourceRoot":"","sources":["../../src/core/fsx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fsx.js","sourceRoot":"","sources":["../../src/core/fsx.ts"],"names":[],"mappings":"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"}
@@ -91,12 +91,34 @@ export declare function runSecurityGate(projectRoot: string, scope: string[], _r
91
91
  * build, typecheck, lint, test y seguridad esten en verde.
92
92
  */
93
93
  export declare function consolidate(cardId: string, technical: GatePhaseResult[], security: GatePhaseResult[], requirements?: GatePhaseResult[]): GateResult;
94
+ /** Motivo canónico de un gate de tests verde pero vacío. */
95
+ export declare const EMPTY_TEST_GATE_REASON = "Gate verde vac\u00EDo: la fase test sali\u00F3 con exit 0 pero no ejecut\u00F3 ning\u00FAn test (no hay conteo legible en la salida).";
96
+ /**
97
+ * Degrada una fase de test `pass` a `not_run` si no corrió ningún test.
98
+ *
99
+ * Por qué `not_run` y no `fail`: no falló nada, pero tampoco se probó nada.
100
+ * Decir PASS sería mentir y decir FAIL inventaría un rojo. `not_run` es la
101
+ * única etiqueta honesta, y `consolidate` la propaga como veredicto no verde.
102
+ *
103
+ * Se conserva el `exitCode` real (0) y la `output` real: la evidencia de lo
104
+ * que pasó no se reescribe, solo se corrige la clasificación.
105
+ */
106
+ export declare function guardEmptyTestPhase(result: GatePhaseResult): GatePhaseResult;
107
+ /**
108
+ * Corre una fase de tests aplicando el guard anti-gate-verde-vacío.
109
+ *
110
+ * Único punto de entrada para ejecutar tests en los gates técnicos: la
111
+ * oficina (`Office.runGates`) hereda el guard sin duplicar lógica.
112
+ */
113
+ export declare function runTestPhase(command: string, args: string[], cwd: string, runner?: CommandRunner): Promise<GatePhaseResult>;
94
114
  /**
95
115
  * ¿La fase de tests corrió y pasó con al menos un test?
96
116
  *
97
117
  * Un gate que pasa con cero tests es un gate verde vacío. Los runners
98
118
  * imprimen el conteo en formatos distintos ("# tests 5", "5 passed",
99
- * "Tests: 5"), así que se buscan ambos órdenes.
119
+ * "Tests: 5"), así que se buscan ambos órdenes. Para `go test` se reconoce
120
+ * el formato por ecosistema (líneas `ok <paquete>`), porque no hay conteo
121
+ * numérico: ver `goTestsActuallyRan`.
100
122
  */
101
123
  export declare function testsActuallyRan(technical: GatePhaseResult[]): boolean;
102
124
  /** Renderiza el gate como markdown para el artefacto. */
@@ -1 +1 @@
1
- {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../src/core/gates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../src/core/gates.ts"],"names":[],"mappings":"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"}
@@ -187,17 +187,21 @@ export async function runTechnicalGates(projectRoot, tooling, runner = defaultRu
187
187
  results.push(na("lint", "el proyecto no define script `lint`"));
188
188
  }
189
189
  // 4. Tests
190
+ //
191
+ // Esta fase pasa por el guard anti-gate-verde-vacio: exit 0 no alcanza si
192
+ // el runner no ejecuto un solo test (script vacio, vitest sin archivos,
193
+ // `go test` sin tests). Un verde sin tests no demuestra nada.
190
194
  if (tooling.hasTest && pm) {
191
- results.push(await runPhase("test", pm, ["run", "test"], projectRoot, runner));
195
+ results.push(await runTestPhase(pm, ["run", "test"], projectRoot, runner));
192
196
  }
193
197
  else if (tooling.isPython) {
194
- results.push(await runPhase("test", "python", ["-m", "pytest", "-q"], projectRoot, runner));
198
+ results.push(await runTestPhase("python", ["-m", "pytest", "-q"], projectRoot, runner));
195
199
  }
196
200
  else if (tooling.isGo) {
197
- results.push(await runPhase("test", "go", ["test", "./..."], projectRoot, runner));
201
+ results.push(await runTestPhase("go", ["test", "./..."], projectRoot, runner));
198
202
  }
199
203
  else if (tooling.isRust) {
200
- results.push(await runPhase("test", "cargo", ["test"], projectRoot, runner));
204
+ results.push(await runTestPhase("cargo", ["test"], projectRoot, runner));
201
205
  }
202
206
  else {
203
207
  results.push(na("test", "el proyecto no define script `test`"));
@@ -419,17 +423,81 @@ export function consolidate(cardId, technical, security, requirements = []) {
419
423
  ranAt: nowIso(),
420
424
  };
421
425
  }
426
+ /** Motivo canónico de un gate de tests verde pero vacío. */
427
+ export const EMPTY_TEST_GATE_REASON = "Gate verde vacío: la fase test salió con exit 0 pero no ejecutó ningún test (no hay conteo legible en la salida).";
428
+ /**
429
+ * Degrada una fase de test `pass` a `not_run` si no corrió ningún test.
430
+ *
431
+ * Por qué `not_run` y no `fail`: no falló nada, pero tampoco se probó nada.
432
+ * Decir PASS sería mentir y decir FAIL inventaría un rojo. `not_run` es la
433
+ * única etiqueta honesta, y `consolidate` la propaga como veredicto no verde.
434
+ *
435
+ * Se conserva el `exitCode` real (0) y la `output` real: la evidencia de lo
436
+ * que pasó no se reescribe, solo se corrige la clasificación.
437
+ */
438
+ export function guardEmptyTestPhase(result) {
439
+ if (result.phase !== "test")
440
+ return result;
441
+ if (result.outcome !== "pass")
442
+ return result;
443
+ if (testsActuallyRan([result]))
444
+ return result;
445
+ return {
446
+ ...result,
447
+ outcome: "not_run",
448
+ detail: `exit 0 sin tests ejecutados — ${EMPTY_TEST_GATE_REASON}`,
449
+ reason: EMPTY_TEST_GATE_REASON,
450
+ };
451
+ }
452
+ /**
453
+ * Corre una fase de tests aplicando el guard anti-gate-verde-vacío.
454
+ *
455
+ * Único punto de entrada para ejecutar tests en los gates técnicos: la
456
+ * oficina (`Office.runGates`) hereda el guard sin duplicar lógica.
457
+ */
458
+ export async function runTestPhase(command, args, cwd, runner = defaultRunner) {
459
+ return guardEmptyTestPhase(await runPhase("test", command, args, cwd, runner));
460
+ }
461
+ /**
462
+ * Reconocimiento Go: ¿la salida de `go test` muestra que corrieron tests?
463
+ *
464
+ * `go test ./...` nunca imprime un conteo "N tests/passed": imprime una línea
465
+ * `ok <paquete> <duración>` por cada paquete cuya suite corrió y pasó. La
466
+ * distinción que importa:
467
+ *
468
+ * ok m/pkg 0.084s → corrieron tests del paquete y pasaron → ran
469
+ * ok m/pkg [no test files] → el paquete no tiene tests: corrió CERO
470
+ * tests → sigue siendo "no ran"
471
+ *
472
+ * Cualquier otra línea `ok` sin el marcador `[no test files]` cuenta como
473
+ * evidencia de tests ejecutados.
474
+ */
475
+ function goTestsActuallyRan(output) {
476
+ for (const line of output.split(/\r?\n/)) {
477
+ if (!line.trim().startsWith("ok"))
478
+ continue;
479
+ if (line.includes("[no test files]"))
480
+ continue;
481
+ return true;
482
+ }
483
+ return false;
484
+ }
422
485
  /**
423
486
  * ¿La fase de tests corrió y pasó con al menos un test?
424
487
  *
425
488
  * Un gate que pasa con cero tests es un gate verde vacío. Los runners
426
489
  * imprimen el conteo en formatos distintos ("# tests 5", "5 passed",
427
- * "Tests: 5"), así que se buscan ambos órdenes.
490
+ * "Tests: 5"), así que se buscan ambos órdenes. Para `go test` se reconoce
491
+ * el formato por ecosistema (líneas `ok <paquete>`), porque no hay conteo
492
+ * numérico: ver `goTestsActuallyRan`.
428
493
  */
429
494
  export function testsActuallyRan(technical) {
430
495
  const test = technical.find((r) => r.phase === "test");
431
496
  if (!test || test.outcome !== "pass")
432
497
  return false;
498
+ // Ecosistema Go: el reconocimiento propio de `go test` es el árbitro.
499
+ if (test.command?.startsWith("go test"))
500
+ return goTestsActuallyRan(test.output);
433
501
  // "5 tests" / "5 passed" / "5 test"
434
502
  const before = /\b(\d+)\s+(?:tests?|passed|pass)\b/i.exec(test.output);
435
503
  if (before)
@@ -441,6 +509,10 @@ export function testsActuallyRan(technical) {
441
509
  // Sin conteo legible: no se puede afirmar que corrieron tests.
442
510
  return false;
443
511
  }
512
+ /** Escapa una celda de tabla markdown: el `|` rompería la fila. */
513
+ function escapeCell(text) {
514
+ return text.replace(/\r?\n/g, " ").replace(/\|/g, "\\|").trim() || "—";
515
+ }
444
516
  /** Renderiza el gate como markdown para el artefacto. */
445
517
  export function renderGate(result) {
446
518
  const lines = [];
@@ -451,10 +523,13 @@ export function renderGate(result) {
451
523
  const table = (title, rows) => {
452
524
  lines.push(`## ${title}`);
453
525
  lines.push("");
454
- lines.push("| # | Fase | Comando | Resultado | Detalle |");
455
- lines.push("|---|------|---------|-----------|---------|");
526
+ lines.push("| # | Fase | Comando | Resultado | Detalle | Motivo |");
527
+ lines.push("|---|------|---------|-----------|---------|--------|");
456
528
  rows.forEach((r, i) => {
457
- lines.push(`| ${i + 1} | ${r.phase} | \`${r.command ?? "—"}\` | ${r.outcome.toUpperCase()} | ${r.detail} |`);
529
+ // El motivo no puede quedar escondido: un `not_run` por gate verde
530
+ // vacío tiene que leerse en el artefacto, no solo en el exit code.
531
+ const reason = escapeCell(r.reason ?? "—");
532
+ lines.push(`| ${i + 1} | ${r.phase} | \`${r.command ?? "—"}\` | ${r.outcome.toUpperCase()} | ${escapeCell(r.detail)} | ${reason} |`);
458
533
  });
459
534
  lines.push("");
460
535
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gates.js","sourceRoot":"","sources":["../../src/core/gates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gates.js","sourceRoot":"","sources":["../../src/core/gates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"leases.d.ts","sourceRoot":"","sources":["../../src/core/leases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKxC,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,yCAAyC;AACzC,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,MAAM,EAAE,MAAM;CAM3B;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAFL,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,MAAiB;IAGjD;;;;;;OAMG;IACH,OAAO,CAAC,IAAI;IAMZ,uEAAuE;IACvE,OAAO,CAAC,QAAQ;IAMhB;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAuB1E,gEAAgE;IAC1D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAc5E,uBAAuB;IACjB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,oBAAoB;IACd,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IASrD,wBAAwB;IACxB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIhC,sEAAsE;IAChE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMzD,6BAA6B;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjD"}
1
+ {"version":3,"file":"leases.d.ts","sourceRoot":"","sources":["../../src/core/leases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKxC,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,yCAAyC;AACzC,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,MAAM,EAAE,MAAM;CAM3B;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAFL,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,MAAiB;IAGjD;;;;;;OAMG;IACH,OAAO,CAAC,IAAI;IAMZ,uEAAuE;IACvE,OAAO,CAAC,QAAQ;IAMhB;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAuB1E,gEAAgE;IAC1D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAc5E,uBAAuB;IACjB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,oBAAoB;IACd,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAWrD,wBAAwB;IACxB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIhC,sEAAsE;IAChE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMzD,6BAA6B;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjD"}
@@ -135,7 +135,10 @@ export class LeaseStore {
135
135
  /** Lee un lease. */
136
136
  async get(taskId) {
137
137
  try {
138
- return await readJson(this.file(taskId));
138
+ const result = await readJson(this.file(taskId));
139
+ if (result.ok)
140
+ return result.value;
141
+ return undefined;
139
142
  }
140
143
  catch (err) {
141
144
  if (err instanceof UnsafeTaskIdError)
@@ -1 +1 @@
1
- {"version":3,"file":"leases.js","sourceRoot":"","sources":["../../src/core/leases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leases.js","sourceRoot":"","sources":["../../src/core/leases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAkB,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAajC,yCAAyC;AACzC,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,MAAc;QACxB,KAAK,CACH,gCAAgC,MAAM,sFAAsF,CAC7H,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,UAAU;IAEF;IACA;IACA;IAHnB,YACmB,GAAW,EACX,MAAc,EACd,QAAsB,IAAI,CAAC,GAAG;QAF9B,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAyB;IAC9C,CAAC;IAEJ;;;;;;OAMG;IACK,IAAI,CAAC,MAAc;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,uEAAuE;IAC/D,QAAQ,CAAC,MAAc;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAe;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9B,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACtC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBACvE,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YACxB,MAAM,KAAK,GAAU;gBACnB,MAAM;gBACN,OAAO;gBACP,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;gBACpD,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;gBACvE,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;gBAC9B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;aACjC,CAAA;YACD,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAClC,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,OAAe;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,SAAS,CAAA;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACxB,MAAM,IAAI,GAAU;YAClB,GAAG,OAAO;YACV,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YACvE,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC;SAC/B,CAAA;QACD,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAe;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAC1B,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,KAAK,CAAA;QAC7C,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACvC,GAAG,OAAO;YACV,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SAC1C,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACvD,IAAI,MAAM,CAAC,EAAE;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAA;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB;gBAAE,OAAO,SAAS,CAAA;YACtD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,SAAS,CAAC,KAAY;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAA;IACpD,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QACrD,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS,CAAA;IAClD,CAAC;CACF"}
@@ -60,13 +60,8 @@ export interface MesaSnapshot {
60
60
  from: string;
61
61
  question: string;
62
62
  }[];
63
- /** Iteración y presupuesto. */
63
+ /** Iteración. */
64
64
  iteracion: number;
65
- presupuesto: {
66
- cards: string;
67
- agentes: string;
68
- spawns: string;
69
- };
70
65
  }
71
66
  /** Construye la foto de la mesa. */
72
67
  export declare function snapshotMesa(office: Office): Promise<MesaSnapshot>;