openhorse 0.1.5

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 (587) hide show
  1. package/README.md +460 -0
  2. package/bin/openhorse +56 -0
  3. package/dist/agents/coder.d.ts +12 -0
  4. package/dist/agents/coder.d.ts.map +1 -0
  5. package/dist/agents/coder.js +48 -0
  6. package/dist/agents/coder.js.map +1 -0
  7. package/dist/agents/leader.d.ts +12 -0
  8. package/dist/agents/leader.d.ts.map +1 -0
  9. package/dist/agents/leader.js +49 -0
  10. package/dist/agents/leader.js.map +1 -0
  11. package/dist/agents/router.d.ts +59 -0
  12. package/dist/agents/router.d.ts.map +1 -0
  13. package/dist/agents/router.js +193 -0
  14. package/dist/agents/router.js.map +1 -0
  15. package/dist/cli-ink.d.ts +7 -0
  16. package/dist/cli-ink.d.ts.map +1 -0
  17. package/dist/cli-ink.js +135 -0
  18. package/dist/cli-ink.js.map +1 -0
  19. package/dist/cli.d.ts +7 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +638 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/commands/index.d.ts +12 -0
  24. package/dist/commands/index.d.ts.map +1 -0
  25. package/dist/commands/index.js +1095 -0
  26. package/dist/commands/index.js.map +1 -0
  27. package/dist/commands/parser.d.ts +26 -0
  28. package/dist/commands/parser.d.ts.map +1 -0
  29. package/dist/commands/parser.js +61 -0
  30. package/dist/commands/parser.js.map +1 -0
  31. package/dist/commands/types.d.ts +61 -0
  32. package/dist/commands/types.d.ts.map +1 -0
  33. package/dist/commands/types.js +32 -0
  34. package/dist/commands/types.js.map +1 -0
  35. package/dist/core/agent.d.ts +66 -0
  36. package/dist/core/agent.d.ts.map +1 -0
  37. package/dist/core/agent.js +55 -0
  38. package/dist/core/agent.js.map +1 -0
  39. package/dist/core/brain.d.ts +41 -0
  40. package/dist/core/brain.d.ts.map +1 -0
  41. package/dist/core/brain.js +92 -0
  42. package/dist/core/brain.js.map +1 -0
  43. package/dist/core/cost-tracker.d.ts +107 -0
  44. package/dist/core/cost-tracker.d.ts.map +1 -0
  45. package/dist/core/cost-tracker.js +199 -0
  46. package/dist/core/cost-tracker.js.map +1 -0
  47. package/dist/core/strategy-tracker.d.ts +61 -0
  48. package/dist/core/strategy-tracker.d.ts.map +1 -0
  49. package/dist/core/strategy-tracker.js +124 -0
  50. package/dist/core/strategy-tracker.js.map +1 -0
  51. package/dist/framework/index.d.ts +20 -0
  52. package/dist/framework/index.d.ts.map +1 -0
  53. package/dist/framework/index.js +29 -0
  54. package/dist/framework/index.js.map +1 -0
  55. package/dist/framework/prompt.d.ts +40 -0
  56. package/dist/framework/prompt.d.ts.map +1 -0
  57. package/dist/framework/prompt.js +112 -0
  58. package/dist/framework/prompt.js.map +1 -0
  59. package/dist/framework/query.d.ts +86 -0
  60. package/dist/framework/query.d.ts.map +1 -0
  61. package/dist/framework/query.js +177 -0
  62. package/dist/framework/query.js.map +1 -0
  63. package/dist/framework/store.d.ts +64 -0
  64. package/dist/framework/store.d.ts.map +1 -0
  65. package/dist/framework/store.js +78 -0
  66. package/dist/framework/store.js.map +1 -0
  67. package/dist/framework/tool-state.d.ts +22 -0
  68. package/dist/framework/tool-state.d.ts.map +1 -0
  69. package/dist/framework/tool-state.js +40 -0
  70. package/dist/framework/tool-state.js.map +1 -0
  71. package/dist/framework/tool.d.ts +88 -0
  72. package/dist/framework/tool.d.ts.map +1 -0
  73. package/dist/framework/tool.js +60 -0
  74. package/dist/framework/tool.js.map +1 -0
  75. package/dist/harness/harness.d.ts +96 -0
  76. package/dist/harness/harness.d.ts.map +1 -0
  77. package/dist/harness/harness.js +224 -0
  78. package/dist/harness/harness.js.map +1 -0
  79. package/dist/harness/safety.d.ts +89 -0
  80. package/dist/harness/safety.d.ts.map +1 -0
  81. package/dist/harness/safety.js +178 -0
  82. package/dist/harness/safety.js.map +1 -0
  83. package/dist/index.d.ts +30 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +57 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/init.d.ts +178 -0
  88. package/dist/init.d.ts.map +1 -0
  89. package/dist/init.js +473 -0
  90. package/dist/init.js.map +1 -0
  91. package/dist/ink/bidi.d.ts +16 -0
  92. package/dist/ink/bidi.d.ts.map +1 -0
  93. package/dist/ink/bidi.js +124 -0
  94. package/dist/ink/bidi.js.map +1 -0
  95. package/dist/ink/clearTerminal.d.ts +14 -0
  96. package/dist/ink/clearTerminal.d.ts.map +1 -0
  97. package/dist/ink/clearTerminal.js +63 -0
  98. package/dist/ink/clearTerminal.js.map +1 -0
  99. package/dist/ink/colorize.d.ts +17 -0
  100. package/dist/ink/colorize.d.ts.map +1 -0
  101. package/dist/ink/colorize.js +208 -0
  102. package/dist/ink/colorize.js.map +1 -0
  103. package/dist/ink/components/App.d.ts +73 -0
  104. package/dist/ink/components/App.d.ts.map +1 -0
  105. package/dist/ink/components/App.js +646 -0
  106. package/dist/ink/components/App.js.map +1 -0
  107. package/dist/ink/components/AppContext.d.ts +12 -0
  108. package/dist/ink/components/AppContext.d.ts.map +1 -0
  109. package/dist/ink/components/AppContext.js +14 -0
  110. package/dist/ink/components/AppContext.js.map +1 -0
  111. package/dist/ink/components/Box.d.ts +44 -0
  112. package/dist/ink/components/Box.d.ts.map +1 -0
  113. package/dist/ink/components/Box.js +191 -0
  114. package/dist/ink/components/Box.js.map +1 -0
  115. package/dist/ink/components/ClockContext.d.ts +9 -0
  116. package/dist/ink/components/ClockContext.d.ts.map +1 -0
  117. package/dist/ink/components/ClockContext.js +146 -0
  118. package/dist/ink/components/ClockContext.js.map +1 -0
  119. package/dist/ink/components/CursorDeclarationContext.d.ts +23 -0
  120. package/dist/ink/components/CursorDeclarationContext.d.ts.map +1 -0
  121. package/dist/ink/components/CursorDeclarationContext.js +6 -0
  122. package/dist/ink/components/CursorDeclarationContext.js.map +1 -0
  123. package/dist/ink/components/ErrorOverview.d.ts +6 -0
  124. package/dist/ink/components/ErrorOverview.d.ts.map +1 -0
  125. package/dist/ink/components/ErrorOverview.js +27 -0
  126. package/dist/ink/components/ErrorOverview.js.map +1 -0
  127. package/dist/ink/components/Newline.d.ts +13 -0
  128. package/dist/ink/components/Newline.d.ts.map +1 -0
  129. package/dist/ink/components/Newline.js +36 -0
  130. package/dist/ink/components/Newline.js.map +1 -0
  131. package/dist/ink/components/NoSelect.d.ts +20 -0
  132. package/dist/ink/components/NoSelect.d.ts.map +1 -0
  133. package/dist/ink/components/NoSelect.js +63 -0
  134. package/dist/ink/components/NoSelect.js.map +1 -0
  135. package/dist/ink/components/RawAnsi.d.ts +17 -0
  136. package/dist/ink/components/RawAnsi.d.ts.map +1 -0
  137. package/dist/ink/components/RawAnsi.js +52 -0
  138. package/dist/ink/components/RawAnsi.js.map +1 -0
  139. package/dist/ink/components/Spacer.d.ts +6 -0
  140. package/dist/ink/components/Spacer.d.ts.map +1 -0
  141. package/dist/ink/components/Spacer.js +26 -0
  142. package/dist/ink/components/Spacer.js.map +1 -0
  143. package/dist/ink/components/StdinContext.d.ts +28 -0
  144. package/dist/ink/components/StdinContext.d.ts.map +1 -0
  145. package/dist/ink/components/StdinContext.js +19 -0
  146. package/dist/ink/components/StdinContext.js.map +1 -0
  147. package/dist/ink/components/TerminalFocusContext.d.ts +10 -0
  148. package/dist/ink/components/TerminalFocusContext.d.ts.map +1 -0
  149. package/dist/ink/components/TerminalFocusContext.js +81 -0
  150. package/dist/ink/components/TerminalFocusContext.js.map +1 -0
  151. package/dist/ink/components/TerminalSizeContext.d.ts +6 -0
  152. package/dist/ink/components/TerminalSizeContext.d.ts.map +1 -0
  153. package/dist/ink/components/TerminalSizeContext.js +6 -0
  154. package/dist/ink/components/TerminalSizeContext.js.map +1 -0
  155. package/dist/ink/components/Text.d.ts +56 -0
  156. package/dist/ink/components/Text.d.ts.map +1 -0
  157. package/dist/ink/components/Text.js +201 -0
  158. package/dist/ink/components/Text.js.map +1 -0
  159. package/dist/ink/constants.d.ts +2 -0
  160. package/dist/ink/constants.d.ts.map +1 -0
  161. package/dist/ink/constants.js +6 -0
  162. package/dist/ink/constants.js.map +1 -0
  163. package/dist/ink/devtools.d.ts +3 -0
  164. package/dist/ink/devtools.d.ts.map +1 -0
  165. package/dist/ink/devtools.js +5 -0
  166. package/dist/ink/devtools.js.map +1 -0
  167. package/dist/ink/dom.d.ts +77 -0
  168. package/dist/ink/dom.d.ts.map +1 -0
  169. package/dist/ink/dom.js +322 -0
  170. package/dist/ink/dom.js.map +1 -0
  171. package/dist/ink/events/click-event.d.ts +32 -0
  172. package/dist/ink/events/click-event.d.ts.map +1 -0
  173. package/dist/ink/events/click-event.js +30 -0
  174. package/dist/ink/events/click-event.js.map +1 -0
  175. package/dist/ink/events/dispatcher.d.ts +41 -0
  176. package/dist/ink/events/dispatcher.d.ts.map +1 -0
  177. package/dist/ink/events/dispatcher.js +181 -0
  178. package/dist/ink/events/dispatcher.js.map +1 -0
  179. package/dist/ink/events/emitter.d.ts +6 -0
  180. package/dist/ink/events/emitter.d.ts.map +1 -0
  181. package/dist/ink/events/emitter.js +36 -0
  182. package/dist/ink/events/emitter.js.map +1 -0
  183. package/dist/ink/events/event-handlers.d.ts +47 -0
  184. package/dist/ink/events/event-handlers.d.ts.map +1 -0
  185. package/dist/ink/events/event-handlers.js +34 -0
  186. package/dist/ink/events/event-handlers.js.map +1 -0
  187. package/dist/ink/events/event.d.ts +6 -0
  188. package/dist/ink/events/event.d.ts.map +1 -0
  189. package/dist/ink/events/event.js +16 -0
  190. package/dist/ink/events/event.js.map +1 -0
  191. package/dist/ink/events/focus-event.d.ts +14 -0
  192. package/dist/ink/events/focus-event.d.ts.map +1 -0
  193. package/dist/ink/events/focus-event.js +20 -0
  194. package/dist/ink/events/focus-event.js.map +1 -0
  195. package/dist/ink/events/input-event.d.ts +31 -0
  196. package/dist/ink/events/input-event.d.ts.map +1 -0
  197. package/dist/ink/events/input-event.js +163 -0
  198. package/dist/ink/events/input-event.js.map +1 -0
  199. package/dist/ink/events/keyboard-event.d.ts +20 -0
  200. package/dist/ink/events/keyboard-event.d.ts.map +1 -0
  201. package/dist/ink/events/keyboard-event.js +44 -0
  202. package/dist/ink/events/keyboard-event.js.map +1 -0
  203. package/dist/ink/events/terminal-event.d.ts +55 -0
  204. package/dist/ink/events/terminal-event.d.ts.map +1 -0
  205. package/dist/ink/events/terminal-event.js +79 -0
  206. package/dist/ink/events/terminal-event.js.map +1 -0
  207. package/dist/ink/events/terminal-focus-event.d.ts +14 -0
  208. package/dist/ink/events/terminal-focus-event.d.ts.map +1 -0
  209. package/dist/ink/events/terminal-focus-event.js +19 -0
  210. package/dist/ink/events/terminal-focus-event.js.map +1 -0
  211. package/dist/ink/focus.d.ts +44 -0
  212. package/dist/ink/focus.d.ts.map +1 -0
  213. package/dist/ink/focus.js +164 -0
  214. package/dist/ink/focus.js.map +1 -0
  215. package/dist/ink/frame.d.ts +95 -0
  216. package/dist/ink/frame.d.ts.map +1 -0
  217. package/dist/ink/frame.js +35 -0
  218. package/dist/ink/frame.js.map +1 -0
  219. package/dist/ink/get-max-width.d.ts +18 -0
  220. package/dist/ink/get-max-width.d.ts.map +1 -0
  221. package/dist/ink/get-max-width.js +26 -0
  222. package/dist/ink/get-max-width.js.map +1 -0
  223. package/dist/ink/hit-test.d.ts +34 -0
  224. package/dist/ink/hit-test.d.ts.map +1 -0
  225. package/dist/ink/hit-test.js +119 -0
  226. package/dist/ink/hit-test.js.map +1 -0
  227. package/dist/ink/hooks/use-animation-frame.d.ts +27 -0
  228. package/dist/ink/hooks/use-animation-frame.d.ts.map +1 -0
  229. package/dist/ink/hooks/use-animation-frame.js +52 -0
  230. package/dist/ink/hooks/use-animation-frame.js.map +1 -0
  231. package/dist/ink/hooks/use-app.d.ts +6 -0
  232. package/dist/ink/hooks/use-app.d.ts.map +1 -0
  233. package/dist/ink/hooks/use-app.js +13 -0
  234. package/dist/ink/hooks/use-app.js.map +1 -0
  235. package/dist/ink/hooks/use-declared-cursor.d.ts +27 -0
  236. package/dist/ink/hooks/use-declared-cursor.d.ts.map +1 -0
  237. package/dist/ink/hooks/use-declared-cursor.js +67 -0
  238. package/dist/ink/hooks/use-declared-cursor.js.map +1 -0
  239. package/dist/ink/hooks/use-input.d.ts +38 -0
  240. package/dist/ink/hooks/use-input.d.ts.map +1 -0
  241. package/dist/ink/hooks/use-input.js +86 -0
  242. package/dist/ink/hooks/use-input.js.map +1 -0
  243. package/dist/ink/hooks/use-interval.d.ts +19 -0
  244. package/dist/ink/hooks/use-interval.d.ts.map +1 -0
  245. package/dist/ink/hooks/use-interval.js +59 -0
  246. package/dist/ink/hooks/use-interval.js.map +1 -0
  247. package/dist/ink/hooks/use-search-highlight.d.ts +31 -0
  248. package/dist/ink/hooks/use-search-highlight.d.ts.map +1 -0
  249. package/dist/ink/hooks/use-search-highlight.js +39 -0
  250. package/dist/ink/hooks/use-search-highlight.js.map +1 -0
  251. package/dist/ink/hooks/use-selection.d.ts +40 -0
  252. package/dist/ink/hooks/use-selection.d.ts.map +1 -0
  253. package/dist/ink/hooks/use-selection.js +68 -0
  254. package/dist/ink/hooks/use-selection.js.map +1 -0
  255. package/dist/ink/hooks/use-stdin.d.ts +6 -0
  256. package/dist/ink/hooks/use-stdin.d.ts.map +1 -0
  257. package/dist/ink/hooks/use-stdin.js +13 -0
  258. package/dist/ink/hooks/use-stdin.js.map +1 -0
  259. package/dist/ink/hooks/use-tab-status.d.ts +14 -0
  260. package/dist/ink/hooks/use-tab-status.d.ts.map +1 -0
  261. package/dist/ink/hooks/use-tab-status.js +61 -0
  262. package/dist/ink/hooks/use-tab-status.js.map +1 -0
  263. package/dist/ink/hooks/use-terminal-focus.d.ts +11 -0
  264. package/dist/ink/hooks/use-terminal-focus.d.ts.map +1 -0
  265. package/dist/ink/hooks/use-terminal-focus.js +22 -0
  266. package/dist/ink/hooks/use-terminal-focus.js.map +1 -0
  267. package/dist/ink/hooks/use-terminal-title.d.ts +13 -0
  268. package/dist/ink/hooks/use-terminal-title.d.ts.map +1 -0
  269. package/dist/ink/hooks/use-terminal-title.js +36 -0
  270. package/dist/ink/hooks/use-terminal-title.js.map +1 -0
  271. package/dist/ink/hooks/use-terminal-viewport.d.ts +30 -0
  272. package/dist/ink/hooks/use-terminal-viewport.d.ts.map +1 -0
  273. package/dist/ink/hooks/use-terminal-viewport.js +81 -0
  274. package/dist/ink/hooks/use-terminal-viewport.js.map +1 -0
  275. package/dist/ink/index.d.ts +54 -0
  276. package/dist/ink/index.d.ts.map +1 -0
  277. package/dist/ink/index.js +111 -0
  278. package/dist/ink/index.js.map +1 -0
  279. package/dist/ink/ink.d.ts +371 -0
  280. package/dist/ink/ink.d.ts.map +1 -0
  281. package/dist/ink/ink.js +1686 -0
  282. package/dist/ink/ink.js.map +1 -0
  283. package/dist/ink/instances.d.ts +4 -0
  284. package/dist/ink/instances.d.ts.map +1 -0
  285. package/dist/ink/instances.js +10 -0
  286. package/dist/ink/instances.js.map +1 -0
  287. package/dist/ink/line-width-cache.d.ts +2 -0
  288. package/dist/ink/line-width-cache.d.ts.map +1 -0
  289. package/dist/ink/line-width-cache.js +23 -0
  290. package/dist/ink/line-width-cache.js.map +1 -0
  291. package/dist/ink/log-update.d.ts +18 -0
  292. package/dist/ink/log-update.d.ts.map +1 -0
  293. package/dist/ink/log-update.js +637 -0
  294. package/dist/ink/log-update.js.map +1 -0
  295. package/dist/ink/measure-element.d.ts +17 -0
  296. package/dist/ink/measure-element.d.ts.map +1 -0
  297. package/dist/ink/measure-element.js +11 -0
  298. package/dist/ink/measure-element.js.map +1 -0
  299. package/dist/ink/measure-text.d.ts +7 -0
  300. package/dist/ink/measure-text.d.ts.map +1 -0
  301. package/dist/ink/measure-text.js +38 -0
  302. package/dist/ink/measure-text.js.map +1 -0
  303. package/dist/ink/node-cache.d.ts +21 -0
  304. package/dist/ink/node-cache.d.ts.map +1 -0
  305. package/dist/ink/node-cache.js +36 -0
  306. package/dist/ink/node-cache.js.map +1 -0
  307. package/dist/ink/optimizer.d.ts +16 -0
  308. package/dist/ink/optimizer.d.ts.map +1 -0
  309. package/dist/ink/optimizer.js +85 -0
  310. package/dist/ink/optimizer.js.map +1 -0
  311. package/dist/ink/output.d.ts +120 -0
  312. package/dist/ink/output.d.ts.map +1 -0
  313. package/dist/ink/output.js +559 -0
  314. package/dist/ink/output.js.map +1 -0
  315. package/dist/ink/parse-keypress.d.ts +112 -0
  316. package/dist/ink/parse-keypress.d.ts.map +1 -0
  317. package/dist/ink/parse-keypress.js +719 -0
  318. package/dist/ink/parse-keypress.js.map +1 -0
  319. package/dist/ink/parse-keypress.test.d.ts +2 -0
  320. package/dist/ink/parse-keypress.test.d.ts.map +1 -0
  321. package/dist/ink/parse-keypress.test.js +37 -0
  322. package/dist/ink/parse-keypress.test.js.map +1 -0
  323. package/dist/ink/reconciler.d.ts +12 -0
  324. package/dist/ink/reconciler.d.ts.map +1 -0
  325. package/dist/ink/reconciler.js +456 -0
  326. package/dist/ink/reconciler.js.map +1 -0
  327. package/dist/ink/render-border.d.ts +25 -0
  328. package/dist/ink/render-border.d.ts.map +1 -0
  329. package/dist/ink/render-border.js +141 -0
  330. package/dist/ink/render-border.js.map +1 -0
  331. package/dist/ink/render-node-to-output.d.ts +46 -0
  332. package/dist/ink/render-node-to-output.d.ts.map +1 -0
  333. package/dist/ink/render-node-to-output.js +1257 -0
  334. package/dist/ink/render-node-to-output.js.map +1 -0
  335. package/dist/ink/render-to-screen.d.ts +47 -0
  336. package/dist/ink/render-to-screen.d.ts.map +1 -0
  337. package/dist/ink/render-to-screen.js +213 -0
  338. package/dist/ink/render-to-screen.js.map +1 -0
  339. package/dist/ink/renderer.d.ts +15 -0
  340. package/dist/ink/renderer.d.ts.map +1 -0
  341. package/dist/ink/renderer.js +169 -0
  342. package/dist/ink/renderer.js.map +1 -0
  343. package/dist/ink/root.d.ts +75 -0
  344. package/dist/ink/root.d.ts.map +1 -0
  345. package/dist/ink/root.js +89 -0
  346. package/dist/ink/root.js.map +1 -0
  347. package/dist/ink/screen.d.ts +270 -0
  348. package/dist/ink/screen.d.ts.map +1 -0
  349. package/dist/ink/screen.js +1194 -0
  350. package/dist/ink/screen.js.map +1 -0
  351. package/dist/ink/searchHighlight.d.ts +21 -0
  352. package/dist/ink/searchHighlight.d.ts.map +1 -0
  353. package/dist/ink/searchHighlight.js +82 -0
  354. package/dist/ink/searchHighlight.js.map +1 -0
  355. package/dist/ink/selection.d.ts +230 -0
  356. package/dist/ink/selection.d.ts.map +1 -0
  357. package/dist/ink/selection.js +814 -0
  358. package/dist/ink/selection.js.map +1 -0
  359. package/dist/ink/squash-text-nodes.d.ts +23 -0
  360. package/dist/ink/squash-text-nodes.d.ts.map +1 -0
  361. package/dist/ink/squash-text-nodes.js +60 -0
  362. package/dist/ink/squash-text-nodes.js.map +1 -0
  363. package/dist/ink/stringWidth.d.ts +2 -0
  364. package/dist/ink/stringWidth.d.ts.map +1 -0
  365. package/dist/ink/stringWidth.js +207 -0
  366. package/dist/ink/stringWidth.js.map +1 -0
  367. package/dist/ink/styles.d.ts +307 -0
  368. package/dist/ink/styles.d.ts.map +1 -0
  369. package/dist/ink/styles.js +302 -0
  370. package/dist/ink/styles.js.map +1 -0
  371. package/dist/ink/supports-hyperlinks.d.ts +14 -0
  372. package/dist/ink/supports-hyperlinks.d.ts.map +1 -0
  373. package/dist/ink/supports-hyperlinks.js +48 -0
  374. package/dist/ink/supports-hyperlinks.js.map +1 -0
  375. package/dist/ink/tabstops.d.ts +2 -0
  376. package/dist/ink/tabstops.d.ts.map +1 -0
  377. package/dist/ink/tabstops.js +43 -0
  378. package/dist/ink/tabstops.js.map +1 -0
  379. package/dist/ink/terminal-focus-state.d.ts +7 -0
  380. package/dist/ink/terminal-focus-state.d.ts.map +1 -0
  381. package/dist/ink/terminal-focus-state.js +43 -0
  382. package/dist/ink/terminal-focus-state.js.map +1 -0
  383. package/dist/ink/terminal-querier.d.ts +130 -0
  384. package/dist/ink/terminal-querier.d.ts.map +1 -0
  385. package/dist/ink/terminal-querier.js +184 -0
  386. package/dist/ink/terminal-querier.js.map +1 -0
  387. package/dist/ink/terminal.d.ts +56 -0
  388. package/dist/ink/terminal.d.ts.map +1 -0
  389. package/dist/ink/terminal.js +249 -0
  390. package/dist/ink/terminal.js.map +1 -0
  391. package/dist/ink/termio/csi.d.ts +166 -0
  392. package/dist/ink/termio/csi.d.ts.map +1 -0
  393. package/dist/ink/termio/csi.js +285 -0
  394. package/dist/ink/termio/csi.js.map +1 -0
  395. package/dist/ink/termio/dec.d.ts +38 -0
  396. package/dist/ink/termio/dec.d.ts.map +1 -0
  397. package/dist/ink/termio/dec.js +59 -0
  398. package/dist/ink/termio/dec.js.map +1 -0
  399. package/dist/ink/termio.d.ts +25 -0
  400. package/dist/ink/termio.d.ts.map +1 -0
  401. package/dist/ink/termio.js +32 -0
  402. package/dist/ink/termio.js.map +1 -0
  403. package/dist/ink/useTerminalNotification.d.ts +27 -0
  404. package/dist/ink/useTerminalNotification.d.ts.map +1 -0
  405. package/dist/ink/useTerminalNotification.js +62 -0
  406. package/dist/ink/useTerminalNotification.js.map +1 -0
  407. package/dist/ink/warn.d.ts +2 -0
  408. package/dist/ink/warn.d.ts.map +1 -0
  409. package/dist/ink/warn.js +14 -0
  410. package/dist/ink/warn.js.map +1 -0
  411. package/dist/ink/widest-line.d.ts +2 -0
  412. package/dist/ink/widest-line.d.ts.map +1 -0
  413. package/dist/ink/widest-line.js +18 -0
  414. package/dist/ink/widest-line.js.map +1 -0
  415. package/dist/ink/wrap-text.d.ts +3 -0
  416. package/dist/ink/wrap-text.d.ts.map +1 -0
  417. package/dist/ink/wrap-text.js +61 -0
  418. package/dist/ink/wrap-text.js.map +1 -0
  419. package/dist/ink/wrapAnsi.d.ts +8 -0
  420. package/dist/ink/wrapAnsi.d.ts.map +1 -0
  421. package/dist/ink/wrapAnsi.js +13 -0
  422. package/dist/ink/wrapAnsi.js.map +1 -0
  423. package/dist/memory/embeddings.d.ts +33 -0
  424. package/dist/memory/embeddings.d.ts.map +1 -0
  425. package/dist/memory/embeddings.js +123 -0
  426. package/dist/memory/embeddings.js.map +1 -0
  427. package/dist/memory/index.d.ts +14 -0
  428. package/dist/memory/index.d.ts.map +1 -0
  429. package/dist/memory/index.js +31 -0
  430. package/dist/memory/index.js.map +1 -0
  431. package/dist/memory/prompts.d.ts +12 -0
  432. package/dist/memory/prompts.d.ts.map +1 -0
  433. package/dist/memory/prompts.js +117 -0
  434. package/dist/memory/prompts.js.map +1 -0
  435. package/dist/memory/semantic-search.d.ts +45 -0
  436. package/dist/memory/semantic-search.d.ts.map +1 -0
  437. package/dist/memory/semantic-search.js +112 -0
  438. package/dist/memory/semantic-search.js.map +1 -0
  439. package/dist/memory/storage.d.ts +79 -0
  440. package/dist/memory/storage.d.ts.map +1 -0
  441. package/dist/memory/storage.js +285 -0
  442. package/dist/memory/storage.js.map +1 -0
  443. package/dist/memory/store.d.ts +103 -0
  444. package/dist/memory/store.d.ts.map +1 -0
  445. package/dist/memory/store.js +226 -0
  446. package/dist/memory/store.js.map +1 -0
  447. package/dist/memory/types.d.ts +40 -0
  448. package/dist/memory/types.d.ts.map +1 -0
  449. package/dist/memory/types.js +71 -0
  450. package/dist/memory/types.js.map +1 -0
  451. package/dist/memory/validation.d.ts +28 -0
  452. package/dist/memory/validation.d.ts.map +1 -0
  453. package/dist/memory/validation.js +147 -0
  454. package/dist/memory/validation.js.map +1 -0
  455. package/dist/memory/vector-store.d.ts +49 -0
  456. package/dist/memory/vector-store.d.ts.map +1 -0
  457. package/dist/memory/vector-store.js +259 -0
  458. package/dist/memory/vector-store.js.map +1 -0
  459. package/dist/screens/REPL.d.ts +21 -0
  460. package/dist/screens/REPL.d.ts.map +1 -0
  461. package/dist/screens/REPL.js +139 -0
  462. package/dist/screens/REPL.js.map +1 -0
  463. package/dist/services/agent-runner.d.ts +68 -0
  464. package/dist/services/agent-runner.d.ts.map +1 -0
  465. package/dist/services/agent-runner.js +186 -0
  466. package/dist/services/agent-runner.js.map +1 -0
  467. package/dist/services/atomic-write.d.ts +12 -0
  468. package/dist/services/atomic-write.d.ts.map +1 -0
  469. package/dist/services/atomic-write.js +27 -0
  470. package/dist/services/atomic-write.js.map +1 -0
  471. package/dist/services/config-dir.d.ts +55 -0
  472. package/dist/services/config-dir.d.ts.map +1 -0
  473. package/dist/services/config-dir.js +136 -0
  474. package/dist/services/config-dir.js.map +1 -0
  475. package/dist/services/config.d.ts +54 -0
  476. package/dist/services/config.d.ts.map +1 -0
  477. package/dist/services/config.js +98 -0
  478. package/dist/services/config.js.map +1 -0
  479. package/dist/services/file-glob.d.ts +26 -0
  480. package/dist/services/file-glob.d.ts.map +1 -0
  481. package/dist/services/file-glob.js +134 -0
  482. package/dist/services/file-glob.js.map +1 -0
  483. package/dist/services/global-config.d.ts +109 -0
  484. package/dist/services/global-config.d.ts.map +1 -0
  485. package/dist/services/global-config.js +211 -0
  486. package/dist/services/global-config.js.map +1 -0
  487. package/dist/services/llm.d.ts +139 -0
  488. package/dist/services/llm.d.ts.map +1 -0
  489. package/dist/services/llm.js +376 -0
  490. package/dist/services/llm.js.map +1 -0
  491. package/dist/services/memory.d.ts +39 -0
  492. package/dist/services/memory.d.ts.map +1 -0
  493. package/dist/services/memory.js +88 -0
  494. package/dist/services/memory.js.map +1 -0
  495. package/dist/services/session-storage.d.ts +136 -0
  496. package/dist/services/session-storage.d.ts.map +1 -0
  497. package/dist/services/session-storage.js +304 -0
  498. package/dist/services/session-storage.js.map +1 -0
  499. package/dist/services/task-manager.d.ts +154 -0
  500. package/dist/services/task-manager.d.ts.map +1 -0
  501. package/dist/services/task-manager.js +288 -0
  502. package/dist/services/task-manager.js.map +1 -0
  503. package/dist/services/yaml-config.d.ts +57 -0
  504. package/dist/services/yaml-config.d.ts.map +1 -0
  505. package/dist/services/yaml-config.js +176 -0
  506. package/dist/services/yaml-config.js.map +1 -0
  507. package/dist/skills/discovery.d.ts +22 -0
  508. package/dist/skills/discovery.d.ts.map +1 -0
  509. package/dist/skills/discovery.js +75 -0
  510. package/dist/skills/discovery.js.map +1 -0
  511. package/dist/skills/index.d.ts +10 -0
  512. package/dist/skills/index.d.ts.map +1 -0
  513. package/dist/skills/index.js +26 -0
  514. package/dist/skills/index.js.map +1 -0
  515. package/dist/skills/loader.d.ts +48 -0
  516. package/dist/skills/loader.d.ts.map +1 -0
  517. package/dist/skills/loader.js +231 -0
  518. package/dist/skills/loader.js.map +1 -0
  519. package/dist/skills/registry.d.ts +37 -0
  520. package/dist/skills/registry.d.ts.map +1 -0
  521. package/dist/skills/registry.js +134 -0
  522. package/dist/skills/registry.js.map +1 -0
  523. package/dist/skills/types.d.ts +89 -0
  524. package/dist/skills/types.d.ts.map +1 -0
  525. package/dist/skills/types.js +24 -0
  526. package/dist/skills/types.js.map +1 -0
  527. package/dist/tools/bash_security.d.ts +64 -0
  528. package/dist/tools/bash_security.d.ts.map +1 -0
  529. package/dist/tools/bash_security.js +291 -0
  530. package/dist/tools/bash_security.js.map +1 -0
  531. package/dist/tools/index.d.ts +23 -0
  532. package/dist/tools/index.d.ts.map +1 -0
  533. package/dist/tools/index.js +965 -0
  534. package/dist/tools/index.js.map +1 -0
  535. package/dist/tools/mcp.d.ts +72 -0
  536. package/dist/tools/mcp.d.ts.map +1 -0
  537. package/dist/tools/mcp.js +422 -0
  538. package/dist/tools/mcp.js.map +1 -0
  539. package/dist/tools/plan.d.ts +18 -0
  540. package/dist/tools/plan.d.ts.map +1 -0
  541. package/dist/tools/plan.js +75 -0
  542. package/dist/tools/plan.js.map +1 -0
  543. package/dist/tools/todo.d.ts +18 -0
  544. package/dist/tools/todo.d.ts.map +1 -0
  545. package/dist/tools/todo.js +153 -0
  546. package/dist/tools/todo.js.map +1 -0
  547. package/dist/tools/web.d.ts +13 -0
  548. package/dist/tools/web.d.ts.map +1 -0
  549. package/dist/tools/web.js +377 -0
  550. package/dist/tools/web.js.map +1 -0
  551. package/dist/ui/box.d.ts +56 -0
  552. package/dist/ui/box.d.ts.map +1 -0
  553. package/dist/ui/box.js +241 -0
  554. package/dist/ui/box.js.map +1 -0
  555. package/dist/ui/command-panel.d.ts +55 -0
  556. package/dist/ui/command-panel.d.ts.map +1 -0
  557. package/dist/ui/command-panel.js +212 -0
  558. package/dist/ui/command-panel.js.map +1 -0
  559. package/dist/ui/file-completion.d.ts +62 -0
  560. package/dist/ui/file-completion.d.ts.map +1 -0
  561. package/dist/ui/file-completion.js +209 -0
  562. package/dist/ui/file-completion.js.map +1 -0
  563. package/dist/ui/markdown.d.ts +12 -0
  564. package/dist/ui/markdown.d.ts.map +1 -0
  565. package/dist/ui/markdown.js +215 -0
  566. package/dist/ui/markdown.js.map +1 -0
  567. package/dist/ui/multiline-input.d.ts +47 -0
  568. package/dist/ui/multiline-input.d.ts.map +1 -0
  569. package/dist/ui/multiline-input.js +94 -0
  570. package/dist/ui/multiline-input.js.map +1 -0
  571. package/dist/ui/status-bar.d.ts +33 -0
  572. package/dist/ui/status-bar.d.ts.map +1 -0
  573. package/dist/ui/status-bar.js +96 -0
  574. package/dist/ui/status-bar.js.map +1 -0
  575. package/dist/ui/stream-markdown.d.ts +35 -0
  576. package/dist/ui/stream-markdown.d.ts.map +1 -0
  577. package/dist/ui/stream-markdown.js +138 -0
  578. package/dist/ui/stream-markdown.js.map +1 -0
  579. package/dist/ui/suggestions.d.ts +35 -0
  580. package/dist/ui/suggestions.d.ts.map +1 -0
  581. package/dist/ui/suggestions.js +118 -0
  582. package/dist/ui/suggestions.js.map +1 -0
  583. package/dist/ui/tool-preview.d.ts +34 -0
  584. package/dist/ui/tool-preview.d.ts.map +1 -0
  585. package/dist/ui/tool-preview.js +128 -0
  586. package/dist/ui/tool-preview.js.map +1 -0
  587. package/package.json +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/ink/screen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type Screen, type StylePool } from './screen.js';
