@oh-my-pi/pi-coding-agent 15.11.3 → 15.11.4

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 (103) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cli.js +353 -294
  3. package/dist/types/config/api-key-resolver.d.ts +9 -3
  4. package/dist/types/config/keybindings.d.ts +1 -1
  5. package/dist/types/config/model-discovery.d.ts +6 -4
  6. package/dist/types/config/model-registry.d.ts +7 -4
  7. package/dist/types/config/settings-schema.d.ts +458 -155
  8. package/dist/types/export/html/template.generated.d.ts +1 -1
  9. package/dist/types/mnemopi/config.d.ts +3 -1
  10. package/dist/types/modes/components/settings-defs.d.ts +9 -2
  11. package/dist/types/modes/components/settings-selector.d.ts +9 -4
  12. package/dist/types/modes/components/tool-execution.d.ts +12 -1
  13. package/dist/types/modes/components/transcript-container.d.ts +12 -0
  14. package/dist/types/modes/controllers/input-controller.d.ts +9 -1
  15. package/dist/types/modes/theme/theme.d.ts +23 -3
  16. package/dist/types/session/agent-session.d.ts +14 -7
  17. package/dist/types/session/auth-storage.d.ts +1 -1
  18. package/dist/types/session/snapcompact-inline.d.ts +28 -0
  19. package/dist/types/slash-commands/helpers/active-oauth-account.d.ts +14 -0
  20. package/dist/types/system-prompt.d.ts +3 -1
  21. package/dist/types/task/render.d.ts +16 -6
  22. package/dist/types/tools/gh.d.ts +3 -0
  23. package/dist/types/tools/render-utils.d.ts +8 -16
  24. package/dist/types/utils/session-color.d.ts +15 -3
  25. package/dist/types/web/kagi.d.ts +1 -2
  26. package/dist/types/web/search/providers/codex.d.ts +1 -1
  27. package/dist/types/web/search/providers/gemini.d.ts +9 -6
  28. package/package.json +11 -11
  29. package/src/auto-thinking/classifier.ts +1 -5
  30. package/src/commit/model-selection.ts +3 -6
  31. package/src/config/api-key-resolver.ts +10 -3
  32. package/src/config/keybindings.ts +1 -1
  33. package/src/config/model-discovery.ts +60 -46
  34. package/src/config/model-registry.ts +21 -8
  35. package/src/config/model-resolver.ts +57 -3
  36. package/src/config/settings-schema.ts +601 -153
  37. package/src/eval/completion-bridge.ts +1 -5
  38. package/src/export/html/template.generated.ts +1 -1
  39. package/src/export/html/template.js +13 -6
  40. package/src/internal-urls/docs-index.generated.ts +5 -5
  41. package/src/internal-urls/issue-pr-protocol.ts +10 -4
  42. package/src/memories/index.ts +2 -10
  43. package/src/mnemopi/backend.ts +30 -8
  44. package/src/mnemopi/config.ts +6 -1
  45. package/src/mnemopi/state.ts +6 -0
  46. package/src/modes/components/extensions/inspector-panel.ts +6 -2
  47. package/src/modes/components/plan-review-overlay.ts +15 -17
  48. package/src/modes/components/plugin-settings.ts +22 -5
  49. package/src/modes/components/settings-defs.ts +19 -4
  50. package/src/modes/components/settings-selector.ts +493 -93
  51. package/src/modes/components/status-line/component.ts +3 -1
  52. package/src/modes/components/status-line/segments.ts +3 -1
  53. package/src/modes/components/tool-execution.ts +69 -12
  54. package/src/modes/components/transcript-container.ts +26 -0
  55. package/src/modes/components/tree-selector.ts +16 -6
  56. package/src/modes/controllers/command-controller.ts +37 -7
  57. package/src/modes/controllers/event-controller.ts +1 -0
  58. package/src/modes/controllers/input-controller.ts +68 -6
  59. package/src/modes/controllers/selector-controller.ts +81 -61
  60. package/src/modes/interactive-mode.ts +4 -2
  61. package/src/modes/rpc/rpc-mode.ts +2 -1
  62. package/src/modes/shared.ts +2 -0
  63. package/src/modes/theme/theme.ts +100 -7
  64. package/src/modes/utils/context-usage.ts +3 -1
  65. package/src/modes/utils/hotkeys-markdown.ts +1 -1
  66. package/src/modes/utils/ui-helpers.ts +9 -5
  67. package/src/prompts/system/personalities/default.md +26 -0
  68. package/src/prompts/system/personalities/friendly.md +17 -0
  69. package/src/prompts/system/personalities/pragmatic.md +15 -0
  70. package/src/prompts/system/snapcompact-system-frames-note.md +1 -0
  71. package/src/prompts/system/snapcompact-system-stub.md +1 -0
  72. package/src/prompts/system/snapcompact-toolresult-note.md +1 -0
  73. package/src/prompts/system/system-prompt.md +5 -22
  74. package/src/prompts/tools/task.md +3 -3
  75. package/src/sdk.ts +22 -1
  76. package/src/session/agent-session.ts +91 -24
  77. package/src/session/auth-storage.ts +1 -0
  78. package/src/session/session-dump-format.ts +8 -1
  79. package/src/session/session-manager.ts +5 -5
  80. package/src/session/snapcompact-inline.ts +187 -0
  81. package/src/slash-commands/helpers/active-oauth-account.ts +44 -0
  82. package/src/slash-commands/helpers/usage-report.ts +24 -3
  83. package/src/system-prompt.ts +15 -1
  84. package/src/task/render.ts +29 -19
  85. package/src/tool-discovery/tool-index.ts +2 -0
  86. package/src/tools/bash.ts +10 -3
  87. package/src/tools/eval-render.ts +13 -8
  88. package/src/tools/gh.ts +39 -1
  89. package/src/tools/image-gen.ts +114 -78
  90. package/src/tools/inspect-image.ts +1 -5
  91. package/src/tools/job.ts +25 -5
  92. package/src/tools/read.ts +1 -57
  93. package/src/tools/render-utils.ts +29 -31
  94. package/src/tools/ssh.ts +3 -3
  95. package/src/tools/tts.ts +40 -20
  96. package/src/utils/clipboard.ts +56 -4
  97. package/src/utils/commit-message-generator.ts +1 -5
  98. package/src/utils/session-color.ts +83 -9
  99. package/src/utils/title-generator.ts +1 -1
  100. package/src/web/kagi.ts +26 -27
  101. package/src/web/search/providers/codex.ts +42 -40
  102. package/src/web/search/providers/gemini.ts +42 -22
  103. package/src/web/search/providers/perplexity.ts +22 -10
@@ -1,15 +1,19 @@
1
1
  /** Unified settings schema - single source of truth for all settings.
2
- * Unified settings schema - single source of truth for all settings.
3
2
  *
4
3
  * Each setting is defined once here with:
5
4
  * - Type and default value
6
- * - Optional UI metadata (label, description, tab)
5
+ * - Optional UI metadata (label, description, tab, group)
6
+ *
7
+ * UI metadata places the setting in the settings panel: `tab` picks the
8
+ * panel tab, `group` the titled section within it (registered in
9
+ * TAB_GROUPS). Sections render in TAB_GROUPS order; settings within a
10
+ * section keep declaration order.
7
11
  *
8
12
  * The Settings singleton provides type-safe path-based access:
9
13
  * settings.get("compaction.enabled") // => boolean
10
14
  * settings.set("theme.dark", "titanium") // sync, saves in background
11
15
  */
12
- export type SettingTab = "appearance" | "model" | "interaction" | "context" | "memory" | "editing" | "tools" | "tasks" | "providers";
16
+ export type SettingTab = "appearance" | "model" | "interaction" | "context" | "memory" | "files" | "shell" | "tools" | "tasks" | "providers";
13
17
  /** Tab display metadata - icon is resolved via theme.symbol() */
