omp-fabric 1.9.0 → 1.10.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/dist/index.js CHANGED
@@ -997,7 +997,6 @@ ${top}` : "fingerprints: (none this session)"
997
997
  getArgumentCompletions: (argumentPrefix) => {
998
998
  const subcommands = [
999
999
  "status",
1000
- "lcm",
1001
1000
  "dashboard",
1002
1001
  "chat",
1003
1002
  "settings",
@@ -1752,58 +1751,9 @@ Inspect LLM I/O: /fabric log ${shortId} \xB7 Export: /fabric export-log ${actor.
1752
1751
  }
1753
1752
  return;
1754
1753
  }
1755
- if (command === "lcm") {
1756
- const config2 = state.config;
1757
- if (config2.compaction.engine !== "lcm") {
1758
- context.ui.notify(`Compaction engine is "${config2.compaction.engine}"; LCM is not assembling context.`, "warning");
1759
- return;
1760
- }
1761
- const lcm = state.lcmStatus();
1762
- if (!lcm) {
1763
- context.ui.notify("LCM ledger is not open yet. It opens when a session starts with the lcm engine.", "warning");
1764
- return;
1765
- }
1766
- const report = lcm.report();
1767
- const coverage = lcm.coverage();
1768
- const percent = coverage.active === 0 ? 0 : Math.round(coverage.covered / coverage.active * 100);
1769
- const seconds = (value) => `${Math.round(value / 1e3)}s`;
1770
- const summaries = report.modelNodes + report.emergencyNodes;
1771
- const hints = [];
1772
- const averageWallMs = report.usage.calls > 0 ? report.usage.wallMs / report.usage.calls : 0;
1773
- const wallLeft = report.budget.wallMs - report.usage.wallMs;
1774
- if (!config2.compaction.lcmModelSummaries) {
1775
- hints.push("Model summaries are disabled by compaction.lcmModelSummaries, so every node is a deterministic excerpt.");
1776
- } else if (report.usage.calls >= report.budget.calls || Number.isFinite(report.budget.wallMs) && averageWallMs > 0 && wallLeft < averageWallMs) {
1777
- hints.push(`The configured model budget cannot fit another summary (${seconds(wallLeft)} left, ${seconds(averageWallMs)} per call), so new nodes use the deterministic reducer. Raise compaction.lcmMaxDailyModelSeconds or compaction.lcmMaxDailyModelCalls, or set them to 0 for no limit.`);
1778
- }
1779
- if (coverage.active > 0 && percent < 50) {
1780
- hints.push("The ready frontier covers less than half of this branch, so a compaction now falls back to an excerpt. Raise compaction.lcmMaintenancePasses to summarize more per turn.");
1781
- }
1782
- if (!report.summaryModel) {
1783
- hints.push("No summary model is set, so summaries bill at the active session model. Pick one in /fabric settings under Compaction.");
1784
- }
1785
- context.ui.notify(
1786
- [
1787
- `project: ${report.projectKey}`,
1788
- `ledger: ${report.state} \xB7 ${report.rawEntries} entries \xB7 session ${report.sessionId ?? "none"} holds ${report.sessionEntries}`,
1789
- `frontier: ${coverage.covered}/${coverage.active} active sources covered (${percent}%)`,
1790
- `nodes: ${summaries} ready \xB7 ${report.modelNodes} written by the model \xB7 ${report.emergencyNodes} deterministic \xB7 ${report.pendingNodes} pending`,
1791
- `jobs: ${report.pendingJobs} pending`,
1792
- `model: ${report.summaryModel || "inherit (active session model)"}`,
1793
- `today: ${report.usage.calls}${Number.isFinite(report.budget.calls) ? `/${report.budget.calls}` : ""} calls \xB7 ${seconds(report.usage.wallMs)}${Number.isFinite(report.budget.wallMs) ? `/${seconds(report.budget.wallMs)}` : ""} \xB7 ${report.usage.inputTokens} in \xB7 ${report.usage.outputTokens} out \xB7 $${report.usage.cost.toFixed(4)}`,
1794
- `budget: ${Number.isFinite(report.budget.calls) || Number.isFinite(report.budget.wallMs) ? "configured" : "no limit; fallback only when the model cannot be called"}`,
1795
- `upgradable: ${report.upgradableNodes} deterministic nodes queued for a model summary`,
1796
- `limits: ${config2.compaction.lcmMaintenancePasses} passes \xD7 up to ${config2.compaction.lcmMaxLeafEntries} entries per leaf within ${config2.compaction.lcmMaxInputChars} chars`,
1797
- ...report.degraded ? [`degraded: ${report.degraded}`] : [],
1798
- ...hints.map((hint) => `hint: ${hint}`)
1799
- ].join("\n"),
1800
- report.degraded ? "error" : "info"
1801
- );
1802
- return;
1803
- }
1804
1754
  if (command !== "status") {
1805
1755
  context.ui.notify(
1806
- "Usage: /fabric [status|lcm|dashboard|chat [id-or-name]|prewalk [task]|prewalk --off|--disable|--enable|reload|providers|agents|actors|global|import <name> [as <new>]|export <id> [--overwrite]|messages <id>|clear-messages <id>|events <id> [event...]|log <id>|export-log <id>|attach <id>|stop <id>|remove <id>|kill <id>|repairs|entropy]",
1756
+ "Usage: /fabric [status|dashboard|chat [id-or-name]|prewalk [task]|prewalk --off|--disable|--enable|reload|providers|agents|actors|global|import <name> [as <new>]|export <id> [--overwrite]|messages <id>|clear-messages <id>|events <id> [event...]|log <id>|export-log <id>|attach <id>|stop <id>|remove <id>|kill <id>|repairs|entropy]",
1807
1757
  "warning"
1808
1758
  );
1809
1759
  return;
@@ -5099,6 +5049,7 @@ var FabricUiController = class {
5099
5049
  return new FabricDashboard(tui, theme, () => this.#snapshot, () => done(void 0), {
5100
5050
  modelSource,
5101
5051
  keybindings,
5052
+ lcmStatus: () => this.state.lcmStatus(),
5102
5053
  ...this.codePreviewSettings ? { codePreviewSettings: this.codePreviewSettings } : {},
5103
5054
  ...claudeModelSource ? { claudeModelSource } : {},
5104
5055
  onTargetMessage,