@pentoshi/clai 4.8.3 → 4.9.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 (268) hide show
  1. package/README.md +69 -3
  2. package/dist/agent/finalize-gate.js +0 -9
  3. package/dist/agent/finalize-gate.js.map +1 -1
  4. package/dist/agent/plan-mode-reminders.js +5 -5
  5. package/dist/agent/plan-mode-reminders.js.map +1 -1
  6. package/dist/agent/plan-tool.d.ts +1 -0
  7. package/dist/agent/plan-tool.js +50 -21
  8. package/dist/agent/plan-tool.js.map +1 -1
  9. package/dist/agent/reliability-policy.d.ts +9 -0
  10. package/dist/agent/reliability-policy.js +36 -1
  11. package/dist/agent/reliability-policy.js.map +1 -1
  12. package/dist/agent/runner.d.ts +4 -0
  13. package/dist/agent/runner.js +193 -116
  14. package/dist/agent/runner.js.map +1 -1
  15. package/dist/agent/task-analyzer.d.ts +8 -18
  16. package/dist/agent/task-analyzer.js +75 -182
  17. package/dist/agent/task-analyzer.js.map +1 -1
  18. package/dist/agent/task-evidence.js +10 -0
  19. package/dist/agent/task-evidence.js.map +1 -1
  20. package/dist/agent/tool-call-parser.js +14 -13
  21. package/dist/agent/tool-call-parser.js.map +1 -1
  22. package/dist/app/adapters/current-agent-adapter.d.ts +5 -1
  23. package/dist/app/adapters/current-agent-adapter.js +2 -1
  24. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  25. package/dist/app/commands/catalog.js +5 -0
  26. package/dist/app/commands/catalog.js.map +1 -1
  27. package/dist/app/controllers/session-compact-helper.js +3 -6
  28. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  29. package/dist/app/ports/transcript-item.d.ts +4 -0
  30. package/dist/classic/app/ClassicApp.js +1 -1
  31. package/dist/classic/app/ClassicApp.js.map +1 -1
  32. package/dist/classic/app/action-handlers.js +4 -0
  33. package/dist/classic/app/action-handlers.js.map +1 -1
  34. package/dist/classic/app/app-wiring.js +1 -0
  35. package/dist/classic/app/app-wiring.js.map +1 -1
  36. package/dist/classic/app/wiring-lifecycle.js +1 -0
  37. package/dist/classic/app/wiring-lifecycle.js.map +1 -1
  38. package/dist/classic/blocks/compacted-lines.js +3 -0
  39. package/dist/classic/blocks/compacted-lines.js.map +1 -1
  40. package/dist/classic/blocks/thinking-lines.js +11 -2
  41. package/dist/classic/blocks/thinking-lines.js.map +1 -1
  42. package/dist/classic/bootstrap/start-classic.js +3 -0
  43. package/dist/classic/bootstrap/start-classic.js.map +1 -1
  44. package/dist/classic/chrome/Composer.d.ts +6 -0
  45. package/dist/classic/chrome/Composer.js +2 -3
  46. package/dist/classic/chrome/Composer.js.map +1 -1
  47. package/dist/classic/chrome/composer-controller.d.ts +6 -1
  48. package/dist/classic/chrome/composer-controller.js +18 -8
  49. package/dist/classic/chrome/composer-controller.js.map +1 -1
  50. package/dist/classic/chrome/editor-view.d.ts +2 -1
  51. package/dist/classic/chrome/editor-view.js +1 -1
  52. package/dist/classic/chrome/editor-view.js.map +1 -1
  53. package/dist/classic/chrome/status-rows.js +3 -2
  54. package/dist/classic/chrome/status-rows.js.map +1 -1
  55. package/dist/classic/panels/TextEditorPanel.d.ts +3 -0
  56. package/dist/classic/panels/TextEditorPanel.js +7 -0
  57. package/dist/classic/panels/TextEditorPanel.js.map +1 -0
  58. package/dist/classic/panels/panel-controller.js +28 -1
  59. package/dist/classic/panels/panel-controller.js.map +1 -1
  60. package/dist/classic/panels/panel-effect.d.ts +3 -0
  61. package/dist/classic/panels/panel-effect.js.map +1 -1
  62. package/dist/classic/panels/panel-effects.js +3 -0
  63. package/dist/classic/panels/panel-effects.js.map +1 -1
  64. package/dist/classic/panels/panel-host.js +3 -0
  65. package/dist/classic/panels/panel-host.js.map +1 -1
  66. package/dist/classic/panels/panel-types.d.ts +2 -0
  67. package/dist/classic/panels/secret-panel.d.ts +1 -1
  68. package/dist/classic/panels/secret-panel.js +4 -2
  69. package/dist/classic/panels/secret-panel.js.map +1 -1
  70. package/dist/classic/panels/text-editor-panel.d.ts +33 -0
  71. package/dist/classic/panels/text-editor-panel.js +101 -0
  72. package/dist/classic/panels/text-editor-panel.js.map +1 -0
  73. package/dist/llm/adapters/anthropic-tools.d.ts +2 -1
  74. package/dist/llm/adapters/anthropic-tools.js +55 -4
  75. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  76. package/dist/llm/anthropic.js +1 -1
  77. package/dist/llm/anthropic.js.map +1 -1
  78. package/dist/llm/aws-mantle.js +2 -0
  79. package/dist/llm/aws-mantle.js.map +1 -1
  80. package/dist/llm/meta.js +62 -68
  81. package/dist/llm/meta.js.map +1 -1
  82. package/dist/llm/provider.js +7 -7
  83. package/dist/llm/request-plan.js +7 -2
  84. package/dist/llm/request-plan.js.map +1 -1
  85. package/dist/llm/tool-protocol.d.ts +1 -0
  86. package/dist/llm/tool-protocol.js +7 -0
  87. package/dist/llm/tool-protocol.js.map +1 -1
  88. package/dist/mcp/client.d.ts +27 -0
  89. package/dist/mcp/client.js +119 -0
  90. package/dist/mcp/client.js.map +1 -0
  91. package/dist/mcp/config-file.d.ts +35 -0
  92. package/dist/mcp/config-file.js +217 -0
  93. package/dist/mcp/config-file.js.map +1 -0
  94. package/dist/mcp/discovery.d.ts +4 -0
  95. package/dist/mcp/discovery.js +409 -0
  96. package/dist/mcp/discovery.js.map +1 -0
  97. package/dist/mcp/format.d.ts +17 -0
  98. package/dist/mcp/format.js +122 -0
  99. package/dist/mcp/format.js.map +1 -0
  100. package/dist/mcp/index.d.ts +15 -0
  101. package/dist/mcp/index.js +16 -0
  102. package/dist/mcp/index.js.map +1 -0
  103. package/dist/mcp/jsonrpc.d.ts +40 -0
  104. package/dist/mcp/jsonrpc.js +175 -0
  105. package/dist/mcp/jsonrpc.js.map +1 -0
  106. package/dist/mcp/manager.d.ts +36 -0
  107. package/dist/mcp/manager.js +300 -0
  108. package/dist/mcp/manager.js.map +1 -0
  109. package/dist/mcp/mentions.d.ts +9 -0
  110. package/dist/mcp/mentions.js +44 -0
  111. package/dist/mcp/mentions.js.map +1 -0
  112. package/dist/mcp/names.d.ts +15 -0
  113. package/dist/mcp/names.js +59 -0
  114. package/dist/mcp/names.js.map +1 -0
  115. package/dist/mcp/results.d.ts +6 -0
  116. package/dist/mcp/results.js +182 -0
  117. package/dist/mcp/results.js.map +1 -0
  118. package/dist/mcp/runtime.d.ts +107 -0
  119. package/dist/mcp/runtime.js +505 -0
  120. package/dist/mcp/runtime.js.map +1 -0
  121. package/dist/mcp/substitution.d.ts +13 -0
  122. package/dist/mcp/substitution.js +74 -0
  123. package/dist/mcp/substitution.js.map +1 -0
  124. package/dist/mcp/transport-http.d.ts +53 -0
  125. package/dist/mcp/transport-http.js +433 -0
  126. package/dist/mcp/transport-http.js.map +1 -0
  127. package/dist/mcp/transport-stdio.d.ts +39 -0
  128. package/dist/mcp/transport-stdio.js +268 -0
  129. package/dist/mcp/transport-stdio.js.map +1 -0
  130. package/dist/mcp/transport.d.ts +20 -0
  131. package/dist/mcp/transport.js +44 -0
  132. package/dist/mcp/transport.js.map +1 -0
  133. package/dist/mcp/types.d.ts +179 -0
  134. package/dist/mcp/types.js +30 -0
  135. package/dist/mcp/types.js.map +1 -0
  136. package/dist/mcp/validation.d.ts +16 -0
  137. package/dist/mcp/validation.js +222 -0
  138. package/dist/mcp/validation.js.map +1 -0
  139. package/dist/modes/agent.d.ts +2 -0
  140. package/dist/modes/agent.js.map +1 -1
  141. package/dist/noninteractive/start-noninteractive.js +4 -0
  142. package/dist/noninteractive/start-noninteractive.js.map +1 -1
  143. package/dist/prompts/embedded.js +2 -2
  144. package/dist/prompts/embedded.js.map +1 -1
  145. package/dist/prompts/index.d.ts +3 -0
  146. package/dist/prompts/index.js +70 -55
  147. package/dist/prompts/index.js.map +1 -1
  148. package/dist/prompts/system.agent.md +34 -10
  149. package/dist/prompts/system.ask.md +8 -0
  150. package/dist/safety/classifier.js +4 -0
  151. package/dist/safety/classifier.js.map +1 -1
  152. package/dist/store/logs.js +17 -6
  153. package/dist/store/logs.js.map +1 -1
  154. package/dist/store/plan.d.ts +2 -0
  155. package/dist/store/plan.js +12 -13
  156. package/dist/store/plan.js.map +1 -1
  157. package/dist/store/session-workspace.js +2 -1
  158. package/dist/store/session-workspace.js.map +1 -1
  159. package/dist/tools/definitions.js +18 -0
  160. package/dist/tools/definitions.js.map +1 -1
  161. package/dist/tools/external-tools.d.ts +30 -0
  162. package/dist/tools/external-tools.js +52 -0
  163. package/dist/tools/external-tools.js.map +1 -0
  164. package/dist/tools/registry.js +36 -5
  165. package/dist/tools/registry.js.map +1 -1
  166. package/dist/tui-v2/bootstrap/start-tui-v2.js +3 -0
  167. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  168. package/dist/tui-v2/components/completion/completion-menu.d.ts +4 -6
  169. package/dist/tui-v2/components/completion/completion-menu.js +34 -16
  170. package/dist/tui-v2/components/completion/completion-menu.js.map +1 -1
  171. package/dist/tui-v2/components/composer/composer-input-box.js +3 -1
  172. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  173. package/dist/tui-v2/components/modal/secret-modal.js +6 -4
  174. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  175. package/dist/tui-v2/components/modal/text-editor-modal.d.ts +19 -0
  176. package/dist/tui-v2/components/modal/text-editor-modal.js +85 -0
  177. package/dist/tui-v2/components/modal/text-editor-modal.js.map +1 -0
  178. package/dist/tui-v2/components/overlay/overlay-host.js +2 -1
  179. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  180. package/dist/tui-v2/components/transcript/compacted-row.js +12 -3
  181. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  182. package/dist/tui-v2/components/transcript/thinking-block.d.ts +9 -1
  183. package/dist/tui-v2/components/transcript/thinking-block.js +253 -49
  184. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  185. package/dist/tui-v2/components/transcript/thinking-presentation.d.ts +46 -0
  186. package/dist/tui-v2/components/transcript/thinking-presentation.js +84 -0
  187. package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -0
  188. package/dist/tui-v2/components/transcript/transcript-row.d.ts +2 -0
  189. package/dist/tui-v2/components/transcript/transcript-row.js +7 -2
  190. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  191. package/dist/tui-v2/components/transcript/transcript-view.js +195 -83
  192. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  193. package/dist/tui-v2/composer/composer-editor.js +54 -39
  194. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  195. package/dist/tui-v2/composer/composer-highlight.d.ts +20 -0
  196. package/dist/tui-v2/composer/composer-highlight.js +97 -0
  197. package/dist/tui-v2/composer/composer-highlight.js.map +1 -0
  198. package/dist/tui-v2/composer/textarea-keybindings.d.ts +5 -0
  199. package/dist/tui-v2/composer/textarea-keybindings.js +12 -0
  200. package/dist/tui-v2/composer/textarea-keybindings.js.map +1 -1
  201. package/dist/ui/mentions.js +4 -1
  202. package/dist/ui/mentions.js.map +1 -1
  203. package/dist/ui-core/actions/action-id.d.ts +1 -1
  204. package/dist/ui-core/actions/action-id.js +1 -0
  205. package/dist/ui-core/actions/action-id.js.map +1 -1
  206. package/dist/ui-core/actions/format-shortcuts.js +5 -0
  207. package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
  208. package/dist/ui-core/actions/keymap.js +3 -0
  209. package/dist/ui-core/actions/keymap.js.map +1 -1
  210. package/dist/ui-core/bootstrap/composition-root.d.ts +3 -0
  211. package/dist/ui-core/bootstrap/composition-root.js +5 -1
  212. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  213. package/dist/ui-core/commands/command-handlers.js +2 -0
  214. package/dist/ui-core/commands/command-handlers.js.map +1 -1
  215. package/dist/ui-core/commands/mcp-commands.d.ts +3 -0
  216. package/dist/ui-core/commands/mcp-commands.js +310 -0
  217. package/dist/ui-core/commands/mcp-commands.js.map +1 -0
  218. package/dist/ui-core/commands/picker-commands.d.ts +1 -1
  219. package/dist/ui-core/commands/picker-commands.js +2 -2
  220. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  221. package/dist/ui-core/commands/session-commands.js +1 -0
  222. package/dist/ui-core/commands/session-commands.js.map +1 -1
  223. package/dist/ui-core/composer/completion-viewport.d.ts +40 -0
  224. package/dist/ui-core/composer/completion-viewport.js +105 -0
  225. package/dist/ui-core/composer/completion-viewport.js.map +1 -0
  226. package/dist/ui-core/controllers/overlay-controller.d.ts +24 -3
  227. package/dist/ui-core/controllers/overlay-controller.js +35 -4
  228. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  229. package/dist/ui-core/rendering/artifact-pager-source.d.ts +1 -0
  230. package/dist/ui-core/rendering/artifact-pager-source.js +67 -1
  231. package/dist/ui-core/rendering/artifact-pager-source.js.map +1 -1
  232. package/dist/ui-core/rendering/duration.d.ts +3 -1
  233. package/dist/ui-core/rendering/duration.js +14 -0
  234. package/dist/ui-core/rendering/duration.js.map +1 -1
  235. package/dist/ui-core/rendering/exit-summary.js +4 -4
  236. package/dist/ui-core/rendering/format-help.js +4 -0
  237. package/dist/ui-core/rendering/format-help.js.map +1 -1
  238. package/dist/ui-core/rendering/intro-header.js +4 -4
  239. package/dist/ui-core/rendering/open-tool-output.js +90 -32
  240. package/dist/ui-core/rendering/open-tool-output.js.map +1 -1
  241. package/dist/ui-core/rendering/theme.d.ts +5 -3
  242. package/dist/ui-core/rendering/theme.js +8 -4
  243. package/dist/ui-core/rendering/theme.js.map +1 -1
  244. package/dist/ui-core/rendering/wordmark.d.ts +2 -2
  245. package/dist/ui-core/rendering/wordmark.js +62 -62
  246. package/dist/ui-core/rendering/wordmark.js.map +1 -1
  247. package/dist/ui-core/state/thinking-copy.d.ts +13 -0
  248. package/dist/ui-core/state/thinking-copy.js +33 -0
  249. package/dist/ui-core/state/thinking-copy.js.map +1 -0
  250. package/dist/ui-core/state/transcript-hydrate.js +20 -0
  251. package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
  252. package/dist/ui-core/state/transcript-reducer.js +140 -62
  253. package/dist/ui-core/state/transcript-reducer.js.map +1 -1
  254. package/dist/ui-core/state/transcript-store.d.ts +10 -0
  255. package/dist/ui-core/state/transcript-store.js +235 -31
  256. package/dist/ui-core/state/transcript-store.js.map +1 -1
  257. package/dist/ui-core/state/transcript-types.d.ts +10 -0
  258. package/dist/ui-core/state/transcript-types.js +1 -0
  259. package/dist/ui-core/state/transcript-types.js.map +1 -1
  260. package/dist/ui-core/state/transcript-window.d.ts +32 -0
  261. package/dist/ui-core/state/transcript-window.js +63 -0
  262. package/dist/ui-core/state/transcript-window.js.map +1 -0
  263. package/dist/version.generated.d.ts +2 -2
  264. package/dist/version.generated.js +2 -2
  265. package/package.json +1 -1
  266. package/dist/tui-v2/composer/skill-highlight.d.ts +0 -3
  267. package/dist/tui-v2/composer/skill-highlight.js +0 -63
  268. package/dist/tui-v2/composer/skill-highlight.js.map +0 -1
