@cortexkit/opencode-magic-context 0.33.1 → 0.34.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 (240) hide show
  1. package/README.md +20 -3
  2. package/dist/config/agent-disable.d.ts +22 -0
  3. package/dist/config/agent-disable.d.ts.map +1 -1
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/migrate-experimental.d.ts +2 -1
  6. package/dist/config/migrate-experimental.d.ts.map +1 -1
  7. package/dist/config/project-security.d.ts +9 -0
  8. package/dist/config/project-security.d.ts.map +1 -1
  9. package/dist/config/schema/magic-context.d.ts +90 -17
  10. package/dist/config/schema/magic-context.d.ts.map +1 -1
  11. package/dist/config/transform-mode.d.ts +2 -0
  12. package/dist/config/transform-mode.d.ts.map +1 -1
  13. package/dist/{conflict-warning-hook-n48c783v.js → conflict-warning-hook-fvpfvt0w.js} +1 -1
  14. package/dist/{derive-budgets-e9j09sjr.js → derive-budgets-9crp0cvd.js} +1 -1
  15. package/dist/features/builtin-commands/commands.d.ts +1 -1
  16. package/dist/features/builtin-commands/commands.d.ts.map +1 -1
  17. package/dist/features/magic-context/compaction-marker.d.ts +57 -0
  18. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  19. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/classify.d.ts +1 -0
  21. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  23. package/dist/features/magic-context/dreamer/map-memories.d.ts +1 -0
  24. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  25. package/dist/features/magic-context/dreamer/refresh-primers.d.ts +1 -0
  26. package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
  27. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +2 -0
  28. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
  29. package/dist/features/magic-context/dreamer/task-executor.d.ts +4 -1
  30. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  31. package/dist/features/magic-context/dreamer/task-gates.d.ts +19 -1
  32. package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
  33. package/dist/features/magic-context/dreamer/task-registry.d.ts +28 -0
  34. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  35. package/dist/features/magic-context/dreamer/task-scheduler.d.ts +7 -1
  36. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  37. package/dist/features/magic-context/dreamer/verify.d.ts +1 -0
  38. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  39. package/dist/features/magic-context/fail-closed-block.d.ts +10 -0
  40. package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -1
  41. package/dist/features/magic-context/git-commits/storage-git-commit-embeddings.d.ts.map +1 -1
  42. package/dist/features/magic-context/git-commits/storage-git-commits.d.ts.map +1 -1
  43. package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
  44. package/dist/features/magic-context/memory/embedding-local.d.ts +7 -1
  45. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  46. package/dist/features/magic-context/memory/embedding.d.ts.map +1 -1
  47. package/dist/features/magic-context/memory/memory-migration.d.ts.map +1 -1
  48. package/dist/features/magic-context/memory/project-identity.d.ts +2 -6
  49. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  50. package/dist/features/magic-context/memory/storage-memory-embeddings.d.ts.map +1 -1
  51. package/dist/features/magic-context/migrations.d.ts +23 -1
  52. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  53. package/dist/features/magic-context/mural/compress-cues.d.ts +1 -0
  54. package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
  55. package/dist/features/magic-context/mural/render-mural.d.ts.map +1 -1
  56. package/dist/features/magic-context/overflow-detection.d.ts +8 -1
  57. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  58. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  59. package/dist/features/magic-context/scheduler.d.ts.map +1 -1
  60. package/dist/features/magic-context/schema-fence-probe.d.ts +28 -0
  61. package/dist/features/magic-context/schema-fence-probe.d.ts.map +1 -0
  62. package/dist/features/magic-context/sidekick/agent.d.ts.map +1 -1
  63. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  64. package/dist/features/magic-context/storage-db.d.ts +37 -2
  65. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  66. package/dist/features/magic-context/storage-meta-persisted.d.ts +38 -4
  67. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  68. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  69. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  70. package/dist/features/magic-context/storage.d.ts +2 -2
  71. package/dist/features/magic-context/storage.d.ts.map +1 -1
  72. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/boundary-execution.d.ts +1 -1
  74. package/dist/hooks/magic-context/boundary-execution.d.ts.map +1 -1
  75. package/dist/hooks/magic-context/cache-busting-signals.d.ts +1 -0
  76. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
  77. package/dist/hooks/magic-context/child-session-spawn.d.ts +26 -0
  78. package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -0
  79. package/dist/hooks/magic-context/command-handler.d.ts +3 -0
  80. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  81. package/dist/hooks/magic-context/compaction-off-transition.d.ts +96 -0
  82. package/dist/hooks/magic-context/compaction-off-transition.d.ts.map +1 -0
  83. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +2 -0
  84. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  86. package/dist/hooks/magic-context/compartment-runner-mapping.d.ts.map +1 -1
  87. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  88. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  89. package/dist/hooks/magic-context/compartment-trigger.d.ts +12 -5
  90. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +47 -1
  92. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -1
  93. package/dist/hooks/magic-context/emergency-drop.d.ts +2 -2
  94. package/dist/hooks/magic-context/event-handler.d.ts +7 -0
  95. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  96. package/dist/hooks/magic-context/event-resolvers.d.ts +13 -21
  97. package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
  98. package/dist/hooks/magic-context/execute-status.d.ts +5 -1
  99. package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
  100. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +2 -0
  101. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  102. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +1 -1
  103. package/dist/hooks/magic-context/hook-handlers.d.ts +1 -0
  104. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  105. package/dist/hooks/magic-context/hook.d.ts +14 -6
  106. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  107. package/dist/hooks/magic-context/inject-compartments.d.ts +10 -1
  108. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  109. package/dist/hooks/magic-context/live-session-state.d.ts +3 -0
  110. package/dist/hooks/magic-context/live-session-state.d.ts.map +1 -1
  111. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  112. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  113. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  114. package/dist/hooks/magic-context/rust-mode-transform.d.ts +3 -0
  115. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  116. package/dist/hooks/magic-context/send-session-notification.d.ts +20 -1
  117. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
  118. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +3 -0
  119. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  120. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +31 -1
  121. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  122. package/dist/hooks/magic-context/transform.d.ts +29 -2
  123. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  124. package/dist/{index-56yjaeb2.js → index-2y0ybv5x.js} +11 -1
  125. package/dist/{index-ey1bc14z.js → index-b563sga5.js} +7 -264
  126. package/dist/{index-y1c9tcm3.js → index-cn960ffd.js} +101 -20
  127. package/dist/{index-xyaekybw.js → index-dtas91s5.js} +6 -4
  128. package/dist/index-fcyvznch.js +279 -0
  129. package/dist/{index-63dq2g4d.js → index-ry8rh8cv.js} +138 -24
  130. package/dist/{index-c2gahrks.js → index-x8spt5wy.js} +1682 -893
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +1677 -723
  133. package/dist/plugin/dream-timer.d.ts +4 -2
  134. package/dist/plugin/dream-timer.d.ts.map +1 -1
  135. package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
  136. package/dist/plugin/hooks/create-session-hooks.d.ts +12 -1
  137. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  138. package/dist/plugin/messages-transform.d.ts +10 -0
  139. package/dist/plugin/messages-transform.d.ts.map +1 -1
  140. package/dist/plugin/rpc-handlers.d.ts +3 -7
  141. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  142. package/dist/plugin/tool-registry.d.ts +8 -0
  143. package/dist/plugin/tool-registry.d.ts.map +1 -1
  144. package/dist/{recomp-orchestrator-2yb2hfh2.js → recomp-orchestrator-k72ejkkh.js} +6 -4
  145. package/dist/send-session-notification-6njqewzk.js +20 -0
  146. package/dist/shared/conflict-detector.d.ts +38 -1
  147. package/dist/shared/conflict-detector.d.ts.map +1 -1
  148. package/dist/shared/conflict-fixer.d.ts +18 -1
  149. package/dist/shared/conflict-fixer.d.ts.map +1 -1
  150. package/dist/shared/context-limit-provenance.d.ts +3 -0
  151. package/dist/shared/context-limit-provenance.d.ts.map +1 -0
  152. package/dist/shared/escalation-bands.d.ts +9 -0
  153. package/dist/shared/escalation-bands.d.ts.map +1 -0
  154. package/dist/shared/format-threshold.d.ts +1 -1
  155. package/dist/shared/models-dev-cache.d.ts +29 -3
  156. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  157. package/dist/shared/rpc-server.d.ts.map +1 -1
  158. package/dist/shared/rpc-types.d.ts +51 -1
  159. package/dist/shared/rpc-types.d.ts.map +1 -1
  160. package/dist/shared/rpc-utils.d.ts +19 -0
  161. package/dist/shared/rpc-utils.d.ts.map +1 -1
  162. package/dist/shared/storage-permissions.d.ts +5 -0
  163. package/dist/shared/storage-permissions.d.ts.map +1 -0
  164. package/dist/shared/tui-runtime-specifiers.d.ts +20 -0
  165. package/dist/shared/tui-runtime-specifiers.d.ts.map +1 -0
  166. package/dist/{storage-meta-session-td6bwtky.js → storage-meta-session-xt41zbw4.js} +2 -1
  167. package/dist/{task-config-5nx3qfz8.js → task-config-gbp7r23g.js} +1 -1
  168. package/dist/tui/compaction-off.d.ts +13 -0
  169. package/dist/tui/compaction-off.d.ts.map +1 -0
  170. package/dist/tui/data/context-db.d.ts.map +1 -1
  171. package/dist/tui-compiled/compaction-off.d.ts +13 -0
  172. package/dist/tui-compiled/compaction-off.d.ts.map +1 -0
  173. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  174. package/package.json +6 -1
  175. package/src/agents/dreamer.ts +68 -0
  176. package/src/agents/hidden-agent-registrations.ts +331 -0
  177. package/src/agents/historian.ts +3 -0
  178. package/src/agents/language-directive.test.ts +138 -0
  179. package/src/agents/language-directive.ts +121 -0
  180. package/src/agents/magic-context-prompt.language.test.ts +35 -0
  181. package/src/agents/magic-context-prompt.test.ts +292 -0
  182. package/src/agents/magic-context-prompt.ts +182 -0
  183. package/src/agents/permissions.test.ts +252 -0
  184. package/src/agents/permissions.ts +186 -0
  185. package/src/agents/sidekick.ts +1 -0
  186. package/src/agents/smart-note-compiler.ts +1 -0
  187. package/src/config/agent-disable.ts +106 -0
  188. package/src/config/compaction-accessor-guard.test.ts +82 -0
  189. package/src/config/compaction-backcompat.test.ts +52 -0
  190. package/src/config/index.test.ts +936 -0
  191. package/src/config/index.ts +601 -0
  192. package/src/config/migrate-config-location.test.ts +332 -0
  193. package/src/config/migrate-config-location.ts +635 -0
  194. package/src/config/migrate-dreamer-v2.test.ts +287 -0
  195. package/src/config/migrate-dreamer-v2.ts +336 -0
  196. package/src/config/migrate-experimental.test.ts +41 -0
  197. package/src/config/migrate-experimental.ts +185 -0
  198. package/src/config/project-security.test.ts +388 -0
  199. package/src/config/project-security.ts +611 -0
  200. package/src/config/prune-config-leaf.test.ts +78 -0
  201. package/src/config/prune-config-leaf.ts +68 -0
  202. package/src/config/removed-config-keys.test.ts +116 -0
  203. package/src/config/schema/agent-overrides.ts +45 -0
  204. package/src/config/schema/magic-context.test.ts +359 -0
  205. package/src/config/schema/magic-context.ts +991 -0
  206. package/src/config/transform-mode.test.ts +62 -0
  207. package/src/config/transform-mode.ts +34 -0
  208. package/src/config/variable.test.ts +323 -0
  209. package/src/config/variable.ts +192 -0
  210. package/src/features/magic-context/defaults.ts +1 -0
  211. package/src/features/magic-context/dreamer/cron.ts +243 -0
  212. package/src/features/magic-context/dreamer/task-registry.ts +151 -0
  213. package/src/shared/conflict-detector.test.ts +121 -0
  214. package/src/shared/conflict-detector.ts +50 -3
  215. package/src/shared/conflict-fixer.test.ts +309 -0
  216. package/src/shared/conflict-fixer.ts +82 -5
  217. package/src/shared/context-limit-provenance.ts +6 -0
  218. package/src/shared/escalation-bands.test.ts +23 -0
  219. package/src/shared/escalation-bands.ts +18 -0
  220. package/src/shared/format-threshold.ts +1 -1
  221. package/src/shared/models-dev-cache.test.ts +171 -0
  222. package/src/shared/models-dev-cache.ts +195 -38
  223. package/src/shared/rpc-server.ts +27 -18
  224. package/src/shared/rpc-types.ts +55 -1
  225. package/src/shared/rpc-utils.test.ts +157 -0
  226. package/src/shared/rpc-utils.ts +137 -0
  227. package/src/shared/storage-permissions.ts +20 -0
  228. package/src/shared/tui-runtime-specifiers.ts +32 -0
  229. package/src/tui/compaction-off.test.ts +56 -0
  230. package/src/tui/compaction-off.ts +29 -0
  231. package/src/tui/data/context-db.ts +6 -0
  232. package/src/tui/index.tsx +113 -65
  233. package/src/tui/slots/sidebar-content.tsx +189 -91
  234. package/src/tui/tui-compiled-runtime-imports.test.ts +151 -0
  235. package/src/tui-compiled/compaction-off.ts +29 -0
  236. package/src/tui-compiled/data/context-db.ts +6 -0
  237. package/src/tui-compiled/index.tsx +558 -455
  238. package/src/tui-compiled/slots/sidebar-content.tsx +334 -169
  239. package/dist/send-session-notification-tghq9gnh.js +0 -11
  240. /package/dist/{index-v7fmc1s2.js → index-ygcng9t8.js} +0 -0
