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.
Files changed (32) hide show
  1. package/dist/src/commands/hooks/shared.js +14 -1
  2. package/dist/src/commands/registry/add.js +10 -1
  3. package/dist/src/core/atomic-file.js +24 -2
  4. package/dist/src/core/executor.js +40 -1
  5. package/dist/src/core/install-transaction.js +13 -1
  6. package/dist/src/core/journal/process.js +241 -9
  7. package/dist/tests/commands/hooks/install-symlink-fallback.test.js +25 -0
  8. package/dist/tests/commands/hooks/status.test.js +23 -3
  9. package/dist/tests/commands/job/exec-wrapper.test.js +15 -1
  10. package/dist/tests/commands/job/gate-reconcile.test.js +31 -5
  11. package/dist/tests/commands/preflight/preflight.test.js +4 -1
  12. package/dist/tests/commands/registry/add.test.js +27 -0
  13. package/dist/tests/commands/sensors/changed.test.js +13 -0
  14. package/dist/tests/commands/sensors/exec-windows.test.js +13 -0
  15. package/dist/tests/commands/sensors/exec.test.js +28 -6
  16. package/dist/tests/commands/sensors/formatters/ruff.test.js +22 -6
  17. package/dist/tests/commands/sensors/run-changed.test.js +33 -0
  18. package/dist/tests/commands/watch/e2e-crash.test.js +54 -18
  19. package/dist/tests/commands/watch/runner.test.js +32 -2
  20. package/dist/tests/commands/watch/supervisor-loop.test.js +24 -3
  21. package/dist/tests/core/artifact-state.test.js +11 -1
  22. package/dist/tests/core/atomic-file-durable.test.js +48 -1
  23. package/dist/tests/core/atomic-file.test.js +14 -3
  24. package/dist/tests/core/executor.test.js +58 -0
  25. package/dist/tests/core/install-transaction.test.js +59 -2
  26. package/dist/tests/core/journal/adapter.test.js +54 -0
  27. package/dist/tests/core/journal/fingerprint.test.js +10 -2
  28. package/dist/tests/core/journal/process.test.js +208 -9
  29. package/dist/tests/core/journal/store.test.js +8 -2
  30. package/dist/tests/core/no-color.test.js +23 -0
  31. package/dist/tests/core/registries-sync.test.js +32 -3
  32. 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
- fs_1.default.rmSync(tmpHome, { recursive: true, force: true });
38
- fs_1.default.rmSync(tmpWork, { recursive: true, force: true });
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-workflow-manager",
3
- "version": "3.13.0",
3
+ "version": "3.13.1",
4
4
  "main": "dist/src/index.js",
5
5
  "bin": {
6
6
  "awm": "./dist/src/index.js"