@sagmans/dsh-tui 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +407 -53
  3. package/cordis.patch.yml +14 -0
  4. package/lib/agent/present.js +1 -1
  5. package/lib/agent/present.js.map +1 -1
  6. package/lib/agent/projections.d.ts +22 -6
  7. package/lib/agent/projections.d.ts.map +1 -1
  8. package/lib/agent/projections.js +21 -10
  9. package/lib/agent/projections.js.map +1 -1
  10. package/lib/agent/prompt-history.d.ts +89 -0
  11. package/lib/agent/prompt-history.d.ts.map +1 -0
  12. package/lib/agent/prompt-history.js +382 -0
  13. package/lib/agent/prompt-history.js.map +1 -0
  14. package/lib/agent/status.d.ts +6 -0
  15. package/lib/agent/status.d.ts.map +1 -1
  16. package/lib/agent/status.js +1 -0
  17. package/lib/agent/status.js.map +1 -1
  18. package/lib/cards.d.ts +83 -13
  19. package/lib/cards.d.ts.map +1 -1
  20. package/lib/cards.js +96 -28
  21. package/lib/cards.js.map +1 -1
  22. package/lib/export.d.ts +3 -3
  23. package/lib/export.d.ts.map +1 -1
  24. package/lib/export.js +23 -13
  25. package/lib/export.js.map +1 -1
  26. package/lib/fold-cursor.d.ts +12 -5
  27. package/lib/fold-cursor.d.ts.map +1 -1
  28. package/lib/fold-cursor.js +16 -5
  29. package/lib/fold-cursor.js.map +1 -1
  30. package/lib/gates.d.ts.map +1 -1
  31. package/lib/gates.js +42 -9
  32. package/lib/gates.js.map +1 -1
  33. package/lib/herdr/client.d.ts +57 -0
  34. package/lib/herdr/client.d.ts.map +1 -0
  35. package/lib/herdr/client.js +218 -0
  36. package/lib/herdr/client.js.map +1 -0
  37. package/lib/herdr/constants.d.ts +93 -0
  38. package/lib/herdr/constants.d.ts.map +1 -0
  39. package/lib/herdr/constants.js +79 -0
  40. package/lib/herdr/constants.js.map +1 -0
  41. package/lib/herdr/reporter.d.ts +60 -0
  42. package/lib/herdr/reporter.d.ts.map +1 -0
  43. package/lib/herdr/reporter.js +217 -0
  44. package/lib/herdr/reporter.js.map +1 -0
  45. package/lib/herdr/state.d.ts +57 -0
  46. package/lib/herdr/state.d.ts.map +1 -0
  47. package/lib/herdr/state.js +62 -0
  48. package/lib/herdr/state.js.map +1 -0
  49. package/lib/index.d.ts.map +1 -1
  50. package/lib/index.js +700 -81
  51. package/lib/index.js.map +1 -1
  52. package/lib/injection.d.ts +9 -0
  53. package/lib/injection.d.ts.map +1 -0
  54. package/lib/injection.js +128 -0
  55. package/lib/injection.js.map +1 -0
  56. package/lib/input/actions.d.ts +19 -2
  57. package/lib/input/actions.d.ts.map +1 -1
  58. package/lib/input/actions.js +60 -11
  59. package/lib/input/actions.js.map +1 -1
  60. package/lib/input/cancel.d.ts +55 -0
  61. package/lib/input/cancel.d.ts.map +1 -0
  62. package/lib/input/cancel.js +47 -0
  63. package/lib/input/cancel.js.map +1 -0
  64. package/lib/input/completion.d.ts +5 -2
  65. package/lib/input/completion.d.ts.map +1 -1
  66. package/lib/input/completion.js +79 -4
  67. package/lib/input/completion.js.map +1 -1
  68. package/lib/input/file-search.d.ts +105 -0
  69. package/lib/input/file-search.d.ts.map +1 -0
  70. package/lib/input/file-search.js +665 -0
  71. package/lib/input/file-search.js.map +1 -0
  72. package/lib/input/fuzzy.d.ts +42 -0
  73. package/lib/input/fuzzy.d.ts.map +1 -0
  74. package/lib/input/fuzzy.js +289 -0
  75. package/lib/input/fuzzy.js.map +1 -0
  76. package/lib/input/ghost.d.ts +46 -0
  77. package/lib/input/ghost.d.ts.map +1 -0
  78. package/lib/input/ghost.js +58 -0
  79. package/lib/input/ghost.js.map +1 -0
  80. package/lib/input/keymap.d.ts +3 -1
  81. package/lib/input/keymap.d.ts.map +1 -1
  82. package/lib/input/keymap.js +16 -3
  83. package/lib/input/keymap.js.map +1 -1
  84. package/lib/input/match.d.ts +12 -4
  85. package/lib/input/match.d.ts.map +1 -1
  86. package/lib/input/match.js +50 -51
  87. package/lib/input/match.js.map +1 -1
  88. package/lib/input/submission.d.ts +34 -1
  89. package/lib/input/submission.d.ts.map +1 -1
  90. package/lib/input/submission.js +33 -5
  91. package/lib/input/submission.js.map +1 -1
  92. package/lib/keys-command.d.ts +19 -3
  93. package/lib/keys-command.d.ts.map +1 -1
  94. package/lib/keys-command.js +34 -31
  95. package/lib/keys-command.js.map +1 -1
  96. package/lib/settings-notice.d.ts +5 -0
  97. package/lib/settings-notice.d.ts.map +1 -1
  98. package/lib/settings-notice.js +9 -7
  99. package/lib/settings-notice.js.map +1 -1
  100. package/lib/stash/lock.d.ts +72 -0
  101. package/lib/stash/lock.d.ts.map +1 -0
  102. package/lib/stash/lock.js +374 -0
  103. package/lib/stash/lock.js.map +1 -0
  104. package/lib/stash/paths.d.ts +22 -0
  105. package/lib/stash/paths.d.ts.map +1 -0
  106. package/lib/stash/paths.js +84 -0
  107. package/lib/stash/paths.js.map +1 -0
  108. package/lib/stash/private-fs.d.ts +61 -0
  109. package/lib/stash/private-fs.d.ts.map +1 -0
  110. package/lib/stash/private-fs.js +379 -0
  111. package/lib/stash/private-fs.js.map +1 -0
  112. package/lib/stash/schema.d.ts +56 -0
  113. package/lib/stash/schema.d.ts.map +1 -0
  114. package/lib/stash/schema.js +108 -0
  115. package/lib/stash/schema.js.map +1 -0
  116. package/lib/stash/store.d.ts +92 -0
  117. package/lib/stash/store.d.ts.map +1 -0
  118. package/lib/stash/store.js +262 -0
  119. package/lib/stash/store.js.map +1 -0
  120. package/lib/stash.d.ts +122 -0
  121. package/lib/stash.d.ts.map +1 -0
  122. package/lib/stash.js +353 -0
  123. package/lib/stash.js.map +1 -0
  124. package/lib/terminal/external-editor.d.ts +93 -0
  125. package/lib/terminal/external-editor.d.ts.map +1 -0
  126. package/lib/terminal/external-editor.js +263 -0
  127. package/lib/terminal/external-editor.js.map +1 -0
  128. package/lib/terminal/host-writes.d.ts +39 -0
  129. package/lib/terminal/host-writes.d.ts.map +1 -0
  130. package/lib/terminal/host-writes.js +136 -0
  131. package/lib/terminal/host-writes.js.map +1 -0
  132. package/lib/terminal/signals.d.ts +25 -0
  133. package/lib/terminal/signals.d.ts.map +1 -0
  134. package/lib/terminal/signals.js +39 -0
  135. package/lib/terminal/signals.js.map +1 -0
  136. package/lib/terminal/warning-screen.d.ts +19 -1
  137. package/lib/terminal/warning-screen.d.ts.map +1 -1
  138. package/lib/terminal/warning-screen.js +37 -1
  139. package/lib/terminal/warning-screen.js.map +1 -1
  140. package/lib/terminal-text.d.ts +72 -0
  141. package/lib/terminal-text.d.ts.map +1 -0
  142. package/lib/terminal-text.js +603 -0
  143. package/lib/terminal-text.js.map +1 -0
  144. package/lib/text.d.ts +45 -6
  145. package/lib/text.d.ts.map +1 -1
  146. package/lib/text.js +106 -46
  147. package/lib/text.js.map +1 -1
  148. package/lib/theme-command.d.ts +7 -4
  149. package/lib/theme-command.d.ts.map +1 -1
  150. package/lib/theme-command.js +32 -12
  151. package/lib/theme-command.js.map +1 -1
  152. package/lib/theme-files.d.ts +110 -0
  153. package/lib/theme-files.d.ts.map +1 -0
  154. package/lib/theme-files.js +352 -0
  155. package/lib/theme-files.js.map +1 -0
  156. package/lib/theme-schema.d.ts +121 -0
  157. package/lib/theme-schema.d.ts.map +1 -0
  158. package/lib/theme-schema.js +87 -0
  159. package/lib/theme-schema.js.map +1 -0
  160. package/lib/theme-settings.d.ts +72 -10
  161. package/lib/theme-settings.d.ts.map +1 -1
  162. package/lib/theme-settings.js +162 -45
  163. package/lib/theme-settings.js.map +1 -1
  164. package/lib/theme-tokens.d.ts +39 -7
  165. package/lib/theme-tokens.d.ts.map +1 -1
  166. package/lib/theme-tokens.js +104 -13
  167. package/lib/theme-tokens.js.map +1 -1
  168. package/lib/theme.d.ts +24 -2
  169. package/lib/theme.d.ts.map +1 -1
  170. package/lib/theme.js +49 -6
  171. package/lib/theme.js.map +1 -1
  172. package/lib/todo-guard.d.ts +116 -0
  173. package/lib/todo-guard.d.ts.map +1 -0
  174. package/lib/todo-guard.js +259 -0
  175. package/lib/todo-guard.js.map +1 -0
  176. package/lib/tool-display.d.ts +57 -0
  177. package/lib/tool-display.d.ts.map +1 -0
  178. package/lib/tool-display.js +51 -0
  179. package/lib/tool-display.js.map +1 -0
  180. package/lib/transcript.d.ts +28 -0
  181. package/lib/transcript.d.ts.map +1 -1
  182. package/lib/transcript.js +126 -37
  183. package/lib/transcript.js.map +1 -1
  184. package/lib/ui/diff.d.ts +49 -0
  185. package/lib/ui/diff.d.ts.map +1 -0
  186. package/lib/ui/diff.js +208 -0
  187. package/lib/ui/diff.js.map +1 -0
  188. package/lib/ui/dock.d.ts.map +1 -1
  189. package/lib/ui/dock.js +9 -6
  190. package/lib/ui/dock.js.map +1 -1
  191. package/lib/ui/editor.d.ts +41 -1
  192. package/lib/ui/editor.d.ts.map +1 -1
  193. package/lib/ui/editor.js +100 -4
  194. package/lib/ui/editor.js.map +1 -1
  195. package/lib/ui/frame.d.ts +16 -5
  196. package/lib/ui/frame.d.ts.map +1 -1
  197. package/lib/ui/frame.js +32 -13
  198. package/lib/ui/frame.js.map +1 -1
  199. package/lib/ui/history-picker.d.ts +15 -0
  200. package/lib/ui/history-picker.d.ts.map +1 -0
  201. package/lib/ui/history-picker.js +26 -0
  202. package/lib/ui/history-picker.js.map +1 -0
  203. package/lib/ui/keymap-picker.d.ts +16 -0
  204. package/lib/ui/keymap-picker.d.ts.map +1 -0
  205. package/lib/ui/keymap-picker.js +41 -0
  206. package/lib/ui/keymap-picker.js.map +1 -0
  207. package/lib/ui/layout.d.ts +33 -0
  208. package/lib/ui/layout.d.ts.map +1 -0
  209. package/lib/ui/layout.js +33 -0
  210. package/lib/ui/layout.js.map +1 -0
  211. package/lib/ui/markdown.d.ts +25 -3
  212. package/lib/ui/markdown.d.ts.map +1 -1
  213. package/lib/ui/markdown.js +12 -8
  214. package/lib/ui/markdown.js.map +1 -1
  215. package/lib/ui/picker-card.d.ts +42 -0
  216. package/lib/ui/picker-card.d.ts.map +1 -0
  217. package/lib/ui/picker-card.js +148 -0
  218. package/lib/ui/picker-card.js.map +1 -0
  219. package/lib/ui/picker.d.ts +50 -2
  220. package/lib/ui/picker.d.ts.map +1 -1
  221. package/lib/ui/picker.js +66 -7
  222. package/lib/ui/picker.js.map +1 -1
  223. package/lib/ui/prompt.d.ts +12 -2
  224. package/lib/ui/prompt.d.ts.map +1 -1
  225. package/lib/ui/prompt.js +25 -2
  226. package/lib/ui/prompt.js.map +1 -1
  227. package/lib/ui/rows.d.ts +8 -6
  228. package/lib/ui/rows.d.ts.map +1 -1
  229. package/lib/ui/rows.js +10 -18
  230. package/lib/ui/rows.js.map +1 -1
  231. package/lib/ui/stash-picker.d.ts +43 -0
  232. package/lib/ui/stash-picker.d.ts.map +1 -0
  233. package/lib/ui/stash-picker.js +78 -0
  234. package/lib/ui/stash-picker.js.map +1 -0
  235. package/lib/ui/status.d.ts +2 -0
  236. package/lib/ui/status.d.ts.map +1 -1
  237. package/lib/ui/status.js +25 -16
  238. package/lib/ui/status.js.map +1 -1
  239. package/lib/ui/theme-picker.d.ts +18 -0
  240. package/lib/ui/theme-picker.d.ts.map +1 -0
  241. package/lib/ui/theme-picker.js +68 -0
  242. package/lib/ui/theme-picker.js.map +1 -0
  243. package/lib/ui/view.d.ts +146 -22
  244. package/lib/ui/view.d.ts.map +1 -1
  245. package/lib/ui/view.js +461 -154
  246. package/lib/ui/view.js.map +1 -1
  247. package/lib/work.d.ts +3 -1
  248. package/lib/work.d.ts.map +1 -1
  249. package/lib/work.js +9 -1
  250. package/lib/work.js.map +1 -1
  251. package/package.json +7 -1
  252. package/themes/deepseek-blue.yaml +183 -0
  253. package/themes/violet-orbit.yaml +178 -0