@@ -7,11 +7,12 @@ import { insert as _$insert } from "opentui:runtime-module:%40opentui%2Fsolid";
7
7
  import { setProp as _$setProp } from "opentui:runtime-module:%40opentui%2Fsolid";
8
8
  import { createElement as _$createElement } from "opentui:runtime-module:%40opentui%2Fsolid";
9
9
  /** @jsxImportSource @opentui/solid */
10
- import { Show, createEffect, createMemo, createSignal, on, onCleanup } from "opentui:runtime-module:solid-js";
10
+ import { For, Show, createEffect, createMemo, createSignal, on, onCleanup } from "opentui:runtime-module:solid-js";
11
11
  import packageJson from "../../../package.json";
12
12
  import { badgeTextColor } from "../badge-contrast";
13
13
  import { loadSidebarSnapshot } from "../data/context-db";
14
14
  import { formatThresholdPercent } from "../../shared/format-threshold";
15
+ import { compactionOffSidebarRows, nativeCompactionContextLabel } from "../compaction-off";
15
16
  import { computeEffectiveOrder, DEFAULT_SLOT_ORDER, PLUGIN_KEY, queueTuiPreferenceUpdate, readTuiPreferencesFile, readTuiPreferencesFileSync, resolveMagicContextPrefs, watchTuiPreferences } from "../../shared/tui-preferences";
