@cortexkit/opencode-magic-context 0.33.1 → 0.34.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.
Files changed (205) hide show
  1. package/dist/config/agent-disable.d.ts +22 -0
  2. package/dist/config/agent-disable.d.ts.map +1 -1
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/project-security.d.ts +7 -0
  5. package/dist/config/project-security.d.ts.map +1 -1
  6. package/dist/config/schema/magic-context.d.ts +82 -2
  7. package/dist/config/schema/magic-context.d.ts.map +1 -1
  8. package/dist/config/transform-mode.d.ts +2 -0
  9. package/dist/config/transform-mode.d.ts.map +1 -1
  10. package/dist/{conflict-warning-hook-n48c783v.js → conflict-warning-hook-fvpfvt0w.js} +1 -1
  11. package/dist/{derive-budgets-e9j09sjr.js → derive-budgets-9crp0cvd.js} +1 -1
  12. package/dist/features/builtin-commands/commands.d.ts +1 -1
  13. package/dist/features/builtin-commands/commands.d.ts.map +1 -1
  14. package/dist/features/magic-context/compaction-marker.d.ts +57 -0
  15. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  16. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  17. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  18. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  19. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
  21. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  23. package/dist/features/magic-context/fail-closed-block.d.ts +10 -0
  24. package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -1
  25. package/dist/features/magic-context/git-commits/storage-git-commit-embeddings.d.ts.map +1 -1
  26. package/dist/features/magic-context/git-commits/storage-git-commits.d.ts.map +1 -1
  27. package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
  28. package/dist/features/magic-context/memory/embedding-local.d.ts +7 -1
  29. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  30. package/dist/features/magic-context/memory/embedding.d.ts.map +1 -1
  31. package/dist/features/magic-context/memory/memory-migration.d.ts.map +1 -1
  32. package/dist/features/magic-context/memory/project-identity.d.ts +2 -6
  33. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  34. package/dist/features/magic-context/memory/storage-memory-embeddings.d.ts.map +1 -1
  35. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  36. package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
  37. package/dist/features/magic-context/mural/render-mural.d.ts.map +1 -1
  38. package/dist/features/magic-context/overflow-detection.d.ts +8 -1
  39. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  40. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  41. package/dist/features/magic-context/scheduler.d.ts.map +1 -1
  42. package/dist/features/magic-context/schema-fence-probe.d.ts +28 -0
  43. package/dist/features/magic-context/schema-fence-probe.d.ts.map +1 -0
  44. package/dist/features/magic-context/sidekick/agent.d.ts.map +1 -1
  45. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  46. package/dist/features/magic-context/storage-db.d.ts +35 -1
  47. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  48. package/dist/features/magic-context/storage-meta-persisted.d.ts +38 -4
  49. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  50. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  51. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  52. package/dist/features/magic-context/storage.d.ts +1 -1
  53. package/dist/features/magic-context/storage.d.ts.map +1 -1
  54. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  55. package/dist/hooks/magic-context/boundary-execution.d.ts +1 -1
  56. package/dist/hooks/magic-context/boundary-execution.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/cache-busting-signals.d.ts +1 -0
  58. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
  59. package/dist/hooks/magic-context/child-session-spawn.d.ts +26 -0
  60. package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -0
  61. package/dist/hooks/magic-context/command-handler.d.ts +2 -0
  62. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/compaction-off-transition.d.ts +96 -0
  64. package/dist/hooks/magic-context/compaction-off-transition.d.ts.map +1 -0
  65. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +2 -0
  66. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  67. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/compartment-runner-mapping.d.ts.map +1 -1
  69. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  70. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/compartment-trigger.d.ts +12 -5
  72. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +47 -1
  74. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -1
  75. package/dist/hooks/magic-context/emergency-drop.d.ts +2 -2
  76. package/dist/hooks/magic-context/event-handler.d.ts +7 -0
  77. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/event-resolvers.d.ts +13 -21
  79. package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +2 -0
  81. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  82. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +1 -1
  83. package/dist/hooks/magic-context/hook-handlers.d.ts +1 -0
  84. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/hook.d.ts +11 -1
  86. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  87. package/dist/hooks/magic-context/inject-compartments.d.ts +9 -0
  88. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  89. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  90. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  92. package/dist/hooks/magic-context/rust-mode-transform.d.ts +3 -0
  93. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  94. package/dist/hooks/magic-context/send-session-notification.d.ts +20 -1
  95. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
  96. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +3 -0
  97. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  98. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +30 -0
  99. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  100. package/dist/hooks/magic-context/transform.d.ts +27 -0
  101. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  102. package/dist/{index-ey1bc14z.js → index-b563sga5.js} +7 -264
  103. package/dist/{index-y1c9tcm3.js → index-cn960ffd.js} +101 -20
  104. package/dist/{index-xyaekybw.js → index-dtas91s5.js} +6 -4
  105. package/dist/index-fcyvznch.js +279 -0
  106. package/dist/{index-63dq2g4d.js → index-ry8rh8cv.js} +138 -24
  107. package/dist/{index-c2gahrks.js → index-s0mdn690.js} +1599 -892
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +1292 -623
  110. package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
  111. package/dist/plugin/hooks/create-session-hooks.d.ts +11 -0
  112. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  113. package/dist/plugin/messages-transform.d.ts +10 -0
  114. package/dist/plugin/messages-transform.d.ts.map +1 -1
  115. package/dist/plugin/rpc-handlers.d.ts +3 -7
  116. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  117. package/dist/plugin/tool-registry.d.ts +8 -0
  118. package/dist/plugin/tool-registry.d.ts.map +1 -1
  119. package/dist/{recomp-orchestrator-2yb2hfh2.js → recomp-orchestrator-8e82vmvb.js} +6 -4
  120. package/dist/send-session-notification-6njqewzk.js +20 -0
  121. package/dist/shared/conflict-detector.d.ts +38 -1
  122. package/dist/shared/conflict-detector.d.ts.map +1 -1
  123. package/dist/shared/conflict-fixer.d.ts +18 -1
  124. package/dist/shared/conflict-fixer.d.ts.map +1 -1
  125. package/dist/shared/context-limit-provenance.d.ts +3 -0
  126. package/dist/shared/context-limit-provenance.d.ts.map +1 -0
  127. package/dist/shared/escalation-bands.d.ts +9 -0
  128. package/dist/shared/escalation-bands.d.ts.map +1 -0
  129. package/dist/shared/format-threshold.d.ts +1 -1
  130. package/dist/shared/models-dev-cache.d.ts +29 -3
  131. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  132. package/dist/shared/rpc-server.d.ts.map +1 -1
  133. package/dist/shared/rpc-types.d.ts +46 -1
  134. package/dist/shared/rpc-types.d.ts.map +1 -1
  135. package/dist/shared/storage-permissions.d.ts +5 -0
  136. package/dist/shared/storage-permissions.d.ts.map +1 -0
  137. package/dist/{storage-meta-session-td6bwtky.js → storage-meta-session-xt41zbw4.js} +2 -1
  138. package/dist/tui/compaction-off.d.ts +13 -0
  139. package/dist/tui/compaction-off.d.ts.map +1 -0
  140. package/dist/tui/data/context-db.d.ts.map +1 -1
  141. package/dist/tui-compiled/compaction-off.d.ts +13 -0
  142. package/dist/tui-compiled/compaction-off.d.ts.map +1 -0
  143. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  144. package/package.json +7 -2
  145. package/src/agents/dreamer.ts +68 -0
  146. package/src/agents/hidden-agent-registrations.ts +331 -0
  147. package/src/agents/historian.ts +3 -0
  148. package/src/agents/language-directive.test.ts +138 -0
  149. package/src/agents/language-directive.ts +121 -0
  150. package/src/agents/magic-context-prompt.language.test.ts +35 -0
  151. package/src/agents/magic-context-prompt.test.ts +292 -0
  152. package/src/agents/magic-context-prompt.ts +182 -0
  153. package/src/agents/permissions.test.ts +252 -0
  154. package/src/agents/permissions.ts +186 -0
  155. package/src/agents/sidekick.ts +1 -0
  156. package/src/agents/smart-note-compiler.ts +1 -0
  157. package/src/config/agent-disable.ts +106 -0
  158. package/src/config/compaction-accessor-guard.test.ts +82 -0
  159. package/src/config/compaction-backcompat.test.ts +52 -0
  160. package/src/config/index.test.ts +904 -0
  161. package/src/config/index.ts +601 -0
  162. package/src/config/migrate-config-location.test.ts +332 -0
  163. package/src/config/migrate-config-location.ts +635 -0
  164. package/src/config/migrate-dreamer-v2.test.ts +287 -0
  165. package/src/config/migrate-dreamer-v2.ts +336 -0
  166. package/src/config/migrate-experimental.ts +159 -0
  167. package/src/config/project-security.test.ts +366 -0
  168. package/src/config/project-security.ts +588 -0
  169. package/src/config/prune-config-leaf.test.ts +78 -0
  170. package/src/config/prune-config-leaf.ts +68 -0
  171. package/src/config/removed-config-keys.test.ts +116 -0
  172. package/src/config/schema/agent-overrides.ts +45 -0
  173. package/src/config/schema/magic-context.test.ts +358 -0
  174. package/src/config/schema/magic-context.ts +1002 -0
  175. package/src/config/transform-mode.test.ts +62 -0
  176. package/src/config/transform-mode.ts +34 -0
  177. package/src/config/variable.test.ts +323 -0
  178. package/src/config/variable.ts +192 -0
  179. package/src/features/magic-context/defaults.ts +1 -0
  180. package/src/features/magic-context/dreamer/cron.ts +243 -0
  181. package/src/features/magic-context/dreamer/task-registry.ts +104 -0
  182. package/src/shared/conflict-detector.test.ts +121 -0
  183. package/src/shared/conflict-detector.ts +50 -3
  184. package/src/shared/conflict-fixer.test.ts +309 -0
  185. package/src/shared/conflict-fixer.ts +82 -5
  186. package/src/shared/context-limit-provenance.ts +6 -0
  187. package/src/shared/escalation-bands.test.ts +23 -0
  188. package/src/shared/escalation-bands.ts +18 -0
  189. package/src/shared/format-threshold.ts +1 -1
  190. package/src/shared/models-dev-cache.test.ts +171 -0
  191. package/src/shared/models-dev-cache.ts +195 -38
  192. package/src/shared/rpc-server.ts +27 -18
  193. package/src/shared/rpc-types.ts +46 -1
  194. package/src/shared/storage-permissions.ts +20 -0
  195. package/src/tui/compaction-off.test.ts +56 -0
  196. package/src/tui/compaction-off.ts +29 -0
  197. package/src/tui/data/context-db.ts +6 -0
  198. package/src/tui/index.tsx +113 -65
  199. package/src/tui/slots/sidebar-content.tsx +139 -83
  200. package/src/tui-compiled/compaction-off.ts +29 -0
  201. package/src/tui-compiled/data/context-db.ts +6 -0
  202. package/src/tui-compiled/index.tsx +558 -455
  203. package/src/tui-compiled/slots/sidebar-content.tsx +237 -161
  204. package/dist/send-session-notification-tghq9gnh.js +0 -11
  205. /package/dist/{index-v7fmc1s2.js → index-ygcng9t8.js} +0 -0
