omp-fabric 1.12.0 → 1.13.0

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,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.13.0
4
+
5
+ ### Fixed
6
+
7
+ - LCM maintenance runs when there is work, so the summary DAG exists before a compaction needs it. 1.12.0 gated maintenance on context occupancy reaching `compaction.softThresholdRatio`, but compaction serves a precomputed frontier and itself pushes occupancy back down, so a real project could sit below the threshold indefinitely while its backlog grew. Measured on a live ledger across a turn boundary: entries rose from 10,001 to 10,005 while pending jobs stayed at 96, completed stayed at 84 and zero model calls were made. A pass is now due when the active branch carries a leaf's worth of uncovered entries, when a claimable job for that branch is waiting, or when occupancy reaches the ratio. The daily and per-session model budgets are the ceiling: an exhausted budget schedules no pass at all, which also stops an exhausted budget from burning a job's attempts until it retires.
8
+ - A maintenance job whose owner died is reclaimed whatever the occupancy. The sweep sat inside the gated pass, so on a project below the threshold a dead lease was stranded forever; the live ledger carried nine, expired between ten and eighteen hours earlier.
9
+ - Long tool rows wrap in the compact display. They were clipped at the right edge with no marker, so the end of a command or an error was simply gone. Compact rows wrap to three rows and say ` …+N` when more was dropped; expanded output is unchanged. The header, the phase row, a failed call's error text and the hidden-calls line were never wrappable in either mode and now are.
10
+
11
+ ### Changed
12
+
13
+ - `compaction.softThresholdRatio` is a floor that forces a maintenance pass, no longer the permission to run one. Maintenance also runs on its own backlog, so the ratio now covers the tail below one leaf before a compaction asks for it. The `0`-is-off convention, the fail-open on an unreadable occupancy reading, and the clamp range are unchanged.
14
+
3
15
  ## 1.12.0
4
16
 
5
17
  ### Fixed
@@ -3981,6 +3981,7 @@ var configuredDiffWrapRows = Number.parseInt(
3981
3981
  10
3982
3982
  );
3983
3983
  var DIFF_WRAP_ROWS = Number.isFinite(configuredDiffWrapRows) && configuredDiffWrapRows > 0 ? configuredDiffWrapRows : 3;
3984
+ var COMPACT_WRAP_ROWS = 3;
3984
3985
  var EXPAND_KEYBINDING = "app.tools.expand";
3985
3986
  var COLLAPSED_MULTICALL_LIMIT = 8;
3986
3987
  var EXPANDED_MULTICALL_LIMIT = 30;
@@ -4040,12 +4041,20 @@ var truncateBoundedLine = (line, width) => {
4040
4041
  }
4041
4042
  return truncated.endsWith(TEXT_SGR_RESET) ? truncated : truncated + TEXT_SGR_RESET;
4042
4043
  };
4044
+ var appendWrapDropMarker = (row, width, dropped, theme) => {
4045
+ const marker = ` \u2026+${dropped}`;
4046
+ const markerWidth = visibleWidth2(marker);
4047
+ if (width <= markerWidth + 2) return truncateBoundedLine(row, width);
4048
+ const head = truncateBoundedLine(row, width - markerWidth);
4049
+ return head + (theme ? theme.fg("dim", marker) : marker);
4050
+ };
4043
4051
  var BoundedLineList = class _BoundedLineList {
4044
- constructor(lines, theme, diffIntensity = "off", wrapLineIndexes, inheritBackground = false) {
4052
+ constructor(lines, theme, diffIntensity = "off", wrapLineIndexes, wrapRowLimit, inheritBackground = false) {
4045
4053
  this.lines = lines;
4046
4054
  this.theme = theme;
4047
4055
  this.diffIntensity = diffIntensity;
4048
4056
  this.wrapLineIndexes = wrapLineIndexes;
4057
+ this.wrapRowLimit = wrapRowLimit;
4049
4058
  this.inheritBackground = inheritBackground;
4050
4059
  }
4051
4060
  #cachedWidth;
@@ -4066,12 +4075,13 @@ var BoundedLineList = class _BoundedLineList {
4066
4075
  line,
4067
4076
  Math.max(1, width - visibleWidth2(continuationIndent))
4068
4077
  );
4069
- renderedRows = wrapped.map(
4070
- (row, index) => truncateBoundedLine(
4071
- index === 0 ? row : continuationIndent + row,
4072
- width
4073
- )
4074
- );
4078
+ const limit = Math.max(1, this.wrapRowLimit ?? wrapped.length);
4079
+ const kept = wrapped.slice(0, limit);
4080
+ const dropped = wrapped.length - kept.length;
4081
+ renderedRows = kept.map((row, index) => {
4082
+ const indented = index === 0 ? row : continuationIndent + row;
4083
+ return dropped > 0 && index === kept.length - 1 ? appendWrapDropMarker(indented, width, dropped, this.theme) : truncateBoundedLine(indented, width);
4084
+ });
4075
4085
  } else renderedRows = [truncateBoundedLine(line, width)];
4076
4086
  rows.push(...this.inheritBackground ? renderedRows.map(inheritEnclosingBackground) : renderedRows);
4077
4087
  continue;
@@ -4102,6 +4112,7 @@ var BoundedLineList = class _BoundedLineList {
4102
4112
  this.theme,
4103
4113
  this.diffIntensity,
4104
4114
  this.wrapLineIndexes,
4115
+ this.wrapRowLimit,
4105
4116
  true
4106
4117
  );
4107
4118
  }
