@nac3/forge-cli 1.19.5 → 1.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/yf.d.ts.map +1 -1
- package/dist/bin/yf.js +2 -1
- package/dist/bin/yf.js.map +1 -1
- package/dist/chat/instance_lock.d.ts +98 -0
- package/dist/chat/instance_lock.d.ts.map +1 -1
- package/dist/chat/instance_lock.js +135 -11
- package/dist/chat/instance_lock.js.map +1 -1
- package/dist/chat/instances.d.ts +84 -0
- package/dist/chat/instances.d.ts.map +1 -0
- package/dist/chat/instances.js +224 -0
- package/dist/chat/instances.js.map +1 -0
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +276 -5
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +64 -1
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/tools/evidence.d.ts.map +1 -1
- package/dist/chat/tools/evidence.js +7 -3
- package/dist/chat/tools/evidence.js.map +1 -1
- package/dist/commands/task.d.ts +13 -0
- package/dist/commands/task.d.ts.map +1 -1
- package/dist/commands/task.js +134 -0
- package/dist/commands/task.js.map +1 -1
- package/dist/commands/upgrade.d.ts +15 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +63 -0
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/urazuke.d.ts.map +1 -1
- package/dist/commands/urazuke.js +68 -1
- package/dist/commands/urazuke.js.map +1 -1
- package/dist/core/forge_profile.d.ts.map +1 -1
- package/dist/core/forge_profile.js +41 -4
- package/dist/core/forge_profile.js.map +1 -1
- package/dist/core/provider_keys.d.ts +10 -0
- package/dist/core/provider_keys.d.ts.map +1 -1
- package/dist/core/provider_keys.js +19 -0
- package/dist/core/provider_keys.js.map +1 -1
- package/dist/core/whats_new.d.ts.map +1 -1
- package/dist/core/whats_new.js +26 -0
- package/dist/core/whats_new.js.map +1 -1
- package/dist/urazuke/current.d.ts +5 -0
- package/dist/urazuke/current.d.ts.map +1 -1
- package/dist/urazuke/current.js +14 -3
- package/dist/urazuke/current.js.map +1 -1
- package/dist/urazuke/cycle.d.ts.map +1 -1
- package/dist/urazuke/cycle.js +6 -2
- package/dist/urazuke/cycle.js.map +1 -1
- package/dist/urazuke/evidence.d.ts.map +1 -1
- package/dist/urazuke/evidence.js +9 -1
- package/dist/urazuke/evidence.js.map +1 -1
- package/dist/urazuke/freeze.d.ts +29 -0
- package/dist/urazuke/freeze.d.ts.map +1 -0
- package/dist/urazuke/freeze.js +150 -0
- package/dist/urazuke/freeze.js.map +1 -0
- package/dist/urazuke/gate.d.ts +18 -1
- package/dist/urazuke/gate.d.ts.map +1 -1
- package/dist/urazuke/gate.js +21 -0
- package/dist/urazuke/gate.js.map +1 -1
- package/dist/urazuke/gates_data.d.ts +219 -0
- package/dist/urazuke/gates_data.d.ts.map +1 -0
- package/dist/urazuke/gates_data.js +441 -0
- package/dist/urazuke/gates_data.js.map +1 -0
- package/dist/urazuke/prompts_client.d.ts +6 -0
- package/dist/urazuke/prompts_client.d.ts.map +1 -1
- package/dist/urazuke/prompts_client.js +1 -1
- package/dist/urazuke/prompts_client.js.map +1 -1
- package/dist/urazuke/receipts.d.ts +53 -1
- package/dist/urazuke/receipts.d.ts.map +1 -1
- package/dist/urazuke/receipts.js +65 -3
- package/dist/urazuke/receipts.js.map +1 -1
- package/dist/urazuke/ruleset.d.ts +56 -0
- package/dist/urazuke/ruleset.d.ts.map +1 -0
- package/dist/urazuke/ruleset.js +159 -0
- package/dist/urazuke/ruleset.js.map +1 -0
- package/dist/urazuke/start.d.ts +5 -0
- package/dist/urazuke/start.d.ts.map +1 -1
- package/dist/urazuke/start.js +39 -2
- package/dist/urazuke/start.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAc3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAc3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA0CjG;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAoBzH"}
|
|
@@ -23,7 +23,7 @@ export async function runEvidenceRun(args, ctx) {
|
|
|
23
23
|
}
|
|
24
24
|
try {
|
|
25
25
|
const { runEvidence } = await import('../../urazuke/evidence.js');
|
|
26
|
-
const { renderReceipt } = await import('../../urazuke/receipts.js');
|
|
26
|
+
const { renderReceipt, isEmptyRun } = await import('../../urazuke/receipts.js');
|
|
27
27
|
const { receipt } = await runEvidence({
|
|
28
28
|
slug, projectRoot: ctx.projectRoot, kind, command,
|
|
29
29
|
...(args.pending_id ? { pending_id: String(args.pending_id) } : {}),
|
|
@@ -40,7 +40,9 @@ export async function runEvidenceRun(args, ctx) {
|
|
|
40
40
|
? (receipt.mode === 'mutation'
|
|
41
41
|
? ' -- NOT a mutation red: no TEST failed with the defect planted (exit ' + receipt.exit_code + ', failed ' + (receipt.counts.failed ?? 0) + '). Either the diff did not apply, the mutant only broke the load, or the test does not watch that code.'
|
|
42
42
|
: ' -- NOT a red proof: the test did not fail at the base (exit ' + receipt.exit_code + ', failed ' + (receipt.counts.failed ?? 0) + '). Either the test does not watch the change, or the base already had it.')
|
|
43
|
-
:
|
|
43
|
+
: isEmptyRun(receipt)
|
|
44
|
+
? ' -- NOT green: the runner reported ZERO tests, so the command succeeded at running nothing. Check the test path or glob; a quoted glob does not expand in cmd.exe. This receipt counts against the step.'
|
|
45
|
+
: ' -- NOT green (exit ' + receipt.exit_code + ', failed ' + (receipt.counts.failed ?? '?') + '). Fix and run again; this receipt counts against the step.';
|
|
44
46
|
return {
|
|
45
47
|
tool,
|
|
46
48
|
result: { receipt },
|
|
@@ -68,7 +70,9 @@ export async function runEvidenceList(args, ctx) {
|
|
|
68
70
|
tool,
|
|
69
71
|
result: { summary, receipts: shown.map((r) => ({ ...r, output_tail: r.output_tail.slice(-400) })) },
|
|
70
72
|
display: (args.pending_id ? args.pending_id + ': ' : '') + items.length + ' receipts (' + summary.red_proofs + ' red proofs [' + summary.strong_red_proofs + ' strong], ' + summary.greens + ' greens, ' + summary.regressions + ' regressions, ' + summary.e2e + ' e2e'
|
|
71
|
-
+ (summary.false_reds ? ', ' + summary.false_reds + ' FALSE RED (exit 0 on a red_proof)' : '')
|
|
73
|
+
+ (summary.false_reds ? ', ' + summary.false_reds + ' FALSE RED (exit 0 on a red_proof)' : '')
|
|
74
|
+
+ (summary.empty_runs ? ', ' + summary.empty_runs + ' EMPTY RUN (exit 0 over ZERO tests: not evidence)' : '')
|
|
75
|
+
+ (summary.exit_only ? ', ' + summary.exit_only + ' exit-code-only' : '') + ')\n'
|
|
72
76
|
+ shown.map(renderReceipt).join('\n'),
|
|
73
77
|
};
|
|
74
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../src/chat/tools/evidence.ts"],"names":[],"mappings":"AAcA,MAAM,KAAK,GAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjH,SAAS,MAAM,CAAC,GAAgB;IAC9B,MAAM,CAAC,GAAI,GAAgC,CAAC,WAAW,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa;IACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC;AACrF,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAqB,EAAE,GAAgB;IAC1E,MAAM,IAAI,GAAG,oBAAoB,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAgB,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,0DAA0D,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrG,OAAO,GAAG,CAAC,IAAI,EAAE,6NAA6N,CAAC,CAAC;IAClP,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAClE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../src/chat/tools/evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/task.d.ts
CHANGED
|
@@ -15,4 +15,17 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { Command } from 'commander';
|
|
17
17
|
export declare function registerTaskCommand(program: Command): void;
|
|
18
|
+
/**
|
|
19
|
+
* `yf instance` -- the Forge PROCESSES of this machine (PND-162).
|
|
20
|
+
*
|
|
21
|
+
* Deliberately NOT under `yf task` and deliberately without `--project`: a
|
|
22
|
+
* panel is not a task of a project, and an orphan holding thirty gigabytes
|
|
23
|
+
* of virtual space is a fact about the machine. Requiring a project to see
|
|
24
|
+
* it is part of why nobody saw it.
|
|
25
|
+
*
|
|
26
|
+
* yf instance list what is running, since when, how much memory
|
|
27
|
+
* yf instance stop <pid> stop one, with its process tree
|
|
28
|
+
* yf instance stop --old stop the ones from a previous session
|
|
29
|
+
*/
|
|
30
|
+
export declare function registerInstanceCommand(program: Command): void;
|
|
18
31
|
//# sourceMappingURL=task.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmEzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyG1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD9D"}
|
package/dist/commands/task.js
CHANGED
|
@@ -12,6 +12,55 @@ function fail(err) {
|
|
|
12
12
|
process.stderr.write(c.error('error: ') + (err instanceof Error ? err.message : String(err)) + '\n');
|
|
13
13
|
process.exit(1);
|
|
14
14
|
}
|
|
15
|
+
function ageOf(minutes) {
|
|
16
|
+
if (minutes < 60)
|
|
17
|
+
return minutes + ' min';
|
|
18
|
+
const h = Math.floor(minutes / 60);
|
|
19
|
+
return h < 24 ? h + ' h' : Math.floor(h / 24) + ' d';
|
|
20
|
+
}
|
|
21
|
+
/** The Forge INSTANCES of this machine (panels, `yf start`), printed the
|
|
22
|
+
* same way the tasks are. Machine-wide on purpose: an orphan panel holding
|
|
23
|
+
* memory is a fact about the machine, not about the active project, and
|
|
24
|
+
* scoping it to a project is how it stayed invisible (PND-162). */
|
|
25
|
+
async function writeInstancesSection() {
|
|
26
|
+
const { instanceReport } = await import('../chat/instances.js');
|
|
27
|
+
const rep = await instanceReport({ with_vsz: true });
|
|
28
|
+
if (!rep.alive.length && !rep.dead.length)
|
|
29
|
+
return;
|
|
30
|
+
process.stdout.write('\n');
|
|
31
|
+
header('Instancias de Forge en esta maquina');
|
|
32
|
+
for (const i of rep.alive) {
|
|
33
|
+
const self = i.pid === process.pid ? c.dim(' (esta)') : '';
|
|
34
|
+
/* The virtual size is what exhausts the system's commit charge, and a
|
|
35
|
+
* node paged out entirely reports a working set of zero while holding
|
|
36
|
+
* tens of GB. Shown next to the RSS so the two cannot be confused. */
|
|
37
|
+
const mem = [
|
|
38
|
+
i.rss_mb != null ? 'RSS ' + i.rss_mb + ' MB' : '',
|
|
39
|
+
i.vsz_mb != null ? 'virtual ' + i.vsz_mb + ' MB' : '',
|
|
40
|
+
i.heap_mb != null && i.heap_limit_mb ? 'heap ' + i.heap_mb + '/' + i.heap_limit_mb + ' MB' : '',
|
|
41
|
+
].filter(Boolean).join(', ');
|
|
42
|
+
process.stdout.write(' ' + c.warn('viva') + ' PID ' + i.pid + ' [' + i.kind + ']' + self
|
|
43
|
+
+ ' ' + c.dim(ageOf(i.age_minutes)) + (i.version ? c.dim(' v' + i.version) : '') + '\n'
|
|
44
|
+
+ ' ' + c.dim(i.root) + '\n'
|
|
45
|
+
+ (mem ? ' ' + c.dim(mem) + '\n' : '')
|
|
46
|
+
/* A live pid whose beat is old is alive but not breathing: blocked on
|
|
47
|
+
* the event loop, or stopped. Worth distinguishing from a healthy one. */
|
|
48
|
+
+ (i.beat_age_minutes != null && i.beat_age_minutes > 5
|
|
49
|
+
? ' ' + c.warn('sin latido hace ' + ageOf(i.beat_age_minutes) + ': viva pero no responde') + '\n' : ''));
|
|
50
|
+
}
|
|
51
|
+
if (rep.vsz_unavailable) {
|
|
52
|
+
process.stdout.write(' ' + c.dim('(el espacio virtual no se pudo leer en esta plataforma: no es cero, es desconocido)') + '\n');
|
|
53
|
+
}
|
|
54
|
+
for (const d of rep.dead) {
|
|
55
|
+
process.stdout.write(' ' + c.error('murio') + ' PID ' + d.pid + ' [' + (d.kind ?? 'desconocido') + '] sin cierre ordenado'
|
|
56
|
+
+ (d.beat_at != null ? c.dim(' -- ultimo latido ' + new Date(d.beat_at).toLocaleString()) : c.dim(' -- sin latido registrado'))
|
|
57
|
+
+ (d.memory_pressure ? c.warn(' [heap sobre el 85% del techo: consistente con falta de memoria]') : '') + '\n'
|
|
58
|
+
+ ' ' + c.dim(d.root) + '\n');
|
|
59
|
+
}
|
|
60
|
+
if (rep.alive.some((i) => i.pid !== process.pid)) {
|
|
61
|
+
process.stdout.write('\n pararlas: yf instance stop <pid> | viejas: yf instance stop --old\n');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
15
64
|
export function registerTaskCommand(program) {
|
|
16
65
|
const root = program
|
|
17
66
|
.command('task')
|
|
@@ -54,6 +103,12 @@ export function registerTaskCommand(program) {
|
|
|
54
103
|
}
|
|
55
104
|
if (live.length)
|
|
56
105
|
process.stdout.write('\n pararlas: yf task stop <id> | todas: yf task stop --all\n');
|
|
106
|
+
/* PND-162: un panel o un `yf start` NO son tareas del supervisor, asi
|
|
107
|
+
* que esta lista nunca los veia -- y el dueno se enteraba de que
|
|
108
|
+
* tenia tres procesos de hace dos dias cuando la maquina se quedaba
|
|
109
|
+
* sin memoria. Van aca porque este es el comando al que uno va a
|
|
110
|
+
* preguntar "que tengo corriendo". */
|
|
111
|
+
await writeInstancesSection();
|
|
57
112
|
}
|
|
58
113
|
catch (err) {
|
|
59
114
|
fail(err);
|
|
@@ -134,4 +189,83 @@ export function registerTaskCommand(program) {
|
|
|
134
189
|
}
|
|
135
190
|
});
|
|
136
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* `yf instance` -- the Forge PROCESSES of this machine (PND-162).
|
|
194
|
+
*
|
|
195
|
+
* Deliberately NOT under `yf task` and deliberately without `--project`: a
|
|
196
|
+
* panel is not a task of a project, and an orphan holding thirty gigabytes
|
|
197
|
+
* of virtual space is a fact about the machine. Requiring a project to see
|
|
198
|
+
* it is part of why nobody saw it.
|
|
199
|
+
*
|
|
200
|
+
* yf instance list what is running, since when, how much memory
|
|
201
|
+
* yf instance stop <pid> stop one, with its process tree
|
|
202
|
+
* yf instance stop --old stop the ones from a previous session
|
|
203
|
+
*/
|
|
204
|
+
export function registerInstanceCommand(program) {
|
|
205
|
+
const root = program
|
|
206
|
+
.command('instance')
|
|
207
|
+
.description('Procesos de Forge vivos en esta maquina (paneles, yf start): verlos y pararlos.');
|
|
208
|
+
root
|
|
209
|
+
.command('list', { isDefault: true })
|
|
210
|
+
.description('Las instancias vivas de esta maquina, y las que murieron sin cerrar.')
|
|
211
|
+
.option('--json', 'emit JSON')
|
|
212
|
+
.action(async (opts) => {
|
|
213
|
+
try {
|
|
214
|
+
const { instanceReport } = await import('../chat/instances.js');
|
|
215
|
+
const rep = await instanceReport({ with_vsz: true });
|
|
216
|
+
if (opts.json) {
|
|
217
|
+
process.stdout.write(JSON.stringify(rep, null, 2) + '\n');
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (!rep.alive.length && !rep.dead.length) {
|
|
221
|
+
header('Instancias de Forge en esta maquina');
|
|
222
|
+
process.stdout.write(' ' + c.dim('ninguna') + '\n');
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
await writeInstancesSection();
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
fail(err);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
root
|
|
232
|
+
.command('stop [pid]')
|
|
233
|
+
.description('Para una instancia y su arbol de procesos (o las de sesiones anteriores con --old).')
|
|
234
|
+
.option('--old', 'parar las que vienen de una sesion anterior')
|
|
235
|
+
.option('--json', 'emit JSON')
|
|
236
|
+
.action(async (pid, opts) => {
|
|
237
|
+
try {
|
|
238
|
+
const { instanceReport, stopInstance } = await import('../chat/instances.js');
|
|
239
|
+
const rep = await instanceReport();
|
|
240
|
+
/* `--old` never includes this process, and never includes an
|
|
241
|
+
* instance started after it: stopping the session you are typing
|
|
242
|
+
* into is not what anybody means by cleaning up orphans. */
|
|
243
|
+
const targets = opts.old
|
|
244
|
+
? rep.alive.filter((i) => i.pid !== process.pid && i.from_previous_session).map((i) => i.pid)
|
|
245
|
+
: (pid ? [Number(pid)] : []);
|
|
246
|
+
if (!targets.length) {
|
|
247
|
+
process.stdout.write(opts.old ? ' ninguna instancia de una sesion anterior\n' : c.error('falta el pid (o usa --old)') + '\n');
|
|
248
|
+
if (!opts.old)
|
|
249
|
+
process.exitCode = 1;
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const out = [];
|
|
253
|
+
for (const t of targets)
|
|
254
|
+
out.push({ pid: t, ...(await stopInstance(t)) });
|
|
255
|
+
if (opts.json) {
|
|
256
|
+
process.stdout.write(JSON.stringify(out, null, 2) + '\n');
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
for (const r of out) {
|
|
260
|
+
process.stdout.write(' ' + (r.stopped ? c.success('parada ') : c.error('no parada ')) + 'PID ' + r.pid
|
|
261
|
+
+ (r.reason ? ' ' + c.dim(r.reason) : '') + '\n');
|
|
262
|
+
}
|
|
263
|
+
if (out.some((r) => !r.stopped))
|
|
264
|
+
process.exitCode = 1;
|
|
265
|
+
}
|
|
266
|
+
catch (err) {
|
|
267
|
+
fail(err);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
137
271
|
//# sourceMappingURL=task.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,20 @@
|
|
|
10
10
|
import type { Command } from 'commander';
|
|
11
11
|
import { detectInstallKind } from '../core/self_update.js';
|
|
12
12
|
export declare function registerUpgradeCommand(program: Command): void;
|
|
13
|
+
/** Forge instances running from the same package directory this `yf` came
|
|
14
|
+
* from. That is the right test: an upgrade replaces THIS module, so a panel
|
|
15
|
+
* started from a different checkout is none of its business, and one
|
|
16
|
+
* started from the same place is exactly what is about to break. */
|
|
17
|
+
export declare function liveGlobalInstances(): Promise<Array<{
|
|
18
|
+
pid: number;
|
|
19
|
+
root: string;
|
|
20
|
+
kind: string;
|
|
21
|
+
age_minutes: number;
|
|
22
|
+
}>>;
|
|
23
|
+
export declare function renderUpgradeBlocked(blockers: Array<{
|
|
24
|
+
pid: number;
|
|
25
|
+
root: string;
|
|
26
|
+
kind: string;
|
|
27
|
+
}>): string;
|
|
13
28
|
export { detectInstallKind };
|
|
14
29
|
//# sourceMappingURL=upgrade.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EACwB,iBAAiB,EAC/C,MAAM,wBAAwB,CAAC;AAGhC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EACwB,iBAAiB,EAC/C,MAAM,wBAAwB,CAAC;AAGhC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiE7D;AAED;;;qEAGqE;AACrE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAc5H;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAmBzG;AAcD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/commands/upgrade.js
CHANGED
|
@@ -34,6 +34,27 @@ export function registerUpgradeCommand(program) {
|
|
|
34
34
|
process.stdout.write('\n-> ' + plan.releaseUrl + '\n');
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
+
/* PND-160: REFUSE, do not warn-and-proceed.
|
|
38
|
+
*
|
|
39
|
+
* A live panel keeps better_sqlite3.node mapped, and on Windows a
|
|
40
|
+
* mapped file cannot be replaced. npm deletes the old module, fails to
|
|
41
|
+
* write the new native binary, and aborts -- leaving the global package
|
|
42
|
+
* as a bare node_modules with no dist and no binaries. `yf` stops
|
|
43
|
+
* existing. That happened on 2026-10-21 publishing 1.19.5, and on the
|
|
44
|
+
* OSDE VM on 2026-10-04 where it reached 16889 silent systemd retries.
|
|
45
|
+
*
|
|
46
|
+
* And the damage is not only to the module: Forge loads most of itself
|
|
47
|
+
* with lazy dynamic import(), so a live panel whose files were deleted
|
|
48
|
+
* hits ERR_MODULE_NOT_FOUND on the next verb, mid-turn, in the user's
|
|
49
|
+
* working session. That is why this is a refusal and not a notice: the
|
|
50
|
+
* thing at risk is the owner's work, and a notice they scroll past
|
|
51
|
+
* costs them the session. */
|
|
52
|
+
const blockers = await liveGlobalInstances();
|
|
53
|
+
if (blockers.length) {
|
|
54
|
+
process.stdout.write('\n' + renderUpgradeBlocked(blockers));
|
|
55
|
+
process.exitCode = 1;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
37
58
|
process.stdout.write('\nEjecutando: ' + plan.command + '\n');
|
|
38
59
|
const code = await runShell(plan.command);
|
|
39
60
|
if (code === 0) {
|
|
@@ -46,6 +67,48 @@ export function registerUpgradeCommand(program) {
|
|
|
46
67
|
}
|
|
47
68
|
});
|
|
48
69
|
}
|
|
70
|
+
/** Forge instances running from the same package directory this `yf` came
|
|
71
|
+
* from. That is the right test: an upgrade replaces THIS module, so a panel
|
|
72
|
+
* started from a different checkout is none of its business, and one
|
|
73
|
+
* started from the same place is exactly what is about to break. */
|
|
74
|
+
export async function liveGlobalInstances() {
|
|
75
|
+
try {
|
|
76
|
+
const { instanceReport } = await import('../chat/instances.js');
|
|
77
|
+
const { selfModuleDir } = await import('../chat/instance_lock.js');
|
|
78
|
+
const { instancesFromGlobal } = await import('../chat/instances.js');
|
|
79
|
+
const rep = await instanceReport();
|
|
80
|
+
const mine = selfModuleDir();
|
|
81
|
+
if (!mine)
|
|
82
|
+
return [];
|
|
83
|
+
return instancesFromGlobal(rep.alive, mine).map((i) => ({ pid: i.pid, root: i.root, kind: i.kind, age_minutes: i.age_minutes }));
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
/* Cannot tell -> do not block. A precheck that fails closed on its own
|
|
87
|
+
* bug would leave the owner unable to upgrade at all. */
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export function renderUpgradeBlocked(blockers) {
|
|
92
|
+
const lines = [
|
|
93
|
+
'NO actualizo: hay ' + blockers.length + ' proceso(s) de Forge corriendo desde el mismo modulo.',
|
|
94
|
+
'',
|
|
95
|
+
'Si siguiera, npm borraria los archivos que esos procesos estan usando. En Windows',
|
|
96
|
+
'el binario nativo de sqlite no se puede reemplazar mientras este mapeado, asi que la',
|
|
97
|
+
'instalacion abortaria a medias y `yf` dejaria de existir -- y la sesion que tengas',
|
|
98
|
+
'abierta se romperia en medio de un turno.',
|
|
99
|
+
'',
|
|
100
|
+
];
|
|
101
|
+
for (const b of blockers)
|
|
102
|
+
lines.push(' - PID ' + b.pid + ' [' + b.kind + '] ' + b.root);
|
|
103
|
+
lines.push('');
|
|
104
|
+
lines.push('Cerra esas sesiones y volve a intentar. Si no las encontras:');
|
|
105
|
+
lines.push(' yf instance list ver que hay vivo');
|
|
106
|
+
lines.push(' yf instance stop <pid> parar una');
|
|
107
|
+
lines.push('');
|
|
108
|
+
lines.push('Si la instalacion ya quedo a medias, el procedimiento de recuperacion esta en');
|
|
109
|
+
lines.push('docs/RUNBOOK_UPGRADE_GLOBAL.md.');
|
|
110
|
+
return lines.join('\n') + '\n';
|
|
111
|
+
}
|
|
49
112
|
function runShell(command) {
|
|
50
113
|
return new Promise((resolve) => {
|
|
51
114
|
const isWin = process.platform === 'win32';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urazuke.d.ts","sourceRoot":"","sources":["../../src/commands/urazuke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"urazuke.d.ts","sourceRoot":"","sources":["../../src/commands/urazuke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0gB7D"}
|
package/dist/commands/urazuke.js
CHANGED
|
@@ -213,6 +213,71 @@ export function registerUrazukeCommand(program) {
|
|
|
213
213
|
fail(err);
|
|
214
214
|
}
|
|
215
215
|
});
|
|
216
|
+
/* PND-165, Piezas 2 y 3. Dos comandos para una sola pregunta: con que
|
|
217
|
+
* version del metodo se esta midiendo este proyecto, y esta congelada. */
|
|
218
|
+
const gt = root
|
|
219
|
+
.command('gates')
|
|
220
|
+
.description('La definicion de compuertas EN VIGOR para el proyecto: la copia congelada del proyecto > el catalogo compilado de este Forge (el portal nunca, salvo doble candado).');
|
|
221
|
+
gt
|
|
222
|
+
.command('show', { isDefault: true })
|
|
223
|
+
.description('Que definicion rige, de donde salio, su version y su huella recalculada; y que evaluadores declara que esta instalacion no sabe medir.')
|
|
224
|
+
.option('--project <slug>', 'override active project')
|
|
225
|
+
.option('--json', 'emit JSON')
|
|
226
|
+
.action(async (opts) => {
|
|
227
|
+
try {
|
|
228
|
+
const { root: projectRoot } = await resolveSlugRoot(opts);
|
|
229
|
+
const { resolveGates, renderGatesSource, GATES_FROZEN_REL } = await import('../urazuke/gates_data.js');
|
|
230
|
+
const { implementsEvaluator, KNOWN_EVALUATORS } = await import('../urazuke/gate.js');
|
|
231
|
+
const g = await resolveGates(projectRoot);
|
|
232
|
+
const unmeasurable = g.declared_evaluators.filter((n) => !implementsEvaluator(n));
|
|
233
|
+
if (opts.json) {
|
|
234
|
+
process.stdout.write(JSON.stringify({ ...g, implemented: KNOWN_EVALUATORS, unmeasurable }, null, 2) + '\n');
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
header('Compuertas en vigor -- ' + renderGatesSource(g));
|
|
238
|
+
process.stdout.write(' fuente: ' + (g.source === 'project'
|
|
239
|
+
? c.success('la copia congelada del proyecto') + ' (' + GATES_FROZEN_REL + ')'
|
|
240
|
+
: c.warn('el catalogo compilado de este Forge') + ' -- el proyecto NO tiene version congelada: corre `yf urazuke freeze`') + '\n');
|
|
241
|
+
process.stdout.write(' evaluadores declarados: ' + g.declared_evaluators.length
|
|
242
|
+
+ ' | implementados por esta instalacion: ' + KNOWN_EVALUATORS.length + '\n');
|
|
243
|
+
if (unmeasurable.length) {
|
|
244
|
+
/* La clausula de compatibilidad del metodo, dicha donde se ve: no
|
|
245
|
+
* verde, no aproximado, y nombrado. */
|
|
246
|
+
process.stdout.write(' ' + c.warn('declarados y NO medibles por esta instalacion: ') + unmeasurable.join(', ')
|
|
247
|
+
+ '\n un peldano que los exija se reporta como "declarado, no medido por esta instalacion":'
|
|
248
|
+
+ '\n nunca verde, y nunca aproximado con el evaluador mas parecido.\n');
|
|
249
|
+
}
|
|
250
|
+
for (const n of g.notices)
|
|
251
|
+
process.stdout.write(' ' + c.error('aviso: ') + n + '\n');
|
|
252
|
+
}
|
|
253
|
+
catch (err) {
|
|
254
|
+
fail(err);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
root
|
|
258
|
+
.command('freeze')
|
|
259
|
+
.description('Congela en el proyecto la version del metodo que lee HOY (compuertas + prompts). Idempotente: no pisa una copia ya congelada -- eso es el doble candado.')
|
|
260
|
+
.option('--project <slug>', 'override active project')
|
|
261
|
+
.option('--json', 'emit JSON')
|
|
262
|
+
.action(async (opts) => {
|
|
263
|
+
try {
|
|
264
|
+
const { root: projectRoot } = await resolveSlugRoot(opts);
|
|
265
|
+
const { freezeProjectVersion, renderFreeze } = await import('../urazuke/freeze.js');
|
|
266
|
+
const r = await freezeProjectVersion(projectRoot);
|
|
267
|
+
if (opts.json) {
|
|
268
|
+
process.stdout.write(JSON.stringify(r, null, 2) + '\n');
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
header('Congelar la version del metodo -- ' + renderFreeze(r));
|
|
272
|
+
for (const n of r.notes)
|
|
273
|
+
process.stdout.write(' - ' + n + '\n');
|
|
274
|
+
if (r.gates === 'failed' || r.prompts === 'failed')
|
|
275
|
+
process.exitCode = 1;
|
|
276
|
+
}
|
|
277
|
+
catch (err) {
|
|
278
|
+
fail(err);
|
|
279
|
+
}
|
|
280
|
+
});
|
|
216
281
|
const pr = root
|
|
217
282
|
.command('prompts')
|
|
218
283
|
.description('Los prompts efectivos del proyecto: overrides > API publicada (yujin.app/urazuke/api/prompts.json) > copia vendoreada.');
|
|
@@ -569,7 +634,9 @@ export function registerUrazukeCommand(program) {
|
|
|
569
634
|
const s = summarizeReceipts(items);
|
|
570
635
|
header('Recibos de evidencia -- ' + slug + (opts.pending ? ' -- ' + opts.pending : ''));
|
|
571
636
|
process.stdout.write(' ' + items.length + ' recibos: ' + s.red_proofs + ' rojo probado (' + s.strong_red_proofs + ' fuerte), ' + s.greens + ' verde, ' + s.regressions + ' regresion, ' + s.e2e + ' e2e, ' + s.quality + ' calidad, ' + s.mutation + ' mutacion'
|
|
572
|
-
+ (s.false_reds ? c.error(', ' + s.false_reds + ' FALSO ROJO (exit 0 en un red_proof)') : '')
|
|
637
|
+
+ (s.false_reds ? c.error(', ' + s.false_reds + ' FALSO ROJO (exit 0 en un red_proof)') : '')
|
|
638
|
+
+ (s.empty_runs ? c.error(', ' + s.empty_runs + ' CORRIDA VACIA (exit 0 sobre CERO tests: no es evidencia)') : '')
|
|
639
|
+
+ (s.exit_only ? c.warn(', ' + s.exit_only + ' solo por exit code (sin cuenta de tests)') : '') + '\n\n');
|
|
573
640
|
for (const r of shown)
|
|
574
641
|
process.stdout.write(renderReceipt(r) + '\n\n');
|
|
575
642
|
}
|