@@ -0,0 +1,87 @@
1
+ // The shape of a theme, wherever it is written.
2
+ //
3
+ // One definition for two readers: a `tokens:` block means the same thing in
4
+ // settings.yaml as it does in a theme file, and a colour the surface cannot draw
5
+ // has to be refused the same way in both. Sharing it here is also what keeps the
6
+ // two readers independent — neither has to know about the other to validate what
7
+ // it was handed, so a theme file still loads with no settings service mounted.
8
+ import z from '@deepseek-ai/schemastery';
9
+ import { DEFAULT_PALETTE, PALETTE_NAMES, TUI_TOKENS, } from "./theme-tokens.js";
10
+ /**
11
+ * A colour a writer may name.
12
+ *
13
+ * Enumerated rather than a free string: a misspelled colour must fail at load
14
+ * with the offending value named, not silently paint nothing for the rest of the
15
+ * session. A bare number is a terminal's own 256-colour index, which is what
16
+ * makes a theme portable to a palette the surface cannot see.
17
+ */
18
+ export const ColourSchema = z.union([
19
+ z.string().pattern(/^#[0-9a-fA-F]{6}$/u),
20
+ z.union([...PALETTE_NAMES]),
21
+ z.number().min(0).max(255),
22
+ ]);
23
+ /** One element's appearance; every field optional so a writer sets only what they mean. */
24
+ export const StyleSpecSchema = z.object({
25
+ fg: ColourSchema,
26
+ bg: ColourSchema,
27
+ bold: z.boolean(),
28
+ dim: z.boolean(),
29
+ italic: z.boolean(),
30
+ underline: z.boolean(),
31
+ strike: z.boolean(),
32
+ glyph: z.string(),
33
+ hidden: z.boolean(),
34
+ inherit: z.union([...TUI_TOKENS]),
35
+ });
36
+ /** The palette half: every entry optional, each defaulting to the shipped shade. */
37
+ export const PaletteSchema = z.object(Object.fromEntries(PALETTE_NAMES.map(name => [name, ColourSchema.default(DEFAULT_PALETTE[name])])));
38
+ /**
39
+ * The token half: every element optional, but an unknown name rejected.
40
+ *
41
+ * Spelled out rather than `z.dict` because `dict` would accept any key, which is
42
+ * exactly the silent-typo failure this schema has to prevent.
43
+ */
44
+ export const TokensSchema = z.object(Object.fromEntries(TUI_TOKENS.map(token => [token, StyleSpecSchema])));
45
+ /** Every element the surface draws, for refusing a name it does not know. */
46
+ export const TOKEN_NAME_SET = new Set(TUI_TOKENS);
47
+ /** Every palette entry the surface has, for the same reason. */
48
+ export const PALETTE_NAME_SET = new Set(PALETTE_NAMES);
49
+ /** A mapping as it was written, or undefined when the value is not one. */
50
+ export function asRecord(value) {
51
+ return typeof value === 'object' && value !== null ? value : undefined;
52
+ }
53
+ /**
54
+ * Names in a written block that the surface does not have.
55
+ *
56
+ * Schemastery keeps a key it did not declare, so without this check a misspelled
57
+ * element or palette entry would parse cleanly and do nothing at all — the one
58
+ * outcome a writer could not debug from the screen.
59
+ */
60
+ export function unknownNames(block, known) {
61
+ return Object.keys(asRecord(block) ?? {}).filter(name => !known.has(name));
62
+ }
63
+ /** The palette a written block set, keeping only the entries it named. */
64
+ export function writtenPalette(raw) {
65
+ const written = (asRecord(raw) ?? {});
66
+ const validated = PaletteSchema(written);
67
+ const palette = {};
68
+ for (const name of Object.keys(written))
69
+ palette[name] = validated[name];
70
+ return palette;
71
+ }
72
+ /**
73
+ * The elements a written block named, with the spec each was given.
74
+ *
75
+ * An empty spec is kept rather than dropped: a full reference says "this element
76
+ * ships plain" by writing `{}`, and dropping it would leave the reference one
77
+ * element short of the table it documents.
78
+ */
79
+ export function writtenTokens(raw) {
80
+ const written = (asRecord(raw) ?? {});
81
+ const validated = TokensSchema(written);
82
+ const tokens = {};
83
+ for (const name of Object.keys(written))
84
+ tokens[name] = validated[name] ?? {};
85
+ return tokens;
86
+ }
87
+ //# sourceMappingURL=theme-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-schema.js","sourceRoot":"","sources":["../src/theme-schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type { KeyId } from '@earendil-works/pi-tui';
2
2
  import z from '@deepseek-ai/schemastery';
3
3
  import { type Keymap } from './input/actions.ts';
4
- import { type PaletteName, type StyleSpec, type TuiToken } from './theme-tokens.ts';
4
+ import { type ToolDisplayTable } from './tool-display.ts';
5
+ import { type LoadedTheme, type ThemeLibrary } from './theme-files.ts';
6
+ import { type PaletteName, type StyleSpec, type ThemedSpecs, type TuiToken } from './theme-tokens.ts';
5
7
  /** Settings namespace owned by the terminal surface. */
6
8
  export declare const TUI_SETTINGS_NAMESPACE = "dsh-tui";
7
9
  /** How nested PTC calls draw: nothing beyond the card, or one indented line per dispatched call. */
@@ -17,6 +19,7 @@ export type MermaidMode = (typeof MERMAID_MODES)[number];
17
19
  * cannot express.
18
20
  */
19
21
  export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
22
+ theme: z<string, string>;
20
23
  palette: z<Schemastery.ObjectS<{
21
24
  [k: string]: z<string | number, string | number>;
22
25
  }>, Schemastery.ObjectT<{
@@ -33,7 +36,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
33
36
  strike: z<boolean, boolean>;
34
37
  glyph: z<string, string>;
35
38
  hidden: z<boolean, boolean>;
36
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
39
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
37
40
  }>, Schemastery.ObjectT<{
38
41
  fg: z<string | number, string | number>;
39
42
  bg: z<string | number, string | number>;
@@ -44,7 +47,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
44
47
  strike: z<boolean, boolean>;
45
48
  glyph: z<string, string>;
46
49
  hidden: z<boolean, boolean>;
47
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
50
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
48
51
  }>>;
49
52
  }>, Schemastery.ObjectT<{
50
53
  [k: string]: z<Schemastery.ObjectS<{
@@ -57,7 +60,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
57
60
  strike: z<boolean, boolean>;
58
61
  glyph: z<string, string>;
59
62
  hidden: z<boolean, boolean>;
60
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
63
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
61
64
  }>, Schemastery.ObjectT<{
62
65
  fg: z<string | number, string | number>;
63
66
  bg: z<string | number, string | number>;
@@ -68,7 +71,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
68
71
  strike: z<boolean, boolean>;
69
72
  glyph: z<string, string>;
70
73
  hidden: z<boolean, boolean>;
71
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
74
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
72
75
  }>>;
73
76
  }>>;
