@mu-crew/mu 4.2.1 → 4.2.2
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/{chunk-U2QLTREB.js → chunk-EIE5OKZZ.js} +2 -2
- package/dist/{chunk-RJQNDFBU.js → chunk-FHGYHXFB.js} +2 -2
- package/dist/{chunk-FVRIKUBR.js → chunk-FOWIQ4TP.js} +31 -9
- package/dist/{chunk-FVRIKUBR.js.map → chunk-FOWIQ4TP.js.map} +1 -1
- package/dist/{cli-H3VVCP7M.js → cli-HKBFJISN.js} +56 -12
- package/dist/cli-HKBFJISN.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/extension/mu-pi.js +16 -60
- package/dist/extension/mu-pi.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -3
- package/dist/{tui-5ZARE7RS.js → tui-32NIE76L.js} +3 -3
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/VOCABULARY.md +2 -2
- package/docs/guide/cleanup.md +3 -0
- package/docs/guide/dispatch.md +3 -1
- package/docs/reference/surface-contract.md +3 -2
- package/package.json +1 -1
- package/skills/mu/SKILL.md +2 -1
- package/skills/mu/recipes/course-correct.md +1 -1
- package/dist/cli-H3VVCP7M.js.map +0 -1
- /package/dist/{chunk-U2QLTREB.js.map → chunk-EIE5OKZZ.js.map} +0 -0
- /package/dist/{chunk-RJQNDFBU.js.map → chunk-FHGYHXFB.js.map} +0 -0
- /package/dist/{tui-5ZARE7RS.js.map → tui-32NIE76L.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -47,6 +47,6 @@ function enableCompileCacheIn(dir, enable = nodeEnable ?? null) {
|
|
|
47
47
|
|
|
48
48
|
// src/main.ts
|
|
49
49
|
enableCompileCacheIn(join(defaultStateDir(), "compile-cache"));
|
|
50
|
-
var { runCli } = await import("./cli-
|
|
50
|
+
var { runCli } = await import("./cli-HKBFJISN.js");
|
|
51
51
|
await runCli(process.argv);
|
|
52
52
|
//# sourceMappingURL=cli.js.map
|
package/dist/extension/mu-pi.js
CHANGED
|
@@ -1728,16 +1728,7 @@ function outcomeOf(event) {
|
|
|
1728
1728
|
}
|
|
1729
1729
|
var SETTLE_DRAIN_MS = 3e3;
|
|
1730
1730
|
var SETTLE_WAIT_ARGS = ["wait", "--first", "--on-stall", "exit", "--json"];
|
|
1731
|
-
var
|
|
1732
|
-
"wait",
|
|
1733
|
-
"--first",
|
|
1734
|
-
"--on-stall",
|
|
1735
|
-
"exit",
|
|
1736
|
-
"--timeout",
|
|
1737
|
-
"1",
|
|
1738
|
-
"--json"
|
|
1739
|
-
];
|
|
1740
|
-
var READY_MAX = 50;
|
|
1731
|
+
var HUMAN_STOP_DRAIN = "A human stop is open (mu human-needed). Collect and merge what you already started; start nothing new (no `mu next`, no spawn, no new delegate, no restart of a stalled or dead worker: tell the human). The settle keeps waiting while work you own is still running, and ends the turn when nothing is.";
|
|
1741
1732
|
var ESC = /^\u001b(\[27(;\d+)*u)?$/;
|
|
1742
1733
|
function envelopeOf(stdout) {
|
|
1743
1734
|
try {
|
|
@@ -1881,11 +1872,10 @@ function registerNudge(pi, run = defaultRunner(), skillMd = readSkill(), nested
|
|
|
1881
1872
|
return {
|
|
1882
1873
|
blocks: [
|
|
1883
1874
|
`Delegate answer: call ${callId}. Its row is unreadable here: mu delegates show ${callId}`
|
|
1884
|
-
]
|
|
1885
|
-
stop: false
|
|
1875
|
+
]
|
|
1886
1876
|
};
|
|
1887
1877
|
const wave = c.wave;
|
|
1888
|
-
if (!wave) return { blocks: [await answerBlock(mu, c, REPORT_CAP)]
|
|
1878
|
+
if (!wave) return { blocks: [await answerBlock(mu, c, REPORT_CAP)] };
|
|
1889
1879
|
const listed = async () => {
|
|
1890
1880
|
const v = await mu(["delegates", "list", "--wave", wave, "--json"]);
|
|
1891
1881
|
const items = v?.ok === true ? v.data?.items : void 0;
|
|
@@ -1893,7 +1883,6 @@ function registerNudge(pi, run = defaultRunner(), skillMd = readSkill(), nested
|
|
|
1893
1883
|
};
|
|
1894
1884
|
const after = [];
|
|
1895
1885
|
const notices = new Set(noticesOf(first));
|
|
1896
|
-
let stop = false;
|
|
1897
1886
|
let rows = await listed();
|
|
1898
1887
|
let picture = pictureOf(first);
|
|
1899
1888
|
const owedRow = (r) => PENDING_STATES.has(r.state) || r.state !== "refused" && !shown.has(r.callId) && picture?.has(r.callId) !== false;
|
|
@@ -1912,11 +1901,10 @@ function registerNudge(pi, run = defaultRunner(), skillMd = readSkill(), nested
|
|
|
1912
1901
|
for (const n of noticesOf(d)) notices.add(n);
|
|
1913
1902
|
picture = pictureOf(d);
|
|
1914
1903
|
if (d.timedOut === true) continue;
|
|
1915
|
-
if (Array.isArray(d.humanNeeds) && d.humanNeeds.length > 0) stop = true;
|
|
1916
1904
|
const id = firingDelegate(d);
|
|
1917
1905
|
const sibling = id !== void 0 && rows.some((x) => x.callId === id);
|
|
1918
1906
|
if (id !== void 0) shown.add(id);
|
|
1919
|
-
if (sibling
|
|
1907
|
+
if (sibling) {
|
|
1920
1908
|
rows = await listed();
|
|
1921
1909
|
continue;
|
|
1922
1910
|
}
|
|
@@ -1933,46 +1921,9 @@ ${JSON.stringify(d)}`);
|
|
|
1933
1921
|
);
|
|
1934
1922
|
return {
|
|
1935
1923
|
blocks: [waveSummary(wave, rows), ...bodies, ...after],
|
|
1936
|
-
stop,
|
|
1937
1924
|
wave: { label: wave, complete, notices: [...notices] }
|
|
1938
1925
|
};
|
|
1939
1926
|
};
|
|
1940
|
-
const ready = async () => {
|
|
1941
|
-
const blocks = [];
|
|
1942
|
-
const shown = [];
|
|
1943
|
-
for (let i = 0; i < READY_MAX && !ctl.signal.aborted; i++) {
|
|
1944
|
-
const started = Date.now();
|
|
1945
|
-
const r = await wait(SETTLE_READY_ARGS);
|
|
1946
|
-
const v = envelopeOf(r.stdout);
|
|
1947
|
-
if (v?.ok === false && v.error === "WaitNothingError") {
|
|
1948
|
-
delivered({ before: started });
|
|
1949
|
-
break;
|
|
1950
|
-
}
|
|
1951
|
-
const d = v?.ok === true ? v.data : void 0;
|
|
1952
|
-
if (d === void 0) {
|
|
1953
|
-
const why = (r.stdout.trim() || r.stderr.trim()).slice(0, 2e3);
|
|
1954
|
-
blocks.push(`mu wait failed (exit ${r.code}): ${why}`);
|
|
1955
|
-
break;
|
|
1956
|
-
}
|
|
1957
|
-
if (d.drained === true) delivered({ before: started });
|
|
1958
|
-
if (d.interrupted === true || d.drained === true || d.timedOut === true) break;
|
|
1959
|
-
blocks.push(JSON.stringify(d));
|
|
1960
|
-
const id = firingDelegate(d);
|
|
1961
|
-
if (id === void 0) continue;
|
|
1962
|
-
shown.push(id);
|
|
1963
|
-
const c = await call2(id);
|
|
1964
|
-
blocks.push(
|
|
1965
|
-
c === void 0 ? `Delegate answer: call ${id}. Its row is unreadable here: mu delegates show ${id}` : await answerBlock(mu, c, REPORT_CAP)
|
|
1966
|
-
);
|
|
1967
|
-
}
|
|
1968
|
-
if (shown.length > 0) delivered(shown);
|
|
1969
|
-
if (blocks.length === 0) return void 0;
|
|
1970
|
-
const text = [
|
|
1971
|
-
"[mu] A human stop is open (mu human-needed), so the settle did not wait. It showed what was already ready:",
|
|
1972
|
-
...blocks.flatMap((b) => ["", b])
|
|
1973
|
-
].join("\n");
|
|
1974
|
-
return { entries: [entry(text)], receipt: true };
|
|
1975
|
-
};
|
|
1976
1927
|
let result;
|
|
1977
1928
|
try {
|
|
1978
1929
|
result = await (async () => {
|
|
@@ -1987,7 +1938,6 @@ ${JSON.stringify(d)}`);
|
|
|
1987
1938
|
)
|
|
1988
1939
|
]
|
|
1989
1940
|
};
|
|
1990
|
-
if (needs > 0) return ready();
|
|
1991
1941
|
const started = Date.now();
|
|
1992
1942
|
const r = await wait(SETTLE_WAIT_ARGS);
|
|
1993
1943
|
const v = envelopeOf(r.stdout);
|
|
@@ -2008,16 +1958,22 @@ ${JSON.stringify(d)}`);
|
|
|
2008
1958
|
const got = callId === void 0 ? void 0 : await answers(callId, shown, d);
|
|
2009
1959
|
const blocks = got?.blocks ?? [];
|
|
2010
1960
|
if (shown.size > 0) delivered([...shown]);
|
|
2011
|
-
const
|
|
2012
|
-
const
|
|
1961
|
+
const stops = Array.isArray(d.humanNeeds) ? d.humanNeeds : [];
|
|
1962
|
+
const humanStop = needs > 0 || stops.length > 0;
|
|
2013
1963
|
const ran = `Work you own is still running, so the settle ran \`mu ${SETTLE_WAIT_ARGS.join(" ")}\` for you.`;
|
|
2014
1964
|
const w = got?.wave;
|
|
2015
|
-
const head = w !== void 0
|
|
1965
|
+
const head = w !== void 0 ? [
|
|
2016
1966
|
w.complete ? `${ran} It waited until wave ${w.label} was in:` : `${ran} It waited for wave ${w.label}, which is not all in (below):`,
|
|
2017
1967
|
...w.notices.map((n) => `Notice: ${n}`)
|
|
2018
1968
|
] : [`${ran} Its result:`, JSON.stringify(d)];
|
|
2019
|
-
const
|
|
2020
|
-
|
|
1969
|
+
const lead = humanStop ? [
|
|
1970
|
+
`[mu] ${HUMAN_STOP_DRAIN}`,
|
|
1971
|
+
...stops.flatMap(
|
|
1972
|
+
(h) => typeof h.reason === "string" ? [`Stop: ${h.reason}`] : []
|
|
1973
|
+
)
|
|
1974
|
+
] : [`[mu] ${rule}`];
|
|
1975
|
+
const text = [...lead, "", ...head, ...blocks.flatMap((b) => ["", b])].join("\n");
|
|
1976
|
+
return { entries: [entry(text)], continue: true, receipt: true };
|
|
2021
1977
|
}
|
|
2022
1978
|
})();
|
|
2023
1979
|
} finally {
|
|
@@ -2102,7 +2058,7 @@ function registerCloseNudge(pi, run = defaultRunner(), env = process.env, nested
|
|
|
2102
2058
|
}
|
|
2103
2059
|
|
|
2104
2060
|
// extension/mu-pi.ts
|
|
2105
|
-
var EXT_VERSION = true ? "4.2.
|
|
2061
|
+
var EXT_VERSION = true ? "4.2.2" : void 0;
|
|
2106
2062
|
var FRESH_COMMAND = "mu-fresh";
|
|
2107
2063
|
var FRESH_TIMEOUT_MS = 3e4;
|
|
2108
2064
|
function commandName(name) {
|