2
+ /**
3
+ * Highlight all visible occurrences of `query` in the screen buffer by
4
+ * inverting cell styles (SGR 7). Post-render, same damage-tracking machinery
5
+ * as applySelectionOverlay — the diff picks up highlighted cells as ordinary
6
+ * changes, LogUpdate stays a pure diff engine.
7
+ *
8
+ * Case-insensitive. Handles wide characters (CJK, emoji) by building a
9
+ * col-of-char map per row — the Nth character isn't at col N when wide chars
10
+ * are present (each occupies 2 cells: head + SpacerTail).
11
+ *
12
+ * This ONLY inverts — there is no "current match" logic here. The yellow
13
+ * current-match overlay is handled separately by applyPositionedHighlight
14
+ * (render-to-screen.ts), which writes on top using positions scanned from
15
+ * the target message's DOM subtree.
16
+ *
17
+ * Returns true if any match was highlighted (damage gate — caller forces
18
+ * full-frame damage when true).
19
+ */
20
+ export declare function applySearchHighlight(screen: Screen, query: string, stylePool: StylePool): boolean;
21
+ //# sourceMappingURL=searchHighlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchHighlight.d.ts","sourceRoot":"","sources":["../../src/ink/searchHighlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,SAAS,EAEf,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,GACnB,OAAO,CA8DT"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applySearchHighlight = applySearchHighlight;
4
+ const screen_js_1 = require("./screen.js");
5
+ /**
6
+ * Highlight all visible occurrences of `query` in the screen buffer by
7
+ * inverting cell styles (SGR 7). Post-render, same damage-tracking machinery
8
+ * as applySelectionOverlay — the diff picks up highlighted cells as ordinary
9
+ * changes, LogUpdate stays a pure diff engine.
10
+ *
11
+ * Case-insensitive. Handles wide characters (CJK, emoji) by building a
12
+ * col-of-char map per row — the Nth character isn't at col N when wide chars
13
+ * are present (each occupies 2 cells: head + SpacerTail).
14
+ *
15
+ * This ONLY inverts — there is no "current match" logic here. The yellow
16
+ * current-match overlay is handled separately by applyPositionedHighlight
17
+ * (render-to-screen.ts), which writes on top using positions scanned from
18
+ * the target message's DOM subtree.
19
+ *
20
+ * Returns true if any match was highlighted (damage gate — caller forces
21
+ * full-frame damage when true).
22
+ */
23
+ function applySearchHighlight(screen, query, stylePool) {
24
+ if (!query)
25
+ return false;
26
+ const lq = query.toLowerCase();
27
+ const qlen = lq.length;
28
+ const w = screen.width;
29
+ const noSelect = screen.noSelect;
30
+ const height = screen.height;
31
+ let applied = false;
32
+ for (let row = 0; row < height; row++) {
33
+ const rowOff = row * w;
34
+ // Build row text (already lowercased) + code-unit→cell-index map.
35
+ // Three skip conditions, all aligned with setCellStyleId /
36
+ // extractRowText (selection.ts):
37
+ // - SpacerTail: 2nd cell of a wide char, no char of its own
38
+ // - SpacerHead: end-of-line padding when a wide char wraps
39
+ // - noSelect: gutters (└, line numbers) — same exclusion as
40
+ // applySelectionOverlay. "Highlight what you see" still holds for
41
+ // content; gutters aren't search targets.
42
+ // Lowercasing per-char (not on the joined string at the end) means
43
+ // codeUnitToCell maps positions in the LOWERCASED text — U+0130
44
+ // (Turkish İ) lowercases to 2 code units, so lowering the joined
45
+ // string would desync indexOf positions from the map.
46
+ let text = '';
47
+ const colOf = [];
48
+ const codeUnitToCell = [];
49
+ for (let col = 0; col < w; col++) {
50
+ const idx = rowOff + col;
51
+ const cell = (0, screen_js_1.cellAtIndex)(screen, idx);
52
+ if (cell.width === 2 /* CellWidth.SpacerTail */ ||
53
+ cell.width === 3 /* CellWidth.SpacerHead */ ||
54
+ noSelect[idx] === 1) {
55
+ continue;
56
+ }
57
+ const lc = cell.char.toLowerCase();
58
+ const cellIdx = colOf.length;
59
+ for (let i = 0; i < lc.length; i++) {
60
+ codeUnitToCell.push(cellIdx);
61
+ }
62
+ text += lc;
63
+ colOf.push(col);
64
+ }
65
+ let pos = text.indexOf(lq);
66
+ while (pos >= 0) {
67
+ applied = true;
68
+ const startCi = codeUnitToCell[pos];
69
+ const endCi = codeUnitToCell[pos + qlen - 1];
70
+ for (let ci = startCi; ci <= endCi; ci++) {
71
+ const col = colOf[ci];
72
+ const cell = (0, screen_js_1.cellAtIndex)(screen, rowOff + col);
73
+ (0, screen_js_1.setCellStyleId)(screen, col, row, stylePool.withInverse(cell.styleId));
74
+ }
75
+ // Non-overlapping advance (less/vim/grep/Ctrl+F). pos+1 would find
76
+ // 'aa' at 0 AND 1 in 'aaa' → double-invert cell 1.
77
+ pos = text.indexOf(lq, pos + qlen);
78
+ }
79
+ }
80
+ return applied;
81
+ }
82
+ //# sourceMappingURL=searchHighlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchHighlight.js","sourceRoot":"","sources":["../../src/ink/searchHighlight.ts"],"names":[],"mappings":";;AA0BA,oDAkEC;AA5FD,2CAMoB;AAEpB;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,oBAAoB,CAClC,MAAc,EACd,KAAa,EACb,SAAoB;IAEpB,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAA;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAA;IACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAE5B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAA;QACtB,kEAAkE;QAClE,2DAA2D;QAC3D,iCAAiC;QACjC,8DAA8D;QAC9D,6DAA6D;QAC7D,8DAA8D;QAC9D,sEAAsE;QACtE,8CAA8C;QAC9C,mEAAmE;QACnE,gEAAgE;QAChE,iEAAiE;QACjE,sDAAsD;QACtD,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,cAAc,GAAa,EAAE,CAAA;QACnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,CAAA;YACxB,MAAM,IAAI,GAAG,IAAA,uBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YACrC,IACE,IAAI,CAAC,KAAK,iCAAyB;gBACnC,IAAI,CAAC,KAAK,iCAAyB;gBACnC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EACnB,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAA;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC9B,CAAC;YACD,IAAI,IAAI,EAAE,CAAA;YACV,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC1B,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAA;YACd,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAE,CAAA;YACpC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAE,CAAA;YAC7C,KAAK,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;gBACzC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAE,CAAA;gBACtB,MAAM,IAAI,GAAG,IAAA,uBAAW,EAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;gBAC9C,IAAA,0BAAc,EAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YACvE,CAAC;YACD,mEAAmE;YACnE,mDAAmD;YACnD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,230 @@
1
+ /**
2
+ * Text selection state for fullscreen mode.
3
+ *
4
+ * Tracks a linear selection in screen-buffer coordinates (0-indexed col/row).
5
+ * Selection is line-based: cells from (startCol, startRow) through
6
+ * (endCol, endRow) inclusive, wrapping across line boundaries. This matches
7
+ * terminal-native selection behavior (not rectangular/block).
8
+ *
9
+ * The selection is stored as ANCHOR (where the drag started) + FOCUS (where
10
+ * the cursor is now). The rendered highlight normalizes to start ≤ end.
11
+ */
12
+ import type { Screen, StylePool } from './screen.js';
13
+ type Point = {
14
+ col: number;
15
+ row: number;
16
+ };
17
+ export type SelectionState = {
18
+ /** Where the mouse-down occurred. Null when no selection. */
19
+ anchor: Point | null;
20
+ /** Current drag position (updated on mouse-move while dragging). */
21
+ focus: Point | null;
22
+ /** True between mouse-down and mouse-up. */
23
+ isDragging: boolean;
24
+ /** For word/line mode: the initial word/line bounds from the first
25
+ * multi-click. Drag extends from this span to the word/line at the
26
+ * current mouse position so the original word/line stays selected
27
+ * even when dragging backward past it. Null ⇔ char mode. The kind
28
+ * tells extendSelection whether to snap to word or line boundaries. */
29
+ anchorSpan: {
30
+ lo: Point;
31
+ hi: Point;
32
+ kind: 'word' | 'line';
33
+ } | null;
34
+ /** Text from rows that scrolled out ABOVE the viewport during
35
+ * drag-to-scroll. The screen buffer only holds the current viewport,
36
+ * so without this accumulator, dragging down past the bottom edge
37
+ * loses the top of the selection once the anchor clamps. Prepended
38
+ * to the on-screen text by getSelectedText. Reset on start/clear. */
39
+ scrolledOffAbove: string[];
40
+ /** Symmetric: rows scrolled out BELOW when dragging up. Appended. */
41
+ scrolledOffBelow: string[];
42
+ /** Soft-wrap bits parallel to scrolledOffAbove — true means the row
43
+ * is a continuation of the one before it (the `\n` was inserted by
44
+ * word-wrap, not in the source). Captured alongside the text at
45
+ * scroll time since the screen's softWrap bitmap shifts with content.
46
+ * getSelectedText uses these to join wrapped rows back into logical
47
+ * lines. */
48
+ scrolledOffAboveSW: boolean[];
49
+ /** Parallel to scrolledOffBelow. */
50
+ scrolledOffBelowSW: boolean[];
51
+ /** Pre-clamp anchor row. Set when shiftSelection clamps anchor so a
52
+ * reverse scroll can restore the true position and pop accumulators.
53
+ * Without this, PgDn (clamps anchor) → PgUp leaves anchor at the wrong
54
+ * row AND scrolledOffAbove stale — highlight ≠ copy. Undefined when
55
+ * anchor is in-bounds (no clamp debt). Cleared on start/clear. */
56
+ virtualAnchorRow?: number;
57
+ /** Same for focus. */
58
+ virtualFocusRow?: number;
59
+ /** True if the mouse-down that started this selection had the alt
60
+ * modifier set (SGR button bit 0x08). On macOS xterm.js this is a
61
+ * signal that VS Code's macOptionClickForcesSelection is OFF — if it
62
+ * were on, xterm.js would have consumed the event for native selection
63
+ * and we'd never receive it. Used by the footer to show the right hint. */
64
+ lastPressHadAlt: boolean;
65
+ };
66
+ export declare function createSelectionState(): SelectionState;
67
+ export declare function startSelection(s: SelectionState, col: number, row: number): void;
68
+ export declare function updateSelection(s: SelectionState, col: number, row: number): void;
69
+ export declare function finishSelection(s: SelectionState): void;
70
+ export declare function clearSelection(s: SelectionState): void;
71
+ /**
72
+ * Select the word at (col, row) by scanning the screen buffer for the
73
+ * bounds of the same-class character run. Mutates the selection in place.
74
+ * No-op if the click is out of bounds or lands on a noSelect cell.
75
+ * Sets isDragging=true and anchorSpan so a subsequent drag extends the
76
+ * selection word-by-word (native macOS behavior).
77
+ */
78
+ export declare function selectWordAt(s: SelectionState, screen: Screen, col: number, row: number): void;
79
+ /**
80
+ * Scan the screen buffer for a plain-text URL at (col, row). Mirrors the
81
+ * terminal's native Cmd+Click URL detection, which fullscreen mode's mouse
82
+ * tracking intercepts. Called from getHyperlinkAt as a fallback when the
83
+ * cell has no OSC 8 hyperlink.
84
+ */
85
+ export declare function findPlainTextUrlAt(screen: Screen, col: number, row: number): string | undefined;
86
+ /**
87
+ * Select the entire row. Sets isDragging=true and anchorSpan so a
88
+ * subsequent drag extends the selection line-by-line. The anchor/focus
89
+ * span from col 0 to width-1; getSelectedText handles noSelect skipping
90
+ * and trailing-whitespace trimming so the copied text is just the visible
91
+ * line content.
92
+ */
93
+ export declare function selectLineAt(s: SelectionState, screen: Screen, row: number): void;
94
+ /**
95
+ * Extend a word/line-mode selection to the word/line at (col, row). The
96
+ * anchor span (the original multi-clicked word/line) stays selected; the
97
+ * selection grows from that span to the word/line at the current mouse
98
+ * position. Word mode falls back to the raw cell when the mouse is over a
99
+ * noSelect cell or out of bounds, so dragging into gutters still extends.
100
+ */
101
+ export declare function extendSelection(s: SelectionState, screen: Screen, col: number, row: number): void;
102
+ /** Semantic keyboard focus moves. See moveSelectionFocus in ink.tsx for
103
+ * how screen bounds + row-wrap are applied. */
104
+ export type FocusMove = 'left' | 'right' | 'up' | 'down' | 'lineStart' | 'lineEnd';
105
+ /**
106
+ * Set focus to (col, row) for keyboard selection extension (shift+arrow).
107
+ * Anchor stays fixed; selection grows or shrinks depending on where focus
108
+ * moves relative to anchor. Drops to char mode (clears anchorSpan) —
109
+ * native macOS does this too: shift+arrow after a double-click word-select
110
+ * extends char-by-char from the word edge, not word-by-word. Scrolled-off
111
+ * accumulators are preserved: keyboard-extending a drag-scrolled selection
112
+ * keeps the off-screen rows. Caller supplies coords already clamped/wrapped.
113
+ */
114
+ export declare function moveFocus(s: SelectionState, col: number, row: number): void;
115
+ /**
116
+ * Shift anchor AND focus by dRow, clamped to [minRow, maxRow]. Used for
117
+ * keyboard scroll (PgUp/PgDn/ctrl+u/d/b/f): the whole selection must track
118
+ * the content, unlike drag-to-scroll where focus stays at the mouse. Any
119
+ * point that hits a clamp bound gets its col reset to the full-width edge —
120
+ * its original content scrolled off-screen and was captured by
121
+ * captureScrolledRows, so the col constraint was already consumed. Keeping
122
+ * it would truncate the NEW content now at that screen row. Clamp col is 0
123
+ * for dRow<0 (scrolling down, top leaves, 'above' semantics) or width-1 for
124
+ * dRow>0 (scrolling up, bottom leaves, 'below' semantics).
125
+ *
126
+ * If both ends overshoot the SAME viewport edge (select text → Home/End/g/G
127
+ * jumps far enough that both are out of view), clear — otherwise both clamp
128
+ * to the same corner cell and a ghost 1-cell highlight lingers, and
129
+ * getSelectedText returns one unrelated char from that corner. Symmetric
130
+ * with shiftSelectionForFollow's top-edge check, but bidirectional: keyboard
131
+ * scroll can jump either way.
132
+ */
133
+ export declare function shiftSelection(s: SelectionState, dRow: number, minRow: number, maxRow: number, width: number): void;
134
+ /**
135
+ * Shift the anchor row by dRow, clamped to [minRow, maxRow]. Used during
136
+ * drag-to-scroll: when the ScrollBox scrolls by N rows, the content that
137
+ * was under the anchor is now at a different viewport row, so the anchor
138
+ * must follow it. Focus is left unchanged (it stays at the mouse position).
139
+ */
140
+ export declare function shiftAnchor(s: SelectionState, dRow: number, minRow: number, maxRow: number): void;
141
+ /**
142
+ * Shift the whole selection (anchor + focus + anchorSpan) by dRow, clamped
143
+ * to [minRow, maxRow]. Used when sticky/auto-follow scrolls the ScrollBox
144
+ * while a selection is active — native terminal behavior is for the
145
+ * highlight to walk up the screen with the text (not stay at the same
146
+ * screen position).
147
+ *
148
+ * Differs from shiftAnchor: during drag-to-scroll, focus tracks the live
149
+ * mouse position and only anchor follows the text. During streaming-follow,
150
+ * the selection is text-anchored at both ends — both must move. The
151
+ * isDragging check in ink.tsx picks which shift to apply.
152
+ *
153
+ * If both ends would shift strictly BELOW minRow (unclamped), the selected
154
+ * text has scrolled entirely off the top. Clear it — otherwise a single
155
+ * inverted cell lingers at the viewport top as a ghost (native terminals
156
+ * drop the selection when it leaves scrollback). Landing AT minRow is
157
+ * still valid: that cell holds the correct text. Returns true if the
158
+ * selection was cleared so the caller can notify React-land subscribers
159
+ * (useHasSelection) — the caller is inside onRender so it can't use
160
+ * notifySelectionChange (recursion), must fire listeners directly.
161
+ */
162
+ export declare function shiftSelectionForFollow(s: SelectionState, dRow: number, minRow: number, maxRow: number): boolean;
163
+ export declare function hasSelection(s: SelectionState): boolean;
164
+ /**
165
+ * Normalized selection bounds: start is always before end in reading order.
166
+ * Returns null if no active selection.
167
+ */
168
+ export declare function selectionBounds(s: SelectionState): {
169
+ start: {
170
+ col: number;
171
+ row: number;
172
+ };
173
+ end: {
174
+ col: number;
175
+ row: number;
176
+ };
177
+ } | null;
178
+ /**
179
+ * Check if a cell at (col, row) is within the current selection range.
180
+ * Used by the renderer to apply inverse style.
181
+ */
182
+ export declare function isCellSelected(s: SelectionState, col: number, row: number): boolean;
183
+ /**
184
+ * Extract text from the screen buffer within the selection range.
185
+ * Rows are joined with newlines unless the screen's softWrap bitmap
186
+ * marks a row as a word-wrap continuation — those rows are concatenated
187
+ * onto the previous row so the copied text matches the logical source
188
+ * line, not the visual wrapped layout. Trailing whitespace on the last
189
+ * fragment of each logical line is trimmed. Wide-char spacer cells are
190
+ * skipped. Rows that scrolled out of the viewport during drag-to-scroll
191
+ * are joined back in from the scrolledOffAbove/Below accumulators along
192
+ * with their captured softWrap bits.
193
+ */
194
+ export declare function getSelectedText(s: SelectionState, screen: Screen): string;
195
+ /**
196
+ * Capture text from rows about to scroll out of the viewport during
197
+ * drag-to-scroll, BEFORE scrollBy overwrites them. Only the rows that
198
+ * intersect the selection are captured, using the selection's col bounds
199
+ * for the anchor-side boundary row. After capturing the anchor row, the
200
+ * anchor.col AND anchorSpan cols are reset to the full-width boundary so
201
+ * subsequent captures and the final getSelectedText don't re-apply a stale
202
+ * col constraint to content that's no longer under the original anchor.
203
+ * Both span cols are reset (not just the near side): after a blocked
204
+ * reversal the drag can flip direction, and extendSelection then reads the
205
+ * OPPOSITE span side — which would otherwise still hold the original word
206
+ * boundary and truncate one subsequently-captured row.
207
+ *
208
+ * side='above': rows scrolling out the top (dragging down, anchor=start).
209
+ * side='below': rows scrolling out the bottom (dragging up, anchor=end).
210
+ */
211
+ export declare function captureScrolledRows(s: SelectionState, screen: Screen, firstRow: number, lastRow: number, side: 'above' | 'below'): void;
212
+ /**
213
+ * Apply the selection overlay directly to the screen buffer by changing
214
+ * the style of every cell in the selection range. Called after the
215
+ * renderer produces the Frame but before the diff — the normal diffEach
216
+ * then picks up the restyled cells as ordinary changes, so LogUpdate
217
+ * stays a pure diff engine with no selection awareness.
218
+ *
219
+ * Uses a SOLID selection background (theme-provided via StylePool.
220
+ * setSelectionBg) that REPLACES each cell's bg while PRESERVING its fg —
221
+ * matches native terminal selection. Previously SGR-7 inverse (swapped
222
+ * fg/bg per cell), which fragmented badly over syntax-highlighted text:
223
+ * every distinct fg color became a different bg stripe.
224
+ *
225
+ * Uses StylePool caches so on drag the only work per cell is a Map
226
+ * lookup + packed-int write.
227
+ */
228
+ export declare function applySelectionOverlay(screen: Screen, selection: SelectionState, stylePool: StylePool): void;
229
+ export {};
230
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/ink/selection.ts"],"names":[],"mappings":"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"}