74
77
  subcalls: z<"collapsed" | "inline", "collapsed" | "inline">;
@@ -80,7 +83,18 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
80
83
  }>, Schemastery.ObjectT<{
81
84
  [k: string]: z<string | string[], string | string[]>;
82
85
  }>>;
86
+ history: z<Schemastery.ObjectS<{
87
+ enabled: z<boolean, boolean>;
88
+ ghost: z<boolean, boolean>;
89
+ maxEntries: z<number, number>;
90
+ }>, Schemastery.ObjectT<{
91
+ enabled: z<boolean, boolean>;
92
+ ghost: z<boolean, boolean>;
93
+ maxEntries: z<number, number>;
94
+ }>>;
95
+ tools: z<any, any>;
83
96
  }>, Schemastery.ObjectT<{
97
+ theme: z<string, string>;
84
98
  palette: z<Schemastery.ObjectS<{
85
99
  [k: string]: z<string | number, string | number>;
86
100
  }>, Schemastery.ObjectT<{
@@ -97,7 +111,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
97
111
  strike: z<boolean, boolean>;
98
112
  glyph: z<string, string>;
99
113
  hidden: z<boolean, boolean>;
100
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
114
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
101
115
  }>, Schemastery.ObjectT<{
102
116
  fg: z<string | number, string | number>;
103
117
  bg: z<string | number, string | number>;
@@ -108,7 +122,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
108
122
  strike: z<boolean, boolean>;
109
123
  glyph: z<string, string>;
110
124
  hidden: z<boolean, boolean>;
111
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
125
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
112
126
  }>>;
113
127
  }>, Schemastery.ObjectT<{
114
128
  [k: string]: z<Schemastery.ObjectS<{
@@ -121,7 +135,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
121
135
  strike: z<boolean, boolean>;
122
136
  glyph: z<string, string>;
123
137
  hidden: z<boolean, boolean>;
124
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
138
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
125
139
  }>, Schemastery.ObjectT<{
126
140
  fg: z<string | number, string | number>;
127
141
  bg: z<string | number, string | number>;
@@ -132,7 +146,7 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
132
146
  strike: z<boolean, boolean>;
133
147
  glyph: z<string, string>;
134
148
  hidden: z<boolean, boolean>;
135
- inherit: z<"transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
149
+ inherit: z<"transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch", "transcript.user" | "transcript.assistant.border" | "transcript.notice" | "transcript.marker" | "transcript.reasoning.summary" | "transcript.reasoning.body" | "transcript.reasoning.hint" | "tool.title" | "tool.glyph" | "tool.args" | "tool.stat.added" | "tool.stat.changed" | "tool.stat.removed" | "tool.stat.size" | "tool.stat.separator" | "tool.detail" | "tool.hint" | "tool.failed.title" | "tool.failed.glyph" | "tool.subcall.title" | "tool.subcall.args" | "tool.diff.header" | "tool.diff.hunk" | "tool.diff.added" | "tool.diff.removed" | "tool.read.header" | "tool.read.lineNumber" | "tool.read.line" | "tool.search.path" | "tool.search.lineNumber" | "tool.search.match" | "tool.search.truncated" | "tool.terminal.cwd" | "tool.terminal.status" | "tool.terminal.output" | "tool.web.url" | "tool.web.source" | "tool.web.truncated" | "tool.generic.detail" | "markdown.heading" | "markdown.link" | "markdown.linkUrl" | "markdown.code" | "markdown.codeBlock" | "markdown.codeBlockBorder" | "markdown.quote" | "markdown.quoteBorder" | "markdown.hr" | "markdown.listBullet" | "markdown.bold" | "markdown.italic" | "markdown.strikethrough" | "markdown.underline" | "markdown.diff.header" | "markdown.diff.hunk" | "markdown.diff.context" | "markdown.diff.added" | "markdown.diff.removed" | "markdown.diff.addedEmphasis" | "markdown.diff.removedEmphasis" | "markdown.diagram.border" | "markdown.diagram.text" | "markdown.diagram.edge" | "markdown.diagram.edgeLabel" | "markdown.diagram.title" | "markdown.diagram.warning" | "picker.title" | "picker.glyph" | "picker.note" | "picker.filter" | "picker.row" | "picker.rowCurrent" | "picker.scrollNewer" | "picker.scrollOlder" | "picker.hint" | "picker.cursor" | "picker.border" | "gate.title" | "gate.glyphApproval" | "gate.glyphQuestion" | "gate.detail" | "gate.option" | "gate.optionCurrent" | "gate.cursor" | "gate.hint" | "dock.goal" | "dock.planMode" | "dock.todos.heading" | "dock.todos.pending" | "dock.todos.inProgress" | "dock.todos.overflow" | "dock.subagents.heading" | "dock.subagents.running" | "dock.subagents.overflow" | "dock.jobs.heading" | "dock.jobs.running" | "dock.jobs.overflow" | "status.prefix" | "status.back" | "status.activity.working" | "status.activity.ready" | "status.elapsed" | "status.agentPreset" | "status.model" | "status.effort" | "status.permission" | "status.context" | "status.cache" | "status.stash" | "status.cwd" | "status.separator" | "editor.border" | "editor.queued" | "editor.queued.more" | "editor.ghost" | "editor.selectList.selectedPrefix" | "editor.selectList.selectedText" | "editor.selectList.description" | "editor.selectList.scrollInfo" | "editor.selectList.noMatch">;
136
150
  }>>;
137
151
  }>>;
