omp-fabric 1.25.17 → 1.25.19

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.25.19
4
+
5
+ ### Changed
6
+
7
+ - Host pins move from `18.5.0` to `18.6.0`; the declared peer floor stays `>=18.4.4`.
8
+
9
+ ### Changed (breaking)
10
+
11
+ - OMP 18.6.0 changed host `wait` with nothing running from an ok result (`No running background jobs…`) into a thrown `ToolError` (`Nothing to wait for…`). Fabric passes that through, so `omp.wait()` now rejects when no job or service is running instead of returning. The `fabric-exec` skill and the kernel guidance say so, and `docs/certification.md` records the re-certified 18.6.0 host.
12
+
13
+ ## 1.25.18
14
+
15
+ ### Fixed
16
+
17
+ - Full output that `omp.bash` keeps for truncated results (up to the host's 16 MiB artifact cap per call) went into an `omp-fabric-bash-*` directory under the system temp directory, one per session, and nothing ever removed it. On a memory-backed `/tmp` those piled up: 624 were found on one workstation. The directories now live under `$XDG_STATE_HOME/omp-fabric/bash`, each records its owning process, and a new session removes the directory of any process that has been dead for six hours.
18
+
3
19
  ## 1.25.17
4
20
 
5
21
  ### Fixed
@@ -10,7 +10,7 @@ import {
10
10
  lifecycleSourceIdentity,
11
11
  loadModelUsage,
12
12
  useBudgetLedger
13
- } from "./chunk-UTIWD7RH.js";
13
+ } from "./chunk-YNABLCR3.js";
14
14
  import {
15
15
  normalizeModelAliases,
16
16
  resolveAvailableOmpModel
@@ -685,4 +685,4 @@ if (isMain) {
685
685
  export {
686
686
  runResidentHostFromConfigPath
687
687
  };
688
- //# sourceMappingURL=chunk-4DGRKZ6E.js.map
688
+ //# sourceMappingURL=chunk-NPM24GG6.js.map
@@ -1598,7 +1598,11 @@ import fs8 from "node:fs";
1598
1598
  import os2 from "node:os";
1599
1599
  import path9 from "node:path";
1600
1600
  var FABRIC_RUN_ROOT_PREFIX = "omp-fabric-runs-";
1601
- var defaultRunRootParent = (env = process.env) => path9.join(env.XDG_STATE_HOME || path9.join(env.HOME || os2.homedir(), ".local", "state"), "omp-fabric", "runs");
1601
+ var fabricStateRoot = (env) => path9.join(env.XDG_STATE_HOME || path9.join(env.HOME || os2.homedir(), ".local", "state"), "omp-fabric");
1602
+ var defaultRunRootParent = (env = process.env) => path9.join(fabricStateRoot(env), "runs");
1603
+ var FABRIC_BASH_ROOT_PREFIX = "omp-fabric-bash-";
1604
+ var BASH_ROOT_ORPHAN_RETENTION_MS = 6 * 60 * 60 * 1e3;
1605
+ var defaultBashRootParent = (env = process.env) => path9.join(fabricStateRoot(env), "bash");
1602
1606
  var RUN_ROOT_OWNER_FILE = ".fabric-owner.json";
1603
1607
  var TERMINAL_STATUSES = /* @__PURE__ */ new Set(["completed", "failed", "stopped", "timed_out"]);
1604
1608
  var ownerPath = (root) => path9.join(root, RUN_ROOT_OWNER_FILE);
@@ -1679,6 +1683,7 @@ var removeIfEmpty = (root) => {
1679
1683
  };
1680
1684
  var sweepTempRunRoots = (options) => {
1681
1685
  const now = options.now ?? Date.now();
1686
+ const prefix = options.prefix ?? FABRIC_RUN_ROOT_PREFIX;
1682
1687
  const result = { removedRoots: [], removedRuns: [] };
1683
1688
  let entries;
1684
1689
  try {
@@ -1687,7 +1692,7 @@ var sweepTempRunRoots = (options) => {
1687
1692
  return result;
1688
1693
  }
1689
1694
  for (const entry of entries) {
1690
- if (!entry.isDirectory() || !entry.name.startsWith(FABRIC_RUN_ROOT_PREFIX)) continue;
1695
+ if (!entry.isDirectory() || !entry.name.startsWith(prefix)) continue;
1691
1696
  const root = path9.join(options.tempRoot, entry.name);
1692
1697
  if (options.currentRoot && path9.resolve(root) === path9.resolve(options.currentRoot)) continue;
1693
1698
  const owner = readJson(ownerPath(root));
@@ -1724,6 +1729,23 @@ var sweepTempRunRoots = (options) => {
1724
1729
  }
1725
1730
  return result;
1726
1731
  };
1732
+ var createBashArtifactRoot = (env = process.env, now = Date.now()) => {
1733
+ const parent = defaultBashRootParent(env);
1734
+ fs8.mkdirSync(parent, { recursive: true, mode: 448 });
1735
+ try {
1736
+ sweepTempRunRoots({
1737
+ tempRoot: parent,
1738
+ orphanedTempRunRetentionMs: BASH_ROOT_ORPHAN_RETENTION_MS,
1739
+ oneShotRunRetentionMs: BASH_ROOT_ORPHAN_RETENTION_MS,
1740
+ now,
1741
+ prefix: FABRIC_BASH_ROOT_PREFIX
1742
+ });
1743
+ } catch {
1744
+ }
1745
+ const root = fs8.mkdtempSync(path9.join(parent, FABRIC_BASH_ROOT_PREFIX));
1746
+ markRunRootActive(root, now);
1747
+ return root;
1748
+ };
1727
1749
  var pruneActorRunArchives = (options) => {
1728
1750
  const now = options.now ?? Date.now();
1729
1751
  const removed = [];
@@ -6788,6 +6810,7 @@ export {
6788
6810
  ensureFabricStateExclude,
6789
6811
  addCloneFirstWorktree,
6790
6812
  useBudgetLedger,
6813
+ createBashArtifactRoot,
6791
6814
  effectiveAgentTimeoutMs,
6792
6815
  validateAgentCwdRequest,
6793
6816
  resolveAgentCwd,
@@ -6802,4 +6825,4 @@ export {
6802
6825
  agentParticipantRecords,
6803
6826
  actorParticipantRecord
6804
6827
  };
6805
- //# sourceMappingURL=chunk-UTIWD7RH.js.map
6828
+ //# sourceMappingURL=chunk-YNABLCR3.js.map