@@ -17,6 +17,7 @@ import { PromptHistory } from "../../ui-core/composer/prompt-history.js";
17
17
  import { ARROW_BURST_WINDOW_MS, resolveArrowIntent, } from "../../ui-core/composer/arrow-intent.js";
18
18
  import { isLargePaste, PasteRegistry, samePastePlaceholderEntries, } from "../../ui-core/composer/paste-placeholder.js";
19
19
  import { activateSlashCompletion, resolveCompletionMenu, sameCompletionMenu, } from "../../ui-core/composer/completion.js";
20
+ import { initialCompletionViewportState, reduceCompletionViewport, } from "../../ui-core/composer/completion-viewport.js";
20
21
  import { buildComposerTextareaOverrides } from "./textarea-keybindings.js";
21
22
  import { composerActionPort } from "../../ui-core/composer/composer-action-port.js";
22
23
  import { useDraftActions } from "./use-draft-actions.js";
@@ -25,7 +26,7 @@ import { notify } from "../../ui-core/notify.js";
25
26
  import { CompletionMenuView } from "../components/completion/completion-menu.js";
26
27
  import { ComposerInputBox } from "../components/composer/composer-input-box.js";
27
28
  import { PasteChipRow } from "../components/composer/paste-chip.js";
28
- import { paintSkillMentions } from "./skill-highlight.js";
29
+ import { paintDraftMentions } from "./composer-highlight.js";
29
30
  import { skillNamesSnapshot } from "../../skills/registry.js";