138
152
  subcalls: z<"collapsed" | "inline", "collapsed" | "inline">;
@@ -144,11 +158,32 @@ export declare const TuiSettingsSchema: z<Schemastery.ObjectS<{
144
158
  }>, Schemastery.ObjectT<{
145
159
  [k: string]: z<string | string[], string | string[]>;
146
160
  }>>;
161
+ history: z<Schemastery.ObjectS<{
162
+ enabled: z<boolean, boolean>;
163
+ ghost: z<boolean, boolean>;
164
+ maxEntries: z<number, number>;
165
+ }>, Schemastery.ObjectT<{
166
+ enabled: z<boolean, boolean>;
167
+ ghost: z<boolean, boolean>;
168
+ maxEntries: z<number, number>;
169
+ }>>;
170
+ tools: z<any, any>;
147
171
  }>>;
148
172
  /** The reader-facing shape of the `dsh-tui:` section. */
149
173
  export declare function parseSettings(raw: unknown): TuiSettings;
174
+ /** The prompt-history affordances and the size the reader allows. */
175
+ export interface HistorySettings {
176
+ /** Whether prompts are recorded and offered at all. */
177
+ readonly enabled: boolean;
178
+ /** Whether the dimmed completion is drawn; reverse search is unaffected. */
179
+ readonly ghost: boolean;
180
+ /** Entries kept, newest first. */
181
+ readonly maxEntries: number;
182
+ }
150
183
  /** What the section holds once parsed: only what the reader wrote. */
