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":"Text.js","sourceRoot":"","sources":["../../../src/ink/components/Text.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const FRAME_INTERVAL_MS = 16;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/ink/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,KAAK,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FRAME_INTERVAL_MS = void 0;
4
+ // Shared frame interval for render throttling and animations (~60fps)
5
+ exports.FRAME_INTERVAL_MS = 16;
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/ink/constants.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACzD,QAAA,iBAAiB,GAAG,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ declare const _default: {};
2
+ export default _default;
3
+ //# sourceMappingURL=devtools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/ink/devtools.ts"],"names":[],"mappings":";AACA,wBAAiB"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Stub — devtools not included in source snapshot
4
+ exports.default = {};
5
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/ink/devtools.ts"],"names":[],"mappings":";;AAAA,kDAAkD;AAClD,kBAAe,EAAE,CAAA"}
@@ -0,0 +1,77 @@
1
+ import type { FocusManager } from './focus.js';
2
+ import type { LayoutNode } from './layout/node.js';
3
+ import type { Styles, TextStyles } from './styles.js';
4
+ type InkNode = {
5
+ parentNode: DOMElement | undefined;
6
+ yogaNode?: LayoutNode;
7
+ style: Styles;
8
+ };
9
+ export type TextName = '#text';
10
+ export type ElementNames = 'ink-root' | 'ink-box' | 'ink-text' | 'ink-virtual-text' | 'ink-link' | 'ink-progress' | 'ink-raw-ansi';
11
+ export type NodeNames = ElementNames | TextName;
12
+ export type DOMElement = {
13
+ nodeName: ElementNames;
14
+ attributes: Record<string, DOMNodeAttribute>;
15
+ childNodes: DOMNode[];
16
+ textStyles?: TextStyles;
17
+ onComputeLayout?: () => void;
18
+ onRender?: () => void;
19
+ onImmediateRender?: () => void;
20
+ hasRenderedContent?: boolean;
21
+ dirty: boolean;
22
+ isHidden?: boolean;
23
+ _eventHandlers?: Record<string, unknown>;
24
+ scrollTop?: number;
25
+ pendingScrollDelta?: number;
26
+ scrollClampMin?: number;
27
+ scrollClampMax?: number;
28
+ scrollHeight?: number;
29
+ scrollViewportHeight?: number;
30
+ scrollViewportTop?: number;
31
+ stickyScroll?: boolean;
32
+ scrollAnchor?: {
33
+ el: DOMElement;
34
+ offset: number;
35
+ };
36
+ focusManager?: FocusManager;
37
+ debugOwnerChain?: string[];
38
+ } & InkNode;
39
+ export type TextNode = {
40
+ nodeName: TextName;
41
+ nodeValue: string;
42
+ } & InkNode;
43
+ export type DOMNode<T = {
44
+ nodeName: NodeNames;
45
+ }> = T extends {
46
+ nodeName: infer U;
47
+ } ? U extends '#text' ? TextNode : DOMElement : never;
48
+ export type DOMNodeAttribute = boolean | string | number;
49
+ export declare const createNode: (nodeName: ElementNames) => DOMElement;
50
+ export declare const appendChildNode: (node: DOMElement, childNode: DOMElement) => void;
51
+ export declare const insertBeforeNode: (node: DOMElement, newChildNode: DOMNode, beforeChildNode: DOMNode) => void;
52
+ export declare const removeChildNode: (node: DOMElement, removeNode: DOMNode) => void;
53
+ export declare const setAttribute: (node: DOMElement, key: string, value: DOMNodeAttribute) => void;
54
+ export declare const setStyle: (node: DOMNode, style: Styles | undefined) => void;
55
+ export declare const setTextStyles: (node: DOMElement, textStyles: TextStyles) => void;
56
+ export declare const createTextNode: (text: string) => TextNode;
57
+ /**
58
+ * Mark a node and all its ancestors as dirty for re-rendering.
59
+ * Also marks yoga dirty for text remeasurement if this is a text node.
60
+ */
61
+ export declare const markDirty: (node?: DOMNode) => void;
62
+ export declare const scheduleRenderFrom: (node?: DOMNode) => void;
63
+ export declare const setTextNodeValue: (node: TextNode, text: string) => void;
64
+ export declare const clearYogaNodeReferences: (node: DOMElement | TextNode) => void;
65
+ /**
66
+ * Find the React component stack responsible for content at screen row `y`.
67
+ *
68
+ * DFS the DOM tree accumulating yoga offsets. Returns the debugOwnerChain of
69
+ * the deepest node whose bounding box contains `y`. Called from ink.tsx when
70
+ * log-update triggers a full reset, to attribute the flicker to its source.
71
+ *
72
+ * Only useful when CLAUDE_CODE_DEBUG_REPAINTS is set (otherwise chains are
73
+ * undefined and this returns []).
74
+ */
75
+ export declare function findOwnerChainAtRow(root: DOMElement, y: number): string[];
76
+ export {};
77
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/ink/dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.clearYogaNodeReferences = exports.setTextNodeValue = exports.scheduleRenderFrom = exports.markDirty = exports.createTextNode = exports.setTextStyles = exports.setStyle = exports.setAttribute = exports.removeChildNode = exports.insertBeforeNode = exports.appendChildNode = exports.createNode = void 0;
7
+ exports.findOwnerChainAtRow = findOwnerChainAtRow;
8
+ const engine_js_1 = require("./layout/engine.js");
9
+ const node_js_1 = require("./layout/node.js");
10
+ const measure_text_js_1 = __importDefault(require("./measure-text.js"));
11
+ const node_cache_js_1 = require("./node-cache.js");
12
+ const squash_text_nodes_js_1 = __importDefault(require("./squash-text-nodes.js"));
13
+ const tabstops_js_1 = require("./tabstops.js");
14
+ const wrap_text_js_1 = __importDefault(require("./wrap-text.js"));
15
+ const createNode = (nodeName) => {
16
+ const needsYogaNode = nodeName !== 'ink-virtual-text' &&
17
+ nodeName !== 'ink-link' &&
18
+ nodeName !== 'ink-progress';
19
+ const node = {
20
+ nodeName,
21
+ style: {},
22
+ attributes: {},
23
+ childNodes: [],
24
+ parentNode: undefined,
25
+ yogaNode: needsYogaNode ? (0, engine_js_1.createLayoutNode)() : undefined,
26
+ dirty: false,
27
+ };
28
+ if (nodeName === 'ink-text') {
29
+ node.yogaNode?.setMeasureFunc(measureTextNode.bind(null, node));
30
+ }
31
+ else if (nodeName === 'ink-raw-ansi') {
32
+ node.yogaNode?.setMeasureFunc(measureRawAnsiNode.bind(null, node));
33
+ }
34
+ return node;
35
+ };
36
+ exports.createNode = createNode;
37
+ const appendChildNode = (node, childNode) => {
38
+ if (childNode.parentNode) {
39
+ (0, exports.removeChildNode)(childNode.parentNode, childNode);
40
+ }
41
+ childNode.parentNode = node;
42
+ node.childNodes.push(childNode);
43
+ if (childNode.yogaNode) {
44
+ node.yogaNode?.insertChild(childNode.yogaNode, node.yogaNode.getChildCount());
45
+ }
46
+ (0, exports.markDirty)(node);
47
+ };
48
+ exports.appendChildNode = appendChildNode;
49
+ const insertBeforeNode = (node, newChildNode, beforeChildNode) => {
50
+ if (newChildNode.parentNode) {
51
+ (0, exports.removeChildNode)(newChildNode.parentNode, newChildNode);
52
+ }
53
+ newChildNode.parentNode = node;
54
+ const index = node.childNodes.indexOf(beforeChildNode);
55
+ if (index >= 0) {
56
+ // Calculate yoga index BEFORE modifying childNodes.
57
+ // We can't use DOM index directly because some children (like ink-progress,
58
+ // ink-link, ink-virtual-text) don't have yogaNodes, so DOM indices don't
59
+ // match yoga indices.
60
+ let yogaIndex = 0;
61
+ if (newChildNode.yogaNode && node.yogaNode) {
62
+ for (let i = 0; i < index; i++) {
63
+ if (node.childNodes[i]?.yogaNode) {
64
+ yogaIndex++;
65
+ }
66
+ }
67
+ }
68
+ node.childNodes.splice(index, 0, newChildNode);
69
+ if (newChildNode.yogaNode && node.yogaNode) {
70
+ node.yogaNode.insertChild(newChildNode.yogaNode, yogaIndex);
71
+ }
72
+ (0, exports.markDirty)(node);
73
+ return;
74
+ }
75
+ node.childNodes.push(newChildNode);
76
+ if (newChildNode.yogaNode) {
77
+ node.yogaNode?.insertChild(newChildNode.yogaNode, node.yogaNode.getChildCount());
78
+ }
79
+ (0, exports.markDirty)(node);
80
+ };
81
+ exports.insertBeforeNode = insertBeforeNode;
82
+ const removeChildNode = (node, removeNode) => {
83
+ if (removeNode.yogaNode) {
84
+ removeNode.parentNode?.yogaNode?.removeChild(removeNode.yogaNode);
85
+ }
86
+ // Collect cached rects from the removed subtree so they can be cleared
87
+ collectRemovedRects(node, removeNode);
88
+ removeNode.parentNode = undefined;
89
+ const index = node.childNodes.indexOf(removeNode);
90
+ if (index >= 0) {
91
+ node.childNodes.splice(index, 1);
92
+ }
93
+ (0, exports.markDirty)(node);
94
+ };
95
+ exports.removeChildNode = removeChildNode;
96
+ function collectRemovedRects(parent, removed, underAbsolute = false) {
97
+ if (!removed || removed.nodeName === '#text')
98
+ return;
99
+ const elem = removed;
100
+ // If this node or any ancestor in the removed subtree was absolute,
101
+ // its painted pixels may overlap non-siblings — flag for global blit
102
+ // disable. Normal-flow removals only affect direct siblings, which
103
+ // hasRemovedChild already handles.
104
+ const isAbsolute = underAbsolute || elem.style?.position === 'absolute';
105
+ const cached = node_cache_js_1.nodeCache.get(elem);
106
+ if (cached) {
107
+ (0, node_cache_js_1.addPendingClear)(parent, cached, isAbsolute);
108
+ node_cache_js_1.nodeCache.delete(elem);
109
+ }
110
+ const childNodes = Array.isArray(elem.childNodes) ? [...elem.childNodes] : [];
111
+ for (const child of childNodes) {
112
+ if (!child)
113
+ continue;
114
+ collectRemovedRects(parent, child, isAbsolute);
115
+ }
116
+ }
117
+ const setAttribute = (node, key, value) => {
118
+ // Skip 'children' - React handles children via appendChild/removeChild,
119
+ // not attributes. React always passes a new children reference, so
120
+ // tracking it as an attribute would mark everything dirty every render.
121
+ if (key === 'children') {
122
+ return;
123
+ }
124
+ // Skip if unchanged
125
+ if (node.attributes[key] === value) {
126
+ return;
127
+ }
128
+ node.attributes[key] = value;
129
+ (0, exports.markDirty)(node);
130
+ };
131
+ exports.setAttribute = setAttribute;
132
+ const setStyle = (node, style) => {
133
+ const nextStyle = style ?? {};
134
+ // Compare style properties to avoid marking dirty unnecessarily.
135
+ // React creates new style objects on every render even when unchanged.
136
+ if (stylesEqual(node.style, nextStyle)) {
137
+ return;
138
+ }
139
+ node.style = nextStyle;
140
+ (0, exports.markDirty)(node);
141
+ };
142
+ exports.setStyle = setStyle;
143
+ const setTextStyles = (node, textStyles) => {
144
+ // Same dirty-check guard as setStyle: React (and buildTextStyles in Text.tsx)
145
+ // allocate a new textStyles object on every render even when values are
146
+ // unchanged, so compare by value to avoid markDirty -> yoga re-measurement
147
+ // on every Text re-render.
148
+ if (shallowEqual(node.textStyles, textStyles)) {
149
+ return;
150
+ }
151
+ node.textStyles = textStyles;
152
+ (0, exports.markDirty)(node);
153
+ };
154
+ exports.setTextStyles = setTextStyles;
155
+ function stylesEqual(a, b) {
156
+ return shallowEqual(a, b);
157
+ }
158
+ function shallowEqual(a, b) {
159
+ // Fast path: same object reference (or both undefined)
160
+ if (a === b)
161
+ return true;
162
+ if (a === undefined || b === undefined)
163
+ return false;
164
+ // Get all keys from both objects
165
+ const aKeys = Object.keys(a);
166
+ const bKeys = Object.keys(b);
167
+ // Different number of properties
168
+ if (aKeys.length !== bKeys.length)
169
+ return false;
170
+ // Compare each property
171
+ for (const key of aKeys) {
172
+ if (a[key] !== b[key])
173
+ return false;
174
+ }
175
+ return true;
176
+ }
177
+ const createTextNode = (text) => {
178
+ const node = {
179
+ nodeName: '#text',
180
+ nodeValue: text,
181
+ yogaNode: undefined,
182
+ parentNode: undefined,
183
+ style: {},
184
+ };
185
+ (0, exports.setTextNodeValue)(node, text);
186
+ return node;
187
+ };
188
+ exports.createTextNode = createTextNode;
189
+ const measureTextNode = function (node, width, widthMode) {
190
+ const rawText = node.nodeName === '#text' ? node.nodeValue : (0, squash_text_nodes_js_1.default)(node);
191
+ // Expand tabs for measurement (worst case: 8 spaces each).
192
+ // Actual tab expansion happens in output.ts based on screen position.
193
+ const text = (0, tabstops_js_1.expandTabs)(rawText);
194
+ const dimensions = (0, measure_text_js_1.default)(text, width);
195
+ // Text fits into container, no need to wrap
196
+ if (dimensions.width <= width) {
197
+ return dimensions;
198
+ }
199
+ // This is happening when <Box> is shrinking child nodes and layout asks
200
+ // if we can fit this text node in a <1px space, so we just say "no"
201
+ if (dimensions.width >= 1 && width > 0 && width < 1) {
202
+ return dimensions;
203
+ }
204
+ // For text with embedded newlines (pre-wrapped content), avoid re-wrapping
205
+ // at measurement width when layout is asking for intrinsic size (Undefined mode).
206
+ // This prevents height inflation during min/max size checks.
207
+ //
208
+ // However, when layout provides an actual constraint (Exactly or AtMost mode),
209
+ // we must respect it and measure at that width. Otherwise, if the actual
210
+ // rendering width is smaller than the natural width, the text will wrap to
211
+ // more lines than layout expects, causing content to be truncated.
212
+ if (text.includes('\n') && widthMode === node_js_1.LayoutMeasureMode.Undefined) {
213
+ const effectiveWidth = Math.max(width, dimensions.width);
214
+ return (0, measure_text_js_1.default)(text, effectiveWidth);
215
+ }
216
+ const textWrap = node.style?.textWrap ?? 'wrap';
217
+ const wrappedText = (0, wrap_text_js_1.default)(text, width, textWrap);
218
+ return (0, measure_text_js_1.default)(wrappedText, width);
219
+ };
220
+ // ink-raw-ansi nodes hold pre-rendered ANSI strings with known dimensions.
221
+ // No stringWidth, no wrapping, no tab expansion — the producer (e.g. ColorDiff)
222
+ // already wrapped to the target width and each line is exactly one terminal row.
223
+ const measureRawAnsiNode = function (node) {
224
+ return {
225
+ width: node.attributes['rawWidth'],
226
+ height: node.attributes['rawHeight'],
227
+ };
228
+ };
229
+ /**
230
+ * Mark a node and all its ancestors as dirty for re-rendering.
231
+ * Also marks yoga dirty for text remeasurement if this is a text node.
232
+ */
233
+ const markDirty = (node) => {
234
+ let current = node;
235
+ let markedYoga = false;
236
+ while (current) {
237
+ if (current.nodeName !== '#text') {
238
+ ;
239
+ current.dirty = true;
240
+ // Only mark yoga dirty on leaf nodes that have measure functions
241
+ if (!markedYoga &&
242
+ (current.nodeName === 'ink-text' ||
243
+ current.nodeName === 'ink-raw-ansi') &&
244
+ current.yogaNode) {
245
+ current.yogaNode.markDirty();
246
+ markedYoga = true;
247
+ }
248
+ }
249
+ current = current.parentNode;
250
+ }
251
+ };
252
+ exports.markDirty = markDirty;
253
+ // Walk to root and call its onRender (the throttled scheduleRender). Use for
254
+ // DOM-level mutations (scrollTop changes) that should trigger an Ink frame
255
+ // without going through React's reconciler. Pair with markDirty() so the
256
+ // renderer knows which subtree to re-evaluate.
257
+ const scheduleRenderFrom = (node) => {
258
+ let cur = node;
259
+ while (cur?.parentNode)
260
+ cur = cur.parentNode;
261
+ if (cur && cur.nodeName !== '#text')
262
+ cur.onRender?.();
263
+ };
264
+ exports.scheduleRenderFrom = scheduleRenderFrom;
265
+ const setTextNodeValue = (node, text) => {
266
+ if (typeof text !== 'string') {
267
+ text = String(text);
268
+ }
269
+ // Skip if unchanged
270
+ if (node.nodeValue === text) {
271
+ return;
272
+ }
273
+ node.nodeValue = text;
274
+ (0, exports.markDirty)(node);
275
+ };
276
+ exports.setTextNodeValue = setTextNodeValue;
277
+ function isDOMElement(node) {
278
+ return node.nodeName !== '#text';
279
+ }
280
+ // Clear yogaNode references recursively before freeing.
281
+ // freeRecursive() frees the node and ALL its children, so we must clear
282
+ // all yogaNode references to prevent dangling pointers.
283
+ const clearYogaNodeReferences = (node) => {
284
+ if ('childNodes' in node) {
285
+ for (const child of node.childNodes) {
286
+ (0, exports.clearYogaNodeReferences)(child);
287
+ }
288
+ }
289
+ node.yogaNode = undefined;
290
+ };
291
+ exports.clearYogaNodeReferences = clearYogaNodeReferences;
292
+ /**
293
+ * Find the React component stack responsible for content at screen row `y`.
294
+ *
295
+ * DFS the DOM tree accumulating yoga offsets. Returns the debugOwnerChain of
296
+ * the deepest node whose bounding box contains `y`. Called from ink.tsx when
297
+ * log-update triggers a full reset, to attribute the flicker to its source.
298
+ *
299
+ * Only useful when CLAUDE_CODE_DEBUG_REPAINTS is set (otherwise chains are
300
+ * undefined and this returns []).
301
+ */
302
+ function findOwnerChainAtRow(root, y) {
303
+ let best = [];
304
+ walk(root, 0);
305
+ return best;
306
+ function walk(node, offsetY) {
307
+ const yoga = node.yogaNode;
308
+ if (!yoga || yoga.getDisplay() === node_js_1.LayoutDisplay.None)
309
+ return;
310
+ const top = offsetY + yoga.getComputedTop();
311
+ const height = yoga.getComputedHeight();
312
+ if (y < top || y >= top + height)
313
+ return;
314
+ if (node.debugOwnerChain)
315
+ best = node.debugOwnerChain;
316
+ for (const child of node.childNodes) {
317
+ if (isDOMElement(child))
318
+ walk(child, top);
319
+ }
320
+ }
321
+ }
322
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/ink/dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Event } from './event.js';
2
+ /**
3
+ * Mouse click event. Fired on left-button release without drag, only when
4
+ * mouse tracking is enabled (i.e. inside <AlternateScreen>).
5
+ *
6
+ * Bubbles from the deepest hit node up through parentNode. Call
7
+ * stopImmediatePropagation() to prevent ancestors' onClick from firing.
8
+ */
9
+ export declare class ClickEvent extends Event {
10
+ /** 0-indexed screen column of the click */
11
+ readonly col: number;
12
+ /** 0-indexed screen row of the click */
13
+ readonly row: number;
14
+ /**
15
+ * Click column relative to the current handler's Box (col - box.x).
16
+ * Recomputed by dispatchClick before each handler fires, so an onClick
17
+ * on a container sees coords relative to that container, not to any
18
+ * child the click landed on.
19
+ */
20
+ localCol: number;
21
+ /** Click row relative to the current handler's Box (row - box.y). */
22
+ localRow: number;
23
+ /**
24
+ * True if the clicked cell has no visible content (unwritten in the
25
+ * screen buffer — both packed words are 0). Handlers can check this to
26
+ * ignore clicks on blank space to the right of text, so accidental
27
+ * clicks on empty terminal space don't toggle state.
28
+ */
29
+ readonly cellIsBlank: boolean;
30
+ constructor(col: number, row: number, cellIsBlank: boolean);
31
+ }
32
+ //# sourceMappingURL=click-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"click-event.d.ts","sourceRoot":"","sources":["../../../src/ink/events/click-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,QAAQ,SAAI;IACZ,qEAAqE;IACrE,QAAQ,SAAI;IACZ;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;gBAEjB,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;CAM3D"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClickEvent = void 0;
4
+ const event_js_1 = require("./event.js");
5
+ /**
6
+ * Mouse click event. Fired on left-button release without drag, only when
7
+ * mouse tracking is enabled (i.e. inside <AlternateScreen>).
8
+ *
9
+ * Bubbles from the deepest hit node up through parentNode. Call
10
+ * stopImmediatePropagation() to prevent ancestors' onClick from firing.
11
+ */
12
+ class ClickEvent extends event_js_1.Event {
13
+ constructor(col, row, cellIsBlank) {
14
+ super();
15
+ /**
16
+ * Click column relative to the current handler's Box (col - box.x).
17
+ * Recomputed by dispatchClick before each handler fires, so an onClick
18
+ * on a container sees coords relative to that container, not to any
19
+ * child the click landed on.
20
+ */
21
+ this.localCol = 0;
22
+ /** Click row relative to the current handler's Box (row - box.y). */
23
+ this.localRow = 0;
24
+ this.col = col;
25
+ this.row = row;
26
+ this.cellIsBlank = cellIsBlank;
27
+ }
28
+ }
29
+ exports.ClickEvent = ClickEvent;
30
+ //# sourceMappingURL=click-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"click-event.js","sourceRoot":"","sources":["../../../src/ink/events/click-event.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAElC;;;;;;GAMG;AACH,MAAa,UAAW,SAAQ,gBAAK;IAsBnC,YAAY,GAAW,EAAE,GAAW,EAAE,WAAoB;QACxD,KAAK,EAAE,CAAA;QAlBT;;;;;WAKG;QACH,aAAQ,GAAG,CAAC,CAAA;QACZ,qEAAqE;QACrE,aAAQ,GAAG,CAAC,CAAA;QAWV,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CACF;AA5BD,gCA4BC"}
@@ -0,0 +1,41 @@
1
+ import type { EventTarget, TerminalEvent } from './terminal-event.js';
2
+ type DiscreteUpdates = <A, B>(fn: (a: A, b: B) => boolean, a: A, b: B, c: undefined, d: undefined) => boolean;
3
+ /**
4
+ * Owns event dispatch state and the capture/bubble dispatch loop.
5
+ *
6
+ * The reconciler host config reads currentEvent and currentUpdatePriority
7
+ * to implement resolveUpdatePriority, resolveEventType, and
8
+ * resolveEventTimeStamp — mirroring how react-dom's host config reads
9
+ * ReactDOMSharedInternals and window.event.
10
+ *
11
+ * discreteUpdates is injected after construction (by InkReconciler)
12
+ * to break the import cycle.
13
+ */
14
+ export declare class Dispatcher {
15
+ currentEvent: TerminalEvent | null;
16
+ currentUpdatePriority: number;
17
+ discreteUpdates: DiscreteUpdates | null;
18
+ /**
19
+ * Infer event priority from the currently-dispatching event.
20
+ * Called by the reconciler host config's resolveUpdatePriority
21
+ * when no explicit priority has been set.
22
+ */
23
+ resolveEventPriority(): number;
24
+ /**
25
+ * Dispatch an event through capture and bubble phases.
26
+ * Returns true if preventDefault() was NOT called.
27
+ */
28
+ dispatch(target: EventTarget, event: TerminalEvent): boolean;
29
+ /**
30
+ * Dispatch with discrete (sync) priority.
31
+ * For user-initiated events: keyboard, click, focus, paste.
32
+ */
33
+ dispatchDiscrete(target: EventTarget, event: TerminalEvent): boolean;
34
+ /**
35
+ * Dispatch with continuous priority.
36
+ * For high-frequency events: resize, scroll, mouse move.
37
+ */
38
+ dispatchContinuous(target: EventTarget, event: TerminalEvent): boolean;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/ink/events/dispatcher.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAuIrE,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAC1B,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,EAC3B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,KACT,OAAO,CAAA;AAEZ;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IACrB,YAAY,EAAE,aAAa,GAAG,IAAI,CAAO;IACzC,qBAAqB,EAAE,MAAM,CAAoB;IACjD,eAAe,EAAE,eAAe,GAAG,IAAI,CAAO;IAE9C;;;;OAIG;IACH,oBAAoB,IAAI,MAAM;IAU9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO;IAkB5D;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO;IAapE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO;CASvE"}