16
17
 
17
18
  // Module-level hook so the upgrade/recomp dialog can kick the sidebar into its
@@ -19,9 +20,15 @@ import { computeEffectiveOrder, DEFAULT_SLOT_ORDER, PLUGIN_KEY, queueTuiPreferen
19
20
  // parent-session message event (the RPC upgrade/recomp call fires none). The
20
21
  // mounted SidebarContent registers its refresh here.
21
22
  let activeRecompPollKick = null;
23
+ let activeSidebarRefresh = null;
22
24
  export function kickRecompProgressRefresh() {
23
25
  activeRecompPollKick?.();
24
26
  }
27
+
28
+ /** Ask the mounted sidebar to fetch an out-of-band status update now. */
29
+ export function refreshSidebarSnapshot() {
30
+ activeSidebarRefresh?.();
31
+ }
25
32
  const SINGLE_BORDER = {
26
33
  type: "single"
27
34
  };
@@ -672,10 +679,12 @@ const SidebarContent = props => {
672
679
  recompTick();
673
680
  }
674
681
  activeRecompPollKick = kickRecompPoll;
682
+ activeSidebarRefresh = refresh;
675
683
  onCleanup(() => {
676
684
  if (refreshTimer) clearTimeout(refreshTimer);
677
685
  stopRecompPoll();
678
686
  if (activeRecompPollKick === kickRecompPoll) activeRecompPollKick = null;
687
+ if (activeSidebarRefresh === refresh) activeSidebarRefresh = null;
679
688
  });
680
689
 
681
690
  // Refresh on session change
@@ -704,7 +713,9 @@ const SidebarContent = props => {
704
713
  defer: false
705
714
  }));
706
715
  const s = createMemo(() => snapshot());