@@ -12,6 +12,7 @@ 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,69 @@ 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() && s().inputTokens > 0));
771
+ return () => _c$3() && (() => {
772
+ var _el$35 = _$createElement("box");
773
+ _$setProp(_el$35, "flexDirection", "column");
774
+ _$insert(_el$35, (() => {
775
+ var _c$6 = _$memo(() => (s()?.contextLimit ?? 0) > 0);
776
+ return () => _c$6() && (() => {
777
+ var _el$36 = _$createElement("box"),
778
+ _el$37 = _$createElement("text"),
779
+ _el$38 = _$createTextNode(` / `);
780
+ _$insertNode(_el$36, _el$37);
781
+ _$setProp(_el$36, "width", "100%");
782
+ _$setProp(_el$36, "flexDirection", "row");
783
+ _$setProp(_el$36, "justifyContent", "space-between");
784
+ _$insert(_el$36, (() => {
785
+ var _c$7 = _$memo(() => !!compactionOff());
786
+ return () => _c$7() ? (() => {
787
+ var _el$39 = _$createElement("text"),
788
+ _el$40 = _$createElement("b");
789
+ _$insertNode(_el$39, _el$40);
790
+ _$insert(_el$40, () => nativeCompactionContextLabel(s()));
791
+ _$effect(_$p => _$setProp(_el$39, "fg", contextSummaryColor(), _$p));
792
+ return _el$39;
793
+ })() : (() => {
794
+ var _el$41 = _$createElement("text"),
795
+ _el$42 = _$createElement("b"),
796
+ _el$43 = _$createTextNode(`%`),
797
+ _el$44 = _$createTextNode(` / `),
798
+ _el$45 = _$createTextNode(`%`);
799
+ _$insertNode(_el$41, _el$42);
800
+ _$insertNode(_el$41, _el$44);
801
+ _$insertNode(_el$41, _el$45);
802
+ _$insertNode(_el$42, _el$43);
803
+ _$insert(_el$42, () => s().usagePercentage.toFixed(1), _el$43);
804
+ _$insert(_el$41, () => formatThresholdPercent(s().executeThreshold), _el$45);
805
+ _$insert(_el$41, () => s().executeThresholdClamped ? "*" : "", null);
806
+ _$effect(_$p => _$setProp(_el$41, "fg", contextSummaryColor(), _$p));
807
+ return _el$41;
808
+ })();
809
+ })(), _el$37);
810
+ _$insertNode(_el$37, _el$38);
811
+ _$insert(_el$37, () => compactTokens(s().inputTokens), _el$38);
812
+ _$insert(_el$37, () => compactTokens(s().contextLimit), null);
813
+ _$effect(_$p => _$setProp(_el$37, "fg", contextSummaryColor(), _$p));
814
+ return _el$36;
785
815
  })();
786
816
  })(), null);
787
- _$insert(_el$32, _$createComponent(TokenBreakdown, {
817
+ _$insert(_el$35, _$createComponent(TokenBreakdown, {
788
818
  get theme() {
789
819
  return props.theme;
790
820
  },
@@ -795,135 +825,159 @@ const SidebarContent = props => {
795
825
  return collapsed();
796
826
  }
797
827
  }), null);
798
- _$effect(_$p => _$setProp(_el$32, "marginTop", collapsed() ? 0 : 1, _$p));
799
- return _el$32;
828
+ _$effect(_$p => _$setProp(_el$35, "marginTop", collapsed() ? 0 : 1, _$p));
829
+ return _el$35;
800
830
  })();
801
831
  })(), null);