14
18
  export type TabMetadata = {
15
19
  label: string;
@@ -22,6 +26,12 @@ export declare const TAB_METADATA: Record<SettingTab, {
22
26
  label: string;
23
27
  icon: `tab.${string}`;
24
28
  }>;
29
+ /**
30
+ * Ordered section groups per tab. Settings declare their section via `ui.group`;
31
+ * the settings UI renders groups in this order with a heading row between them.
32
+ * Ungrouped settings render first, before any section heading.
33
+ */
34
+ export declare const TAB_GROUPS: Record<SettingTab, readonly string[]>;
25
35
  /** Status line segment identifiers */
26
36
  export type StatusLineSegmentId = "pi" | "model" | "mode" | "path" | "git" | "pr" | "subagents" | "token_in" | "token_out" | "token_total" | "token_rate" | "cost" | "context_pct" | "context_total" | "time_spent" | "time" | "session" | "hostname" | "cache_read" | "cache_write" | "cache_hit" | "session_name" | "usage";
27
37
  /** Submenu choice metadata. */
@@ -32,6 +42,8 @@ export type SubmenuOption<V extends string = string> = {
32
42
  };
33
43
  interface UiBase {
34
44
  tab: SettingTab;
45
+ /** Section within the tab; must be listed in TAB_GROUPS[tab]. Ungrouped settings render at the top. */
46
+ group?: string;
35
47
  label: string;
36
48
  description: string;
37
49
  /** Condition function name - setting only shown when true */
@@ -118,6 +130,7 @@ export declare const SETTINGS_SCHEMA: {
118
130
  readonly default: false;
119
131
  readonly ui: {
120
132
  readonly tab: "interaction";
133
+ readonly group: "Startup & Updates";
121
134
  readonly label: "Auto Resume";
122
135
  readonly description: "Automatically resume the most recent session in the current directory";
123
136
  };
@@ -127,8 +140,9 @@ export declare const SETTINGS_SCHEMA: {
127
140
  readonly default: true;
128
141
  readonly ui: {
129
142
  readonly tab: "interaction";
130
- readonly label: "Prevent Idle Sleep (macOS)";
131
- readonly description: "caffeinate -i: keep the system awake while a session is open";
143
+ readonly group: "Power (macOS)";
144
+ readonly label: "Prevent Idle Sleep";
145
+ readonly description: "Keep the system awake while a session is open (caffeinate -i)";
132
146
  };
133
147
  };
134
148
  readonly "power.preventSystemSleep": {
@@ -136,8 +150,9 @@ export declare const SETTINGS_SCHEMA: {
136
150
  readonly default: false;
137
151
  readonly ui: {
138
152
  readonly tab: "interaction";
139
- readonly label: "Prevent System Sleep on AC (macOS)";
140
- readonly description: "caffeinate -s: block all system sleep while on AC power";
153
+ readonly group: "Power (macOS)";
154
+ readonly label: "Prevent System Sleep on AC";
155
+ readonly description: "Block all system sleep while on AC power (caffeinate -s)";
141
156
  };
142
157
  };
143
158
  readonly "power.declareUserActive": {
@@ -145,8 +160,9 @@ export declare const SETTINGS_SCHEMA: {
145
160
  readonly default: false;
146
161
  readonly ui: {
147
162
  readonly tab: "interaction";
148
- readonly label: "Declare User Active (macOS)";
149
- readonly description: "caffeinate -u: keep the display lit and treat the user as active";
163
+ readonly group: "Power (macOS)";
164
+ readonly label: "Declare User Active";
165
+ readonly description: "Keep the display lit and treat the user as active (caffeinate -u)";
150
166
  };
151
167
  };
152
168
  readonly "power.preventDisplaySleep": {
@@ -154,8 +170,9 @@ export declare const SETTINGS_SCHEMA: {
154
170
  readonly default: false;
155
171
  readonly ui: {
156
172
  readonly tab: "interaction";
157
- readonly label: "Prevent Display Sleep (macOS)";
158
- readonly description: "caffeinate -d: keep the display from idle-sleeping while a session is open";
173
+ readonly group: "Power (macOS)";
174
+ readonly label: "Prevent Display Sleep";
175
+ readonly description: "Keep the display from idle-sleeping while a session is open (caffeinate -d)";
159
176
  };
160
177
  };
161
178
  readonly shellPath: {
@@ -166,29 +183,6 @@ export declare const SETTINGS_SCHEMA: {
166
183
  readonly type: "array";
167
184
  readonly default: string[];
168
185
  };
169
- readonly "marketplace.autoUpdate": {
170
- readonly type: "enum";
171
- readonly values: readonly ["off", "notify", "auto"];
172
- readonly default: "notify";
173
- readonly ui: {
174
- readonly tab: "tools";
175
- readonly label: "Marketplace Auto-Update";
176
- readonly description: "Check for plugin updates on startup (off/notify/auto)";
177
- readonly options: readonly [{
178
- readonly value: "off";
179
- readonly label: "Off";
180
- readonly description: "Don't check for plugin updates";
181
- }, {
182
- readonly value: "notify";
183
- readonly label: "Notify";
184
- readonly description: "Check on startup and notify when updates are available";
185
- }, {
186
- readonly value: "auto";
187
- readonly label: "Auto";
188
- readonly description: "Check on startup and auto-install updates";
189
- }];
190
- };
191
- };
192
186
  readonly enabledModels: {
193
187
  readonly type: "array";
194
188
  readonly default: string[];
@@ -222,8 +216,9 @@ export declare const SETTINGS_SCHEMA: {
222
216
  readonly default: "titanium";
223
217
  readonly ui: {
224
218
  readonly tab: "appearance";
219
+ readonly group: "Theme";
225
220
  readonly label: "Dark Theme";
226
- readonly description: "Theme used when terminal has dark background";
221
+ readonly description: "Theme used when the terminal has a dark background";
227
222
  readonly options: "runtime";
228
223
  };
229
224
  };
@@ -232,8 +227,9 @@ export declare const SETTINGS_SCHEMA: {
232
227
  readonly default: "light";
233
228
  readonly ui: {
234
229
  readonly tab: "appearance";
230
+ readonly group: "Theme";
235
231
  readonly label: "Light Theme";
236
- readonly description: "Theme used when terminal has light background";
232
+ readonly description: "Theme used when the terminal has a light background";
237
233
  readonly options: "runtime";
238
234
  };
239
235
  };
@@ -243,8 +239,9 @@ export declare const SETTINGS_SCHEMA: {
243
239
  readonly default: "unicode";
244
240
  readonly ui: {
245
241
  readonly tab: "appearance";
242
+ readonly group: "Theme";
246
243
  readonly label: "Symbol Preset";
247
- readonly description: "Icon/symbol style";
244
+ readonly description: "Glyph set for icons and symbols (Unicode, Nerd Font, or ASCII)";
248
245
  readonly options: readonly [{
249
246
  readonly value: "unicode";
250
247
  readonly label: "Unicode";
@@ -265,6 +262,7 @@ export declare const SETTINGS_SCHEMA: {
265
262
  readonly default: false;
266
263
  readonly ui: {
267
264
  readonly tab: "appearance";
265
+ readonly group: "Theme";
268
266
  readonly label: "Color-Blind Mode";
269
267
  readonly description: "Use blue instead of green for diff additions";
270
268
  };
@@ -275,6 +273,7 @@ export declare const SETTINGS_SCHEMA: {
275
273
  readonly default: "default";
276
274
  readonly ui: {
277
275
  readonly tab: "appearance";
276
+ readonly group: "Status Line";
278
277
  readonly label: "Status Line Preset";
279
278
  readonly description: "Pre-built status line configurations";
280
279
  readonly options: readonly [{
@@ -314,6 +313,7 @@ export declare const SETTINGS_SCHEMA: {
314
313
  readonly default: "powerline-thin";
315
314
  readonly ui: {
316
315
  readonly tab: "appearance";
316
+ readonly group: "Status Line";
317
317
  readonly label: "Status Line Separator";
318
318
  readonly description: "Style of separators between segments";
319
319
  readonly options: readonly [{
@@ -352,6 +352,7 @@ export declare const SETTINGS_SCHEMA: {
352
352
  readonly default: true;
353
353
  readonly ui: {
354
354
  readonly tab: "appearance";
355
+ readonly group: "Status Line";
355
356
  readonly label: "Session Accent";
356
357
  readonly description: "Use the session name color for the editor border and status line gap";
357
358
  };
@@ -361,6 +362,7 @@ export declare const SETTINGS_SCHEMA: {
361
362
  readonly default: false;
362
363
  readonly ui: {
363
364
  readonly tab: "appearance";
365
+ readonly group: "Status Line";
364
366
  readonly label: "Transparent Status Line";
365
367
  readonly description: "Use the terminal's default background for the status line instead of the theme's `statusLineBg`. Powerline end caps are dropped because they need a contrasting fill to bridge into the surrounding terminal.";
366
368
  };
@@ -370,7 +372,8 @@ export declare const SETTINGS_SCHEMA: {
370
372
  readonly default: 50;
371
373
  readonly ui: {
372
374
  readonly tab: "tools";
373
- readonly label: "Artifact spill threshold (KB)";
375
+ readonly group: "Output Limits";
376
+ readonly label: "Artifact Spill Threshold (KB)";
374
377
  readonly description: "Tool output above this size is saved as an artifact; tail is kept inline";
375
378
  readonly options: readonly [{
376
379
  readonly value: "1";
@@ -428,7 +431,8 @@ export declare const SETTINGS_SCHEMA: {
428
431
  readonly default: 20;
429
432
  readonly ui: {
430
433
  readonly tab: "tools";
431
- readonly label: "Artifact tail size (KB)";
434
+ readonly group: "Output Limits";
435
+ readonly label: "Artifact Tail Size (KB)";
432
436
  readonly description: "Amount of tail content kept inline when output spills to artifact";
433
437
  readonly options: readonly [{
434
438
  readonly value: "1";
@@ -470,7 +474,8 @@ export declare const SETTINGS_SCHEMA: {
470
474
  readonly default: 20;
471
475
  readonly ui: {
472
476
  readonly tab: "tools";
473
- readonly label: "Artifact head size (KB)";
477
+ readonly group: "Output Limits";
478
+ readonly label: "Artifact Head Size (KB)";
474
479
  readonly description: "Amount of head content kept inline alongside the tail when output spills to artifact (middle elision). 0 disables — keep tail only.";
475
480
  readonly options: readonly [{
476
481
  readonly value: "0";
@@ -516,7 +521,8 @@ export declare const SETTINGS_SCHEMA: {
516
521
  readonly default: 768;
517
522
  readonly ui: {
518
523
  readonly tab: "tools";
519
- readonly label: "Output column cap";
524
+ readonly group: "Output Limits";
525
+ readonly label: "Output Column Cap";
520
526
  readonly description: "Per-line byte cap for streaming tool outputs (bash, ssh, python, js eval) and `read`. Lines wider than this are ellipsis-truncated; remaining bytes up to the next newline are dropped. 0 disables.";
521
527
  readonly options: readonly [{
522
528
  readonly value: "0";
@@ -551,7 +557,8 @@ export declare const SETTINGS_SCHEMA: {
551
557
  readonly default: 500;
552
558
  readonly ui: {
553
559
  readonly tab: "tools";
554
- readonly label: "Artifact tail lines";
560
+ readonly group: "Output Limits";
561
+ readonly label: "Artifact Tail Lines";
555
562
  readonly description: "Maximum lines of tail content kept inline when output spills to artifact";
556
563
  readonly options: readonly [{
557
564
  readonly value: "50";
@@ -589,8 +596,9 @@ export declare const SETTINGS_SCHEMA: {
589
596
  readonly default: true;
590
597
  readonly ui: {
591
598
  readonly tab: "appearance";
599
+ readonly group: "Status Line";
592
600
  readonly label: "Show Hook Status";
593
- readonly description: "Display hook status messages below status line";
601
+ readonly description: "Display hook status messages below the status line";
594
602
  };
595
603
  };
596
604
  readonly "statusLine.leftSegments": {
@@ -610,8 +618,9 @@ export declare const SETTINGS_SCHEMA: {
610
618
  readonly default: true;
611
619
  readonly ui: {
612
620
  readonly tab: "appearance";
621
+ readonly group: "Images";
613
622
  readonly label: "Show Inline Images";
614
- readonly description: "Render images inline in terminal";
623
+ readonly description: "Render images inline in the terminal";
615
624
  readonly condition: "hasImageProtocol";
616
625
  };
617
626
  };
@@ -620,6 +629,7 @@ export declare const SETTINGS_SCHEMA: {
620
629
  readonly default: true;
621
630
  readonly ui: {
622
631
  readonly tab: "appearance";
632
+ readonly group: "Images";
623
633
  readonly label: "Auto-Resize Images";
624
634
  readonly description: "Resize large images to 2000x2000 max for better model compatibility";
625
635
  };
@@ -629,6 +639,7 @@ export declare const SETTINGS_SCHEMA: {
629
639
  readonly default: false;
630
640
  readonly ui: {
631
641
  readonly tab: "appearance";
642
+ readonly group: "Images";
632
643
  readonly label: "Block Images";
633
644
  readonly description: "Prevent images from being sent to LLM providers";
634
645
  };
@@ -653,6 +664,7 @@ export declare const SETTINGS_SCHEMA: {
653
664
  readonly default: false;
654
665
  readonly ui: {
655
666
  readonly tab: "appearance";
667
+ readonly group: "Display";
656
668
  readonly label: "Large Headings (Kitty)";
657
669
  readonly description: "Render Markdown H1 headings at 2x scale using Kitty's OSC 66 text-sizing protocol. Only takes effect on Kitty terminals; ignored everywhere else. Off by default.";
658
670
  };
@@ -663,6 +675,7 @@ export declare const SETTINGS_SCHEMA: {
663
675
  readonly default: "auto";
664
676
  readonly ui: {
665
677
  readonly tab: "appearance";
678
+ readonly group: "Display";
666
679
  readonly label: "Terminal Hyperlinks";
667
680
  readonly description: "Wrap paths and URLs in OSC 8 hyperlinks for terminal-native click-to-open (auto: detect support; off: never; always: unconditional)";
668
681
  };
@@ -677,6 +690,7 @@ export declare const SETTINGS_SCHEMA: {
677
690
  readonly default: "classic";
678
691
  readonly ui: {
679
692
  readonly tab: "appearance";
693
+ readonly group: "Display";
680
694
  readonly label: "Shimmer";
681
695
  readonly description: "Animation style for working/loading messages";
682
696
  readonly options: readonly [{
@@ -699,6 +713,7 @@ export declare const SETTINGS_SCHEMA: {
699
713
  readonly default: true;
700
714
  readonly ui: {
701
715
  readonly tab: "appearance";
716
+ readonly group: "Display";
702
717
  readonly label: "Smooth Streaming";
703
718
  readonly description: "Reveal assistant text and streamed tool input smoothly while chunks arrive";
704
719
  };
@@ -708,6 +723,7 @@ export declare const SETTINGS_SCHEMA: {
708
723
  readonly default: false;
709
724
  readonly ui: {
710
725
  readonly tab: "appearance";
726
+ readonly group: "Display";
711
727
  readonly label: "Show Token Usage";
712
728
  readonly description: "Show per-turn token usage on assistant messages";
713
729
  };
@@ -717,6 +733,7 @@ export declare const SETTINGS_SCHEMA: {
717
733
  readonly default: true;
718
734
  readonly ui: {
719
735
  readonly tab: "appearance";
736
+ readonly group: "Display";
720
737
  readonly label: "Show Hardware Cursor";
721
738
  readonly description: "Show terminal cursor for IME support";
722
739
  };
@@ -727,6 +744,7 @@ export declare const SETTINGS_SCHEMA: {
727
744
  readonly default: "high";
728
745
  readonly ui: {
729
746
  readonly tab: "model";
747
+ readonly group: "Thinking";
730
748
  readonly label: "Thinking Level";
731
749
  readonly description: "Reasoning depth for thinking-capable models";
732
750
  readonly options: readonly [import("../thinking").ConfiguredThinkingLevelMetadata, ...import("../thinking").ThinkingLevelMetadata[]];
@@ -737,6 +755,7 @@ export declare const SETTINGS_SCHEMA: {
737
755
  readonly default: false;
738
756
  readonly ui: {
739
757
  readonly tab: "model";
758
+ readonly group: "Thinking";
740
759
  readonly label: "Hide Thinking Blocks";
741
760
  readonly description: "Hide thinking blocks in assistant responses";
742
761
  };
@@ -746,6 +765,7 @@ export declare const SETTINGS_SCHEMA: {
746
765
  readonly default: false;
747
766
  readonly ui: {
748
767
  readonly tab: "model";
768
+ readonly group: "Prompt";
749
769
  readonly label: "Repeat Tool Descriptions";
750
770
  readonly description: "Render full tool descriptions in the system prompt instead of a tool name list";
751
771
  };
@@ -755,15 +775,45 @@ export declare const SETTINGS_SCHEMA: {
755
775
  readonly default: true;
756
776
  readonly ui: {
757
777
  readonly tab: "model";
758
- readonly label: "Include Model In Prompt";
778
+ readonly group: "Prompt";
779
+ readonly label: "Include Model in Prompt";
759
780
  readonly description: "Surface the active model identifier in the system prompt so the agent knows which model it is";
760
781
  };
761
782
  };
783
+ readonly personality: {
784
+ readonly type: "enum";
785
+ readonly values: readonly ["default", "friendly", "pragmatic", "none"];
786
+ readonly default: "default";
787
+ readonly ui: {
788
+ readonly tab: "model";
789
+ readonly group: "Prompt";
790
+ readonly label: "Personality";
791
+ readonly description: "Communication style rendered into the system prompt's personality block";
792
+ readonly options: readonly [{
793
+ readonly value: "default";
794
+ readonly label: "Default";
795
+ readonly description: "Terse, evidence-first engineer; dense, action-oriented replies";
796
+ }, {
797
+ readonly value: "friendly";
798
+ readonly label: "Friendly";
799
+ readonly description: "Warm, encouraging collaborator focused on momentum and morale";
800
+ }, {
801
+ readonly value: "pragmatic";
802
+ readonly label: "Pragmatic";
803
+ readonly description: "Direct, efficient engineer focused on clarity and rigor";
804
+ }, {
805
+ readonly value: "none";
806
+ readonly label: "None";
807
+ readonly description: "Omit the personality block entirely";
808
+ }];
809
+ };
810
+ };
762
811
  readonly temperature: {
763
812
  readonly type: "number";
764
813
  readonly default: -1;
765
814
  readonly ui: {
766
815
  readonly tab: "model";
816
+ readonly group: "Sampling";
767
817
  readonly label: "Temperature";
768
818
  readonly description: "Sampling temperature (0 = deterministic, 1 = creative, -1 = provider default)";
769
819
  readonly options: readonly [{
@@ -798,6 +848,7 @@ export declare const SETTINGS_SCHEMA: {
798
848
  readonly default: -1;
799
849
  readonly ui: {
800
850
  readonly tab: "model";
851
+ readonly group: "Sampling";
801
852
  readonly label: "Top P";
802
853
  readonly description: "Nucleus sampling cutoff (0-1, -1 = provider default)";
803
854
  readonly options: readonly [{
@@ -832,6 +883,7 @@ export declare const SETTINGS_SCHEMA: {
832
883
  readonly default: -1;
833
884
  readonly ui: {
834
885
  readonly tab: "model";
886
+ readonly group: "Sampling";
835
887
  readonly label: "Top K";
836
888
  readonly description: "Sample from top-K tokens (-1 = provider default)";
837
889
  readonly options: readonly [{
@@ -862,6 +914,7 @@ export declare const SETTINGS_SCHEMA: {
862
914
  readonly default: -1;
863
915
  readonly ui: {
864
916
  readonly tab: "model";
917
+ readonly group: "Sampling";
865
918
  readonly label: "Min P";
866
919
  readonly description: "Minimum probability threshold (0-1, -1 = provider default)";
867
920
  readonly options: readonly [{
@@ -888,6 +941,7 @@ export declare const SETTINGS_SCHEMA: {
888
941
  readonly default: -1;
889
942
  readonly ui: {
890
943
  readonly tab: "model";
944
+ readonly group: "Sampling";
891
945
  readonly label: "Presence Penalty";
892
946
  readonly description: "Penalty for introducing already-present tokens (-1 = provider default)";
893
947
  readonly options: readonly [{
@@ -918,6 +972,7 @@ export declare const SETTINGS_SCHEMA: {
918
972
  readonly default: -1;
919
973
  readonly ui: {
920
974
  readonly tab: "model";
975
+ readonly group: "Sampling";
921
976
  readonly label: "Repetition Penalty";
922
977
  readonly description: "Penalty for repeated tokens (-1 = provider default)";
923
978
  readonly options: readonly [{
@@ -953,6 +1008,7 @@ export declare const SETTINGS_SCHEMA: {
953
1008
  readonly default: "none";
954
1009
  readonly ui: {
955
1010
  readonly tab: "model";
1011
+ readonly group: "Sampling";
956
1012
  readonly label: "Service Tier";
957
1013
  readonly description: 'Processing priority hint (none = omit). OpenAI accepts the tier values directly; Anthropic realizes `priority` as `speed: "fast"` on supported Opus models. Scoped values target one family.';
958
1014
  readonly options: readonly [{
@@ -999,6 +1055,7 @@ export declare const SETTINGS_SCHEMA: {
999
1055
  readonly default: 10;
1000
1056
  readonly ui: {
1001
1057
  readonly tab: "model";
1058
+ readonly group: "Retry & Fallback";
1002
1059
  readonly label: "Retry Attempts";
1003
1060
  readonly description: "Maximum retry attempts on API errors";
1004
1061
  readonly options: readonly [{
@@ -1028,6 +1085,7 @@ export declare const SETTINGS_SCHEMA: {
1028
1085
  readonly default: number;
1029
1086
  readonly ui: {
1030
1087
  readonly tab: "model";
1088
+ readonly group: "Retry & Fallback";
1031
1089
  readonly label: "Max Retry Delay";
1032
1090
  readonly description: "Maximum wait between retries, in ms. When the provider asks us to wait longer than this and no credential or model fallback succeeds, the request fails fast instead of sleeping (e.g. 3-hour Anthropic rate-limit windows).";
1033
1091
  };
@@ -1037,6 +1095,7 @@ export declare const SETTINGS_SCHEMA: {
1037
1095
  readonly default: true;
1038
1096
  readonly ui: {
1039
1097
  readonly tab: "model";
1098
+ readonly group: "Retry & Fallback";
1040
1099
  readonly label: "Retry Model Fallback";
1041
1100
  readonly description: "Allow retry recovery to switch to configured fallback models";
1042
1101
  };
@@ -1051,6 +1110,7 @@ export declare const SETTINGS_SCHEMA: {
1051
1110
  readonly default: "cooldown-expiry";
1052
1111
  readonly ui: {
1053
1112
  readonly tab: "model";
1113
+ readonly group: "Retry & Fallback";
1054
1114
  readonly label: "Fallback Revert Policy";
1055
1115
  readonly description: "When to return to the primary model after a fallback";
1056
1116
  readonly options: readonly [{
@@ -1070,6 +1130,7 @@ export declare const SETTINGS_SCHEMA: {
1070
1130
  readonly default: "one-at-a-time";
1071
1131
  readonly ui: {
1072
1132
  readonly tab: "interaction";
1133
+ readonly group: "Input";
1073
1134
  readonly label: "Steering Mode";
1074
1135
  readonly description: "How to process queued messages while agent is working";
1075
1136
  };
@@ -1080,6 +1141,7 @@ export declare const SETTINGS_SCHEMA: {
1080
1141
  readonly default: "one-at-a-time";
1081
1142
  readonly ui: {
1082
1143
  readonly tab: "interaction";
1144
+ readonly group: "Input";
1083
1145
  readonly label: "Follow-Up Mode";
1084
1146
  readonly description: "How to drain follow-up messages after a turn completes";
1085
1147
  };
@@ -1090,6 +1152,7 @@ export declare const SETTINGS_SCHEMA: {
1090
1152
  readonly default: "immediate";
1091
1153
  readonly ui: {
1092
1154
  readonly tab: "interaction";
1155
+ readonly group: "Input";
1093
1156
  readonly label: "Interrupt Mode";
1094
1157
  readonly description: "When steering messages interrupt tool execution";
1095
1158
  };
@@ -1100,6 +1163,7 @@ export declare const SETTINGS_SCHEMA: {
1100
1163
  readonly default: "prompt";
1101
1164
  readonly ui: {
1102
1165
  readonly tab: "interaction";
1166
+ readonly group: "Input";
1103
1167
  readonly label: "Loop Mode";
1104
1168
  readonly description: "What happens between /loop iterations before re-submitting the prompt";
1105
1169
  readonly options: readonly [{
@@ -1123,6 +1187,7 @@ export declare const SETTINGS_SCHEMA: {
1123
1187
  readonly default: "tree";
1124
1188
  readonly ui: {
1125
1189
  readonly tab: "interaction";
1190
+ readonly group: "Input";
1126
1191
  readonly label: "Double-Escape Action";
1127
1192
  readonly description: "Action when pressing Escape twice with empty editor";
1128
1193
  };
@@ -1133,6 +1198,7 @@ export declare const SETTINGS_SCHEMA: {
1133
1198
  readonly default: "default";
1134
1199
  readonly ui: {
1135
1200
  readonly tab: "interaction";
1201
+ readonly group: "Input";
1136
1202
  readonly label: "Session Tree Filter";
1137
1203
  readonly description: "Default filter mode when opening the session tree";
1138
1204
  };
@@ -1142,6 +1208,7 @@ export declare const SETTINGS_SCHEMA: {
1142
1208
  readonly default: 5;
1143
1209
  readonly ui: {
1144
1210
  readonly tab: "interaction";
1211
+ readonly group: "Input";
1145
1212
  readonly label: "Autocomplete Items";
1146
1213
  readonly description: "Max visible items in autocomplete dropdown (3-20)";
1147
1214
  readonly options: readonly [{
@@ -1170,6 +1237,7 @@ export declare const SETTINGS_SCHEMA: {
1170
1237
  readonly default: true;
1171
1238
  readonly ui: {
1172
1239
  readonly tab: "interaction";
1240
+ readonly group: "Input";
1173
1241
  readonly label: "Emoji Autocomplete";
1174
1242
  readonly description: "Suggest emojis from `:name:` shortcodes and expand text emoticons like `:D` or `:-)`";
1175
1243
  };
@@ -1179,6 +1247,7 @@ export declare const SETTINGS_SCHEMA: {
1179
1247
  readonly default: false;
1180
1248
  readonly ui: {
1181
1249
  readonly tab: "interaction";
1250
+ readonly group: "Startup & Updates";
1182
1251
  readonly label: "Quiet Startup";
1183
1252
  readonly description: "Skip welcome screen and startup status messages";
1184
1253
  };
@@ -1188,6 +1257,7 @@ export declare const SETTINGS_SCHEMA: {
1188
1257
  readonly default: true;
1189
1258
  readonly ui: {
1190
1259
  readonly tab: "interaction";
1260
+ readonly group: "Startup & Updates";
1191
1261
  readonly label: "Setup Wizard";
1192
1262
  readonly description: "Show newly added onboarding steps once per setup version";
1193
1263
  };
@@ -1197,8 +1267,33 @@ export declare const SETTINGS_SCHEMA: {
1197
1267
  readonly default: true;
1198
1268
  readonly ui: {
1199
1269
  readonly tab: "interaction";
1270
+ readonly group: "Startup & Updates";
1200
1271
  readonly label: "Check for Updates";
1201
- readonly description: "If false, skip update check";
1272
+ readonly description: "Check for omp updates on startup";
1273
+ };
1274
+ };
1275
+ readonly "marketplace.autoUpdate": {
1276
+ readonly type: "enum";
1277
+ readonly values: readonly ["off", "notify", "auto"];
1278
+ readonly default: "notify";
1279
+ readonly ui: {
1280
+ readonly tab: "interaction";
1281
+ readonly group: "Startup & Updates";
1282
+ readonly label: "Marketplace Auto-Update";
1283
+ readonly description: "Check for plugin updates on startup";
1284
+ readonly options: readonly [{
1285
+ readonly value: "off";
1286
+ readonly label: "Off";
1287
+ readonly description: "Don't check for plugin updates";
1288
+ }, {
1289
+ readonly value: "notify";
1290
+ readonly label: "Notify";
1291
+ readonly description: "Check on startup and notify when updates are available";
1292
+ }, {
1293
+ readonly value: "auto";
1294
+ readonly label: "Auto";
1295
+ readonly description: "Check on startup and auto-install updates";
1296
+ }];
1202
1297
  };
1203
1298
  };
1204
1299
  readonly collapseChangelog: {
@@ -1206,6 +1301,7 @@ export declare const SETTINGS_SCHEMA: {
1206
1301
  readonly default: false;
1207
1302
  readonly ui: {
1208
1303
  readonly tab: "interaction";
1304
+ readonly group: "Startup & Updates";
1209
1305
  readonly label: "Collapse Changelog";
1210
1306
  readonly description: "Show condensed changelog after updates";
1211
1307
  };
@@ -1215,6 +1311,7 @@ export declare const SETTINGS_SCHEMA: {
1215
1311
  readonly default: true;
1216
1312
  readonly ui: {
1217
1313
  readonly tab: "interaction";
1314
+ readonly group: "Magic Keywords";
1218
1315
  readonly label: "Magic Keywords";
1219
1316
  readonly description: "Enable hidden notices for standalone ultrathink, orchestrate, and workflowz keywords";
1220
1317
  };
@@ -1224,6 +1321,7 @@ export declare const SETTINGS_SCHEMA: {
1224
1321
  readonly default: true;
1225
1322
  readonly ui: {
1226
1323
  readonly tab: "interaction";
1324
+ readonly group: "Magic Keywords";
1227
1325
  readonly label: "Ultrathink Keyword";
1228
1326
  readonly description: "Let standalone ultrathink request maximum automatic thinking and append its hidden notice";
1229
1327
  };
@@ -1233,6 +1331,7 @@ export declare const SETTINGS_SCHEMA: {
1233
1331
  readonly default: true;
1234
1332
  readonly ui: {
1235
1333
  readonly tab: "interaction";
1334
+ readonly group: "Magic Keywords";
1236
1335
  readonly label: "Orchestrate Keyword";
1237
1336
  readonly description: "Let standalone orchestrate append its hidden multi-agent orchestration notice";
1238
1337
  };
@@ -1242,6 +1341,7 @@ export declare const SETTINGS_SCHEMA: {
1242
1341
  readonly default: true;
1243
1342
  readonly ui: {
1244
1343
  readonly tab: "interaction";
1344
+ readonly group: "Magic Keywords";
1245
1345
  readonly label: "Workflow Keyword";
1246
1346
  readonly description: "Let standalone workflowz append its hidden eval workflow notice";
1247
1347
  };
@@ -1252,8 +1352,9 @@ export declare const SETTINGS_SCHEMA: {
1252
1352
  readonly default: "on";
1253
1353
  readonly ui: {
1254
1354
  readonly tab: "interaction";
1355
+ readonly group: "Notifications";
1255
1356
  readonly label: "Completion Notification";
1256
- readonly description: "Notify when the agent completes";
1357
+ readonly description: "Notify when the agent finishes a turn";
1257
1358
  };
1258
1359
  };
1259
1360
  readonly "ask.timeout": {
@@ -1261,8 +1362,9 @@ export declare const SETTINGS_SCHEMA: {
1261
1362
  readonly default: 0;
1262
1363
  readonly ui: {
1263
1364
  readonly tab: "interaction";
1365
+ readonly group: "Notifications";
1264
1366
  readonly label: "Ask Timeout";
1265
- readonly description: "Auto-select recommended option after timeout (0 to disable)";
1367
+ readonly description: "Auto-select the recommended ask option after this many seconds (0 disables)";
1266
1368
  readonly options: readonly [{
1267
1369
  readonly value: "0";
1268
1370
  readonly label: "Disabled";
@@ -1287,8 +1389,9 @@ export declare const SETTINGS_SCHEMA: {
1287
1389
  readonly default: "on";
1288
1390
  readonly ui: {
1289
1391
  readonly tab: "interaction";
1392
+ readonly group: "Notifications";
1290
1393
  readonly label: "Ask Notification";
1291
- readonly description: "Notify when ask tool is waiting for input";
1394
+ readonly description: "Notify when the ask tool is waiting for input";
1292
1395
  };
1293
1396
  };
1294
1397
  readonly "stt.enabled": {
@@ -1296,6 +1399,7 @@ export declare const SETTINGS_SCHEMA: {
1296
1399
  readonly default: false;
1297
1400
  readonly ui: {
1298
1401
  readonly tab: "interaction";
1402
+ readonly group: "Speech";
1299
1403
  readonly label: "Speech-to-Text";
1300
1404
  readonly description: "Enable speech-to-text input via microphone";
1301
1405
  };
@@ -1310,6 +1414,7 @@ export declare const SETTINGS_SCHEMA: {
1310
1414
  readonly default: "base.en";
1311
1415
  readonly ui: {
1312
1416
  readonly tab: "interaction";
1417
+ readonly group: "Speech";
1313
1418
  readonly label: "Speech Model";
1314
1419
  readonly description: "Whisper model size (larger = more accurate but slower)";
1315
1420
  readonly options: readonly [{
@@ -1356,6 +1461,7 @@ export declare const SETTINGS_SCHEMA: {
1356
1461
  readonly default: true;
1357
1462
  readonly ui: {
1358
1463
  readonly tab: "context";
1464
+ readonly group: "General";
1359
1465
  readonly label: "Auto-Promote Context";
1360
1466
  readonly description: "Promote to a larger-context model on context overflow instead of compacting";
1361
1467
  };
@@ -1365,6 +1471,7 @@ export declare const SETTINGS_SCHEMA: {
1365
1471
  readonly default: true;
1366
1472
  readonly ui: {
1367
1473
  readonly tab: "context";
1474
+ readonly group: "Compaction";
1368
1475
  readonly label: "Auto-Compact";
1369
1476
  readonly description: "Automatically compact context when it gets too large";
1370
1477
  };
@@ -1375,6 +1482,7 @@ export declare const SETTINGS_SCHEMA: {
1375
1482
  readonly default: "context-full";
1376
1483
  readonly ui: {
1377
1484
  readonly tab: "context";
1485
+ readonly group: "Compaction";
1378
1486
  readonly label: "Compaction Strategy";
1379
1487
  readonly description: "Choose in-place context-full maintenance, auto-handoff, surgical shake (drop heavy content), snapcompact (archive history as dense images), or disable auto maintenance (off)";
1380
1488
  readonly options: readonly [{
@@ -1405,6 +1513,7 @@ export declare const SETTINGS_SCHEMA: {
1405
1513
  readonly default: -1;
1406
1514
  readonly ui: {
1407
1515
  readonly tab: "context";
1516
+ readonly group: "Compaction";
1408
1517
  readonly label: "Compaction Threshold";
1409
1518
  readonly description: "Percent threshold for context maintenance; set to Default to use legacy reserve-based behavior";
1410
1519
  readonly options: readonly [{
@@ -1467,6 +1576,7 @@ export declare const SETTINGS_SCHEMA: {
1467
1576
  readonly default: -1;
1468
1577
  readonly ui: {
1469
1578
  readonly tab: "context";
1579
+ readonly group: "Compaction";
1470
1580
  readonly label: "Compaction Token Limit";
1471
1581
  readonly description: "Fixed token limit for context maintenance; overrides percentage if set";
1472
1582
  readonly options: readonly [{
@@ -1509,6 +1619,7 @@ export declare const SETTINGS_SCHEMA: {
1509
1619
  readonly default: false;
1510
1620
  readonly ui: {
1511
1621
  readonly tab: "context";
1622
+ readonly group: "Compaction";
1512
1623
  readonly label: "Save Handoff Docs";
1513
1624
  readonly description: "Save generated handoff documents to markdown files for the auto-handoff flow";
1514
1625
  };
@@ -1518,6 +1629,7 @@ export declare const SETTINGS_SCHEMA: {
1518
1629
  readonly default: true;
1519
1630
  readonly ui: {
1520
1631
  readonly tab: "context";
1632
+ readonly group: "Compaction";
1521
1633
  readonly label: "Remote Compaction";
1522
1634
  readonly description: "Use remote compaction endpoints when available instead of local summarization";
1523
1635
  };
@@ -1543,6 +1655,7 @@ export declare const SETTINGS_SCHEMA: {
1543
1655
  readonly default: false;
1544
1656
  readonly ui: {
1545
1657
  readonly tab: "context";
1658
+ readonly group: "Compaction";
1546
1659
  readonly label: "Idle Compaction";
1547
1660
  readonly description: "Compact context while idle when token count exceeds threshold";
1548
1661
  };
@@ -1552,6 +1665,7 @@ export declare const SETTINGS_SCHEMA: {
1552
1665
  readonly default: 200000;
1553
1666
  readonly ui: {
1554
1667
  readonly tab: "context";
1668
+ readonly group: "Compaction";
1555
1669
  readonly label: "Idle Compaction Threshold";
1556
1670
  readonly description: "Token count above which idle compaction triggers";
1557
1671
  readonly options: readonly [{
@@ -1589,6 +1703,7 @@ export declare const SETTINGS_SCHEMA: {
1589
1703
  readonly default: 300;
1590
1704
  readonly ui: {
1591
1705
  readonly tab: "context";
1706
+ readonly group: "Compaction";
1592
1707
  readonly label: "Idle Compaction Delay";
1593
1708
  readonly description: "Seconds to wait while idle before compacting";
1594
1709
  readonly options: readonly [{
@@ -1617,15 +1732,37 @@ export declare const SETTINGS_SCHEMA: {
1617
1732
  readonly default: true;
1618
1733
  readonly ui: {
1619
1734
  readonly tab: "context";
1735
+ readonly group: "Compaction";
1620
1736
  readonly label: "Supersede Stale Reads";
1621
1737
  readonly description: "Prune older read results when the same file is read again (cache-aware, runs every turn)";
1622
1738
  };
1623
1739
  };
1740
+ readonly "snapcompact.systemPrompt": {
1741
+ readonly type: "boolean";
1742
+ readonly default: false;
1743
+ readonly ui: {
1744
+ readonly tab: "context";
1745
+ readonly group: "Experimental";
1746
+ readonly label: "Snapcompact System Prompt";
1747
+ readonly description: "Experimental: render the system prompt as dense PNG image(s) and attach to the first user message (vision models only). Saves tokens; loses system-prompt prompt caching.";
1748
+ };
1749
+ };
1750
+ readonly "snapcompact.toolResults": {
1751
+ readonly type: "boolean";
1752
+ readonly default: false;
1753
+ readonly ui: {
1754
+ readonly tab: "context";
1755
+ readonly group: "Experimental";
1756
+ readonly label: "Snapcompact Tool Results";
1757
+ readonly description: "Experimental: render large historical tool results as dense PNG image(s) instead of text (vision models only). Saves tokens on accumulated read/search output.";
1758
+ };
1759
+ };
1624
1760
  readonly "branchSummary.enabled": {
1625
1761
  readonly type: "boolean";
1626
1762
  readonly default: false;
1627
1763
  readonly ui: {
1628
1764
  readonly tab: "context";
1765
+ readonly group: "General";
1629
1766
  readonly label: "Branch Summaries";
1630
1767
  readonly description: "Prompt to summarize when leaving a branch";
1631
1768
  };
@@ -1704,6 +1841,7 @@ export declare const SETTINGS_SCHEMA: {
1704
1841
  readonly default: "off";
1705
1842
  readonly ui: {
1706
1843
  readonly tab: "memory";
1844
+ readonly group: "General";
1707
1845
  readonly label: "Memory Backend";
1708
1846
  readonly description: "Off, local summary pipeline, Mnemopi SQLite, or Hindsight remote memory";
1709
1847
  readonly options: readonly [{
@@ -1730,6 +1868,7 @@ export declare const SETTINGS_SCHEMA: {
1730
1868
  readonly default: undefined;
1731
1869
  readonly ui: {
1732
1870
  readonly tab: "memory";
1871
+ readonly group: "Mnemopi";
1733
1872
  readonly label: "Mnemopi DB Path";
1734
1873
  readonly description: "Optional SQLite DB path. Defaults to the agent memories directory.";
1735
1874
  readonly condition: "mnemopiActive";
@@ -1740,6 +1879,7 @@ export declare const SETTINGS_SCHEMA: {
1740
1879
  readonly default: undefined;
1741
1880
  readonly ui: {
1742
1881
  readonly tab: "memory";
1882
+ readonly group: "Mnemopi";
1743
1883
  readonly label: "Mnemopi Bank";
1744
1884
  readonly description: "Optional shared bank base name. Per-project modes derive project-local banks from it.";
1745
1885
  readonly condition: "mnemopiActive";
@@ -1751,6 +1891,7 @@ export declare const SETTINGS_SCHEMA: {
1751
1891
  readonly default: "per-project";
1752
1892
  readonly ui: {
1753
1893
  readonly tab: "memory";
1894
+ readonly group: "Mnemopi";
1754
1895
  readonly label: "Mnemopi Scoping";
1755
1896
  readonly description: "global = one shared bank; per-project = isolated bank per cwd; per-project-tagged = project-local writes plus global recall visibility";
1756
1897
  readonly options: readonly [{
@@ -1774,6 +1915,7 @@ export declare const SETTINGS_SCHEMA: {
1774
1915
  readonly default: true;
1775
1916
  readonly ui: {
1776
1917
  readonly tab: "memory";
1918
+ readonly group: "Mnemopi";
1777
1919
  readonly label: "Mnemopi Auto Recall";
1778
1920
  readonly description: "Recall local memories into the first turn of each session";
1779
1921
  readonly condition: "mnemopiActive";
@@ -1784,16 +1926,40 @@ export declare const SETTINGS_SCHEMA: {
1784
1926
  readonly default: true;
1785
1927
  readonly ui: {
1786
1928
  readonly tab: "memory";
1929
+ readonly group: "Mnemopi";
1787
1930
  readonly label: "Mnemopi Auto Retain";
1788
1931
  readonly description: "Retain completed conversation turns into local Mnemopi memory";
1789
1932
  readonly condition: "mnemopiActive";
1790
1933
  };
1791
1934
  };
1935
+ readonly "mnemopi.polyphonicRecall": {
1936
+ readonly type: "boolean";
1937
+ readonly default: false;
1938
+ readonly ui: {
1939
+ readonly tab: "memory";
1940
+ readonly group: "Mnemopi";
1941
+ readonly label: "Mnemopi Polyphonic Recall";
1942
+ readonly description: "Enable 4-voice recall (vector, graph, fact, temporal) fused with reciprocal rank fusion";
1943
+ readonly condition: "mnemopiActive";
1944
+ };
1945
+ };
1946
+ readonly "mnemopi.enhancedRecall": {
1947
+ readonly type: "boolean";
1948
+ readonly default: false;
1949
+ readonly ui: {
1950
+ readonly tab: "memory";
1951
+ readonly group: "Mnemopi";
1952
+ readonly label: "Mnemopi Enhanced Recall";
1953
+ readonly description: "Enable the tiered query result cache for repeated and similar recall queries";
1954
+ readonly condition: "mnemopiActive";
1955
+ };
1956
+ };
1792
1957
  readonly "mnemopi.noEmbeddings": {
1793
1958
  readonly type: "boolean";
1794
1959
  readonly default: false;
1795
1960
  readonly ui: {
1796
1961
  readonly tab: "memory";
1962
+ readonly group: "Mnemopi";
1797
1963
  readonly label: "Mnemopi Disable Embeddings";
1798
1964
  readonly description: "Force deterministic FTS-only recall instead of vector embeddings";
1799
1965
  readonly condition: "mnemopiActive";
@@ -1804,6 +1970,7 @@ export declare const SETTINGS_SCHEMA: {
1804
1970
  readonly default: undefined;
1805
1971
  readonly ui: {
1806
1972
  readonly tab: "memory";
1973
+ readonly group: "Mnemopi";
1807
1974
  readonly label: "Mnemopi Embedding Model";
1808
1975
  readonly description: "Optional embedding model override passed to Mnemopi";
1809
1976
  readonly condition: "mnemopiActive";
@@ -1814,6 +1981,7 @@ export declare const SETTINGS_SCHEMA: {
1814
1981
  readonly default: undefined;
1815
1982
  readonly ui: {
1816
1983
  readonly tab: "memory";
1984
+ readonly group: "Mnemopi";
1817
1985
  readonly label: "Mnemopi Embedding API URL";
1818
1986
  readonly description: "Optional OpenAI-compatible embedding endpoint passed to Mnemopi";
1819
1987
  readonly condition: "mnemopiActive";
@@ -1824,6 +1992,7 @@ export declare const SETTINGS_SCHEMA: {
1824
1992
  readonly default: undefined;
1825
1993
  readonly ui: {
1826
1994
  readonly tab: "memory";
1995
+ readonly group: "Mnemopi";
1827
1996
  readonly label: "Mnemopi Embedding API Key";
1828
1997
  readonly description: "Optional embedding API key passed to Mnemopi";
1829
1998
  readonly condition: "mnemopiActive";
@@ -1835,6 +2004,7 @@ export declare const SETTINGS_SCHEMA: {
1835
2004
  readonly default: "smol";
1836
2005
  readonly ui: {
1837
2006
  readonly tab: "memory";
2007
+ readonly group: "Mnemopi";
1838
2008
  readonly label: "Mnemopi LLM Mode";
1839
2009
  readonly description: "Use no LLM, the configured smol model, or a remote OpenAI-compatible endpoint";
1840
2010
  readonly condition: "mnemopiActive";
@@ -1858,6 +2028,7 @@ export declare const SETTINGS_SCHEMA: {
1858
2028
  readonly default: undefined;
1859
2029
  readonly ui: {
1860
2030
  readonly tab: "memory";
2031
+ readonly group: "Mnemopi";
1861
2032
  readonly label: "Mnemopi LLM Base URL";
1862
2033
  readonly description: "Optional OpenAI-compatible LLM endpoint for Mnemopi remote mode";
1863
2034
  readonly condition: "mnemopiActive";
@@ -1868,6 +2039,7 @@ export declare const SETTINGS_SCHEMA: {
1868
2039
  readonly default: undefined;
1869
2040
  readonly ui: {
1870
2041
  readonly tab: "memory";
2042
+ readonly group: "Mnemopi";
1871
2043
  readonly label: "Mnemopi LLM API Key";
1872
2044
  readonly description: "Optional LLM API key for Mnemopi remote mode";
1873
2045
  readonly condition: "mnemopiActive";
@@ -1878,6 +2050,7 @@ export declare const SETTINGS_SCHEMA: {
1878
2050
  readonly default: undefined;
1879
2051
  readonly ui: {
1880
2052
  readonly tab: "memory";
2053
+ readonly group: "Mnemopi";
1881
2054
  readonly label: "Mnemopi LLM Model";
1882
2055
  readonly description: "Optional LLM model name for Mnemopi remote mode";
1883
2056
  readonly condition: "mnemopiActive";
@@ -1912,6 +2085,7 @@ export declare const SETTINGS_SCHEMA: {
1912
2085
  readonly default: "http://localhost:8888";
1913
2086
  readonly ui: {
1914
2087
  readonly tab: "memory";
2088
+ readonly group: "Hindsight";
1915
2089
  readonly label: "Hindsight API URL";
1916
2090
  readonly description: "Hindsight server URL (Cloud or self-hosted)";
1917
2091
  readonly condition: "hindsightActive";
@@ -1926,6 +2100,7 @@ export declare const SETTINGS_SCHEMA: {
1926
2100
  readonly default: undefined;
1927
2101
  readonly ui: {
1928
2102
  readonly tab: "memory";
2103
+ readonly group: "Hindsight";
1929
2104
  readonly label: "Hindsight Bank ID";
1930
2105
  readonly description: "Memory bank identifier (default: project name)";
1931
2106
  readonly condition: "hindsightActive";
@@ -1941,6 +2116,7 @@ export declare const SETTINGS_SCHEMA: {
1941
2116
  readonly default: "per-project-tagged";
1942
2117
  readonly ui: {
1943
2118
  readonly tab: "memory";
2119
+ readonly group: "Hindsight";
1944
2120
  readonly label: "Hindsight Scoping";
1945
2121
  readonly description: "global = one shared bank; per-project = isolated bank per cwd; per-project-tagged = shared bank with project tags so global + project memories merge on recall";
1946
2122
  readonly options: readonly [{
@@ -1972,6 +2148,7 @@ export declare const SETTINGS_SCHEMA: {
1972
2148
  readonly default: true;
1973
2149
  readonly ui: {
1974
2150
  readonly tab: "memory";
2151
+ readonly group: "Hindsight";
1975
2152
  readonly label: "Hindsight Auto Recall";
1976
2153
  readonly description: "Recall memories on the first turn of each session";
1977
2154
  readonly condition: "hindsightActive";
@@ -1982,6 +2159,7 @@ export declare const SETTINGS_SCHEMA: {
1982
2159
  readonly default: true;
1983
2160
  readonly ui: {
1984
2161
  readonly tab: "memory";
2162
+ readonly group: "Hindsight";
1985
2163
  readonly label: "Hindsight Auto Retain";
1986
2164
  readonly description: "Retain transcript every N turns and at session boundaries";
1987
2165
  readonly condition: "hindsightActive";
@@ -1993,6 +2171,7 @@ export declare const SETTINGS_SCHEMA: {
1993
2171
  readonly default: "full-session";
1994
2172
  readonly ui: {
1995
2173
  readonly tab: "memory";
2174
+ readonly group: "Hindsight";
1996
2175
  readonly label: "Hindsight Retain Mode";
1997
2176
  readonly description: "full-session = upsert one document per session, last-turn = chunked";
1998
2177
  readonly options: readonly [{
@@ -2049,6 +2228,7 @@ export declare const SETTINGS_SCHEMA: {
2049
2228
  readonly default: true;
2050
2229
  readonly ui: {
2051
2230
  readonly tab: "memory";
2231
+ readonly group: "Hindsight";
2052
2232
  readonly label: "Hindsight Mental Models";
2053
2233
  readonly description: "Read curated reflect summaries (mental models) into developer instructions at boot. Loads existing models on the bank — does not write. Pair with hindsight.mentalModelAutoSeed to also auto-create the built-in seed set.";
2054
2234
  readonly condition: "hindsightActive";
@@ -2059,6 +2239,7 @@ export declare const SETTINGS_SCHEMA: {
2059
2239
  readonly default: true;
2060
2240
  readonly ui: {
2061
2241
  readonly tab: "memory";
2242
+ readonly group: "Hindsight";
2062
2243
  readonly label: "Hindsight Mental Model Auto-Seed";
2063
2244
  readonly description: "At session start, create any built-in mental models (project-conventions, project-decisions, user-preferences) that do not yet exist on the bank.";
2064
2245
  readonly condition: "hindsightActive";
@@ -2077,8 +2258,9 @@ export declare const SETTINGS_SCHEMA: {
2077
2258
  readonly default: true;
2078
2259
  readonly ui: {
2079
2260
  readonly tab: "context";
2261
+ readonly group: "Rules (TTSR)";
2080
2262
  readonly label: "TTSR";
2081
- readonly description: "Time Traveling Stream Rules: interrupt agent when output matches patterns";
2263
+ readonly description: "Interrupt the agent mid-stream when output matches rule patterns (Time-Traveling Stream Rules)";
2082
2264
  };
2083
2265
  };
2084
2266
  readonly "ttsr.contextMode": {
@@ -2087,6 +2269,7 @@ export declare const SETTINGS_SCHEMA: {
2087
2269
  readonly default: "discard";
2088
2270
  readonly ui: {
2089
2271
  readonly tab: "context";
2272
+ readonly group: "Rules (TTSR)";
2090
2273
  readonly label: "TTSR Context Mode";
2091
2274
  readonly description: "What to do with partial output when TTSR triggers";
2092
2275
  };
@@ -2097,6 +2280,7 @@ export declare const SETTINGS_SCHEMA: {
2097
2280
  readonly default: "always";
2098
2281
  readonly ui: {
2099
2282
  readonly tab: "context";
2283
+ readonly group: "Rules (TTSR)";
2100
2284
  readonly label: "TTSR Interrupt Mode";
2101
2285
  readonly description: "When to interrupt mid-stream vs inject warning after completion";
2102
2286
  readonly options: readonly [{
@@ -2124,6 +2308,7 @@ export declare const SETTINGS_SCHEMA: {
2124
2308
  readonly default: "once";
2125
2309
  readonly ui: {
2126
2310
  readonly tab: "context";
2311
+ readonly group: "Rules (TTSR)";
2127
2312
  readonly label: "TTSR Repeat Mode";
2128
2313
  readonly description: "How rules can repeat: once per session or after a message gap";
2129
2314
  };
@@ -2133,6 +2318,7 @@ export declare const SETTINGS_SCHEMA: {
2133
2318
  readonly default: 10;
2134
2319
  readonly ui: {
2135
2320
  readonly tab: "context";
2321
+ readonly group: "Rules (TTSR)";
2136
2322
  readonly label: "TTSR Repeat Gap";
2137
2323
  readonly description: "Messages before a rule can trigger again";
2138
2324
  readonly options: readonly [{
@@ -2158,7 +2344,8 @@ export declare const SETTINGS_SCHEMA: {
2158
2344
  readonly default: true;
2159
2345
  readonly ui: {
2160
2346
  readonly tab: "context";
2161
- readonly label: "Builtin Rules";
2347
+ readonly group: "Rules (TTSR)";
2348
+ readonly label: "Built-in Rules";
2162
2349
  readonly description: "Load the default rules shipped with the agent (override individually with ttsr.disabledRules)";
2163
2350
  };
2164
2351
  };
@@ -2167,6 +2354,7 @@ export declare const SETTINGS_SCHEMA: {
2167
2354
  readonly default: string[];
2168
2355
  readonly ui: {
2169
2356
  readonly tab: "context";
2357
+ readonly group: "Rules (TTSR)";
2170
2358
  readonly label: "Disabled Rules";
2171
2359
  readonly description: "Rule names to ignore entirely (applies to bundled defaults and your own rules)";
2172
2360
  };
@@ -2176,7 +2364,8 @@ export declare const SETTINGS_SCHEMA: {
2176
2364
  readonly values: import("..").EditMode[];
2177
2365
  readonly default: "hashline";
2178
2366
  readonly ui: {
2179
- readonly tab: "editing";
2367
+ readonly tab: "files";
2368
+ readonly group: "Editing";
2180
2369
  readonly label: "Edit Mode";
2181
2370
  readonly description: "Select the edit tool variant (replace, patch, hashline, or apply_patch)";
2182
2371
  };
@@ -2185,7 +2374,8 @@ export declare const SETTINGS_SCHEMA: {
2185
2374
  readonly type: "boolean";
2186
2375
  readonly default: true;
2187
2376
  readonly ui: {
2188
- readonly tab: "editing";
2377
+ readonly tab: "files";
2378
+ readonly group: "Editing";
2189
2379
  readonly label: "Fuzzy Match";
2190
2380
  readonly description: "Accept high-confidence fuzzy matches for whitespace differences";
2191
2381
  };
@@ -2194,9 +2384,10 @@ export declare const SETTINGS_SCHEMA: {
2194
2384
  readonly type: "number";
2195
2385
  readonly default: 0.95;
2196
2386
  readonly ui: {
2197
- readonly tab: "editing";
2387
+ readonly tab: "files";
2388
+ readonly group: "Editing";
2198
2389
  readonly label: "Fuzzy Match Threshold";
2199
- readonly description: "Similarity threshold for fuzzy matches";
2390
+ readonly description: "Similarity threshold (0-1) for accepting fuzzy matches";
2200
2391
  readonly options: readonly [{
2201
2392
  readonly value: "0.85";
2202
2393
  readonly label: "0.85";
@@ -2220,7 +2411,8 @@ export declare const SETTINGS_SCHEMA: {
2220
2411
  readonly type: "boolean";
2221
2412
  readonly default: false;
2222
2413
  readonly ui: {
2223
- readonly tab: "editing";
2414
+ readonly tab: "files";
2415
+ readonly group: "Editing";
2224
2416
  readonly label: "Abort on Failed Preview";
2225
2417
  readonly description: "Abort streaming edit tool calls when patch preview fails";
2226
2418
  };
@@ -2229,7 +2421,8 @@ export declare const SETTINGS_SCHEMA: {
2229
2421
  readonly type: "boolean";
2230
2422
  readonly default: true;
2231
2423
  readonly ui: {
2232
- readonly tab: "editing";
2424
+ readonly tab: "files";
2425
+ readonly group: "Editing";
2233
2426
  readonly label: "Block Auto-Generated Files";
2234
2427
  readonly description: "Prevent editing of files that appear to be auto-generated (protoc, sqlc, swagger, etc.)";
2235
2428
  };
@@ -2238,7 +2431,8 @@ export declare const SETTINGS_SCHEMA: {
2238
2431
  readonly type: "boolean";
2239
2432
  readonly default: false;
2240
2433
  readonly ui: {
2241
- readonly tab: "editing";
2434
+ readonly tab: "files";
2435
+ readonly group: "Reading";
2242
2436
  readonly label: "Line Numbers";
2243
2437
  readonly description: "Prepend line numbers to read tool output by default";
2244
2438
  };
@@ -2247,7 +2441,8 @@ export declare const SETTINGS_SCHEMA: {
2247
2441
  readonly type: "boolean";
2248
2442
  readonly default: true;
2249
2443
  readonly ui: {
2250
- readonly tab: "editing";
2444
+ readonly tab: "files";
2445
+ readonly group: "Reading";
2251
2446
  readonly label: "Hash Lines";
2252
2447
  readonly description: "Include snapshot-tag headers and line numbers in read output for hashline edit mode ([PATH#TAG] plus LINE:content)";
2253
2448
  };
@@ -2256,7 +2451,8 @@ export declare const SETTINGS_SCHEMA: {
2256
2451
  readonly type: "number";
2257
2452
  readonly default: 300;
2258
2453
  readonly ui: {
2259
- readonly tab: "editing";
2454
+ readonly tab: "files";
2455
+ readonly group: "Reading";
2260
2456
  readonly label: "Default Read Limit";
2261
2457
  readonly description: "Default number of lines returned when agent calls read without a limit";
2262
2458
  readonly options: readonly [{
@@ -2281,7 +2477,8 @@ export declare const SETTINGS_SCHEMA: {
2281
2477
  readonly type: "boolean";
2282
2478
  readonly default: true;
2283
2479
  readonly ui: {
2284
- readonly tab: "editing";
2480
+ readonly tab: "files";
2481
+ readonly group: "Read Summaries";
2285
2482
  readonly label: "Read Summaries";
2286
2483
  readonly description: "Return structural code summaries when read is called without an explicit selector";
2287
2484
  };
@@ -2290,7 +2487,8 @@ export declare const SETTINGS_SCHEMA: {
2290
2487
  readonly type: "boolean";
2291
2488
  readonly default: false;
2292
2489
  readonly ui: {
2293
- readonly tab: "editing";
2490
+ readonly tab: "files";
2491
+ readonly group: "Read Summaries";
2294
2492
  readonly label: "Prose Summaries";
2295
2493
  readonly description: "Return structural summaries for Markdown and plain text reads";
2296
2494
  };
@@ -2299,7 +2497,8 @@ export declare const SETTINGS_SCHEMA: {
2299
2497
  readonly type: "number";
2300
2498
  readonly default: 4;
2301
2499
  readonly ui: {
2302
- readonly tab: "editing";
2500
+ readonly tab: "files";
2501
+ readonly group: "Read Summaries";
2303
2502
  readonly label: "Read Summary Body Lines";
2304
2503
  readonly description: "Minimum multiline body or literal length before read summaries collapse it";
2305
2504
  };
@@ -2308,7 +2507,8 @@ export declare const SETTINGS_SCHEMA: {
2308
2507
  readonly type: "number";
2309
2508
  readonly default: 6;
2310
2509
  readonly ui: {
2311
- readonly tab: "editing";
2510
+ readonly tab: "files";
2511
+ readonly group: "Read Summaries";
2312
2512
  readonly label: "Read Summary Comment Lines";
2313
2513
  readonly description: "Minimum multiline block comment length before read summaries collapse it";
2314
2514
  };
@@ -2317,7 +2517,8 @@ export declare const SETTINGS_SCHEMA: {
2317
2517
  readonly type: "number";
2318
2518
  readonly default: 100;
2319
2519
  readonly ui: {
2320
- readonly tab: "editing";
2520
+ readonly tab: "files";
2521
+ readonly group: "Read Summaries";
2321
2522
  readonly label: "Read Summary Minimum File Length";
2322
2523
  readonly description: "Files with fewer total lines are read verbatim instead of structurally summarized";
2323
2524
  };
@@ -2326,7 +2527,8 @@ export declare const SETTINGS_SCHEMA: {
2326
2527
  readonly type: "number";
2327
2528
  readonly default: 50;
2328
2529
  readonly ui: {
2329
- readonly tab: "editing";
2530
+ readonly tab: "files";
2531
+ readonly group: "Read Summaries";
2330
2532
  readonly label: "Read Summary Unfold Target";
2331
2533
  readonly description: "BFS-unfold elidable spans until the summary is at least this many visible lines. 0 keeps only the outermost elisions.";
2332
2534
  };
@@ -2335,7 +2537,8 @@ export declare const SETTINGS_SCHEMA: {
2335
2537
  readonly type: "number";
2336
2538
  readonly default: 100;
2337
2539
  readonly ui: {
2338
- readonly tab: "editing";
2540
+ readonly tab: "files";
2541
+ readonly group: "Read Summaries";
2339
2542
  readonly label: "Read Summary Unfold Ceiling";
2340
2543
  readonly description: "Hard ceiling on summary size while BFS-unfolding. An unfold that would exceed this is reverted and unfolding stops.";
2341
2544
  };
@@ -2344,7 +2547,8 @@ export declare const SETTINGS_SCHEMA: {
2344
2547
  readonly type: "boolean";
2345
2548
  readonly default: false;
2346
2549
  readonly ui: {
2347
- readonly tab: "editing";
2550
+ readonly tab: "files";
2551
+ readonly group: "Reading";
2348
2552
  readonly label: "Inline Read Previews";
2349
2553
  readonly description: "Render read tool results inline in the transcript instead of summary rows";
2350
2554
  };
@@ -2353,16 +2557,18 @@ export declare const SETTINGS_SCHEMA: {
2353
2557
  readonly type: "boolean";
2354
2558
  readonly default: true;
2355
2559
  readonly ui: {
2356
- readonly tab: "editing";
2560
+ readonly tab: "files";
2561
+ readonly group: "LSP";
2357
2562
  readonly label: "LSP";
2358
- readonly description: "Enable the lsp tool for language server protocol";
2563
+ readonly description: "Enable the lsp tool for code intelligence (definitions, references, diagnostics, rename)";
2359
2564
  };
2360
2565
  };
2361
2566
  readonly "lsp.lazy": {
2362
2567
  readonly type: "boolean";
2363
2568
  readonly default: true;
2364
2569
  readonly ui: {
2365
- readonly tab: "editing";
2570
+ readonly tab: "files";
2571
+ readonly group: "LSP";
2366
2572
  readonly label: "Lazy LSP Startup";
2367
2573
  readonly description: "Start language servers on first use (lsp tool or editing a matching file type) instead of at session startup";
2368
2574
  };
@@ -2371,7 +2577,8 @@ export declare const SETTINGS_SCHEMA: {
2371
2577
  readonly type: "boolean";
2372
2578
  readonly default: false;
2373
2579
  readonly ui: {
2374
- readonly tab: "editing";
2580
+ readonly tab: "files";
2581
+ readonly group: "LSP";
2375
2582
  readonly label: "Format on Write";
2376
2583
  readonly description: "Automatically format code files using LSP after writing";
2377
2584
  };
@@ -2380,7 +2587,8 @@ export declare const SETTINGS_SCHEMA: {
2380
2587
  readonly type: "boolean";
2381
2588
  readonly default: true;
2382
2589
  readonly ui: {
2383
- readonly tab: "editing";
2590
+ readonly tab: "files";
2591
+ readonly group: "LSP";
2384
2592
  readonly label: "Diagnostics on Write";
2385
2593
  readonly description: "Return LSP diagnostics after writing code files";
2386
2594
  };
@@ -2389,7 +2597,8 @@ export declare const SETTINGS_SCHEMA: {
2389
2597
  readonly type: "boolean";
2390
2598
  readonly default: false;
2391
2599
  readonly ui: {
2392
- readonly tab: "editing";
2600
+ readonly tab: "files";
2601
+ readonly group: "LSP";
2393
2602
  readonly label: "Diagnostics on Edit";
2394
2603
  readonly description: "Return LSP diagnostics after editing code files";
2395
2604
  };
@@ -2398,16 +2607,38 @@ export declare const SETTINGS_SCHEMA: {
2398
2607
  readonly type: "boolean";
2399
2608
  readonly default: true;
2400
2609
  readonly ui: {
2401
- readonly tab: "editing";
2610
+ readonly tab: "files";
2611
+ readonly group: "LSP";
2402
2612
  readonly label: "Deduplicate Diagnostics";
2403
2613
  readonly description: "Suppress post-edit LSP diagnostics already shown for a file; only surface new or changed ones";
2404
2614
  };
2405
2615
  };
2616
+ readonly "bash.enabled": {
2617
+ readonly type: "boolean";
2618
+ readonly default: true;
2619
+ readonly ui: {
2620
+ readonly tab: "shell";
2621
+ readonly group: "Bash";
2622
+ readonly label: "Bash";
2623
+ readonly description: "Enable the bash tool for shell command execution";
2624
+ };
2625
+ };
2626
+ readonly "bash.autoBackground.enabled": {
2627
+ readonly type: "boolean";
2628
+ readonly default: false;
2629
+ readonly ui: {
2630
+ readonly tab: "shell";
2631
+ readonly group: "Bash";
2632
+ readonly label: "Bash Auto-Background";
2633
+ readonly description: "Automatically background long-running bash commands and deliver the result later";
2634
+ };
2635
+ };
2406
2636
  readonly "bashInterceptor.enabled": {
2407
2637
  readonly type: "boolean";
2408
2638
  readonly default: false;
2409
2639
  readonly ui: {
2410
- readonly tab: "editing";
2640
+ readonly tab: "shell";
2641
+ readonly group: "Bash";
2411
2642
  readonly label: "Bash Interceptor";
2412
2643
  readonly description: "Block shell commands that have dedicated tools";
2413
2644
  };
@@ -2420,8 +2651,9 @@ export declare const SETTINGS_SCHEMA: {
2420
2651
  readonly type: "boolean";
2421
2652
  readonly default: true;
2422
2653
  readonly ui: {
2423
- readonly tab: "editing";
2424
- readonly label: "Strip Trailing head/tail";
2654
+ readonly tab: "shell";
2655
+ readonly group: "Bash";
2656
+ readonly label: "Strip head/tail Pipes";
2425
2657
  readonly description: "Silently drop trailing `| head`/`| tail` pipes from single-line bash commands. Output is already truncated automatically.";
2426
2658
  };
2427
2659
  };
@@ -2429,7 +2661,8 @@ export declare const SETTINGS_SCHEMA: {
2429
2661
  readonly type: "boolean";
2430
2662
  readonly default: true;
2431
2663
  readonly ui: {
2432
- readonly tab: "editing";
2664
+ readonly tab: "shell";
2665
+ readonly group: "Bash";
2433
2666
  readonly label: "Shell Minimizer";
2434
2667
  readonly description: "Compress verbose shell output (git, npm, cargo, etc.) before returning it to the agent";
2435
2668
  };
@@ -2455,7 +2688,8 @@ export declare const SETTINGS_SCHEMA: {
2455
2688
  readonly values: readonly ["default", "aggressive"];
2456
2689
  readonly default: "default";
2457
2690
  readonly ui: {
2458
- readonly tab: "editing";
2691
+ readonly tab: "shell";
2692
+ readonly group: "Bash";
2459
2693
  readonly label: "Shell Minimizer Source Outline";
2460
2694
  readonly description: "Source outline mode for cat/read of source files: default or aggressive";
2461
2695
  };
@@ -2468,18 +2702,20 @@ export declare const SETTINGS_SCHEMA: {
2468
2702
  readonly type: "boolean";
2469
2703
  readonly default: true;
2470
2704
  readonly ui: {
2471
- readonly tab: "editing";
2472
- readonly label: "Eval: Python backend";
2473
- readonly description: "Allow the eval tool to dispatch to the IPython kernel";
2705
+ readonly tab: "shell";
2706
+ readonly group: "Eval & Python";
2707
+ readonly label: "Python Eval Backend";
2708
+ readonly description: "Allow the eval tool to dispatch Python cells to the IPython kernel";
2474
2709
  };
2475
2710
  };
2476
2711
  readonly "eval.js": {
2477
2712
  readonly type: "boolean";
2478
2713
  readonly default: true;
2479
2714
  readonly ui: {
2480
- readonly tab: "editing";
2481
- readonly label: "Eval: JavaScript backend";
2482
- readonly description: "Allow the eval tool to dispatch to the in-process JavaScript runtime";
2715
+ readonly tab: "shell";
2716
+ readonly group: "Eval & Python";
2717
+ readonly label: "JavaScript Eval Backend";
2718
+ readonly description: "Allow the eval tool to dispatch JavaScript cells to the in-process runtime";
2483
2719
  };
2484
2720
  };
2485
2721
  readonly "python.kernelMode": {
@@ -2487,16 +2723,18 @@ export declare const SETTINGS_SCHEMA: {
2487
2723
  readonly values: readonly ["session", "per-call"];
2488
2724
  readonly default: "session";
2489
2725
  readonly ui: {
2490
- readonly tab: "editing";
2726
+ readonly tab: "shell";
2727
+ readonly group: "Eval & Python";
2491
2728
  readonly label: "Python Kernel Mode";
2492
- readonly description: "Whether to keep IPython kernel alive across calls";
2729
+ readonly description: "Keep the IPython kernel alive across eval calls or start fresh each time";
2493
2730
  };
2494
2731
  };
2495
2732
  readonly "python.interpreter": {
2496
2733
  readonly type: "string";
2497
2734
  readonly default: "";
2498
2735
  readonly ui: {
2499
- readonly tab: "editing";
2736
+ readonly tab: "shell";
2737
+ readonly group: "Eval & Python";
2500
2738
  readonly label: "Python Interpreter";
2501
2739
  readonly description: "Optional path to an exact Python executable. When set, automatic Python runtime discovery is skipped.";
2502
2740
  };
@@ -2505,7 +2743,8 @@ export declare const SETTINGS_SCHEMA: {
2505
2743
  readonly type: "record";
2506
2744
  readonly default: {};
2507
2745
  readonly ui: {
2508
- readonly tab: "tools";
2746
+ readonly tab: "interaction";
2747
+ readonly group: "Approvals";
2509
2748
  readonly label: "Tool Approval Policies";
2510
2749
  readonly description: "Per-tool approval policies. Set to 'allow' to auto-approve, 'prompt' to require confirmation, or 'deny' to block. Overrides are honored in every approval mode.";
2511
2750
  };
@@ -2516,8 +2755,9 @@ export declare const SETTINGS_SCHEMA: {
2516
2755
  readonly default: "yolo";
2517
2756
  readonly ui: {
2518
2757
  readonly tab: "interaction";
2758
+ readonly group: "Approvals";
2519
2759
  readonly label: "Tool Approval";
2520
- readonly description: "Default approval behaviour for tool calls. 'Always ask' auto-approves read-only tools only. 'Write' auto-approves read and workspace-write tools. 'Yolo' auto-approves all tiers; user policy may still prompt or block.";
2760
+ readonly description: "Default approval behavior for tool calls. 'Always ask' auto-approves read-only tools only. 'Write' auto-approves read and workspace-write tools. 'Yolo' auto-approves all tiers; user policy may still prompt or block.";
2521
2761
  readonly options: readonly [{
2522
2762
  readonly value: "always-ask";
2523
2763
  readonly label: "Always ask";
@@ -2538,6 +2778,7 @@ export declare const SETTINGS_SCHEMA: {
2538
2778
  readonly default: true;
2539
2779
  readonly ui: {
2540
2780
  readonly tab: "tools";
2781
+ readonly group: "Available Tools";
2541
2782
  readonly label: "Todos";
2542
2783
  readonly description: "Enable the todo tool for task tracking";
2543
2784
  };
@@ -2547,8 +2788,9 @@ export declare const SETTINGS_SCHEMA: {
2547
2788
  readonly default: true;
2548
2789
  readonly ui: {
2549
2790
  readonly tab: "tools";
2791
+ readonly group: "Todos";
2550
2792
  readonly label: "Todo Reminders";
2551
- readonly description: "Remind agent to complete todos before stopping";
2793
+ readonly description: "Remind the agent to complete todos before stopping";
2552
2794
  };
2553
2795
  };
2554
2796
  readonly "todo.reminders.max": {
@@ -2556,8 +2798,9 @@ export declare const SETTINGS_SCHEMA: {
2556
2798
  readonly default: 3;
2557
2799
  readonly ui: {
2558
2800
  readonly tab: "tools";
2801
+ readonly group: "Todos";
2559
2802
  readonly label: "Todo Reminder Limit";
2560
- readonly description: "Maximum reminders to complete todos before giving up";
2803
+ readonly description: "Maximum number of todo reminders before giving up";
2561
2804
  readonly options: readonly [{
2562
2805
  readonly value: "1";
2563
2806
  readonly label: "1 reminder";
@@ -2578,26 +2821,19 @@ export declare const SETTINGS_SCHEMA: {
2578
2821
  readonly default: false;
2579
2822
  readonly ui: {
2580
2823
  readonly tab: "tools";
2824
+ readonly group: "Todos";
2581
2825
  readonly label: "Create Todos Automatically";
2582
2826
  readonly description: "Automatically create a comprehensive todo list after the first message";
2583
2827
  };
2584
2828
  };
2585
- readonly "bash.enabled": {
2586
- readonly type: "boolean";
2587
- readonly default: true;
2588
- readonly ui: {
2589
- readonly tab: "tools";
2590
- readonly label: "Bash";
2591
- readonly description: "Enable the bash tool for shell command execution";
2592
- };
2593
- };
2594
2829
  readonly "find.enabled": {
2595
2830
  readonly type: "boolean";
2596
2831
  readonly default: true;
2597
2832
  readonly ui: {
2598
2833
  readonly tab: "tools";
2834
+ readonly group: "Available Tools";
2599
2835
  readonly label: "Find";
2600
- readonly description: "Enable the find tool for file searching";
2836
+ readonly description: "Enable the find tool for glob-based file lookup";
2601
2837
  };
2602
2838
  };
2603
2839
  readonly "search.enabled": {
@@ -2605,8 +2841,9 @@ export declare const SETTINGS_SCHEMA: {
2605
2841
  readonly default: true;
2606
2842
  readonly ui: {
2607
2843
  readonly tab: "tools";
2844
+ readonly group: "Available Tools";
2608
2845
  readonly label: "Search";
2609
- readonly description: "Enable the search tool for content searching";
2846
+ readonly description: "Enable the search tool for regex content search";
2610
2847
  };
2611
2848
  };
2612
2849
  readonly "search.contextBefore": {
@@ -2614,6 +2851,7 @@ export declare const SETTINGS_SCHEMA: {
2614
2851
  readonly default: 1;
2615
2852
  readonly ui: {
2616
2853
  readonly tab: "tools";
2854
+ readonly group: "Search & Browser";
2617
2855
  readonly label: "Search Context Before";
2618
2856
  readonly description: "Lines of context before each search match";
2619
2857
  readonly options: readonly [{
@@ -2639,6 +2877,7 @@ export declare const SETTINGS_SCHEMA: {
2639
2877
  readonly default: 3;
2640
2878
  readonly ui: {
2641
2879
  readonly tab: "tools";
2880
+ readonly group: "Search & Browser";
2642
2881
  readonly label: "Search Context After";
2643
2882
  readonly description: "Lines of context after each search match";
2644
2883
  readonly options: readonly [{
@@ -2667,6 +2906,7 @@ export declare const SETTINGS_SCHEMA: {
2667
2906
  readonly default: true;
2668
2907
  readonly ui: {
2669
2908
  readonly tab: "tools";
2909
+ readonly group: "Available Tools";
2670
2910
  readonly label: "AST Grep";
2671
2911
  readonly description: "Enable the ast_grep tool for structural AST search";
2672
2912
  };
@@ -2676,40 +2916,17 @@ export declare const SETTINGS_SCHEMA: {
2676
2916
  readonly default: true;
2677
2917
  readonly ui: {
2678
2918
  readonly tab: "tools";
2919
+ readonly group: "Available Tools";
2679
2920
  readonly label: "AST Edit";
2680
2921
  readonly description: "Enable the ast_edit tool for structural AST rewrites";
2681
2922
  };
2682
2923
  };
2683
- readonly "irc.timeoutMs": {
2684
- readonly type: "number";
2685
- readonly default: 120000;
2686
- readonly ui: {
2687
- readonly tab: "tools";
2688
- readonly label: "IRC Timeout";
2689
- readonly description: "Default timeout for irc wait (and send await:true) in milliseconds; 0 disables the timeout";
2690
- readonly options: readonly [{
2691
- readonly value: "0";
2692
- readonly label: "Disabled";
2693
- }, {
2694
- readonly value: "30000";
2695
- readonly label: "30 seconds";
2696
- }, {
2697
- readonly value: "60000";
2698
- readonly label: "1 minute";
2699
- }, {
2700
- readonly value: "120000";
2701
- readonly label: "2 minutes";
2702
- }, {
2703
- readonly value: "300000";
2704
- readonly label: "5 minutes";
2705
- }];
2706
- };
2707
- };
2708
2924
  readonly "renderMermaid.enabled": {
2709
2925
  readonly type: "boolean";
2710
2926
  readonly default: false;
2711
2927
  readonly ui: {
2712
2928
  readonly tab: "tools";
2929
+ readonly group: "Available Tools";
2713
2930
  readonly label: "Render Mermaid";
2714
2931
  readonly description: "Enable the render_mermaid tool for Mermaid-to-ASCII rendering";
2715
2932
  };
@@ -2719,6 +2936,7 @@ export declare const SETTINGS_SCHEMA: {
2719
2936
  readonly default: true;
2720
2937
  readonly ui: {
2721
2938
  readonly tab: "tools";
2939
+ readonly group: "Available Tools";
2722
2940
  readonly label: "Debug";
2723
2941
  readonly description: "Enable the debug tool for DAP-based debugging";
2724
2942
  };
@@ -2728,6 +2946,7 @@ export declare const SETTINGS_SCHEMA: {
2728
2946
  readonly default: false;
2729
2947
  readonly ui: {
2730
2948
  readonly tab: "tools";
2949
+ readonly group: "Available Tools";
2731
2950
  readonly label: "Text-to-Speech";
2732
2951
  readonly description: "Enable the tts tool for xAI Grok Voice speech synthesis";
2733
2952
  };
@@ -2737,6 +2956,7 @@ export declare const SETTINGS_SCHEMA: {
2737
2956
  readonly default: false;
2738
2957
  readonly ui: {
2739
2958
  readonly tab: "tools";
2959
+ readonly group: "Available Tools";
2740
2960
  readonly label: "Inspect Image";
2741
2961
  readonly description: "Enable the inspect_image tool, delegating image understanding to a vision-capable model";
2742
2962
  };
@@ -2746,6 +2966,7 @@ export declare const SETTINGS_SCHEMA: {
2746
2966
  readonly default: false;
2747
2967
  readonly ui: {
2748
2968
  readonly tab: "tools";
2969
+ readonly group: "Available Tools";
2749
2970
  readonly label: "Checkpoint/Rewind";
2750
2971
  readonly description: "Enable the checkpoint and rewind tools for context checkpointing";
2751
2972
  };
@@ -2755,6 +2976,7 @@ export declare const SETTINGS_SCHEMA: {
2755
2976
  readonly default: true;
2756
2977
  readonly ui: {
2757
2978
  readonly tab: "tools";
2979
+ readonly group: "Available Tools";
2758
2980
  readonly label: "Read URLs";
2759
2981
  readonly description: "Allow the read tool to fetch and process URLs";
2760
2982
  };
@@ -2764,6 +2986,7 @@ export declare const SETTINGS_SCHEMA: {
2764
2986
  readonly default: false;
2765
2987
  readonly ui: {
2766
2988
  readonly tab: "tools";
2989
+ readonly group: "Available Tools";
2767
2990
  readonly label: "Obsidian Vault";
2768
2991
  readonly description: "Enable the vault:// internal URL for reading and editing Obsidian vault content via the Obsidian CLI. When disabled, vault:// resolution is refused and the vault:// entry is omitted from the system prompt.";
2769
2992
  };
@@ -2773,6 +2996,7 @@ export declare const SETTINGS_SCHEMA: {
2773
2996
  readonly default: false;
2774
2997
  readonly ui: {
2775
2998
  readonly tab: "tools";
2999
+ readonly group: "Available Tools";
2776
3000
  readonly label: "GitHub CLI";
2777
3001
  readonly description: "Enable the github tool (op-based dispatch for repository, issue, pull request, diff, search, checkout, push, and Actions watch workflows)";
2778
3002
  };
@@ -2782,7 +3006,8 @@ export declare const SETTINGS_SCHEMA: {
2782
3006
  readonly default: true;
2783
3007
  readonly ui: {
2784
3008
  readonly tab: "tools";
2785
- readonly label: "GitHub view cache";
3009
+ readonly group: "GitHub";
3010
+ readonly label: "GitHub View Cache";
2786
3011
  readonly description: "Cache rendered issue/PR view output in ~/.omp/cache/github-cache.db so repeated reads are free";
2787
3012
  };
2788
3013
  };
@@ -2791,8 +3016,9 @@ export declare const SETTINGS_SCHEMA: {
2791
3016
  readonly default: 300;
2792
3017
  readonly ui: {
2793
3018
  readonly tab: "tools";
2794
- readonly label: "GitHub cache soft TTL (seconds)";
2795
- readonly description: "Within this window, cached issue/PR view rows are returned directly. Default 5 minutes.";
3019
+ readonly group: "GitHub";
3020
+ readonly label: "GitHub Cache Soft TTL";
3021
+ readonly description: "Within this window, cached issue/PR view rows are returned directly (seconds; default 5 minutes)";
2796
3022
  };
2797
3023
  };
2798
3024
  readonly "github.cache.hardTtlSec": {
@@ -2800,8 +3026,9 @@ export declare const SETTINGS_SCHEMA: {
2800
3026
  readonly default: 604800;
2801
3027
  readonly ui: {
2802
3028
  readonly tab: "tools";
2803
- readonly label: "GitHub cache hard TTL (seconds)";
2804
- readonly description: "Past soft TTL but within hard TTL, the tool returns the cached row and refreshes it in the background. Past hard TTL, the row is dropped. Default 7 days.";
3029
+ readonly group: "GitHub";
3030
+ readonly label: "GitHub Cache Hard TTL";
3031
+ readonly description: "Past the soft TTL the cached row is returned and refreshed in the background; past the hard TTL it is dropped (seconds; default 7 days)";
2805
3032
  };
2806
3033
  };
2807
3034
  readonly "web_search.enabled": {
@@ -2809,8 +3036,9 @@ export declare const SETTINGS_SCHEMA: {
2809
3036
  readonly default: true;
2810
3037
  readonly ui: {
2811
3038
  readonly tab: "tools";
3039
+ readonly group: "Available Tools";
2812
3040
  readonly label: "Web Search";
2813
- readonly description: "Enable the web_search tool for web searching";
3041
+ readonly description: "Enable the web_search tool for live web results";
2814
3042
  };
2815
3043
  };
2816
3044
  readonly "browser.enabled": {
@@ -2818,8 +3046,9 @@ export declare const SETTINGS_SCHEMA: {
2818
3046
  readonly default: true;
2819
3047
  readonly ui: {
2820
3048
  readonly tab: "tools";
3049
+ readonly group: "Available Tools";
2821
3050
  readonly label: "Browser";
2822
- readonly description: "Enable the browser tool (Ulixee Hero)";
3051
+ readonly description: "Enable the browser tool for scripted Chromium automation (puppeteer)";
2823
3052
  };
2824
3053
  };
2825
3054
  readonly "browser.headless": {
@@ -2827,6 +3056,7 @@ export declare const SETTINGS_SCHEMA: {
2827
3056
  readonly default: true;
2828
3057
  readonly ui: {
2829
3058
  readonly tab: "tools";
3059
+ readonly group: "Search & Browser";
2830
3060
  readonly label: "Headless Browser";
2831
3061
  readonly description: "Launch browser in headless mode (disable to show browser UI)";
2832
3062
  };
@@ -2836,7 +3066,8 @@ export declare const SETTINGS_SCHEMA: {
2836
3066
  readonly default: undefined;
2837
3067
  readonly ui: {
2838
3068
  readonly tab: "tools";
2839
- readonly label: "Screenshot directory";
3069
+ readonly group: "Search & Browser";
3070
+ readonly label: "Screenshot Directory";
2840
3071
  readonly description: "Directory to save screenshots. If unset, screenshots go to a temp file. Supports ~. Examples: ~/Downloads, ~/Desktop, /sdcard/Download (Android)";
2841
3072
  };
2842
3073
  };
@@ -2845,6 +3076,7 @@ export declare const SETTINGS_SCHEMA: {
2845
3076
  readonly default: true;
2846
3077
  readonly ui: {
2847
3078
  readonly tab: "tools";
3079
+ readonly group: "Execution";
2848
3080
  readonly label: "Intent Tracing";
2849
3081
  readonly description: "Ask the agent to describe the intent of each tool call before executing it";
2850
3082
  };
@@ -2854,6 +3086,7 @@ export declare const SETTINGS_SCHEMA: {
2854
3086
  readonly default: 0;
2855
3087
  readonly ui: {
2856
3088
  readonly tab: "tools";
3089
+ readonly group: "Execution";
2857
3090
  readonly label: "Max Tool Timeout";
2858
3091
  readonly description: "Maximum timeout in seconds the agent can set for any tool (0 = no limit)";
2859
3092
  readonly options: readonly [{
@@ -2882,6 +3115,7 @@ export declare const SETTINGS_SCHEMA: {
2882
3115
  readonly default: true;
2883
3116
  readonly ui: {
2884
3117
  readonly tab: "tools";
3118
+ readonly group: "Execution";
2885
3119
  readonly label: "Async Execution";
2886
3120
  readonly description: "Enable async bash commands and background task execution";
2887
3121
  };
@@ -2896,6 +3130,7 @@ export declare const SETTINGS_SCHEMA: {
2896
3130
  readonly default: "30s";
2897
3131
  readonly ui: {
2898
3132
  readonly tab: "tools";
3133
+ readonly group: "Execution";
2899
3134
  readonly label: "Poll Wait Duration";
2900
3135
  readonly description: "How long the poll tool waits for background job updates before returning the current state";
2901
3136
  readonly options: readonly [{
@@ -2917,13 +3152,30 @@ export declare const SETTINGS_SCHEMA: {
2917
3152
  }];
2918
3153
  };
2919
3154
  };
2920
- readonly "bash.autoBackground.enabled": {
2921
- readonly type: "boolean";
2922
- readonly default: false;
3155
+ readonly "irc.timeoutMs": {
3156
+ readonly type: "number";
3157
+ readonly default: 120000;
2923
3158
  readonly ui: {
2924
3159
  readonly tab: "tools";
2925
- readonly label: "Bash Auto-Background";
2926
- readonly description: "Automatically background long-running bash commands and deliver the result later";
3160
+ readonly group: "Execution";
3161
+ readonly label: "IRC Timeout";
3162
+ readonly description: "Default timeout for irc wait (and send await:true) in milliseconds; 0 disables the timeout";
3163
+ readonly options: readonly [{
3164
+ readonly value: "0";
3165
+ readonly label: "Disabled";
3166
+ }, {
3167
+ readonly value: "30000";
3168
+ readonly label: "30 seconds";
3169
+ }, {
3170
+ readonly value: "60000";
3171
+ readonly label: "1 minute";
3172
+ }, {
3173
+ readonly value: "120000";
3174
+ readonly label: "2 minutes";
3175
+ }, {
3176
+ readonly value: "300000";
3177
+ readonly label: "5 minutes";
3178
+ }];
2927
3179
  };
2928
3180
  };
2929
3181
  readonly "bash.autoBackground.thresholdMs": {
@@ -2936,6 +3188,7 @@ export declare const SETTINGS_SCHEMA: {
2936
3188
  readonly default: "auto";
2937
3189
  readonly ui: {
2938
3190
  readonly tab: "tools";
3191
+ readonly group: "Discovery & MCP";
2939
3192
  readonly label: "Tool Discovery";
2940
3193
  readonly description: "Hide tools behind a search tool to save tokens. 'auto' hides MCP tools once the tool set has more than 40 tools; 'mcp-only' always hides MCP tools; 'all' hides all non-essential built-ins too.";
2941
3194
  };
@@ -2945,6 +3198,7 @@ export declare const SETTINGS_SCHEMA: {
2945
3198
  readonly default: string[];
2946
3199
  readonly ui: {
2947
3200
  readonly tab: "tools";
3201
+ readonly group: "Discovery & MCP";
2948
3202
  readonly label: "Essential Tools Override";
2949
3203
  readonly description: "Override the always-loaded built-in tools (default: read, bash, edit). Leave empty to use defaults.";
2950
3204
  };
@@ -2954,6 +3208,7 @@ export declare const SETTINGS_SCHEMA: {
2954
3208
  readonly default: true;
2955
3209
  readonly ui: {
2956
3210
  readonly tab: "tools";
3211
+ readonly group: "Discovery & MCP";
2957
3212
  readonly label: "MCP Project Config";
2958
3213
  readonly description: "Load .mcp.json/mcp.json from project root";
2959
3214
  };
@@ -2963,6 +3218,7 @@ export declare const SETTINGS_SCHEMA: {
2963
3218
  readonly default: false;
2964
3219
  readonly ui: {
2965
3220
  readonly tab: "tools";
3221
+ readonly group: "Discovery & MCP";
2966
3222
  readonly label: "MCP Tool Discovery";
2967
3223
  readonly description: "Hide MCP tools by default and expose them through a tool discovery tool";
2968
3224
  };
@@ -2972,6 +3228,7 @@ export declare const SETTINGS_SCHEMA: {
2972
3228
  readonly default: string[];
2973
3229
  readonly ui: {
2974
3230
  readonly tab: "tools";
3231
+ readonly group: "Discovery & MCP";
2975
3232
  readonly label: "MCP Discovery Default Servers";
2976
3233
  readonly description: "Keep MCP tools from these servers visible while discovery mode hides other MCP tools";
2977
3234
  };
@@ -2981,6 +3238,7 @@ export declare const SETTINGS_SCHEMA: {
2981
3238
  readonly default: false;
2982
3239
  readonly ui: {
2983
3240
  readonly tab: "tools";
3241
+ readonly group: "Discovery & MCP";
2984
3242
  readonly label: "MCP Update Injection";
2985
3243
  readonly description: "Inject MCP resource updates into the agent conversation";
2986
3244
  };
@@ -2990,8 +3248,9 @@ export declare const SETTINGS_SCHEMA: {
2990
3248
  readonly default: 500;
2991
3249
  readonly ui: {
2992
3250
  readonly tab: "tools";
3251
+ readonly group: "Discovery & MCP";
2993
3252
  readonly label: "MCP Notification Debounce";
2994
- readonly description: "Debounce window for MCP resource update notifications before injecting into conversation";
3253
+ readonly description: "Debounce window in milliseconds for MCP resource updates before injecting them into the conversation";
2995
3254
  };
2996
3255
  };
2997
3256
  readonly "plan.enabled": {
@@ -2999,6 +3258,7 @@ export declare const SETTINGS_SCHEMA: {
2999
3258
  readonly default: true;
3000
3259
  readonly ui: {
3001
3260
  readonly tab: "tasks";
3261
+ readonly group: "Modes";
3002
3262
  readonly label: "Plan Mode";
3003
3263
  readonly description: "Enable plan mode for read-only exploration and planning before execution";
3004
3264
  };
@@ -3008,6 +3268,7 @@ export declare const SETTINGS_SCHEMA: {
3008
3268
  readonly default: true;
3009
3269
  readonly ui: {
3010
3270
  readonly tab: "tasks";
3271
+ readonly group: "Modes";
3011
3272
  readonly label: "Goal Mode";
3012
3273
  readonly description: "Enable per-session goal mode and the hidden goal tool";
3013
3274
  };
@@ -3017,7 +3278,8 @@ export declare const SETTINGS_SCHEMA: {
3017
3278
  readonly default: true;
3018
3279
  readonly ui: {
3019
3280
  readonly tab: "tasks";
3020
- readonly label: "Goal Status In Footer";
3281
+ readonly group: "Modes";
3282
+ readonly label: "Goal Status in Footer";
3021
3283
  readonly description: "Show token budget alongside the goal indicator in the status line";
3022
3284
  };
3023
3285
  };
@@ -3026,6 +3288,7 @@ export declare const SETTINGS_SCHEMA: {
3026
3288
  readonly default: readonly ["interactive"];
3027
3289
  readonly ui: {
3028
3290
  readonly tab: "tasks";
3291
+ readonly group: "Modes";
3029
3292
  readonly label: "Goal Continuation Modes";
3030
3293
  readonly description: "Run modes where active goals may auto-continue between turns";
3031
3294
  };
@@ -3036,6 +3299,7 @@ export declare const SETTINGS_SCHEMA: {
3036
3299
  readonly default: "none";
3037
3300
  readonly ui: {
3038
3301
  readonly tab: "tasks";
3302
+ readonly group: "Isolation";
3039
3303
  readonly label: "Isolation Mode";
3040
3304
  readonly description: 'Isolation backend for subagents. "auto" lets the native PAL pick the best available backend (CoW-aware filesystems, then overlayfs/ProjFS, then a git worktree / recursive-copy fallback).';
3041
3305
  readonly options: readonly [{
@@ -3087,6 +3351,7 @@ export declare const SETTINGS_SCHEMA: {
3087
3351
  readonly default: "patch";
3088
3352
  readonly ui: {
3089
3353
  readonly tab: "tasks";
3354
+ readonly group: "Isolation";
3090
3355
  readonly label: "Isolation Merge Strategy";
3091
3356
  readonly description: "How isolated task changes are integrated (patch apply or branch merge)";
3092
3357
  readonly options: readonly [{
@@ -3106,6 +3371,7 @@ export declare const SETTINGS_SCHEMA: {
3106
3371
  readonly default: "generic";
3107
3372
  readonly ui: {
3108
3373
  readonly tab: "tasks";
3374
+ readonly group: "Isolation";
3109
3375
  readonly label: "Isolation Commit Style";
3110
3376
  readonly description: "Commit message style for nested repo changes (generic or AI-generated)";
3111
3377
  readonly options: readonly [{
@@ -3124,6 +3390,7 @@ export declare const SETTINGS_SCHEMA: {
3124
3390
  readonly default: false;
3125
3391
  readonly ui: {
3126
3392
  readonly tab: "tasks";
3393
+ readonly group: "Subagents";
3127
3394
  readonly label: "Prefer Task Delegation";
3128
3395
  readonly description: "Encourage the agent to delegate work to subagents unless changes are trivial";
3129
3396
  };
@@ -3133,6 +3400,7 @@ export declare const SETTINGS_SCHEMA: {
3133
3400
  readonly default: true;
3134
3401
  readonly ui: {
3135
3402
  readonly tab: "tasks";
3403
+ readonly group: "Subagents";
3136
3404
  readonly label: "Batch Task Calls";
3137
3405
  readonly description: "Switch the task tool to its batch shape: one call carries { agent, context, tasks[] } — one subagent per item (with per-item isolation) and a required shared context prepended to every assignment. With async.enabled=true, each spawn runs as an independent background agent with the normal idle/parked lifecycle; otherwise the call blocks for merged results. Disable to restore the flat single-spawn schema.";
3138
3406
  };
@@ -3142,8 +3410,9 @@ export declare const SETTINGS_SCHEMA: {
3142
3410
  readonly default: 32;
3143
3411
  readonly ui: {
3144
3412
  readonly tab: "tasks";
3413
+ readonly group: "Subagents";
3145
3414
  readonly label: "Max Concurrent Tasks";
3146
- readonly description: "Concurrent limit for subagents";
3415
+ readonly description: "Maximum number of subagents running concurrently";
3147
3416
  readonly options: readonly [{
3148
3417
  readonly value: "0";
3149
3418
  readonly label: "Unlimited";
@@ -3176,6 +3445,7 @@ export declare const SETTINGS_SCHEMA: {
3176
3445
  readonly default: false;
3177
3446
  readonly ui: {
3178
3447
  readonly tab: "tasks";
3448
+ readonly group: "Subagents";
3179
3449
  readonly label: "LSP in Subagents";
3180
3450
  readonly description: "Allow subagents spawned via the task tool to use the lsp tool. Off by default to keep subagents cheap; enable when LSP-aware delegation is worth the extra tokens.";
3181
3451
  };
@@ -3185,6 +3455,7 @@ export declare const SETTINGS_SCHEMA: {
3185
3455
  readonly default: 2;
3186
3456
  readonly ui: {
3187
3457
  readonly tab: "tasks";
3458
+ readonly group: "Subagents";
3188
3459
  readonly label: "Max Task Recursion";
3189
3460
  readonly description: "How many levels deep subagents can spawn their own subagents";
3190
3461
  readonly options: readonly [{
@@ -3210,6 +3481,7 @@ export declare const SETTINGS_SCHEMA: {
3210
3481
  readonly default: 0;
3211
3482
  readonly ui: {
3212
3483
  readonly tab: "tasks";
3484
+ readonly group: "Subagents";
3213
3485
  readonly label: "Max Subagent Runtime";
3214
3486
  readonly description: "Hard wall-clock limit per subagent (ms). 0 disables it. Defense-in-depth against provider-side stream hangs that escape the inference-layer watchdog; triggers a normal subagent abort with a 'timed out' reason.";
3215
3487
  readonly options: readonly [{
@@ -3236,6 +3508,7 @@ export declare const SETTINGS_SCHEMA: {
3236
3508
  readonly default: 420000;
3237
3509
  readonly ui: {
3238
3510
  readonly tab: "tasks";
3511
+ readonly group: "Subagents";
3239
3512
  readonly label: "Agent Idle TTL";
3240
3513
  readonly description: "How long an idle subagent stays live in memory before being parked to disk (ms). Parked agents are revived automatically when messaged or resumed. 0 keeps idle agents live until exit.";
3241
3514
  };
@@ -3245,6 +3518,7 @@ export declare const SETTINGS_SCHEMA: {
3245
3518
  readonly default: 90;
3246
3519
  readonly ui: {
3247
3520
  readonly tab: "tasks";
3521
+ readonly group: "Subagents";
3248
3522
  readonly label: "Soft Subagent Request Budget";
3249
3523
  readonly description: "Soft per-subagent request budget (assistant requests per run). Crossing it injects one steering notice asking the subagent to wrap up; at 1.5x the budget the run is aborted gracefully, salvaging partial output. 0 disables the guard. Bundled explore/quick_task agents use a lower built-in budget.";
3250
3524
  readonly options: readonly [{
@@ -3275,9 +3549,10 @@ export declare const SETTINGS_SCHEMA: {
3275
3549
  readonly type: "number";
3276
3550
  readonly default: 60;
3277
3551
  readonly ui: {
3278
- readonly tab: "tasks";
3279
- readonly label: "Todo auto-clear delay";
3280
- readonly description: "How long to wait before removing completed/abandoned tasks from the list";
3552
+ readonly tab: "tools";
3553
+ readonly group: "Todos";
3554
+ readonly label: "Todo Auto-Clear Delay";
3555
+ readonly description: "Delay before completed or abandoned todos are removed from the todo widget";
3281
3556
  readonly options: readonly [{
3282
3557
  readonly value: "0";
3283
3558
  readonly label: "Instant";
@@ -3308,6 +3583,7 @@ export declare const SETTINGS_SCHEMA: {
3308
3583
  readonly default: false;
3309
3584
  readonly ui: {
3310
3585
  readonly tab: "appearance";
3586
+ readonly group: "Display";
3311
3587
  readonly label: "Show Resolved Model Badge";
3312
3588
  readonly description: "Display the actual model ID used by each subagent in the task widget status line";
3313
3589
  };
@@ -3321,6 +3597,7 @@ export declare const SETTINGS_SCHEMA: {
3321
3597
  readonly default: true;
3322
3598
  readonly ui: {
3323
3599
  readonly tab: "tasks";
3600
+ readonly group: "Commands & Skills";
3324
3601
  readonly label: "Skill Commands";
3325
3602
  readonly description: "Register skills as /skill:name commands";
3326
3603
  };
@@ -3362,6 +3639,7 @@ export declare const SETTINGS_SCHEMA: {
3362
3639
  readonly default: true;
3363
3640
  readonly ui: {
3364
3641
  readonly tab: "tasks";
3642
+ readonly group: "Commands & Skills";
3365
3643
  readonly label: "Claude User Commands";
3366
3644
  readonly description: "Load commands from ~/.claude/commands/";
3367
3645
  };
@@ -3371,6 +3649,7 @@ export declare const SETTINGS_SCHEMA: {
3371
3649
  readonly default: true;
3372
3650
  readonly ui: {
3373
3651
  readonly tab: "tasks";
3652
+ readonly group: "Commands & Skills";
3374
3653
  readonly label: "Claude Project Commands";
3375
3654
  readonly description: "Load commands from .claude/commands/";
3376
3655
  };
@@ -3380,6 +3659,7 @@ export declare const SETTINGS_SCHEMA: {
3380
3659
  readonly default: true;
3381
3660
  readonly ui: {
3382
3661
  readonly tab: "tasks";
3662
+ readonly group: "Commands & Skills";
3383
3663
  readonly label: "OpenCode User Commands";
3384
3664
  readonly description: "Load commands from ~/.config/opencode/commands/";
3385
3665
  };
@@ -3389,6 +3669,7 @@ export declare const SETTINGS_SCHEMA: {
3389
3669
  readonly default: true;
3390
3670
  readonly ui: {
3391
3671
  readonly tab: "tasks";
3672
+ readonly group: "Commands & Skills";
3392
3673
  readonly label: "OpenCode Project Commands";
3393
3674
  readonly description: "Load commands from .opencode/commands/";
3394
3675
  };
@@ -3398,6 +3679,7 @@ export declare const SETTINGS_SCHEMA: {
3398
3679
  readonly default: false;
3399
3680
  readonly ui: {
3400
3681
  readonly tab: "providers";
3682
+ readonly group: "Privacy";
3401
3683
  readonly label: "Hide Secrets";
3402
3684
  readonly description: "Obfuscate secrets before sending to AI providers";
3403
3685
  };
@@ -3408,8 +3690,9 @@ export declare const SETTINGS_SCHEMA: {
3408
3690
  readonly default: "auto";
3409
3691
  readonly ui: {
3410
3692
  readonly tab: "providers";
3693
+ readonly group: "Services";
3411
3694
  readonly label: "Web Search Provider";
3412
- readonly description: "Provider for web search tool";
3695
+ readonly description: "Preferred provider for the web_search tool";
3413
3696
  readonly options: readonly [{
3414
3697
  readonly value: "auto";
3415
3698
  readonly label: "Auto";
@@ -3479,8 +3762,9 @@ export declare const SETTINGS_SCHEMA: {
3479
3762
  readonly default: "auto";
3480
3763
  readonly ui: {
3481
3764
  readonly tab: "providers";
3765
+ readonly group: "Services";
3482
3766
  readonly label: "Image Provider";
3483
- readonly description: "Provider for image generation tool";
3767
+ readonly description: "Preferred provider for image generation";
3484
3768
  readonly options: readonly [{
3485
3769
  readonly value: "auto";
3486
3770
  readonly label: "Auto";
@@ -3514,6 +3798,7 @@ export declare const SETTINGS_SCHEMA: {
3514
3798
  readonly default: "online";
3515
3799
  readonly ui: {
3516
3800
  readonly tab: "providers";
3801
+ readonly group: "Tiny Model";
3517
3802
  readonly label: "Tiny Model";
3518
3803
  readonly description: "Session-title model: online pi/smol by default, or a local on-device model";
3519
3804
  readonly options: ({
@@ -3533,6 +3818,7 @@ export declare const SETTINGS_SCHEMA: {
3533
3818
  readonly default: "default";
3534
3819
  readonly ui: {
3535
3820
  readonly tab: "providers";
3821
+ readonly group: "Tiny Model";
3536
3822
  readonly label: "Tiny Model Device";
3537
3823
  readonly description: "ONNX execution provider for local tiny models (titles + memory). Default uses CPU-only inference. The PI_TINY_DEVICE env var overrides this.";
3538
3824
  readonly options: readonly [{
@@ -3600,6 +3886,7 @@ export declare const SETTINGS_SCHEMA: {
3600
3886
  readonly default: "default";
3601
3887
  readonly ui: {
3602
3888
  readonly tab: "providers";
3889
+ readonly group: "Tiny Model";
3603
3890
  readonly label: "Tiny Model Precision";
3604
3891
  readonly description: "ONNX quantization/precision for local tiny models. Default uses each model's shipped dtype (q4); lower precision is faster, higher is more faithful. The PI_TINY_DTYPE env var overrides this.";
3605
3892
  readonly options: readonly [{
@@ -3667,6 +3954,7 @@ export declare const SETTINGS_SCHEMA: {
3667
3954
  readonly default: "online";
3668
3955
  readonly ui: {
3669
3956
  readonly tab: "memory";
3957
+ readonly group: "General";
3670
3958
  readonly label: "Memory Model";
3671
3959
  readonly description: "Mnemopi LLM for fact extraction + consolidation: online (smol/remote) by default, or a local on-device model";
3672
3960
  readonly condition: "mnemopiActive";
@@ -3687,6 +3975,7 @@ export declare const SETTINGS_SCHEMA: {
3687
3975
  readonly default: "online";
3688
3976
  readonly ui: {
3689
3977
  readonly tab: "model";
3978
+ readonly group: "Thinking";
3690
3979
  readonly label: "Auto Thinking Model";
3691
3980
  readonly description: "Difficulty classifier for the `auto` thinking level: online smol by default, or a local on-device model";
3692
3981
  readonly condition: "autoThinkingActive";
@@ -3707,6 +3996,7 @@ export declare const SETTINGS_SCHEMA: {
3707
3996
  readonly default: "anthropic";
3708
3997
  readonly ui: {
3709
3998
  readonly tab: "providers";
3999
+ readonly group: "Protocol";
3710
4000
  readonly label: "Kimi API Format";
3711
4001
  readonly description: "API format for Kimi Code provider";
3712
4002
  readonly options: readonly [{
@@ -3726,6 +4016,7 @@ export declare const SETTINGS_SCHEMA: {
3726
4016
  readonly default: "auto";
3727
4017
  readonly ui: {
3728
4018
  readonly tab: "providers";
4019
+ readonly group: "Protocol";
3729
4020
  readonly label: "OpenAI WebSockets";
3730
4021
  readonly description: "Websocket policy for OpenAI Codex models (auto uses model defaults, on forces, off disables)";
3731
4022
  readonly options: readonly [{
@@ -3749,6 +4040,7 @@ export declare const SETTINGS_SCHEMA: {
3749
4040
  readonly default: "default";
3750
4041
  readonly ui: {
3751
4042
  readonly tab: "providers";
4043
+ readonly group: "Protocol";
3752
4044
  readonly label: "OpenRouter Routing";
3753
4045
  readonly description: "Default routing-variant suffix appended to OpenRouter model IDs (overridden when the selector already names a variant)";
3754
4046
  readonly options: readonly [{
@@ -3780,6 +4072,7 @@ export declare const SETTINGS_SCHEMA: {
3780
4072
  readonly default: "auto";
3781
4073
  readonly ui: {
3782
4074
  readonly tab: "providers";
4075
+ readonly group: "Services";
3783
4076
  readonly label: "Fetch Provider";
3784
4077
  readonly description: "Reader backend priority for the fetch/read URL tool";
3785
4078
  readonly options: readonly [{
@@ -3815,6 +4108,7 @@ export declare const SETTINGS_SCHEMA: {
3815
4108
  readonly default: "auto";
3816
4109
  readonly ui: {
3817
4110
  readonly tab: "providers";
4111
+ readonly group: "Protocol";
3818
4112
  readonly label: "Append-Only Context";
3819
4113
  readonly description: "Cache system prompt + tool specs and keep an append-only message log so provider prefix caches (DeepSeek, Xiaomi/SGLang, Anthropic) hit at maximum rate. Auto enables for known prefix-cache providers.";
3820
4114
  readonly options: readonly [{
@@ -3837,6 +4131,7 @@ export declare const SETTINGS_SCHEMA: {
3837
4131
  readonly default: true;
3838
4132
  readonly ui: {
3839
4133
  readonly tab: "providers";
4134
+ readonly group: "Services";
3840
4135
  readonly label: "Exa";
3841
4136
  readonly description: "Master toggle for all Exa search tools";
3842
4137
  };
@@ -3846,8 +4141,9 @@ export declare const SETTINGS_SCHEMA: {
3846
4141
  readonly default: true;
3847
4142
  readonly ui: {
3848
4143
  readonly tab: "providers";
4144
+ readonly group: "Services";
3849
4145
  readonly label: "Exa Search";
3850
- readonly description: "Basic search, deep search, code search, crawl";
4146
+ readonly description: "Enable Exa basic search, deep search, code search, and crawl tools";
3851
4147
  };
3852
4148
  };
3853
4149
  readonly "exa.enableResearcher": {
@@ -3855,8 +4151,9 @@ export declare const SETTINGS_SCHEMA: {
3855
4151
  readonly default: false;
3856
4152
  readonly ui: {
3857
4153
  readonly tab: "providers";
4154
+ readonly group: "Services";
3858
4155
  readonly label: "Exa Researcher";
3859
- readonly description: "AI-powered deep research tasks";
4156
+ readonly description: "Enable the Exa researcher tool for AI-powered deep research";
3860
4157
  };
3861
4158
  };
3862
4159
  readonly "exa.enableWebsets": {
@@ -3864,8 +4161,9 @@ export declare const SETTINGS_SCHEMA: {
3864
4161
  readonly default: false;
3865
4162
  readonly ui: {
3866
4163
  readonly tab: "providers";
4164
+ readonly group: "Services";
3867
4165
  readonly label: "Exa Websets";
3868
- readonly description: "Webset management and enrichment tools";
4166
+ readonly description: "Enable Exa webset management and enrichment tools";
3869
4167
  };
3870
4168
  };
3871
4169
  readonly "searxng.endpoint": {
@@ -3873,8 +4171,9 @@ export declare const SETTINGS_SCHEMA: {
3873
4171
  readonly default: undefined;
3874
4172
  readonly ui: {
3875
4173
  readonly tab: "providers";
4174
+ readonly group: "Services";
3876
4175
  readonly label: "SearXNG Endpoint";
3877
- readonly description: "Self-hosted search base URL";
4176
+ readonly description: "Base URL of a self-hosted SearXNG instance used for web search";
3878
4177
  };
3879
4178
  };
3880
4179
  readonly "searxng.token": {
@@ -3926,6 +4225,7 @@ export declare const SETTINGS_SCHEMA: {
3926
4225
  readonly default: false;
3927
4226
  readonly ui: {
3928
4227
  readonly tab: "tools";
4228
+ readonly group: "Developer";
3929
4229
  readonly label: "Auto QA";
3930
4230
  readonly description: "Enable automated tool issue reporting (report_tool_issue) for all agents";
3931
4231
  };
@@ -3935,8 +4235,9 @@ export declare const SETTINGS_SCHEMA: {
3935
4235
  readonly default: "https://qa.omp.sh/v1/grievances";
3936
4236
  readonly ui: {
3937
4237
  readonly tab: "tools";
4238
+ readonly group: "Developer";
3938
4239
  readonly label: "Auto QA Push Endpoint";
3939
- readonly description: "Full URL that receives the JSON payload (default ships to https://qa.omp.sh/v1/grievances)";
4240
+ readonly description: "Full URL receiving Auto QA JSON reports (default https://qa.omp.sh/v1/grievances)";
3940
4241
  };
3941
4242
  };
3942
4243
  readonly "dev.autoqaPush.token": {
@@ -4021,6 +4322,8 @@ export type StatusLinePreset = SettingValue<"statusLine.preset">;
4021
4322
  export type StatusLineSeparatorStyle = SettingValue<"statusLine.separator">;
4022
4323
  /** Tree selector filter mode - derived from schema */
4023
4324
  export type TreeFilterMode = SettingValue<"treeFilterMode">;
4325
+ /** Personality preset - derived from schema */
4326
+ export type Personality = SettingValue<"personality">;
4024
4327
  export interface CompactionSettings {
4025
4328
  enabled: boolean;
4026
4329
  strategy: "context-full" | "handoff" | "shake" | "snapcompact" | "off";