agentic-workflow-manager 3.13.0 → 3.13.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/src/commands/hooks/shared.js +14 -1
- package/dist/src/commands/registry/add.js +10 -1
- package/dist/src/core/atomic-file.js +24 -2
- package/dist/src/core/executor.js +40 -1
- package/dist/src/core/install-transaction.js +13 -1
- package/dist/src/core/journal/process.js +241 -9
- package/dist/tests/commands/hooks/install-symlink-fallback.test.js +25 -0
- package/dist/tests/commands/hooks/status.test.js +23 -3
- package/dist/tests/commands/job/exec-wrapper.test.js +15 -1
- package/dist/tests/commands/job/gate-reconcile.test.js +31 -5
- package/dist/tests/commands/preflight/preflight.test.js +4 -1
- package/dist/tests/commands/registry/add.test.js +27 -0
- package/dist/tests/commands/sensors/changed.test.js +13 -0
- package/dist/tests/commands/sensors/exec-windows.test.js +13 -0
- package/dist/tests/commands/sensors/exec.test.js +28 -6
- package/dist/tests/commands/sensors/formatters/ruff.test.js +22 -6
- package/dist/tests/commands/sensors/run-changed.test.js +33 -0
- package/dist/tests/commands/watch/e2e-crash.test.js +54 -18
- package/dist/tests/commands/watch/runner.test.js +32 -2
- package/dist/tests/commands/watch/supervisor-loop.test.js +24 -3
- package/dist/tests/core/artifact-state.test.js +11 -1
- package/dist/tests/core/atomic-file-durable.test.js +48 -1
- package/dist/tests/core/atomic-file.test.js +14 -3
- package/dist/tests/core/executor.test.js +58 -0
- package/dist/tests/core/install-transaction.test.js +59 -2
- package/dist/tests/core/journal/adapter.test.js +54 -0
- package/dist/tests/core/journal/fingerprint.test.js +10 -2
- package/dist/tests/core/journal/process.test.js +208 -9
- package/dist/tests/core/journal/store.test.js +8 -2
- package/dist/tests/core/no-color.test.js +23 -0
- package/dist/tests/core/registries-sync.test.js +32 -3
- package/package.json +1 -1
|
@@ -9,6 +9,35 @@ const path_1 = __importDefault(require("path"));
|
|
|
9
9
|
const os_1 = __importDefault(require("os"));
|
|
10
10
|
const child_process_1 = require("child_process");
|
|
11
11
|
const GIT = (cwd, cmd) => (0, child_process_1.execSync)(`git -c user.email=t@t.t -c user.name=t -c tag.gpgSign=false ${cmd}`, { cwd, stdio: 'pipe' });
|
|
12
|
+
// Real `git clone`/`pull` against local file:// fixtures, several times per
|
|
13
|
+
// test — on windows-latest CI this is measurably slower than on POSIX (NTFS
|
|
14
|
+
// overhead, antivirus scanning of freshly-written objects) and the jest
|
|
15
|
+
// default of 5000ms proved too tight in real CI (regression: real windows-latest
|
|
16
|
+
// run, "Exceeded timeout of 5000 ms"). Matches the pattern already used by
|
|
17
|
+
// other real-subprocess suites in this repo (supervisor-loop.test.ts: 60000,
|
|
18
|
+
// e2e-crash.test.ts: 180000).
|
|
19
|
+
jest.setTimeout(30000);
|
|
20
|
+
/** git en win32 puede mantener un handle abierto sobre `.git/objects` por un
|
|
21
|
+
* instante despues de que el proceso `git` retorna (buffering/flush del
|
|
22
|
+
* filesystem, o un git-index-lock que el SO tarda en soltar) — rmSync
|
|
23
|
+
* inmediato entonces produce EBUSY/ENOTEMPTY (regresion: real windows-latest
|
|
24
|
+
* CI). Mismo patron ya aplicado en tests/commands/watch/runner.test.ts para
|
|
25
|
+
* un problema de fondo identico (escritura async en vuelo vs cleanup
|
|
26
|
+
* inmediato). */
|
|
27
|
+
async function rmSyncRetryingBusy(target, attempts = 10, delayMs = 100) {
|
|
28
|
+
for (let i = 0; i < attempts; i++) {
|
|
29
|
+
try {
|
|
30
|
+
fs_1.default.rmSync(target, { recursive: true, force: true });
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
const code = error.code;
|
|
35
|
+
if ((code !== 'EBUSY' && code !== 'ENOTEMPTY') || i === attempts - 1)
|
|
36
|
+
throw error;
|
|
37
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
12
41
|
/** Creates a git source repo with a skill, returns its path (serves as local remote). */
|
|
13
42
|
function makeSourceRepo(base, skillName) {
|
|
14
43
|
const dir = path_1.default.join(base, `src-${skillName}`);
|
|
@@ -33,9 +62,9 @@ describe('syncRegistries (git fixtures locales)', () => {
|
|
|
33
62
|
process.env.AWM_HOME = path_1.default.join(tmpHome, '.awm');
|
|
34
63
|
jest.resetModules();
|
|
35
64
|
});
|
|
36
|
-
afterEach(() => {
|
|
37
|
-
|
|
38
|
-
|
|
65
|
+
afterEach(async () => {
|
|
66
|
+
await rmSyncRetryingBusy(tmpHome);
|
|
67
|
+
await rmSyncRetryingBusy(tmpWork);
|
|
39
68
|
if (originalHome === undefined)
|
|
40
69
|
delete process.env.HOME;
|
|
41
70
|
else
|