802
832
  _$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, {
833
+ var _c$4 = _$memo(() => !!collapsed());
834
+ return () => _c$4() && (() => {
835
+ var _el$46 = _$createElement("box");
836
+ _$setProp(_el$46, "width", "100%");
837
+ _$setProp(_el$46, "flexDirection", "column");
838
+ _$insert(_el$46, (() => {
839
+ var _c$8 = _$memo(() => !!compactionOff());
840
+ return () => _c$8() ? compactionOffSidebarRows(s()).map(row => _$createComponent(StatRow, {
868
841
  get theme() {
869
842
  return props.theme;
870
843
  },
871
- get progress() {
872
- return progress();
844
+ get label() {
845
+ return row.label;
846
+ },
847
+ get value() {
848
+ return row.value;
849
+ },
850
+ get accent() {
851
+ return row.label === "Memories";
852
+ },
853
+ get dim() {
854
+ return row.label !== "Memories";
873
855
  }
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;
856
+ })) : [(() => {
857
+ var _el$47 = _$createElement("box"),
858
+ _el$48 = _$createElement("text");
859
+ _$insertNode(_el$47, _el$48);
860
+ _$setProp(_el$47, "width", "100%");
861
+ _$setProp(_el$47, "flexDirection", "row");
862
+ _$setProp(_el$47, "justifyContent", "space-between");
863
+ _$insertNode(_el$48, _$createTextNode(`Historian`));
864
+ _$insert(_el$47, (() => {
865
+ var _c$9 = _$memo(() => !!s()?.historianRunning);
866
+ return () => _c$9() ? (() => {
867
+ var _el$61 = _$createElement("text");
868
+ _$insertNode(_el$61, _$createTextNode(`comparting ⟳`));
869
+ _$effect(_$p => _$setProp(_el$61, "fg", props.theme.warning, _$p));
870
+ return _el$61;
871
+ })() : (() => {
872
+ var _el$63 = _$createElement("text");
873
+ _$insertNode(_el$63, _$createTextNode(`idle`));
874
+ _$effect(_$p => _$setProp(_el$63, "fg", props.theme.textMuted, _$p));
875
+ return _el$63;
876
+ })();
877
+ })(), null);
878
+ _$effect(_$p => _$setProp(_el$48, "fg", props.theme.textMuted, _$p));
879
+ return _el$47;
880
+ })(), (() => {
881
+ var _el$50 = _$createElement("box"),
882
+ _el$51 = _$createElement("text"),
883
+ _el$53 = _$createElement("text");
884
+ _$insertNode(_el$50, _el$51);
885
+ _$insertNode(_el$50, _el$53);
886
+ _$setProp(_el$50, "width", "100%");
887
+ _$setProp(_el$50, "flexDirection", "row");
888
+ _$setProp(_el$50, "justifyContent", "space-between");
889
+ _$insertNode(_el$51, _$createTextNode(`Memories`));
890
+ _$insert(_el$53, (() => {
891
+ var _c$0 = _$memo(() => (s()?.memoryBlockCount ?? 0) > 0);
892
+ return () => _c$0() ? `${s().memoryBlockCount}/${s()?.memoryCount ?? 0}` : String(s()?.memoryCount ?? 0);
893
+ })());
894
+ _$effect(_p$ => {
895
+ var _v$15 = props.theme.textMuted,
896
+ _v$16 = props.theme.textMuted;
897
+ _v$15 !== _p$.e && (_p$.e = _$setProp(_el$51, "fg", _v$15, _p$.e));
898
+ _v$16 !== _p$.t && (_p$.t = _$setProp(_el$53, "fg", _v$16, _p$.t));
899
+ return _p$;
900
+ }, {
901
+ e: undefined,
902
+ t: undefined
903
+ });
904
+ return _el$50;
905
+ })(), (() => {
906
+ var _el$54 = _$createElement("box"),
907
+ _el$55 = _$createElement("text"),
908
+ _el$57 = _$createElement("text"),
909
+ _el$58 = _$createTextNode(`C:`),
910
+ _el$59 = _$createTextNode(` Q:`),
911
+ _el$60 = _$createTextNode(` N:`);
912
+ _$insertNode(_el$54, _el$55);
913
+ _$insertNode(_el$54, _el$57);
914
+ _$setProp(_el$54, "width", "100%");
915
+ _$setProp(_el$54, "flexDirection", "row");
916
+ _$setProp(_el$54, "justifyContent", "space-between");
917
+ _$insertNode(_el$55, _$createTextNode(`Status`));
918
+ _$insertNode(_el$57, _el$58);
919
+ _$insertNode(_el$57, _el$59);
920
+ _$insertNode(_el$57, _el$60);
921
+ _$insert(_el$57, () => s()?.compartmentCount ?? 0, _el$59);
922
+ _$insert(_el$57, () => s()?.pendingOpsCount ?? 0, _el$60);
923
+ _$insert(_el$57, () => s()?.sessionNoteCount ?? 0, null);
924
+ _$effect(_p$ => {
925
+ var _v$17 = props.theme.textMuted,
926
+ _v$18 = props.theme.textMuted;
927
+ _v$17 !== _p$.e && (_p$.e = _$setProp(_el$55, "fg", _v$17, _p$.e));
928
+ _v$18 !== _p$.t && (_p$.t = _$setProp(_el$57, "fg", _v$18, _p$.t));
929
+ return _p$;
930
+ }, {
931
+ e: undefined,
932
+ t: undefined
933
+ });
934
+ return _el$54;
935
+ })(), _$createComponent(Show, {
936
+ get when() {
937
+ return s()?.recompProgress;
938
+ },
939
+ children: progress => _$createComponent(RecompProgressSection, {
940
+ get theme() {
941
+ return props.theme;
942
+ },
943
+ get progress() {
944
+ return progress();
945
+ }
946
+ })
947
+ })];
948
+ })());
949
+ return _el$46;
896
950
  })();
897
951
  })(), null);