151
184
  export interface TuiSettings {
185
+ /** The theme the reader named, or nothing to draw the package's own. */
186
+ readonly theme: string | undefined;
152
187
  readonly palette: Readonly<Partial<Record<PaletteName, string>>>;
153
188
  readonly tokens: Readonly<Partial<Record<TuiToken, StyleSpec>>>;
154
189
  readonly subcalls: SubCallDisplay;
@@ -159,14 +194,37 @@ export interface TuiSettings {
159
194
  readonly prefixWindow: number;
160
195
  /** Every action's keys, with the reader's overrides already merged over the shipped ones. */
161
196
  readonly keymap: Keymap;
197
+ /** The prompt-history affordances, grouped so one key tunes them together. */
198
+ readonly history: HistorySettings;
199
+ /** How each tool's cards draw: the block's own default, then the reader's per-tool rows. */
200
+ readonly tools: ToolDisplayTable;
162
201
  }
163
202
  /** The section as it reads when the reader has written nothing. */
164
203
  export declare function defaultSettings(): TuiSettings;
165
204
  /** The theme inputs a parsed section implies. */
166
205
  export interface ThemeOverrides {
206
+ /** The shades in force: the shipped palette, then a theme's, then the reader's. */
167
207
  readonly palette: Readonly<Record<PaletteName, string>>;
208
+ /** Every element the reader drew themselves; a theme is a layer apart from this. */
168
209
  readonly tokens: ReadonlyMap<TuiToken, StyleSpec>;
210
+ /**
211
+ * The theme in force, when one answers to the name the reader wrote.
212
+ *
213
+ * Carried whole rather than folded into the layers above, because the layers
214
+ * answer differently: a theme moves every element it names, while a reader's
215
+ * field wins over it one at a time — and `/theme` reports which of the two a
216
+ * shade came from, which needs the file it came out of.
217
+ */
218
+ readonly theme?: LoadedTheme | undefined;
169
219
  }
220
+ /**
221
+ * The layer the theme in force contributes, or nothing when no file answered.
222
+ *
223
+ * The table every theme is written against is the compiled one, so a theme is
224
+ * always a layer over it and never a replacement: an element no theme names keeps
225
+ * the shade the surface ships with.
226
+ */
227
+ export declare function themeLayer(overrides: ThemeOverrides): ThemedSpecs | undefined;
170
228
  /**
171
229
  * One sentence for a section the surface refused.
172
230
  *
@@ -191,6 +249,10 @@ export declare function readScope(scope: {
191
249
  *
192
250
  * Shipped defaults fill anything the reader left out, so a partial section is
193
251
  * the normal case rather than something the resolver has to guard against.
252
+ *
253
+ * The name is looked up rather than trusted: a reader can rename or rewrite the
254
+ * file behind it between two reads, and a theme that is gone leaves the package's
255
+ * own in force rather than leaving the surface with nothing to draw.
194
256
  */
195
- export declare function toOverrides(settings: TuiSettings): ThemeOverrides;
257
+ export declare function toOverrides(settings: TuiSettings, library: ThemeLibrary): ThemeOverrides;
196
258
  //# sourceMappingURL=theme-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-settings.d.ts","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAExC,OAAO,EAA4D,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG1G,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAA;AAE1B,wDAAwD;AACxD,eAAO,MAAM,sBAAsB,YAAY,CAAA;AA4C/C,oGAAoG;AACpG,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAA;AAKnD,uFAAuF;AACvF,eAAO,MAAM,aAAa,wCAAyC,CAAA;AACnE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAwBxD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAU,CAAA;AAyCxC,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CA2DvD;AAQD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,CAAA;IACnC,iGAAiG;IACjG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,mEAAmE;AACnE,wBAAgB,eAAe,IAAI,WAAW,CAU7C;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;IACvD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,GAAG,IAAI,OAAO,CAAA;CAAE,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW,CASvG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,cAAc,CAMjE"}
1
+ {"version":3,"file":"theme-settings.d.ts","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"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"}