716
+ const compactionOff = () => s()?.compaction_enabled === false;
707
717
  const contextSummaryColor = createMemo(() => {
718
+ if (compactionOff()) return props.theme.accent;
708
719
  const usage = s()?.usagePercentage ?? 0;
709
720
  if (usage >= 80) return props.theme.error;
710
721
  if (usage >= 65) return props.theme.warning;
@@ -741,50 +752,92 @@ const SidebarContent = props => {
741
752
  _$insertNode(_el$30, _el$31);
742
753
  _$insert(_el$30, () => packageJson.version, null);
743
754
  _$insert(_el$25, (() => {
744
- var _c$2 = _$memo(() => !!(s() && s().inputTokens > 0));
755
+ var _c$2 = _$memo(() => !!s()?.lastTransformError);
745
756
  return () => _c$2() && (() => {
746
- var _el$32 = _$createElement("box");
747
- _$setProp(_el$32, "flexDirection", "column");
748
- _$insert(_el$32, (() => {
749
- var _c$5 = _$memo(() => (s()?.contextLimit ?? 0) > 0);
750
- return () => _c$5() && (() => {
751
- var _el$33 = _$createElement("box"),
752
- _el$34 = _$createElement("text"),
753
- _el$35 = _$createElement("b"),
754
- _el$36 = _$createTextNode(`%`),
755
- _el$37 = _$createTextNode(` / `),
756
- _el$38 = _$createTextNode(`%`),
757
- _el$39 = _$createElement("text"),
758
- _el$40 = _$createTextNode(` / `);
759
- _$insertNode(_el$33, _el$34);
760
- _$insertNode(_el$33, _el$39);
761
- _$setProp(_el$33, "width", "100%");
762
- _$setProp(_el$33, "flexDirection", "row");
763
- _$setProp(_el$33, "justifyContent", "space-between");
764
- _$insertNode(_el$34, _el$35);
765
- _$insertNode(_el$34, _el$37);
766
- _$insertNode(_el$34, _el$38);
767
- _$insertNode(_el$35, _el$36);
768
- _$insert(_el$35, () => s().usagePercentage.toFixed(1), _el$36);
769
- _$insert(_el$34, () => formatThresholdPercent(s().executeThreshold), _el$38);
770
- _$insert(_el$34, () => s().executeThresholdClamped ? "*" : "", null);
771
- _$insertNode(_el$39, _el$40);
772
- _$insert(_el$39, () => compactTokens(s().inputTokens), _el$40);
773
- _$insert(_el$39, () => compactTokens(s().contextLimit), null);
774
- _$effect(_p$ => {
775
- var _v$15 = contextSummaryColor(),
776
- _v$16 = contextSummaryColor();
777
- _v$15 !== _p$.e && (_p$.e = _$setProp(_el$34, "fg", _v$15, _p$.e));
778
- _v$16 !== _p$.t && (_p$.t = _$setProp(_el$39, "fg", _v$16, _p$.t));
779
- return _p$;
780
- }, {
781
- e: undefined,
782
- t: undefined
783
- });
784
- return _el$33;
757
+ var _el$32 = _$createElement("box"),
758
+ _el$33 = _$createElement("text"),
759
+ _el$34 = _$createTextNode(`⚠ `);
760
+ _$insertNode(_el$32, _el$33);
761
+ _$setProp(_el$32, "marginTop", 1);
762
+ _$setProp(_el$32, "width", "100%");
763
+ _$insertNode(_el$33, _el$34);
764
+ _$insert(_el$33, () => s().lastTransformError, null);
765
+ _$effect(_$p => _$setProp(_el$33, "fg", props.theme.error, _$p));
766
+ return _el$32;
767
+ })();
768
+ })(), null);
769
+ _$insert(_el$25, (() => {
770
+ var _c$3 = _$memo(() => !!s()?.dreamerProgress);
771
+ return () => _c$3() && (() => {
772
+ var _el$35 = _$createElement("box"),
773
+ _el$36 = _$createElement("text"),
774
+ _el$37 = _$createTextNode(`Dreamer `),
775
+ _el$38 = _$createTextNode(`: `),
776
+ _el$39 = _$createTextNode(`/`),
777
+ _el$40 = _$createTextNode(` processed`);
778
+ _$insertNode(_el$35, _el$36);
779
+ _$setProp(_el$35, "marginTop", 1);
780
+ _$setProp(_el$35, "width", "100%");
781
+ _$insertNode(_el$36, _el$37);
782
+ _$insertNode(_el$36, _el$38);
783
+ _$insertNode(_el$36, _el$39);
784
+ _$insertNode(_el$36, _el$40);
785
+ _$insert(_el$36, () => s().dreamerProgress.task, _el$38);
786
+ _$insert(_el$36, () => s().dreamerProgress.processed, _el$39);
787
+ _$insert(_el$36, () => s().dreamerProgress.total, _el$40);
788
+ _$effect(_$p => _$setProp(_el$36, "fg", props.theme.warning, _$p));
789
+ return _el$35;
790
+ })();
791
+ })(), null);
792
+ _$insert(_el$25, (() => {
793
+ var _c$4 = _$memo(() => !!(s() && s().inputTokens > 0));
794
+ return () => _c$4() && (() => {
795
+ var _el$41 = _$createElement("box");
796
+ _$setProp(_el$41, "flexDirection", "column");
797
+ _$insert(_el$41, (() => {
798
+ var _c$7 = _$memo(() => (s()?.contextLimit ?? 0) > 0);
799
+ return () => _c$7() && (() => {
800
+ var _el$42 = _$createElement("box"),
801
+ _el$43 = _$createElement("text"),
802
+ _el$44 = _$createTextNode(` / `);
803
+ _$insertNode(_el$42, _el$43);
804
+ _$setProp(_el$42, "width", "100%");
805
+ _$setProp(_el$42, "flexDirection", "row");
806
+ _$setProp(_el$42, "justifyContent", "space-between");
807
+ _$insert(_el$42, (() => {
808
+ var _c$8 = _$memo(() => !!compactionOff());
809
+ return () => _c$8() ? (() => {
810
+ var _el$45 = _$createElement("text"),
811
+ _el$46 = _$createElement("b");
812
+ _$insertNode(_el$45, _el$46);
813
+ _$insert(_el$46, () => nativeCompactionContextLabel(s()));
814
+ _$effect(_$p => _$setProp(_el$45, "fg", contextSummaryColor(), _$p));
815
+ return _el$45;
816
+ })() : (() => {
817
+ var _el$47 = _$createElement("text"),
818
+ _el$48 = _$createElement("b"),
819
+ _el$49 = _$createTextNode(`%`),
820
+ _el$50 = _$createTextNode(` / `),
821
+ _el$51 = _$createTextNode(`%`);
822
+ _$insertNode(_el$47, _el$48);
823
+ _$insertNode(_el$47, _el$50);
824
+ _$insertNode(_el$47, _el$51);
825
+ _$insertNode(_el$48, _el$49);
826
+ _$insert(_el$48, () => s().usagePercentage.toFixed(1), _el$49);
827
+ _$insert(_el$47, () => formatThresholdPercent(s().executeThreshold), _el$51);
828
+ _$insert(_el$47, () => s().executeThresholdClamped ? "*" : "", null);
829
+ _$effect(_$p => _$setProp(_el$47, "fg", contextSummaryColor(), _$p));
830
+ return _el$47;
831
+ })();
832
+ })(), _el$43);
833
+ _$insertNode(_el$43, _el$44);
834
+ _$insert(_el$43, () => compactTokens(s().inputTokens), _el$44);
835
+ _$insert(_el$43, () => compactTokens(s().contextLimit), null);
836
+ _$effect(_$p => _$setProp(_el$43, "fg", contextSummaryColor(), _$p));
837
+ return _el$42;
785
838
  })();
786
839
  })(), null);
787
- _$insert(_el$32, _$createComponent(TokenBreakdown, {
840
+ _$insert(_el$41, _$createComponent(TokenBreakdown, {
788
841
  get theme() {
789
842
  return props.theme;
790
843
  },
@@ -795,135 +848,192 @@ const SidebarContent = props => {
795
848
  return collapsed();
796
849
  }
797
850
  }), null);
798
- _$effect(_$p => _$setProp(_el$32, "marginTop", collapsed() ? 0 : 1, _$p));
799
- return _el$32;
851
+ _$effect(_$p => _$setProp(_el$41, "marginTop", collapsed() ? 0 : 1, _$p));
852
+ return _el$41;
800
853
  })();
801
854
  })(), null);
802
855
  _$insert(_el$25, (() => {
803
- var _c$3 = _$memo(() => !!collapsed());
804
- return () => _c$3() && (() => {
805
- var _el$41 = _$createElement("box"),
806
- _el$42 = _$createElement("box"),
807
- _el$43 = _$createElement("text"),
808
- _el$45 = _$createElement("box"),
809
- _el$46 = _$createElement("text"),
810
- _el$48 = _$createElement("text"),
811
- _el$49 = _$createElement("box"),
812
- _el$50 = _$createElement("text"),
813
- _el$52 = _$createElement("text"),
814
- _el$53 = _$createTextNode(`C:`),
815
- _el$54 = _$createTextNode(` Q:`),
816
- _el$55 = _$createTextNode(` N:`);
817
- _$insertNode(_el$41, _el$42);
818
- _$insertNode(_el$41, _el$45);
819
- _$insertNode(_el$41, _el$49);
820
- _$setProp(_el$41, "width", "100%");
821
- _$setProp(_el$41, "flexDirection", "column");
822
- _$insertNode(_el$42, _el$43);
823
- _$setProp(_el$42, "width", "100%");
824
- _$setProp(_el$42, "flexDirection", "row");
825
- _$setProp(_el$42, "justifyContent", "space-between");
826
- _$insertNode(_el$43, _$createTextNode(`Historian`));
827
- _$insert(_el$42, (() => {
828
- var _c$6 = _$memo(() => !!s()?.historianRunning);
829
- return () => _c$6() ? (() => {
830
- var _el$56 = _$createElement("text");
831
- _$insertNode(_el$56, _$createTextNode(`comparting ⟳`));
832
- _$effect(_$p => _$setProp(_el$56, "fg", props.theme.warning, _$p));
833
- return _el$56;
834
- })() : (() => {
835
- var _el$58 = _$createElement("text");
836
- _$insertNode(_el$58, _$createTextNode(`idle`));
837
- _$effect(_$p => _$setProp(_el$58, "fg", props.theme.textMuted, _$p));
838
- return _el$58;
839
- })();
840
- })(), null);
841
- _$insertNode(_el$45, _el$46);
842
- _$insertNode(_el$45, _el$48);
843
- _$setProp(_el$45, "width", "100%");
844
- _$setProp(_el$45, "flexDirection", "row");
845
- _$setProp(_el$45, "justifyContent", "space-between");
846
- _$insertNode(_el$46, _$createTextNode(`Memories`));
847
- _$insert(_el$48, (() => {
848
- var _c$7 = _$memo(() => (s()?.memoryBlockCount ?? 0) > 0);
849
- return () => _c$7() ? `${s().memoryBlockCount}/${s()?.memoryCount ?? 0}` : String(s()?.memoryCount ?? 0);
850
- })());
851
- _$insertNode(_el$49, _el$50);
852
- _$insertNode(_el$49, _el$52);
853
- _$setProp(_el$49, "width", "100%");
854
- _$setProp(_el$49, "flexDirection", "row");
855
- _$setProp(_el$49, "justifyContent", "space-between");
856
- _$insertNode(_el$50, _$createTextNode(`Status`));
857
- _$insertNode(_el$52, _el$53);
858
- _$insertNode(_el$52, _el$54);
859
- _$insertNode(_el$52, _el$55);
860
- _$insert(_el$52, () => s()?.compartmentCount ?? 0, _el$54);
861
- _$insert(_el$52, () => s()?.pendingOpsCount ?? 0, _el$55);
862
- _$insert(_el$52, () => s()?.sessionNoteCount ?? 0, null);
863
- _$insert(_el$41, _$createComponent(Show, {
864
- get when() {
865
- return s()?.recompProgress;
866
- },
867
- children: progress => _$createComponent(RecompProgressSection, {
856
+ var _c$5 = _$memo(() => !!collapsed());
857
+ return () => _c$5() && (() => {
858
+ var _el$52 = _$createElement("box");
859
+ _$setProp(_el$52, "width", "100%");
860
+ _$setProp(_el$52, "flexDirection", "column");
861
+ _$insert(_el$52, (() => {
862
+ var _c$9 = _$memo(() => !!compactionOff());
863
+ return () => _c$9() ? compactionOffSidebarRows(s()).map(row => _$createComponent(StatRow, {
868
864
  get theme() {
869
865
  return props.theme;
870
866
  },
871
- get progress() {
872
- return progress();
867
+ get label() {
868
+ return row.label;
869
+ },
870
+ get value() {
871
+ return row.value;
872
+ },
873
+ get accent() {
874
+ return row.label === "Memories";
875
+ },
876
+ get dim() {
877
+ return row.label !== "Memories";
873
878
  }
874
- })
875
- }), null);
876
- _$effect(_p$ => {
877
- var _v$17 = props.theme.textMuted,
878
- _v$18 = props.theme.textMuted,
879
- _v$19 = props.theme.textMuted,
880
- _v$20 = props.theme.textMuted,
881
- _v$21 = props.theme.textMuted;
882
- _v$17 !== _p$.e && (_p$.e = _$setProp(_el$43, "fg", _v$17, _p$.e));
883
- _v$18 !== _p$.t && (_p$.t = _$setProp(_el$46, "fg", _v$18, _p$.t));
884
- _v$19 !== _p$.a && (_p$.a = _$setProp(_el$48, "fg", _v$19, _p$.a));
885
- _v$20 !== _p$.o && (_p$.o = _$setProp(_el$50, "fg", _v$20, _p$.o));
886
- _v$21 !== _p$.i && (_p$.i = _$setProp(_el$52, "fg", _v$21, _p$.i));
887
- return _p$;
888
- }, {
889
- e: undefined,
890
- t: undefined,
891
- a: undefined,
892
- o: undefined,
893
- i: undefined
894
- });
895
- return _el$41;
879
+ })) : [(() => {
880
+ var _el$53 = _$createElement("box"),
881
+ _el$54 = _$createElement("text");
882
+ _$insertNode(_el$53, _el$54);
883
+ _$setProp(_el$53, "width", "100%");
884
+ _$setProp(_el$53, "flexDirection", "row");
885
+ _$setProp(_el$53, "justifyContent", "space-between");
886
+ _$insertNode(_el$54, _$createTextNode(`Historian`));
887
+ _$insert(_el$53, (() => {
888
+ var _c$0 = _$memo(() => !!s()?.historianRunning);
889
+ return () => _c$0() ? (() => {
890
+ var _el$67 = _$createElement("text");
891
+ _$insertNode(_el$67, _$createTextNode(`comparting ⟳`));
892
+ _$effect(_$p => _$setProp(_el$67, "fg", props.theme.warning, _$p));
893
+ return _el$67;
894
+ })() : (() => {
895
+ var _el$69 = _$createElement("text");
896
+ _$insertNode(_el$69, _$createTextNode(`idle`));
897
+ _$effect(_$p => _$setProp(_el$69, "fg", props.theme.textMuted, _$p));
898
+ return _el$69;
899
+ })();
900
+ })(), null);
901
+ _$effect(_$p => _$setProp(_el$54, "fg", props.theme.textMuted, _$p));
902
+ return _el$53;
903
+ })(), _$createComponent(Show, {
904
+ get when() {
905
+ return s()?.dreamerProgress;
906
+ },
907
+ children: progress => (() => {
908
+ var _el$71 = _$createElement("box"),
909
+ _el$72 = _$createElement("text"),
910
+ _el$74 = _$createElement("text"),
911
+ _el$75 = _$createTextNode(` `),
912
+ _el$76 = _$createTextNode(`/`);
913
+ _$insertNode(_el$71, _el$72);
914
+ _$insertNode(_el$71, _el$74);
915
+ _$setProp(_el$71, "width", "100%");
916
+ _$setProp(_el$71, "flexDirection", "row");
917
+ _$setProp(_el$71, "justifyContent", "space-between");
918
+ _$insertNode(_el$72, _$createTextNode(`Dreamer`));
919
+ _$insertNode(_el$74, _el$75);
920
+ _$insertNode(_el$74, _el$76);
921
+ _$insert(_el$74, () => progress().task, _el$75);
922
+ _$insert(_el$74, () => progress().processed, _el$76);
923
+ _$insert(_el$74, () => progress().total, null);
924
+ _$effect(_p$ => {
925
+ var _v$19 = props.theme.textMuted,
926
+ _v$20 = props.theme.warning;
927
+ _v$19 !== _p$.e && (_p$.e = _$setProp(_el$72, "fg", _v$19, _p$.e));
928
+ _v$20 !== _p$.t && (_p$.t = _$setProp(_el$74, "fg", _v$20, _p$.t));
929
+ return _p$;
930
+ }, {
931
+ e: undefined,
932
+ t: undefined
933
+ });
934
+ return _el$71;
935
+ })()
936
+ }), (() => {
937
+ var _el$56 = _$createElement("box"),
938
+ _el$57 = _$createElement("text"),
939
+ _el$59 = _$createElement("text");
940
+ _$insertNode(_el$56, _el$57);
941
+ _$insertNode(_el$56, _el$59);
942
+ _$setProp(_el$56, "width", "100%");
943
+ _$setProp(_el$56, "flexDirection", "row");
944
+ _$setProp(_el$56, "justifyContent", "space-between");
945
+ _$insertNode(_el$57, _$createTextNode(`Memories`));
946
+ _$insert(_el$59, (() => {
947
+ var _c$1 = _$memo(() => (s()?.memoryBlockCount ?? 0) > 0);
948
+ return () => _c$1() ? `${s().memoryBlockCount}/${s()?.memoryCount ?? 0}` : String(s()?.memoryCount ?? 0);
949
+ })());
950
+ _$effect(_p$ => {
951
+ var _v$15 = props.theme.textMuted,
952
+ _v$16 = props.theme.textMuted;
953
+ _v$15 !== _p$.e && (_p$.e = _$setProp(_el$57, "fg", _v$15, _p$.e));
954
+ _v$16 !== _p$.t && (_p$.t = _$setProp(_el$59, "fg", _v$16, _p$.t));
955
+ return _p$;
956
+ }, {
957
+ e: undefined,
958
+ t: undefined
959
+ });
960
+ return _el$56;
961
+ })(), (() => {
962
+ var _el$60 = _$createElement("box"),
963
+ _el$61 = _$createElement("text"),
964
+ _el$63 = _$createElement("text"),
965
+ _el$64 = _$createTextNode(`C:`),
966
+ _el$65 = _$createTextNode(` Q:`),
967
+ _el$66 = _$createTextNode(` N:`);
968
+ _$insertNode(_el$60, _el$61);
969
+ _$insertNode(_el$60, _el$63);
970
+ _$setProp(_el$60, "width", "100%");
971
+ _$setProp(_el$60, "flexDirection", "row");
972
+ _$setProp(_el$60, "justifyContent", "space-between");
973
+ _$insertNode(_el$61, _$createTextNode(`Status`));
974
+ _$insertNode(_el$63, _el$64);
975
+ _$insertNode(_el$63, _el$65);
976
+ _$insertNode(_el$63, _el$66);
977
+ _$insert(_el$63, () => s()?.compartmentCount ?? 0, _el$65);
978
+ _$insert(_el$63, () => s()?.pendingOpsCount ?? 0, _el$66);
979
+ _$insert(_el$63, () => s()?.sessionNoteCount ?? 0, null);
980
+ _$effect(_p$ => {
981
+ var _v$17 = props.theme.textMuted,
982
+ _v$18 = props.theme.textMuted;
983
+ _v$17 !== _p$.e && (_p$.e = _$setProp(_el$61, "fg", _v$17, _p$.e));
984
+ _v$18 !== _p$.t && (_p$.t = _$setProp(_el$63, "fg", _v$18, _p$.t));
985
+ return _p$;
986
+ }, {
987
+ e: undefined,
988
+ t: undefined
989
+ });
990
+ return _el$60;
991
+ })(), _$createComponent(Show, {
992
+ get when() {
993
+ return s()?.recompProgress;
994
+ },
995
+ children: progress => _$createComponent(RecompProgressSection, {
996
+ get theme() {
997
+ return props.theme;
998
+ },
999
+ get progress() {
1000
+ return progress();
1001
+ }
1002
+ })
1003
+ })];
1004
+ })());
1005
+ return _el$52;
896
1006
  })();
897
1007
  })(), null);
898
1008
  _$insert(_el$25, (() => {
899
- var _c$4 = _$memo(() => !!!collapsed());
900
- return () => _c$4() && [_$memo(() => _$memo(() => !!sections().historian)() && [(() => {
901
- var _el$60 = _$createElement("box"),
902
- _el$61 = _$createElement("text"),
903
- _el$62 = _$createElement("b");
904
- _$insertNode(_el$60, _el$61);
905
- _$setProp(_el$60, "width", "100%");
906
- _$setProp(_el$60, "marginTop", 1);
907
- _$setProp(_el$60, "flexDirection", "row");
908
- _$setProp(_el$60, "justifyContent", "space-between");
909
- _$insertNode(_el$61, _el$62);
910
- _$insertNode(_el$62, _$createTextNode(`Historian`));
911
- _$insert(_el$60, (() => {
912
- var _c$8 = _$memo(() => !!s()?.historianRunning);
913
- return () => _c$8() ? (() => {
914
- var _el$64 = _$createElement("text");
915
- _$insertNode(_el$64, _$createTextNode(`comparting ⟳`));
916
- _$effect(_$p => _$setProp(_el$64, "fg", props.theme.warning, _$p));
917
- return _el$64;
1009
+ var _c$6 = _$memo(() => !!!collapsed());
1010
+ return () => _c$6() && [_$memo(() => _$memo(() => !!(!compactionOff() && sections().historian))() && [(() => {
1011
+ var _el$77 = _$createElement("box"),
1012
+ _el$78 = _$createElement("text"),
1013
+ _el$79 = _$createElement("b");
1014
+ _$insertNode(_el$77, _el$78);
1015
+ _$setProp(_el$77, "width", "100%");
1016
+ _$setProp(_el$77, "marginTop", 1);
1017
+ _$setProp(_el$77, "flexDirection", "row");
1018
+ _$setProp(_el$77, "justifyContent", "space-between");
1019
+ _$insertNode(_el$78, _el$79);
1020
+ _$insertNode(_el$79, _$createTextNode(`Historian`));
1021
+ _$insert(_el$77, (() => {
1022
+ var _c$10 = _$memo(() => !!s()?.historianRunning);
1023
+ return () => _c$10() ? (() => {
1024
+ var _el$81 = _$createElement("text");
1025
+ _$insertNode(_el$81, _$createTextNode(`comparting ⟳`));
1026
+ _$effect(_$p => _$setProp(_el$81, "fg", props.theme.warning, _$p));
1027
+ return _el$81;
918
1028
  })() : (() => {
919
- var _el$66 = _$createElement("text");
920
- _$insertNode(_el$66, _$createTextNode(`idle`));
921
- _$effect(_$p => _$setProp(_el$66, "fg", props.theme.textMuted, _$p));
922
- return _el$66;
1029
+ var _el$83 = _$createElement("text");
1030
+ _$insertNode(_el$83, _$createTextNode(`idle`));
1031
+ _$effect(_$p => _$setProp(_el$83, "fg", props.theme.textMuted, _$p));
1032
+ return _el$83;
923
1033
  })();
924
1034
  })(), null);
925
- _$effect(_$p => _$setProp(_el$61, "fg", props.theme.text, _$p));
926
- return _el$60;
1035
+ _$effect(_$p => _$setProp(_el$78, "fg", props.theme.text, _$p));
1036
+ return _el$77;
927
1037
  })(), _$createComponent(StatRow, {
928
1038
  get theme() {
929
1039
  return props.theme;
@@ -949,7 +1059,18 @@ const SidebarContent = props => {
949
1059
  return props.theme;
950
1060
  },
951
1061
  title: "Memory"
952
- }), _$createComponent(StatRow, {
1062
+ }), _$memo(() => _$memo(() => !!compactionOff())() ? compactionOffSidebarRows(s()).filter(row => row.label === "Memories").map(row => _$createComponent(StatRow, {
1063
+ get theme() {
1064
+ return props.theme;
1065
+ },
1066
+ get label() {
1067
+ return row.label;
1068
+ },
1069
+ get value() {
1070
+ return row.value;
1071
+ },
1072
+ accent: true
1073
+ })) : [_$createComponent(StatRow, {
953
1074
  get theme() {
954
1075
  return props.theme;
955
1076
  },
@@ -967,12 +1088,23 @@ const SidebarContent = props => {
967
1088
  return String(s().memoryBlockCount);
968
1089
  },
969
1090
  dim: true
970
- }))]), _$memo(() => _$memo(() => !!(sections().status && ((s()?.pendingOpsCount ?? 0) > 0 || (s()?.sessionNoteCount ?? 0) > 0 || (s()?.readySmartNoteCount ?? 0) > 0)))() && [_$createComponent(SectionHeader, {
1091
+ }))])]), _$memo(() => _$memo(() => !!(sections().status && (compactionOff() || (s()?.pendingOpsCount ?? 0) > 0 || (s()?.sessionNoteCount ?? 0) > 0 || (s()?.readySmartNoteCount ?? 0) > 0)))() && [_$createComponent(SectionHeader, {
971
1092
  get theme() {
972
1093
  return props.theme;
973
1094
  },
974
1095
  title: "Status"
975
- }), _$memo(() => _$memo(() => (s()?.pendingOpsCount ?? 0) > 0)() && _$createComponent(StatRow, {
1096
+ }), _$memo(() => _$memo(() => !!compactionOff())() ? compactionOffSidebarRows(s()).filter(row => row.label !== "Memories").map(row => _$createComponent(StatRow, {
1097
+ get theme() {
1098
+ return props.theme;
1099
+ },
1100
+ get label() {
1101
+ return row.label;
1102
+ },
1103
+ get value() {
1104
+ return row.value;
1105
+ },
1106
+ dim: true
1107
+ })) : [_$memo(() => _$memo(() => (s()?.pendingOpsCount ?? 0) > 0)() && _$createComponent(StatRow, {
976
1108
  get theme() {
977
1109
  return props.theme;
978
1110
  },
@@ -998,20 +1130,53 @@ const SidebarContent = props => {
998
1130
  return `${s().readySmartNoteCount} ready`;
999
1131
  },
1000
1132
  accent: true
1001
- }))]), _$memo(() => _$memo(() => !!(sections().dreamer && s()?.lastDreamerRunAt))() && [_$createComponent(SectionHeader, {
1133
+ }))])]), _$memo(() => _$memo(() => !!(sections().dreamer && (s()?.lastDreamerRunAt || s()?.dreamerProgress)))() && [_$createComponent(SectionHeader, {
1002
1134
  get theme() {
1003
1135
  return props.theme;
1004
1136
  },
1005
1137
  title: "Dreamer"
1006
- }), _$createComponent(StatRow, {
1007
- get theme() {
1008
- return props.theme;
1138
+ }), _$createComponent(Show, {
1139
+ get when() {
1140
+ return s()?.dreamerProgress;
1009
1141
  },
1010
- label: "Last run",
1011
- get value() {
1012
- return relativeTime(s().lastDreamerRunAt);
1142
+ children: progress => _$createComponent(StatRow, {
1143
+ get theme() {
1144
+ return props.theme;
1145
+ },
1146
+ label: "Current",
1147
+ get value() {
1148
+ return `${progress().task} ${progress().processed}/${progress().total}`;
1149
+ },
1150
+ warning: true
1151
+ })
1152
+ }), _$createComponent(Show, {
1153
+ get when() {
1154
+ return s()?.lastDreamerRunAt;
1013
1155
  },
1014
- dim: true
1156
+ children: lastRunAt => _$createComponent(StatRow, {
1157
+ get theme() {
1158
+ return props.theme;
1159
+ },
1160
+ label: "Last run",
1161
+ get value() {
1162
+ return relativeTime(lastRunAt());
1163
+ },
1164
+ dim: true
1165
+ })
1166
+ }), _$createComponent(For, {
1167
+ get each() {
1168
+ return Object.entries(s()?.dreamerBacklog ?? {});
1169
+ },
1170
+ children: ([task, backlog]) => _$createComponent(StatRow, {
1171
+ get theme() {
1172
+ return props.theme;
1173
+ },
1174
+ label: task,
1175
+ get value() {
1176
+ return `${backlog.pending}/${backlog.total}`;
1177
+ },
1178
+ dim: true
1179
+ })
1015
1180
  })]), _$memo(() => _$memo(() => !!(sections().stats && s()?.totalInputTokens != null))() && [_$createComponent(SectionHeader, {
1016
1181
  get theme() {
1017
1182
  return props.theme;
@@ -1,11 +0,0 @@
1
- import {
2
- sendIgnoredMessage,
3
- sendUserPrompt
4
- } from "./index-y1c9tcm3.js";
5
- import"./index-k1esqfwk.js";
6
- import"./index-kvrcg31b.js";
7
- import"./index-wckvcay0.js";
8
- export {
9
- sendUserPrompt,
10
- sendIgnoredMessage
11
- };
File without changes