30
31
  import { useOverlayState } from "../../ui-core/react/use-overlay.js";
31
32
  import { useSessionState } from "../../ui-core/react/use-session-state.js";
@@ -48,7 +49,7 @@ export function ComposerEditor(props) {
48
49
  /** Trackpad-as-arrows: count rapid ↑/↓ so we scroll chat instead of history. */
49
50
  const arrowBurst = useRef({ count: 0, lastAt: 0 });
50
51
  const [menu, setMenu] = useState({ kind: "none" });
51
- const [selected, setSelected] = useState(0);
52
+ const [completionView, setCompletionView] = useState(initialCompletionViewportState);
52
53
  const [acceptedSlash, setAcceptedSlash] = useState(undefined);
53
54
  /** Visual rows of current prompt — drives grow-with-content height. */
54
55
  const [contentRows, setContentRows] = useState(1);
@@ -57,13 +58,25 @@ export function ComposerEditor(props) {
57
58
  // after @ completion or focus reclaim (the intermittent "arrows dead / /
58
59
  // menu missing" failure mode).
59
60
  const menuRef = useRef(menu);
60
- const selectedRef = useRef(selected);
61
+ const completionViewRef = useRef(completionView);
61
62
  const acceptedSlashRef = useRef(acceptedSlash);
62
63
  menuRef.current = menu;
63
- selectedRef.current = selected;
64
+ completionViewRef.current = completionView;
64
65
  acceptedSlashRef.current = acceptedSlash;
65
66
  const menuKindRef = useRef(menu.kind);
66
67
  menuKindRef.current = menu.kind;
68
+ const selected = completionView.selected;
69
+ function applyCompletionViewport(action, source = menuRef.current) {
70
+ const next = reduceCompletionViewport(completionViewRef.current, action, {
71
+ itemCount: source.kind === "none" ? 0 : source.items.length,
72
+ maxRows: props.maxSuggestions ?? 10,
73
+ });
74
+ completionViewRef.current = next;
75
+ setCompletionView(next);
76
+ }
77
+ useEffect(() => {
78
+ applyCompletionViewport({ type: "reconcile" });
79
+ }, [props.maxSuggestions]);
67
80
  const overlay = useOverlayState(services.overlay);
68
81
  const session = useSessionState(services.session);
69
82
  // Prefer live session selection; fall back to config so the border always
@@ -204,14 +217,23 @@ export function ComposerEditor(props) {
204
217
  refreshMenu();
205
218
  });
206
219
  }