@@ -4123,7 +4134,7 @@ var InheritedBackgroundComponent = class {
4123
4134
  }
4124
4135
  };
4125
4136
  var inheritComponentBackground = (component) => component instanceof BoundedLineList ? component.withInheritedBackground() : new InheritedBackgroundComponent(component);
4126
- var renderBoundedLines = (lines, theme, diffIntensity = "off", wrapLineIndexes) => new BoundedLineList(lines, theme, diffIntensity, wrapLineIndexes);
4137
+ var renderBoundedLines = (lines, theme, diffIntensity = "off", wrapLineIndexes, wrapRowLimit) => new BoundedLineList(lines, theme, diffIntensity, wrapLineIndexes, wrapRowLimit);
4127
4138
  var fabricMulticallCallLimit = (expanded) => expanded ? EXPANDED_MULTICALL_LIMIT : COLLAPSED_MULTICALL_LIMIT;
4128
4139
  var visibleMulticallAudits = (audits, expanded) => {
4129
4140
  const limit = fabricMulticallCallLimit(expanded);
@@ -4620,8 +4631,10 @@ var renderFabricMulticallPartial = (input, theme, invalidate) => {
4620
4631
  const progress = input.progress ? compactProgressPreview(input.progress) : "";
4621
4632
  if (progress) header += theme.fg("dim", ` \xB7 ${progress}`);
4622
4633
  const rows = [header];
4623
- const wrapLineIndexes = input.expanded ? /* @__PURE__ */ new Set() : void 0;
4634
+ const wrapLineIndexes = /* @__PURE__ */ new Set([0]);
4635
+ const wrapRowLimit = input.expanded ? void 0 : COMPACT_WRAP_ROWS;
4624
4636
  if (input.phases.length > 0) {
4637
+ wrapLineIndexes.add(rows.length);
4625
4638
  rows.push(theme.fg("dim", input.phases.map((phase) => `\u25C6 ${phase}`).join(" ")));
4626
4639
  }
4627
4640
  const callsShown = visibleMulticallAudits(input.audits, input.expanded);
@@ -4642,7 +4655,7 @@ var renderFabricMulticallPartial = (input, theme, invalidate) => {
4642
4655
  } else if (previewLines[0]) {
4643
4656
  callRow += ` ${previewLines[0]}`;
4644
4657
  }
4645
- if (previewLines.length > 0) wrapLineIndexes?.add(rows.length);
4658
+ wrapLineIndexes.add(rows.length);
4646
4659
  rows.push(callRow);
4647
4660
  if (audit.success !== false && input.preview?.auditIndex === auditIndex) {
4648
4661
  for (const line of input.preview.body.split("\n")) rows.push(` ${line}`);
@@ -4657,7 +4670,7 @@ var renderFabricMulticallPartial = (input, theme, invalidate) => {
4657
4670
  }
4658
4671
  if (audit.success !== false && previewLines.length > 1) {
4659
4672
  for (const line of previewLines.slice(1)) {
4660
- wrapLineIndexes?.add(rows.length);
4673
+ wrapLineIndexes.add(rows.length);
4661
4674
  rows.push(line);
4662
4675
  }
4663
4676
  }
@@ -4665,6 +4678,7 @@ var renderFabricMulticallPartial = (input, theme, invalidate) => {
4665
4678
  const callsHidden = input.audits.length - callsShown.length;
4666
4679
  if (callsHidden > 0) {
4667
4680
  const label = `\u2026 ${callsHidden} nested ${callsHidden === 1 ? "call" : "calls"} hidden`;
4681
+ wrapLineIndexes.add(rows.length);
4668
4682
  rows.push(
4669
4683
  theme.fg("dim", label) + (input.expanded ? "" : theme.fg("dim", " \xB7 ") + expandHint(theme))
4670
4684
  );
@@ -4673,7 +4687,8 @@ var renderFabricMulticallPartial = (input, theme, invalidate) => {
4673
4687
  rows,
4674
4688
  theme,
4675
4689
  input.core?.settings.diffIntensity ?? "off",
4676
- wrapLineIndexes
4690
+ wrapLineIndexes,
4691
+ wrapRowLimit
4677
4692
  );
4678
4693
  };
4679
4694
  var CORE_TOOL_NAMES = /* @__PURE__ */ new Set(["bash", "read", "write", "edit", "grep", "find", "ls"]);
@@ -4976,4 +4991,4 @@ export {
4976
4991
  formatJsonAsYaml,
4977
4992
  formatFabricValue
4978
4993
  };
4979
- //# sourceMappingURL=chunk-NVLD2FPK.js.map
4994
+ //# sourceMappingURL=chunk-XH6SP6UI.js.map