@nac3/forge-cli 1.23.7 → 1.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/chat/claude.d.ts +8 -0
  2. package/dist/chat/claude.d.ts.map +1 -1
  3. package/dist/chat/claude.js.map +1 -1
  4. package/dist/chat/claude_cli.d.ts +23 -0
  5. package/dist/chat/claude_cli.d.ts.map +1 -1
  6. package/dist/chat/claude_cli.js +76 -2
  7. package/dist/chat/claude_cli.js.map +1 -1
  8. package/dist/chat/doctrine_digest.d.ts.map +1 -1
  9. package/dist/chat/doctrine_digest.js +2 -1
  10. package/dist/chat/doctrine_digest.js.map +1 -1
  11. package/dist/chat/server.d.ts.map +1 -1
  12. package/dist/chat/server.js +11 -0
  13. package/dist/chat/server.js.map +1 -1
  14. package/dist/chat/tools/pending.d.ts +11 -0
  15. package/dist/chat/tools/pending.d.ts.map +1 -1
  16. package/dist/chat/tools/pending.js +55 -8
  17. package/dist/chat/tools/pending.js.map +1 -1
  18. package/dist/chat/tools/shell.d.ts +39 -4
  19. package/dist/chat/tools/shell.d.ts.map +1 -1
  20. package/dist/chat/tools/shell.js +167 -7
  21. package/dist/chat/tools/shell.js.map +1 -1
  22. package/dist/chat/tools/urazuke.d.ts.map +1 -1
  23. package/dist/chat/tools/urazuke.js +8 -5
  24. package/dist/chat/tools/urazuke.js.map +1 -1
  25. package/dist/chat/urazuke_section.d.ts +26 -4
  26. package/dist/chat/urazuke_section.d.ts.map +1 -1
  27. package/dist/chat/urazuke_section.js +115 -9
  28. package/dist/chat/urazuke_section.js.map +1 -1
  29. package/dist/commands/pending.d.ts.map +1 -1
  30. package/dist/commands/pending.js +116 -12
  31. package/dist/commands/pending.js.map +1 -1
  32. package/dist/commands/urazuke.d.ts +3 -0
  33. package/dist/commands/urazuke.d.ts.map +1 -1
  34. package/dist/commands/urazuke.js +80 -3
  35. package/dist/commands/urazuke.js.map +1 -1
  36. package/dist/core/ascii_purity.d.ts +69 -0
  37. package/dist/core/ascii_purity.d.ts.map +1 -0
  38. package/dist/core/ascii_purity.js +141 -0
  39. package/dist/core/ascii_purity.js.map +1 -0
  40. package/dist/core/battery_stamp.d.ts +111 -0
  41. package/dist/core/battery_stamp.d.ts.map +1 -0
  42. package/dist/core/battery_stamp.js +287 -0
  43. package/dist/core/battery_stamp.js.map +1 -0
  44. package/dist/core/ci_gaps.d.ts +130 -0
  45. package/dist/core/ci_gaps.d.ts.map +1 -0
  46. package/dist/core/ci_gaps.js +353 -0
  47. package/dist/core/ci_gaps.js.map +1 -0
  48. package/dist/core/doc_citations.d.ts +133 -0
  49. package/dist/core/doc_citations.d.ts.map +1 -0
  50. package/dist/core/doc_citations.js +271 -0
  51. package/dist/core/doc_citations.js.map +1 -0
  52. package/dist/core/hook_budget.d.ts +60 -0
  53. package/dist/core/hook_budget.d.ts.map +1 -0
  54. package/dist/core/hook_budget.js +163 -0
  55. package/dist/core/hook_budget.js.map +1 -0
  56. package/dist/docs/doctrine/urazuke.md +173 -2
  57. package/dist/nac3/internal_manifest.d.ts.map +1 -1
  58. package/dist/nac3/internal_manifest.js +28 -2
  59. package/dist/nac3/internal_manifest.js.map +1 -1
  60. package/dist/pending/store.d.ts +29 -0
  61. package/dist/pending/store.d.ts.map +1 -1
  62. package/dist/pending/store.js +51 -1
  63. package/dist/pending/store.js.map +1 -1
  64. package/dist/pending/types.d.ts +23 -0
  65. package/dist/pending/types.d.ts.map +1 -1
  66. package/dist/pending/types.js.map +1 -1
  67. package/dist/telemetry/usage.d.ts +18 -0
  68. package/dist/telemetry/usage.d.ts.map +1 -1
  69. package/dist/telemetry/usage.js +16 -1
  70. package/dist/telemetry/usage.js.map +1 -1
  71. package/dist/urazuke/announce.d.ts +7 -0
  72. package/dist/urazuke/announce.d.ts.map +1 -1
  73. package/dist/urazuke/announce.js +20 -0
  74. package/dist/urazuke/announce.js.map +1 -1
  75. package/dist/urazuke/catalog.d.ts +1 -1
  76. package/dist/urazuke/catalog.d.ts.map +1 -1
  77. package/dist/urazuke/catalog.js.map +1 -1
  78. package/dist/urazuke/close_gate.d.ts +31 -4
  79. package/dist/urazuke/close_gate.d.ts.map +1 -1
  80. package/dist/urazuke/close_gate.js +70 -13
  81. package/dist/urazuke/close_gate.js.map +1 -1
  82. package/dist/urazuke/current.d.ts +28 -0
  83. package/dist/urazuke/current.d.ts.map +1 -1
  84. package/dist/urazuke/current.js +18 -5
  85. package/dist/urazuke/current.js.map +1 -1
  86. package/dist/urazuke/cycle.d.ts +3 -0
  87. package/dist/urazuke/cycle.d.ts.map +1 -1
  88. package/dist/urazuke/cycle.js +5 -3
  89. package/dist/urazuke/cycle.js.map +1 -1
  90. package/dist/urazuke/evidence.d.ts +14 -1
  91. package/dist/urazuke/evidence.d.ts.map +1 -1
  92. package/dist/urazuke/evidence.js +88 -2
  93. package/dist/urazuke/evidence.js.map +1 -1
  94. package/dist/urazuke/evidence_env.d.ts +78 -0
  95. package/dist/urazuke/evidence_env.d.ts.map +1 -0
  96. package/dist/urazuke/evidence_env.js +341 -0
  97. package/dist/urazuke/evidence_env.js.map +1 -0
  98. package/dist/urazuke/freeze.d.ts.map +1 -1
  99. package/dist/urazuke/freeze.js +16 -9
  100. package/dist/urazuke/freeze.js.map +1 -1
  101. package/dist/urazuke/gate.d.ts +48 -0
  102. package/dist/urazuke/gate.d.ts.map +1 -1
  103. package/dist/urazuke/gate.js +251 -25
  104. package/dist/urazuke/gate.js.map +1 -1
  105. package/dist/urazuke/gates_data.d.ts +30 -3
  106. package/dist/urazuke/gates_data.d.ts.map +1 -1
  107. package/dist/urazuke/gates_data.js +51 -5
  108. package/dist/urazuke/gates_data.js.map +1 -1
  109. package/dist/urazuke/gates_pull.d.ts +40 -0
  110. package/dist/urazuke/gates_pull.d.ts.map +1 -1
  111. package/dist/urazuke/gates_pull.js +118 -8
  112. package/dist/urazuke/gates_pull.js.map +1 -1
  113. package/dist/urazuke/manual_cases.d.ts +11 -1
  114. package/dist/urazuke/manual_cases.d.ts.map +1 -1
  115. package/dist/urazuke/manual_cases.js +1 -0
  116. package/dist/urazuke/manual_cases.js.map +1 -1
  117. package/dist/urazuke/overrides.d.ts +107 -0
  118. package/dist/urazuke/overrides.d.ts.map +1 -0
  119. package/dist/urazuke/overrides.js +128 -0
  120. package/dist/urazuke/overrides.js.map +1 -0
  121. package/dist/urazuke/probes.d.ts.map +1 -1
  122. package/dist/urazuke/probes.js +51 -0
  123. package/dist/urazuke/probes.js.map +1 -1
  124. package/dist/urazuke/profiles.d.ts +135 -0
  125. package/dist/urazuke/profiles.d.ts.map +1 -0
  126. package/dist/urazuke/profiles.js +470 -0
  127. package/dist/urazuke/profiles.js.map +1 -0
  128. package/dist/urazuke/receipt_audit.d.ts +67 -0
  129. package/dist/urazuke/receipt_audit.d.ts.map +1 -0
  130. package/dist/urazuke/receipt_audit.js +103 -0
  131. package/dist/urazuke/receipt_audit.js.map +1 -0
  132. package/dist/urazuke/receipts.d.ts +22 -0
  133. package/dist/urazuke/receipts.d.ts.map +1 -1
  134. package/dist/urazuke/receipts.js +44 -0
  135. package/dist/urazuke/receipts.js.map +1 -1
  136. package/dist/urazuke/report.d.ts +30 -0
  137. package/dist/urazuke/report.d.ts.map +1 -1
  138. package/dist/urazuke/report.js +39 -0
  139. package/dist/urazuke/report.js.map +1 -1
  140. package/dist/urazuke/reset.d.ts +35 -0
  141. package/dist/urazuke/reset.d.ts.map +1 -0
  142. package/dist/urazuke/reset.js +150 -0
  143. package/dist/urazuke/reset.js.map +1 -0
  144. package/dist/urazuke/retro.d.ts +5 -1
  145. package/dist/urazuke/retro.d.ts.map +1 -1
  146. package/dist/urazuke/retro.js +21 -8
  147. package/dist/urazuke/retro.js.map +1 -1
  148. package/dist/urazuke/section.d.ts.map +1 -1
  149. package/dist/urazuke/section.js +17 -2
  150. package/dist/urazuke/section.js.map +1 -1
  151. package/dist/urazuke/semantics.d.ts +173 -0
  152. package/dist/urazuke/semantics.d.ts.map +1 -0
  153. package/dist/urazuke/semantics.js +232 -0
  154. package/dist/urazuke/semantics.js.map +1 -0
  155. package/dist/urazuke/start.d.ts +8 -0
  156. package/dist/urazuke/start.d.ts.map +1 -1
  157. package/dist/urazuke/start.js +10 -2
  158. package/dist/urazuke/start.js.map +1 -1
  159. package/dist/version.d.ts +1 -1
  160. package/dist/version.js +1 -1
  161. package/dist/workflow/orchestrator.d.ts.map +1 -1
  162. package/dist/workflow/orchestrator.js +6 -7
  163. package/dist/workflow/orchestrator.js.map +1 -1
  164. package/docs/doctrine/urazuke.md +173 -2
  165. package/package.json +9 -2