207
- /** Grow/shrink the input box with newlines and soft-wrap (classic parity). */
208
- function syncSkillMentions() {
220
+ function syncMentions() {
209
221
  const editor = editorRef.current;
210
- const known = skillNamesSnapshot();
211
- if (!editor || known.size === 0)
222
+ if (!editor)
212
223
  return;
213
- paintSkillMentions(editor, known, theme.activity);
224
+ const text = editor.plainText;
225
+ const servers = services.mcp.serverNames();
226
+ paintDraftMentions({
227
+ editor,
228
+ text,
229
+ skills: skillNamesSnapshot(),
230
+ skillColor: theme.activity,
231
+ servers,
232
+ serverColor: theme.aqua,
233
+ });
234
+ services.mcp.applyMentionSelection(text);
214
235
  }
236
+ /** Grow/shrink the input box with newlines and soft-wrap (classic parity). */
215
237
  function syncContentRows() {
216
238
  const editor = editorRef.current;
217
239
  if (!editor) {
@@ -219,7 +241,7 @@ export function ComposerEditor(props) {
219
241
  setPasteChips([]);
220
242
  return;
221
243
  }
222
- syncSkillMentions();
244
+ syncMentions();
223
245
  // Prompt (2) + borders (2) + horizontal padding (2) leave this for text.
224
246
  const wrapWidth = Math.max(10, props.width - 6);
225
247
  const estimatedRows = countComposerVisualLines(editor.plainText, wrapWidth);
@@ -255,7 +277,7 @@ export function ComposerEditor(props) {
255
277
  }
256
278
  // Keep selection stable when the filtered list only shrinks/grows.
257
279
  if (prev.kind === next.kind && next.kind !== "none" && prev.kind !== "none") {
258
- const sel = selectedRef.current;
280
+ const sel = completionViewRef.current.selected;
259
281
  const prevName = prev.kind === "slash"
260
282
  ? prev.items[sel]?.name
261
283
  : prev.items[sel]?.value;
@@ -263,18 +285,14 @@ export function ComposerEditor(props) {
263
285
  const idx = next.kind === "slash"
264
286
  ? next.items.findIndex((i) => i.name === prevName)
265
287
  : next.items.findIndex((i) => i.value === prevName);
266
- const nextSel = idx >= 0 ? idx : 0;
267
- selectedRef.current = nextSel;
268
- setSelected(nextSel);
288
+ applyCompletionViewport({ type: "reconcile", selected: idx >= 0 ? idx : 0 }, next);
269
289
  }
270
290
  else {
271
- selectedRef.current = 0;
272
- setSelected(0);
291
+ applyCompletionViewport({ type: "reconcile", selected: 0 }, next);
273
292
  }
274
293
  }
275
294
  else {
276
- selectedRef.current = 0;
277
- setSelected(0);
295
+ applyCompletionViewport({ type: "reset" }, next);
278
296
  // Opening a menu resets trackpad burst so ↑/↓ navigate options
279
297
  // instead of immediately scrolling the transcript.
280
298
  if (next.kind !== "none") {
@@ -289,10 +307,9 @@ export function ComposerEditor(props) {
289
307
  function acceptSuggestion(opts) {
290
308
  const editor = editorRef.current;
291
309
  const current = menuRef.current;
292
- const sel = opts?.index ?? selectedRef.current;
310
+ const sel = opts?.index ?? completionViewRef.current.selected;
293
311
  if (opts?.index !== undefined) {
294
- selectedRef.current = opts.index;
295
- setSelected(opts.index);
312
+ applyCompletionViewport({ type: "select", index: opts.index }, current);
296
313
  }
297
314
  if (!editor || current.kind === "none")
298
315
  return;
@@ -364,8 +381,7 @@ export function ComposerEditor(props) {
364
381
  editor.gotoBufferEnd();
365
382
  }
366
383
  }
367
- selectedRef.current = 0;
368
- setSelected(0);
384
+ applyCompletionViewport({ type: "reset" }, current);
369
385
  // `setText` can move native focus in OpenTUI. Keep the cursor live after
370
386
  // a Tab/Enter completion rather than leaving the user in a dead region.
371
387
  services.focus.focusRegion("composer");
@@ -404,8 +420,7 @@ export function ComposerEditor(props) {
404
420
  acceptedSlashRef.current = undefined;
405
421
  setMenu({ kind: "none" });
406
422
  setAcceptedSlash(undefined);
407
- selectedRef.current = 0;
408
- setSelected(0);
423
+ applyCompletionViewport({ type: "reset" }, { kind: "none" });
409
424
  services.focus.focusRegion("composer");
410
425
  editor.focus();
411
426
  syncContentRows();
@@ -417,11 +432,11 @@ export function ComposerEditor(props) {
417
432
  return;
418
433
  const current = menuRef.current;
419
434
  if (current.kind === "slash") {
420
- runSlashCompletion(selectedRef.current);
435
+ runSlashCompletion(completionViewRef.current.selected);
421
436
  return;
422
437
  }
423
438
  if (current.kind === "mention") {
424
- const item = current.items[selectedRef.current];
439
+ const item = current.items[completionViewRef.current.selected];
425
440
  if (item?.isDir) {
426
441
  acceptSuggestion({ attachDir: true });
427
442
  return;
@@ -521,21 +536,19 @@ export function ComposerEditor(props) {
521
536
  if (current.kind !== "none") {
522
537
  const itemCount = current.items.length;
523
538
  if (chord === "up" && itemCount > 0) {
524
- const next = (selectedRef.current - 1 + itemCount) % itemCount;
525
- selectedRef.current = next;
526
- setSelected(next);
539
+ const next = (completionViewRef.current.selected - 1 + itemCount) % itemCount;
540
+ applyCompletionViewport({ type: "select", index: next }, current);
527
541
  key.preventDefault();
528
542
  return;
529
543
  }
530
544
  if (chord === "down" && itemCount > 0) {
531
- const next = (selectedRef.current + 1) % itemCount;
532
- selectedRef.current = next;
533
- setSelected(next);
545
+ const next = (completionViewRef.current.selected + 1) % itemCount;
546
+ applyCompletionViewport({ type: "select", index: next }, current);
534
547
  key.preventDefault();
535
548
  return;
536
549
  }
537
550
  if (chord === "enter" && current.kind === "slash") {
538
- runSlashCompletion(selectedRef.current);
551
+ runSlashCompletion(completionViewRef.current.selected);
539
552
  key.preventDefault();
540
553
  return;
541
554
  }
@@ -547,7 +560,7 @@ export function ComposerEditor(props) {
547
560
  }
548
561
  if (chord === "tab" || chord === "enter") {
549
562
  if (current.kind === "mention") {
550
- const item = current.items[selectedRef.current];
563
+ const item = current.items[completionViewRef.current.selected];
551
564
  if (item?.isDir) {
552
565
  // Tab drills into the folder; Enter attaches the whole folder.
553
566
  acceptSuggestion(chord === "tab" ? { drillDir: true } : { attachDir: true });
@@ -685,6 +698,7 @@ export function ComposerEditor(props) {
685
698
  acceptedSlashRef.current = undefined;
686
699
  setMenu({ kind: "none" });
687
700
  setAcceptedSlash(undefined);
701
+ applyCompletionViewport({ type: "reset" }, { kind: "none" });
688
702
  };
689
703
  const draftActions = useDraftActions({
690
704
  editorRef,
@@ -704,9 +718,10 @@ export function ComposerEditor(props) {
704
718
  });
705
719
  const clearDraftState = draftActions.clear;
706
720
  function hoverCompletion(index) {
707
- selectedRef.current = index;
708
- setSelected(index);
709
- focusComposer();
721
+ applyCompletionViewport({ type: "hover", index });
722
+ }
723
+ function scrollCompletion(rows) {
724
+ applyCompletionViewport({ type: "scroll", rows });
710
725
  }
711
726
  function activateCompletion(index) {
712
727
  focusComposer();
@@ -723,7 +738,7 @@ export function ComposerEditor(props) {
723
738
  }
724
739
  acceptSuggestion({ index });
725
740
  }
726
- return (_jsxs("box", { style: { flexDirection: "column", width: "100%", flexShrink: 0 }, onMouseScroll: onComposerWheel, children: [_jsx(CompletionMenuView, { menu: menu, selected: selected, theme: theme, width: inputWidth, maxRows: props.maxSuggestions ?? 10, onHoverIndex: hoverCompletion, onActivateIndex: activateCompletion }), _jsx(PasteChipRow, { entries: pasteChips, theme: theme, width: inputWidth, onExpand: expandPasteChip }), _jsx(ComposerInputBox, { theme: theme, editorRef: editorRef, focused: shouldOwnKeyboard, running: props.running, width: inputWidth, boxHeight: boxHeight, metaShown: metaShown, chromeFg: chromeFg, keyBindings: textareaKeyBindings, onMouseDown: focusComposer, onMouseScroll: onComposerWheel, onSubmit: submit, onContentChange: () => {
741
+ return (_jsxs("box", { style: { flexDirection: "column", width: "100%", flexShrink: 0 }, onMouseScroll: onComposerWheel, children: [_jsx(CompletionMenuView, { menu: menu, selected: selected, hoveredIndex: completionView.hovered, viewportOffset: completionView.offset, theme: theme, width: inputWidth, maxRows: props.maxSuggestions ?? 10, onHoverIndex: hoverCompletion, onActivateIndex: activateCompletion, onScrollRows: scrollCompletion }), _jsx(PasteChipRow, { entries: pasteChips, theme: theme, width: inputWidth, onExpand: expandPasteChip }), _jsx(ComposerInputBox, { theme: theme, editorRef: editorRef, focused: shouldOwnKeyboard, running: props.running, width: inputWidth, boxHeight: boxHeight, metaShown: metaShown, chromeFg: chromeFg, keyBindings: textareaKeyBindings, onMouseDown: focusComposer, onMouseScroll: onComposerWheel, onSubmit: submit, onContentChange: () => {
727
742
  refreshMenu();
728
743
  queueMicrotask(syncContentRows);
729
744
  }, onCursorChange: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"composer-editor.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer-editor.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-editor.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EACL,gBAAgB,GAIjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,2BAA2B,GAE5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,GAEzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AA8BlF,MAAM,mBAAmB,GAAG,8BAA8B,EAAW,CAAC;AAEtE,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;QACpE,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,gFAAgF;IAChF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,8BAA8B,CAC/B,CAAC;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAClF,uEAAuE;IACvE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,+BAA+B;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC;IAC3C,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;IAEzC,SAAS,uBAAuB,CAC9B,MAAgC,EAChC,SAAyB,OAAO,CAAC,OAAO;QAExC,MAAM,IAAI,GAAG,wBAAwB,CACnC,iBAAiB,CAAC,OAAO,EACzB,MAAM,EACN;YACE,SAAS,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;YAC3D,OAAO,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;SACpC,CACF,CAAC;QACF,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,uBAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,kBAAkB,CAClC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EACvC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,EACjC,GAAG,CAAC,WAAW,IAAI,SAAS,EAC5B,uBAAuB,CACrB,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EACvC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,EACjC,GAAG,CAAC,QAAQ,CACb,CACF,CAAC;IAEF,MAAM,iBAAiB,GACrB,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;;YAC7C,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvC,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,OAAO;QAC9B,IAAI,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,CAAC;YACV,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,aAAa,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QAC7B,IACE,CAAC,IAAI;YACL,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO;YACpC,KAAK,CAAC,cAAc,EACpB,CAAC;YACD,OAAO;QACT,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,oFAAoF;IACtF,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAEnD,4EAA4E;IAC5E,2EAA2E;IAC3E,mCAAmC;IACnC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO;QACxC,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO;QACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAErC,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO;QAE7D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAEpC,iEAAiE;QACjE,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzD,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,MAAM;gBAChB,KAAK,KAAK,KAAK;gBACf,KAAK,KAAK,OAAO;gBACjB,KAAK,KAAK,QAAQ,EAClB,CAAC;gBACD,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC3B,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB;YAAE,OAAO;QAE9B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,aAAa,KAAK,mBAAmB;YAAE,OAAO;QAClD,2DAA2D;QAC3D,IACE,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,QAAQ;YAClB,KAAK,KAAK,UAAU;YACpB,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,KAAK;YACf,GAAG,CAAC,IAAI,KAAK,IAAI;YACjB,GAAG,CAAC,IAAI,KAAK,MAAM,EACnB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO;QAC3E,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3B,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,KAAK,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QAChD,IAAI,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,cAAc,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,eAAe,CAAC,EAAU;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,cAAc,CAAC,GAAG,EAAE;YAClB,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,YAAY;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3C,kBAAkB,CAAC;YACjB,MAAM;YACN,IAAI;YACJ,MAAM,EAAE,kBAAkB,EAAE;YAC5B,UAAU,EAAE,KAAK,CAAC,QAAQ;YAC1B,OAAO;YACP,WAAW,EAAE,KAAK,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,8EAA8E;IAC9E,SAAS,eAAe;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,CAAC,CAAC,CAAC,CAAC;YAClB,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,YAAY,EAAE,CAAC;QACf,yEAAyE;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7D,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;QACF,yDAAyD;QACzD,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,WAAW;QAClB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,qBAAqB,CAChC,QAAQ,CAAC,QAAQ,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,CACpB,CAAC;QACF,gBAAgB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,SAAS,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,IAAI,GACR,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,sEAAsE;YACtE,wEAAwE;YACxE,+DAA+D;YAC/D,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,mEAAmE;YACnE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5E,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC/C,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,KAAK,OAAO;oBACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI;oBACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;gBAC7B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK,OAAO;wBACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;wBAClD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;oBACxD,uBAAuB,CACrB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EACnD,IAAI,CACL,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,uBAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjD,+DAA+D;gBAC/D,mDAAmD;gBACnD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,UAAU,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,gBAAgB,CAAC,IAIzB;QACC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9D,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAa,CAAC;QAClB,IAAI,cAAsB,CAAC;QAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;YAC/B,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACtB,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC;YACpC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACtB,cAAc,GAAG,MAAM,CAAC;YACxB,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;YACrC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,gEAAgE;gBAChE,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oBACtB,WAAW,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC5C,eAAe,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACvC,CAAC,CAAC,IAAI,CAAC,KAAK;wBACZ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;oBACrB,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;wBACpB,qEAAqE;wBACrE,WAAW,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;wBACjD,eAAe,GAAG,KAAK,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,kCAAkC;wBAClC,WAAW,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC7B,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC1D,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,yCAAyC;QACzC,IAAI,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QACD,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,yEAAyE;QACzE,wEAAwE;QACxE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,SAAS,GAAG,uBAAuB,CACvC,OAAO,CAAC,OAAO,EACf,MAAM,CAAC,SAAS,EAChB,KAAK,CACN,CAAC;QACF,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1B,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7D,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,KAAK,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,MAAM;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;gBAChB,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,0BAA0B,CAAC,QAAQ,CAAC;YAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,MAAc;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,kEAAkE;QAClE,uEAAuE;QACvE,0CAA0C;QAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;gBACnD,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,oBAAoB,KAAK,aAAa,CACvC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,YAAY,UAAU,CAAC,IAAI,6BAA6B,CACzD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACtC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAClD,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACtC,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,SAAS,eAAe,CAAC,KAAiB;QACxC,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvE,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,EAAE,KAAK,CAAC;YAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,uBAAuB,CAAC,GAAa;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhC,kEAAkE;QAClE,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,oCAAoC;QACpC,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,KAAK,KAAK,QAAQ;YAClB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO;gBAClC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EACzC,CAAC;YACD,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GACR,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;gBACnE,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBAClE,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBAClE,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBAClE,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClD,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvD,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IACE,KAAK,KAAK,KAAK;gBACf,OAAO,CAAC,IAAI,KAAK,OAAO;gBACxB,gBAAgB,CAAC,OAAO,EACxB,CAAC;gBACD,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACzC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC/D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;wBAChB,+DAA+D;wBAC/D,gBAAgB,CACd,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAC3D,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,gBAAgB,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gBAAgB,EAAE,CAAC;gBACrB,CAAC;gBACD,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,cAAc,EAAE,CAAC;gBACjB,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,oBAAoB,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,mEAAmE;YACnE,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO;QACT,CAAC;QACD,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,oBAAoB,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBAC7D,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;YAEhC,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,KAAK;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG;gBAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,WAAW,CAAC,OAAO,KAAK,MAAM;gBACxC,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE;gBACrD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK;aACrC,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,oBAAoB,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,QAAQ,GACZ,KAAK,KAAK,IAAI;oBACZ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC9C,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,GAAG,CAAC,cAAc,EAAE,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACzB,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,SAAS,CAAC,GAAa;QAC9B,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO;QACjC,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,CAAC,iBAAiB,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACzC,4EAA4E;IAC9E,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1D,kEAAkE;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAErE,SAAS,aAAa;QACpB,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1B,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,SAAS;QACT,QAAQ;QACR,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1D,eAAe,EAAE,GAAG,EAAE;YACpB,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,cAAc;QACd,cAAc;QACd,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,aAAa;QACb,WAAW;QACX,eAAe;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAC9B,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAE3C,SAAS,eAAe,CAAC,KAAyB;QAChD,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,gBAAgB,CAAC,IAAY;QACpC,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,aAAa,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;YAChC,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAChE,aAAa,EAAE,eAAe,aAE9B,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,cAAc,CAAC,OAAO,EACpC,cAAc,EAAE,cAAc,CAAC,MAAM,EACrC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE,EACnC,YAAY,EAAE,eAAe,EAC7B,eAAe,EAAE,kBAAkB,EACnC,YAAY,EAAE,gBAAgB,GAC9B,EACF,KAAC,YAAY,IACX,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,eAAe,GACzB,EAEF,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,aAAa,EAC1B,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,GAAG,EAAE;oBACpB,WAAW,EAAE,CAAC;oBACd,cAAc,CAAC,eAAe,CAAC,CAAC;gBAClC,CAAC,EACD,cAAc,EAAE,GAAG,EAAE;oBACnB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;gBACpB,CAAC,EACD,SAAS,EAAE,SAAS,GACpB,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type TextareaRenderable } from "@opentui/core";
2
+ export type MentionKind = "skill" | "mcp";
3
+ export interface MentionPaint {
4
+ readonly kind: MentionKind;
5
+ readonly ranges: readonly {
6
+ readonly start: number;
7
+ readonly end: number;
8
+ }[];
9
+ readonly color: string;
10
+ }
11
+ export declare function mentionHighlightSupported(): boolean;
12
+ export declare function paintComposerMentions(editor: TextareaRenderable | null, paints: readonly MentionPaint[]): void;
13
+ export declare function paintDraftMentions(input: {
14
+ readonly editor: TextareaRenderable | null;
15
+ readonly text: string;
16
+ readonly skills: ReadonlySet<string>;
17
+ readonly skillColor: string;
18
+ readonly servers: ReadonlySet<string>;
19
+ readonly serverColor: string;
20
+ }): void;
@@ -0,0 +1,97 @@
1
+ import { SyntaxStyle } from "@opentui/core";
2
+ import { findMcpMentions } from "../../mcp/mentions.js";
3
+ import { findSkillMentions } from "../../skills/mentions.js";
4
+ const STYLE_NAMES = {
5
+ skill: "clai.skill.mention",
6
+ mcp: "clai.mcp.mention",
7
+ };
8
+ let style;
9
+ let styleIds = {};
10
+ let styleSignature;
11
+ let unsupported = false;
12
+ function ensureStyle(colors) {
13
+ if (unsupported)
14
+ return false;
15
+ const signature = `${colors.skill}|${colors.mcp}`;
16
+ if (style && styleSignature === signature)
17
+ return true;
18
+ try {
19
+ style = SyntaxStyle.fromStyles({
20
+ [STYLE_NAMES.skill]: { fg: colors.skill, bold: true },
21
+ [STYLE_NAMES.mcp]: { fg: colors.mcp, bold: true },
22
+ });
23
+ const ids = {};
24
+ for (const kind of Object.keys(STYLE_NAMES)) {
25
+ const id = style.resolveStyleId(STYLE_NAMES[kind]);
26
+ if (id === undefined || id === null) {
27
+ unsupported = true;
28
+ style = undefined;
29
+ styleIds = {};
30
+ return false;
31
+ }
32
+ ids[kind] = id;
33
+ }
34
+ styleIds = ids;
35
+ styleSignature = signature;
36
+ return true;
37
+ }
38
+ catch {
39
+ unsupported = true;
40
+ style = undefined;
41
+ styleIds = {};
42
+ return false;
43
+ }
44
+ }
45
+ export function mentionHighlightSupported() {
46
+ return !unsupported;
47
+ }
48
+ export function paintComposerMentions(editor, paints) {
49
+ if (!editor || unsupported)
50
+ return;
51
+ const total = paints.reduce((sum, paint) => sum + paint.ranges.length, 0);
52
+ if (total === 0 && !style)
53
+ return;
54
+ const colors = { skill: "", mcp: "" };
55
+ for (const paint of paints)
56
+ colors[paint.kind] = paint.color;
57
+ if (!ensureStyle(colors))
58
+ return;
59
+ try {
60
+ editor.clearAllHighlights();
61
+ if (total === 0)
62
+ return;
63
+ if (editor.syntaxStyle !== style)
64
+ editor.syntaxStyle = style;
65
+ for (const paint of paints) {
66
+ const styleId = styleIds[paint.kind];
67
+ if (styleId === undefined)
68
+ continue;
69
+ for (const range of paint.ranges) {
70
+ editor.addHighlightByCharRange({
71
+ start: range.start,
72
+ end: range.end,
73
+ styleId,
74
+ priority: 100,
75
+ });
76
+ }
77
+ }
78
+ }
79
+ catch {
80
+ unsupported = true;
81
+ }
82
+ }
83
+ export function paintDraftMentions(input) {
84
+ paintComposerMentions(input.editor, [
85
+ {
86
+ kind: "skill",
87
+ ranges: findSkillMentions(input.text, input.skills),
88
+ color: input.skillColor,
89
+ },
90
+ {
91
+ kind: "mcp",
92
+ ranges: findMcpMentions(input.text, input.servers),
93
+ color: input.serverColor,
94
+ },
95
+ ]);
96
+ }
97
+ //# sourceMappingURL=composer-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-highlight.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-highlight.ts"],"names":[],"mappings":"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"}
@@ -23,3 +23,8 @@ export interface TextareaKeyBindingLike {
23
23
  readonly action: TextareaActionName;
24
24
  }
25
25
  export declare function buildComposerTextareaOverrides(): TextareaKeyBindingLike[];
26
+ /**
27
+ * Editor-modal bindings: Enter inserts a newline (Ctrl+S saves instead), while
28
+ * the word/line kill and selection chords stay identical to the composer.
29
+ */
30
+ export declare function buildTextEditorTextareaOverrides(): TextareaKeyBindingLike[];
@@ -81,4 +81,16 @@ export function buildComposerTextareaOverrides() {
81
81
  });
82
82
  return overrides;
83
83
  }
84
+ /**
85
+ * Editor-modal bindings: Enter inserts a newline (Ctrl+S saves instead), while
86
+ * the word/line kill and selection chords stay identical to the composer.
87
+ */
88
+ export function buildTextEditorTextareaOverrides() {
89
+ const overrides = buildComposerTextareaOverrides().filter((binding) => !ENTER_NAMES.includes(binding.name) ||
90
+ binding.action !== "submit");
91
+ for (const name of ENTER_NAMES) {
92
+ overrides.push({ name, action: "newline" });
93
+ }
94
+ return overrides;
95
+ }
84
96
  //# sourceMappingURL=textarea-keybindings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-keybindings.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/textarea-keybindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textarea-keybindings.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/textarea-keybindings.ts"],"names":[],"mappings":"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"}
@@ -342,7 +342,10 @@ export function extractMentionTokens(line) {
342
342
  const mentionRe = /(^|\s)@(\S+)/g;
343
343
  let match;
344
344
  while ((match = mentionRe.exec(line)) !== null) {
345
- tokens.push(`@${match[2]}`);
345
+ const token = `@${match[2]}`;
346
+ if (/^@mcp:/i.test(token))
347
+ continue;
348
+ tokens.push(token);
346
349
  }
347
350
  const referenceRe = /file:\/\/[^\s)\]}>]+/gi;
348
351
  while ((match = referenceRe.exec(line)) !== null) {