898
952
  _$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;
953
+ var _c$5 = _$memo(() => !!!collapsed());
954
+ return () => _c$5() && [_$memo(() => _$memo(() => !!(!compactionOff() && sections().historian))() && [(() => {
955
+ var _el$65 = _$createElement("box"),
956
+ _el$66 = _$createElement("text"),
957
+ _el$67 = _$createElement("b");
958
+ _$insertNode(_el$65, _el$66);
959
+ _$setProp(_el$65, "width", "100%");
960
+ _$setProp(_el$65, "marginTop", 1);
961
+ _$setProp(_el$65, "flexDirection", "row");
962
+ _$setProp(_el$65, "justifyContent", "space-between");
963
+ _$insertNode(_el$66, _el$67);
964
+ _$insertNode(_el$67, _$createTextNode(`Historian`));
965
+ _$insert(_el$65, (() => {
966
+ var _c$1 = _$memo(() => !!s()?.historianRunning);
967
+ return () => _c$1() ? (() => {
968
+ var _el$69 = _$createElement("text");
969
+ _$insertNode(_el$69, _$createTextNode(`comparting ⟳`));
970
+ _$effect(_$p => _$setProp(_el$69, "fg", props.theme.warning, _$p));
971
+ return _el$69;
918
972
  })() : (() => {
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;
973
+ var _el$71 = _$createElement("text");
974
+ _$insertNode(_el$71, _$createTextNode(`idle`));
975
+ _$effect(_$p => _$setProp(_el$71, "fg", props.theme.textMuted, _$p));
976
+ return _el$71;
923
977
  })();
924
978
  })(), null);
925
- _$effect(_$p => _$setProp(_el$61, "fg", props.theme.text, _$p));
926
- return _el$60;
979
+ _$effect(_$p => _$setProp(_el$66, "fg", props.theme.text, _$p));
980
+ return _el$65;
927
981
  })(), _$createComponent(StatRow, {
928
982
  get theme() {
929
983
  return props.theme;
@@ -949,7 +1003,18 @@ const SidebarContent = props => {
949
1003
  return props.theme;
950
1004
  },
951
1005
  title: "Memory"
952
- }), _$createComponent(StatRow, {
1006
+ }), _$memo(() => _$memo(() => !!compactionOff())() ? compactionOffSidebarRows(s()).filter(row => row.label === "Memories").map(row => _$createComponent(StatRow, {
1007
+ get theme() {
1008
+ return props.theme;
1009
+ },
1010
+ get label() {
1011
+ return row.label;
1012
+ },
1013
+ get value() {
1014
+ return row.value;
1015
+ },
1016
+ accent: true
1017
+ })) : [_$createComponent(StatRow, {
953
1018
  get theme() {
954
1019
  return props.theme;
955
1020
  },
@@ -967,12 +1032,23 @@ const SidebarContent = props => {
967
1032
  return String(s().memoryBlockCount);
968
1033
  },
969
1034
  dim: true
970
- }))]), _$memo(() => _$memo(() => !!(sections().status && ((s()?.pendingOpsCount ?? 0) > 0 || (s()?.sessionNoteCount ?? 0) > 0 || (s()?.readySmartNoteCount ?? 0) > 0)))() && [_$createComponent(SectionHeader, {
1035
+ }))])]), _$memo(() => _$memo(() => !!(sections().status && (compactionOff() || (s()?.pendingOpsCount ?? 0) > 0 || (s()?.sessionNoteCount ?? 0) > 0 || (s()?.readySmartNoteCount ?? 0) > 0)))() && [_$createComponent(SectionHeader, {
971
1036
  get theme() {
972
1037
  return props.theme;
973
1038
  },
974
1039
  title: "Status"
975
- }), _$memo(() => _$memo(() => (s()?.pendingOpsCount ?? 0) > 0)() && _$createComponent(StatRow, {
1040
+ }), _$memo(() => _$memo(() => !!compactionOff())() ? compactionOffSidebarRows(s()).filter(row => row.label !== "Memories").map(row => _$createComponent(StatRow, {
1041
+ get theme() {
1042
+ return props.theme;
1043
+ },
1044
+ get label() {
1045
+ return row.label;
1046
+ },
1047
+ get value() {
1048
+ return row.value;
1049
+ },
1050
+ dim: true
1051
+ })) : [_$memo(() => _$memo(() => (s()?.pendingOpsCount ?? 0) > 0)() && _$createComponent(StatRow, {
976
1052
  get theme() {
977
1053
  return props.theme;
978
1054
  },
@@ -998,7 +1074,7 @@ const SidebarContent = props => {
998
1074
  return `${s().readySmartNoteCount} ready`;
999
1075
  },
1000
1076
  accent: true
1001
- }))]), _$memo(() => _$memo(() => !!(sections().dreamer && s()?.lastDreamerRunAt))() && [_$createComponent(SectionHeader, {
1077
+ }))])]), _$memo(() => _$memo(() => !!(sections().dreamer && s()?.lastDreamerRunAt))() && [_$createComponent(SectionHeader, {
1002
1078
  get theme() {
1003
1079
  return props.theme;
1004
1080
  },
@@ -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