@@ -39,6 +39,9 @@ interface AddArgs {
39
39
  blocker_who?: string;
40
40
  priority?: number;
41
41
  related_doc?: string;
42
+ acceptance?: string[];
43
+ how_verified?: string;
44
+ flows?: string[];
42
45
  }
43
46
  export declare function runPendingAdd(args: AddArgs, ctx: ToolContext): Promise<ToolResult>;
44
47
  interface CloseArgs {
@@ -57,6 +60,11 @@ interface CloseArgs {
57
60
  /** Urazuke: written reason to close a workflow task although its step
58
61
  * is RED or an earlier step is open. Recorded in the item history. */
59
62
  force_reason?: string;
63
+ /** M-02: el TIPO del motivo, del catalogo cerrado de
64
+ * src/urazuke/overrides.ts. Obligatorio cuando se fuerza: es lo que hace
65
+ * que el cierre forzado sea un numero contestable en el reporte y no
66
+ * prosa que nadie puede contar. */
67
+ force_kind?: string;
60
68
  }
61
69
  export declare function runPendingClose(args: CloseArgs, ctx: ToolContext): Promise<ToolResult>;
62
70
  interface NoteArgs {
@@ -74,6 +82,9 @@ interface EditArgs {
74
82
  blocker_who?: string;
75
83
  priority?: number;
76
84
  related_doc?: string;
85
+ acceptance?: string[];
86
+ how_verified?: string;
87
+ flows?: string[];
77
88
  }
78
89
  export declare function runPendingEdit(args: EditArgs, ctx: ToolContext): Promise<ToolResult>;
79
90
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK3D,OAAO,KAAK,EACV,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAC7E,MAAM,wBAAwB,CAAC;AAgBhC,UAAU,QAAQ;IAChB,MAAM,CAAC,EAAO,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACxC,QAAQ,CAAC,EAAK,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAQ,MAAM,CAAC;CACtB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsB1F;AAID,UAAU,YAAY;IAAG,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE;AAExC,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBlG;AAID,UAAU,OAAO;IACf,KAAK,EAAU,MAAM,CAAC;IACtB,IAAI,CAAC,EAAU,MAAM,CAAC;IACtB,QAAQ,EAAO,eAAe,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,WAAW,CAAC,EAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAM,MAAM,CAAC;IACtB,WAAW,CAAC,EAAG,MAAM,CAAC;CACvB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuCxF;AAID,UAAU,SAAS;IACjB,EAAE,EAAW,MAAM,CAAC;IACpB,MAAM,EAAO,kBAAkB,CAAC;IAChC,MAAM,CAAC,EAAM,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;2EACuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAG,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAO,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAG,MAAM,EAAE,CAAC;IACxB;2EACuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAwDD,wBAAsB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAyH5F;AAMD,UAAU,QAAQ;IAChB,EAAE,EAAK,MAAM,CAAC;IACd,IAAI,EAAG,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkB1F;AAID,UAAU,QAAQ;IAChB,EAAE,EAAa,MAAM,CAAC;IACtB,KAAK,CAAC,EAAS,MAAM,CAAC;IACtB,IAAI,CAAC,EAAU,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAM,eAAe,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,WAAW,CAAC,EAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAM,MAAM,CAAC;IACtB,WAAW,CAAC,EAAG,MAAM,CAAC;CACvB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAqB1F"}
1
+ {"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,28 @@ export async function runPendingDiscover(args, ctx) {
61
61
  display: 'pending.discover -> ' + found.length + ' found, ' + missing.length + ' missing',
62
62
  };
63
63
  }
64
+ /** El `spec` del item a partir de los campos planos del verbo.
65
+ *
66
+ * M-01 (experimento Urazuke, 2026-11-01). El store ya aceptaba `spec` en
67
+ * add y en edit; lo que faltaba era la puerta por verbo. Se arma aca, una
68
+ * vez, con la MISMA forma que arma el CLI (src/commands/pending.ts): un
69
+ * segundo criterio de que es un spec era pedir que la compuerta contara
70
+ * una cosa y el agente escribiera otra.
71
+ *
72
+ * Devuelve undefined cuando no vino ninguno de los campos, para que un
73
+ * edit de otra cosa no borre el spec que ya estaba. */
74
+ function specFromArgs(a) {
75
+ const acc = Array.isArray(a.acceptance) ? a.acceptance.map((x) => String(x)).filter((x) => x.trim()) : undefined;
76
+ const how = typeof a.how_verified === 'string' ? a.how_verified : undefined;
77
+ const flows = Array.isArray(a.flows) ? a.flows.map((x) => String(x)).filter((x) => x.trim()) : undefined;
78
+ if (acc === undefined && how === undefined && flows === undefined)
79
+ return undefined;
80
+ return {
81
+ acceptance: acc ?? [],
82
+ how_verified: how ?? '',
83
+ ...(flows && flows.length ? { flows } : {}),
84
+ };
85
+ }
64
86
  export async function runPendingAdd(args, ctx) {
65
87
  const slug = requireSlug(ctx);
66
88
  if (typeof slug === 'object')
@@ -80,6 +102,9 @@ export async function runPendingAdd(args, ctx) {
80
102
  input.priority = args.priority;
81
103
  if (args.related_doc !== undefined)
82
104
  input.related_doc = args.related_doc;
105
+ const spec = specFromArgs(args);
106
+ if (spec)
107
+ input.spec = spec;
83
108
  /* PND-228 -- avisar del titulo parecido ANTES de abrir, no despues de
84
109
  * tener dos colas de trabajo. Se mide contra los ABIERTOS y no bloquea:
85
110
  * hay casos legitimos de dos items parecidos; lo que no es legitimo es no
@@ -181,14 +206,24 @@ export async function runPendingClose(args, ctx) {
181
206
  const { evidenceGateApplies, evidenceForClose } = await import('../../urazuke/close_gate.js');
182
207
  const item = await findPending(slug, args.id);
183
208
  if (item && await evidenceGateApplies(slug, item, args.reason)) {
184
- const ev = await evidenceForClose(slug, args.id);
209
+ /* Con el project root: la regla de cierre sale de la definicion EN
210
+ * VIGOR del proyecto (su copia congelada), no de la compilada. */
211
+ const ev = await evidenceForClose(slug, args.id, { projectRoot: ctx.projectRoot });
185
212
  if (!ev.ok) {
186
- if (force.length < 15) {
213
+ const { checkOverride } = await import('../../urazuke/overrides.js');
214
+ const ov = checkOverride(force, args.force_kind);
215
+ if (!ov.ok) {
187
216
  return err('yujin.pending.close', 'no se puede cerrar ' + args.id + ' con shipped sin sus recibos de evidencia. Faltan: '
188
- + ev.missing.join(' | ') + '. Tiene: ' + ev.have.red_proofs + ' red_proof, ' + ev.have.greens + ' green, ' + ev.have.regressions + ' regression.'
189
- + ' Corre cada uno con yujin.evidence.run (pending_id=' + args.id + '); si el dueno decide cerrar igual, pasa `force_reason` escrita (queda en el historial).');
217
+ + ev.missing.join(' | ') + '. Tiene: ' + ev.have.red_proofs + ' red_proof, ' + ev.have.greens + ' green, ' + ev.have.regressions + ' regression'
218
+ + (ev.have.env_incomplete_reds ? ', ' + ev.have.env_incomplete_reds + ' rojo(s) descartado(s) por entorno incompleto' : '') + '.'
219
+ + ' Corre cada uno con yujin.evidence.run (pending_id=' + args.id + '); si el dueno decide cerrar igual, pasa `force_reason` escrita'
220
+ + ' MAS `force_kind` -- ' + ov.error + '.');
190
221
  }
191
- await appendPendingHistory(slug, args.id, { kind: 'progress', note: 'OVERRIDE de la evidencia: ' + force + ' [faltaban ' + ev.missing.length + ' recibos]' });
222
+ await appendPendingHistory(slug, args.id, {
223
+ kind: 'progress',
224
+ note: 'OVERRIDE de la evidencia: ' + force + ' [tipo ' + ov.kind + '; faltaban ' + ev.missing.length + ' recibos]',
225
+ override: { gate: 'evidence', kind: ov.kind, missing: ev.missing.length },
226
+ });
192
227
  }
193
228
  }
194
229
  }
@@ -196,7 +231,9 @@ export async function runPendingClose(args, ctx) {
196
231
  const { canCloseTask } = await import('../../workflow/orchestrator.js');
197
232
  const gate = await canCloseTask(slug, args.id, { projectRoot: ctx.projectRoot });
198
233
  if (!gate.ok) {
199
- if (force.length < 15) {
234
+ const { checkOverride } = await import('../../urazuke/overrides.js');
235
+ const ov = checkOverride(force, args.force_kind);
236
+ if (!ov.ok) {
200
237
  const why = gate.red_step
201
238
  ? 'el peldano ' + gate.red_step.num + ' (' + gate.red_step.title + ') '
202
239
  + (gate.red_step.status === 'unmeasured'
@@ -205,15 +242,20 @@ export async function runPendingClose(args, ctx) {
205
242
  : 'orden obligatorio: cerra primero ' + gate.blocked_by.id + ' ("' + gate.blocked_by.title + '")';
206
243
  return err('yujin.pending.close', 'no se puede cerrar ' + args.id + ' -- ' + why
207
244
  + '. Produci el artefacto o la evidencia que falta y volve a intentar. Si el dueno decide cerrarlo igual,'
208
- + ' pasa `force_reason` con la razon escrita (minimo 15 caracteres); queda en el historial.');
245
+ + ' pasa `force_reason` con la razon escrita MAS `force_kind` -- ' + ov.error + '.');
209
246
  }
210
247
  const { appendPendingHistory } = await import('../../pending/store.js');
211
248
  await appendPendingHistory(slug, args.id, {
212
249
  kind: 'progress',
213
- note: 'OVERRIDE de la compuerta: ' + force
250
+ note: 'OVERRIDE de la compuerta: ' + force + ' [tipo ' + ov.kind + ']'
214
251
  + (gate.red_step
215
252
  ? ' [peldano ' + gate.red_step.num + ' ' + (gate.red_step.status === 'unmeasured' ? 'sin medir' : 'en rojo') + ']'
216
253
  : ' [fuera de orden]'),
254
+ override: {
255
+ gate: gate.red_step ? 'step' : 'order',
256
+ kind: ov.kind,
257
+ missing: gate.red_step ? Math.max(1, gate.red_step.failing.length) : 1,
258
+ },
217
259
  });
218
260
  }
219
261
  }
@@ -342,6 +384,11 @@ export async function runPendingEdit(args, ctx) {
342
384
  patch.priority = args.priority;
343
385
  if (args.related_doc !== undefined)
344
386
  patch.related_doc = args.related_doc;
387
+ /* undefined = no vino ninguno de los tres campos -> el spec que ya
388
+ * tenia el item queda intacto (M-01). */
389
+ const spec = specFromArgs(args);
390
+ if (spec)
391
+ patch.spec = spec;
345
392
  const item = await editPending(slug, args.id, patch);
346
393
  return {
347
394
  tool: 'yujin.pending.edit',
@@ -1 +1 @@
1
- {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,17 @@
13
13
  * root, the cwd_boundary_strict flag in limits.shell
14
14
  * decides whether to refuse or allow (the dispatcher gates
15
15
  * the approval prompt on this same flag).
16
- * 3. env is whitelisted: only PATH + HOME + USER +
17
- * USERPROFILE + TEMP + TMP + the caller-supplied extras
18
- * passed in args.env (post-approval). Secrets in the
19
- * Forge env never leak.
16
+ * 3. env is whitelisted (shellEnvWhitelist): the POSIX base
17
+ * (PATH + HOME + USER + USERPROFILE + TEMP + TMP + ...)
18
+ * PLUS, on Windows, the platform variables a child needs
19
+ * to be a normal Windows process (ProgramFiles,
20
+ * ProgramData, APPDATA, LOCALAPPDATA, SystemRoot, ...) --
21
+ * see F-01 below -- plus the caller-supplied extras passed
22
+ * in args.env (post-approval). It is still a LIST, never
23
+ * ...process.env: secrets in the Forge env never leak.
24
+ * 3b. On Windows a command is refused before spawning when it
25
+ * exceeds cmd.exe's line limit or carries a newline
26
+ * (windowsCommandProblem) -- see F-02 below.
20
27
  * 4. Timeout is bounded by limits.shell.timeout_ms_max.
21
28
  * 5. Output truncated at limits.shell.max_output_bytes.
22
29
  * 6. Every invocation gets a row in
@@ -64,6 +71,34 @@ interface ShellExecArgs {
64
71
  }
65
72
  export declare function looksLongRunning(command: string): boolean;
66
73
  export declare function looksHeavy(command: string): boolean;
74
+ /** La lista efectiva para una plataforma. Exportada porque es la unica
75
+ * forma de verificar la simetria sin spawnear un hijo. */
76
+ export declare function shellEnvWhitelist(platform?: NodeJS.Platform): string[];
77
+ /** El tope de cmd.exe para la linea completa. */
78
+ export declare const CMD_EXE_COMMAND_LINE_MAX = 8191;
79
+ /** El presupuesto REAL que le queda al comando del llamador. */
80
+ export declare const SHELL_COMMAND_MAX_WIN32: number;
81
+ export interface WindowsCommandProblem {
82
+ /** too_long = cmd.exe lo rechaza; multiline = cmd.exe lo TRUNCA en
83
+ * silencio y sale con 0. */
84
+ kind: 'too_long' | 'multiline';
85
+ limit: number;
86
+ length: number;
87
+ }
88
+ /** Los dos problemas que cmd.exe le hace a un comando, medidos y
89
+ * detectados antes de spawnear. Devuelve undefined fuera de Windows: el
90
+ * tope de POSIX esta en el orden de los megabytes y `/bin/bash -c`
91
+ * acepta saltos de linea sin perder nada. */
92
+ export declare function windowsCommandProblem(command: string, platform?: NodeJS.Platform): WindowsCommandProblem | undefined;
93
+ /** LA REDACCION DEL MOTIVO, EN UN SOLO LUGAR.
94
+ *
95
+ * Hay DOS caminos que spawnean por cmd.exe -- este verbo y el runner de
96
+ * evidencia (src/urazuke/evidence.ts) -- y los dos tienen que explicar el
97
+ * mismo rechazo. Dos redacciones del mismo motivo se desincronizan: es la
98
+ * segunda fuente de verdad que este proyecto ya tiene contada varias
99
+ * veces. Asi que el texto vive aca, al lado de la medicion que lo
100
+ * justifica, y el otro camino lo importa. */
101
+ export declare function describeWindowsCommandProblem(p: WindowsCommandProblem): string;
67
102
  export declare function runShellExec(args: ShellExecArgs, ctx: ToolContext): Promise<ToolResult>;
68
103
  export {};
69
104
  //# sourceMappingURL=shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW3D,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,iBAAiB;AACjB,wBAAgB,oBAAoB,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAEvE;AAED;+CAC+C;AAC/C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBpF;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;oBAEgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;8DAG0D;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;oCAEgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAmBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGzD;AAuCD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGnD;AAyBD,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CA6MrB"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW3D,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,iBAAiB;AACjB,wBAAgB,oBAAoB,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAEvE;AAED;+CAC+C;AAC/C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBpF;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;oBAEgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;8DAG0D;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;oCAEgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAmBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGzD;AAuCD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGnD;AAsCD;2DAC2D;AAC3D,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,EAAE,CAIxF;AAkCD,iDAAiD;AACjD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAQ7C,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,QAAoD,CAAC;AAEzF,MAAM,WAAW,qBAAqB;IACpC;iCAC6B;IAC7B,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;8CAG8C;AAC9C,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,qBAAqB,GAAG,SAAS,CAUnC;AAED;;;;;;;8CAO8C;AAC9C,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAS9E;AA2BD,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAgPrB"}
@@ -13,10 +13,17 @@
13
13
  * root, the cwd_boundary_strict flag in limits.shell
14
14
  * decides whether to refuse or allow (the dispatcher gates
15
15
  * the approval prompt on this same flag).
16
- * 3. env is whitelisted: only PATH + HOME + USER +
17
- * USERPROFILE + TEMP + TMP + the caller-supplied extras
18
- * passed in args.env (post-approval). Secrets in the
19
- * Forge env never leak.
16
+ * 3. env is whitelisted (shellEnvWhitelist): the POSIX base
17
+ * (PATH + HOME + USER + USERPROFILE + TEMP + TMP + ...)
18
+ * PLUS, on Windows, the platform variables a child needs
19
+ * to be a normal Windows process (ProgramFiles,
20
+ * ProgramData, APPDATA, LOCALAPPDATA, SystemRoot, ...) --
21
+ * see F-01 below -- plus the caller-supplied extras passed
22
+ * in args.env (post-approval). It is still a LIST, never
23
+ * ...process.env: secrets in the Forge env never leak.
24
+ * 3b. On Windows a command is refused before spawning when it
25
+ * exceeds cmd.exe's line limit or carries a newline
26
+ * (windowsCommandProblem) -- see F-02 below.
20
27
  * 4. Timeout is bounded by limits.shell.timeout_ms_max.
21
28
  * 5. Output truncated at limits.shell.max_output_bytes.
22
29
  * 6. Every invocation gets a row in
@@ -119,19 +126,138 @@ export function looksHeavy(command) {
119
126
  const c = command.trim();
120
127
  return HEAVY_PATTERNS.some((re) => re.test(c));
121
128
  }
122
- /** Default env whitelist. Caller-supplied env is layered on
123
- * top after approval. */
129
+ /** Default env whitelist, platform-neutral part. Caller-supplied env is
130
+ * layered on top after approval. */
124
131
  const DEFAULT_ENV_WHITELIST = [
125
132
  'PATH', 'HOME', 'USER', 'USERPROFILE', 'TEMP', 'TMP', 'TMPDIR',
126
133
  'LANG', 'LC_ALL', 'TERM', 'SHELL', 'NODE_OPTIONS', 'COMSPEC',
127
134
  ];
135
+ /** What a child needs on WINDOWS to be a normal Windows process.
136
+ *
137
+ * F-01 del experimento Urazuke (2026-11-01). La lista de arriba se penso
138
+ * en POSIX: en Windows dejaba a los hijos sin `ProgramFiles`,
139
+ * `ProgramData`, `APPDATA` ni `LOCALAPPDATA`, y esas cuatro son de donde
140
+ * las herramientas sacan sus rutas de instalacion y de complementos.
141
+ * Docker arma con ellas la ruta de sus CLI plugins, asi que
142
+ * `docker compose version` fallaba con *"'compose' is not a docker
143
+ * command"* -- y esa es la pista EQUIVOCADA: parece que falta compose
144
+ * cuando lo que falta es el entorno. Evidencia completa del brazo en
145
+ * arms/C1/docs/FORGE_WINDOWS_SHELL_ENV_DEFECT.md.
146
+ *
147
+ * Se agrega la lista, no `...process.env`: el modelo de seguridad del
148
+ * modulo es que los secretos del entorno de Forge NO se filtran al hijo
149
+ * (punto 3 del encabezado), y pasar el entorno entero lo tira abajo. Lo
150
+ * que entra aca es la plataforma, nunca una credencial. */
151
+ const WINDOWS_ENV_WHITELIST = [
152
+ /* donde esta instalado el software */
153
+ 'ProgramFiles', 'ProgramFiles(x86)', 'ProgramW6432',
154
+ 'CommonProgramFiles', 'CommonProgramFiles(x86)', 'CommonProgramW6432',
155
+ 'ProgramData', 'ALLUSERSPROFILE',
156
+ /* los perfiles del usuario: complementos, cache, config */
157
+ 'APPDATA', 'LOCALAPPDATA', 'HOMEDRIVE', 'HOMEPATH', 'PUBLIC',
158
+ /* el sistema: sin esto no arranca ni un .exe de Windows */
159
+ 'SystemRoot', 'SystemDrive', 'windir', 'PATHEXT',
160
+ 'PROCESSOR_ARCHITECTURE', 'NUMBER_OF_PROCESSORS',
161
+ 'USERNAME', 'USERDOMAIN', 'COMPUTERNAME',
162
+ ];
163
+ /** La lista efectiva para una plataforma. Exportada porque es la unica
164
+ * forma de verificar la simetria sin spawnear un hijo. */
165
+ export function shellEnvWhitelist(platform = process.platform) {
166
+ return platform === 'win32'
167
+ ? [...DEFAULT_ENV_WHITELIST, ...WINDOWS_ENV_WHITELIST]
168
+ : [...DEFAULT_ENV_WHITELIST];
169
+ }
170
+ /* ===================================================================
171
+ * F-02 -- EL TOPE REAL DE LA LINEA DE COMANDOS EN WINDOWS
172
+ *
173
+ * Medido el 2026-11-01 con scripts/probe_f02b.mts, sobre el mismo camino
174
+ * que usa este modulo (`spawn(command, { shell: true })`):
175
+ *
176
+ * len=8000 exit=0 (pasa)
177
+ * len=8150 exit=0 (pasa)
178
+ * len=8180 exit=1 "La linea de comandos es demasiado larga."
179
+ * len=16428 exit=1 idem, y el archivo NO se crea
180
+ *
181
+ * La causa es cmd.exe, no Forge: `shell: true` en Windows envuelve el
182
+ * comando en `cmd.exe /d /s /c "..."`, y cmd.exe tiene un tope de 8191
183
+ * caracteres para la linea ENTERA -- el envoltorio incluido. El mensaje
184
+ * que sale es de cmd.exe, viene traducido al idioma del sistema y NO dice
185
+ * el numero, asi que el que lo lee no sabe cuanto le sobra ni a donde ir.
186
+ *
187
+ * Y abajo del tope hay algo PEOR, que no estaba en el parte del
188
+ * experimento: un comando con un SALTO DE LINEA sale con codigo 0 y pierde
189
+ * en silencio todo lo que viene despues de la primera linea. Medido:
190
+ *
191
+ * 'echo primera\necho segunda' -> exit 0, imprime solo "primera"
192
+ * heredoc de bash de 45 caracteres (300 B) -> exit 0, archivo de 0 BYTES
193
+ *
194
+ * Eso es lo que el brazo leyo como "unexpected EOF": bash recibe la
195
+ * apertura del heredoc sin su cuerpo ni su delimitador, avisa que el
196
+ * here-document termino en EOF, y deja el archivo vacio -- con exito. Un
197
+ * archivo vacio que reporta exito es peor que un error: no hay nada que
198
+ * mirar. Por eso los dos casos se rechazan ANTES de spawnear, nombrando el
199
+ * numero y el camino que si funciona.
200
+ * ================================================================= */
201
+ /** El tope de cmd.exe para la linea completa. */
202
+ export const CMD_EXE_COMMAND_LINE_MAX = 8191;
203
+ /** Lo que gasta el envoltorio `cmd.exe /d /s /c "<command>"` que arma Node
204
+ * cuando `shell: true`. Medido por exceso (el tope real quedo entre 8150
205
+ * y 8180, asi que 8191 - 8150 = 41 es la cota de arriba del envoltorio);
206
+ * se usa 64 para no quedar justo contra el borde. */
207
+ const CMD_EXE_WRAPPER_BUDGET = 64;
208
+ /** El presupuesto REAL que le queda al comando del llamador. */
209
+ export const SHELL_COMMAND_MAX_WIN32 = CMD_EXE_COMMAND_LINE_MAX - CMD_EXE_WRAPPER_BUDGET;
210
+ /** Los dos problemas que cmd.exe le hace a un comando, medidos y
211
+ * detectados antes de spawnear. Devuelve undefined fuera de Windows: el
212
+ * tope de POSIX esta en el orden de los megabytes y `/bin/bash -c`
213
+ * acepta saltos de linea sin perder nada. */
214
+ export function windowsCommandProblem(command, platform = process.platform) {
215
+ if (platform !== 'win32')
216
+ return undefined;
217
+ const length = command.length;
218
+ if (length > SHELL_COMMAND_MAX_WIN32) {
219
+ return { kind: 'too_long', limit: SHELL_COMMAND_MAX_WIN32, length };
220
+ }
221
+ if (/[\r\n]/.test(command)) {
222
+ return { kind: 'multiline', limit: SHELL_COMMAND_MAX_WIN32, length };
223
+ }
224
+ return undefined;
225
+ }
226
+ /** LA REDACCION DEL MOTIVO, EN UN SOLO LUGAR.
227
+ *
228
+ * Hay DOS caminos que spawnean por cmd.exe -- este verbo y el runner de
229
+ * evidencia (src/urazuke/evidence.ts) -- y los dos tienen que explicar el
230
+ * mismo rechazo. Dos redacciones del mismo motivo se desincronizan: es la
231
+ * segunda fuente de verdad que este proyecto ya tiene contada varias
232
+ * veces. Asi que el texto vive aca, al lado de la medicion que lo
233
+ * justifica, y el otro camino lo importa. */
234
+ export function describeWindowsCommandProblem(p) {
235
+ if (p.kind === 'too_long') {
236
+ return 'El comando mide ' + p.length + ' caracteres y en Windows el shell es cmd.exe, que '
237
+ + 'acepta como maximo ' + CMD_EXE_COMMAND_LINE_MAX + ' para la linea ENTERA (envoltorio '
238
+ + 'incluido): el tope util para tu comando es ' + p.limit + '. Medido: 8150 pasa, 8180 falla.';
239
+ }
240
+ return 'El comando tiene un salto de linea y en Windows el shell es cmd.exe, que DESCARTA todo '
241
+ + 'lo que viene despues de la primera linea y sale con codigo 0: un heredoc asi deja el archivo '
242
+ + 'VACIO y reporta exito (medido). Pone el comando en una sola linea (encadena con && o ;).';
243
+ }
128
244
  function pickWhitelistedEnv() {
129
245
  const out = {};
130
- for (const k of DEFAULT_ENV_WHITELIST) {
246
+ for (const k of shellEnvWhitelist()) {
131
247
  const v = process.env[k];
132
248
  if (typeof v === 'string')
133
249
  out[k] = v;
134
250
  }
251
+ /* HOME casi nunca existe en Windows (el equivalente es USERPROFILE), y
252
+ * varias herramientas portadas de POSIX lo buscan para su config: git,
253
+ * ssh, los gestores de paquetes. Derivarlo es lo que hace el shell de
254
+ * Git for Windows; no derivarlo deja al hijo escribiendo en la raiz del
255
+ * disco o fallando sin decir por que (F-01). */
256
+ if (process.platform === 'win32' && !out['HOME']) {
257
+ const up = out['USERPROFILE'] ?? process.env['USERPROFILE'];
258
+ if (typeof up === 'string' && up !== '')
259
+ out['HOME'] = up;
260
+ }
135
261
  return out;
136
262
  }
137
263
  function cwdOutsideRoot(cwd, projectRoot) {
@@ -185,6 +311,40 @@ export async function runShellExec(args, ctx) {
185
311
  display: 'usa yujin.task.run (pesado)',
186
312
  };
187
313
  }
314
+ /* MANDATORY (F-02) -- los dos limites de cmd.exe, dichos con su numero
315
+ * ANTES de spawnear. Sin esto, uno sale con el error traducido de
316
+ * cmd.exe (que no dice el tope) y el otro sale con EXITO dejando un
317
+ * archivo vacio. Ver el bloque medido mas arriba. */
318
+ const winProblem = windowsCommandProblem(command);
319
+ if (winProblem) {
320
+ const common = 'Para escribir un archivo grande usa yujin.fs.write-project-file '
321
+ + '(hasta 1 MB, sin pasar por el shell). Para un script largo, escribilo con ese '
322
+ + 'verbo y despues ejecutalo por nombre.';
323
+ if (winProblem.kind === 'too_long') {
324
+ return {
325
+ tool, is_error: true,
326
+ result: {
327
+ error: 'shell_command_too_long',
328
+ length: winProblem.length,
329
+ limit: winProblem.limit,
330
+ hint: describeWindowsCommandProblem(winProblem) + ' No se ejecuto nada. ' + common,
331
+ command: command.slice(0, 200),
332
+ },
333
+ display: 'shell rechazado: ' + winProblem.length + ' caracteres, tope ' + winProblem.limit,
334
+ };
335
+ }
336
+ return {
337
+ tool, is_error: true,
338
+ result: {
339
+ error: 'shell_command_multiline',
340
+ length: winProblem.length,
341
+ limit: winProblem.limit,
342
+ hint: describeWindowsCommandProblem(winProblem) + ' ' + common,
343
+ command: command.slice(0, 200),
344
+ },
345
+ display: 'shell rechazado: comando multilinea (cmd.exe pierde el resto)',
346
+ };
347
+ }
188
348
  const limits = await readLimitsConfig();
189
349
  const classification = classifyShellCommand(command);
190
350
  const timeoutMs = Math.min(Math.max(args.timeout_ms ?? limits.shell.timeout_ms_default, 1000), limits.shell.timeout_ms_max);
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/chat/tools/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/chat/tools/shell.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"urazuke.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/urazuke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW3D,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBtG;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAe5G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BpH"}
1
+ {"version":3,"file":"urazuke.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/urazuke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW3D,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBtG;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkB5G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BpH"}
@@ -31,16 +31,19 @@ export async function runUrazukeStatus(_args, ctx) {
31
31
  const slug = slugOf(ctx);
32
32
  if (!slug)
33
33
  return err(tool, 'no active project (projectSlug missing)');
34
- const { urazukeLadder } = await import('../../urazuke/current.js');
34
+ const { urazukeLadder, summarizeLadder, renderLadderSummary } = await import('../../urazuke/current.js');
35
35
  const { renderLadderStatusLines } = await import('../../urazuke/section.js');
36
36
  const ladder = await urazukeLadder(slug, ctx.projectRoot);
37
37
  const lines = renderLadderStatusLines(ladder.rows);
38
- const red = ladder.rows.filter((r) => r.status === 'red').length;
39
- const closed = ladder.rows.filter((r) => r.status === 'closed').length;
38
+ /* Los DOS numeros, de summarizeLadder y no contados aca: un cerrado no
39
+ * figura como verde, y el que cuenta solo verdes pierde el avance
40
+ * consolidado (F-07). */
41
+ const summary = summarizeLadder(ladder.rows);
40
42
  return {
41
43
  tool,
42
- result: { ...ladder, summary: { closed, red, total: ladder.rows.length } },
43
- display: (ladder.code ? ladder.code + ' (' + ladder.kind + ')' : 'sin workflow urazuke abierto') + ': ' + closed + ' cerrados, ' + red + ' en rojo de ' + ladder.rows.length + '\n' + lines.join('\n'),
44
+ result: { ...ladder, summary },
45
+ display: (ladder.code ? ladder.code + ' (' + ladder.kind + ')' : 'sin workflow urazuke abierto')
46
+ + ': ' + renderLadderSummary(summary) + '\n' + lines.join('\n'),
44
47
  };
45
48
  }
46
49
  export async function runUrazukeStep(args, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"urazuke.js","sourceRoot":"","sources":["../../../src/chat/tools/urazuke.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"urazuke.js","sourceRoot":"","sources":["../../../src/chat/tools/urazuke.ts"],"names":[],"mappings":"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"}