micro-models-agent 0.2.92 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/README.md +436 -436
  2. package/dist/agent/error-escalation.d.ts +18 -0
  3. package/dist/agent/error-escalation.d.ts.map +1 -0
  4. package/dist/agent/error-escalation.js +122 -0
  5. package/dist/agent/error-escalation.js.map +1 -0
  6. package/dist/agent/loop.d.ts +6 -5
  7. package/dist/agent/loop.d.ts.map +1 -1
  8. package/dist/agent/loop.js +433 -510
  9. package/dist/agent/loop.js.map +1 -1
  10. package/dist/agent/modes/applier.d.ts +2 -2
  11. package/dist/agent/modes/applier.d.ts.map +1 -1
  12. package/dist/agent/modes/registry.d.ts.map +1 -1
  13. package/dist/agent/modes/registry.js.map +1 -1
  14. package/dist/agent/modes/types.d.ts +12 -2
  15. package/dist/agent/modes/types.d.ts.map +1 -1
  16. package/dist/agent/react-loop.d.ts +4 -0
  17. package/dist/agent/react-loop.d.ts.map +1 -1
  18. package/dist/agent/react-loop.js +5 -23
  19. package/dist/agent/react-loop.js.map +1 -1
  20. package/dist/agent/system-prompt.d.ts +4 -3
  21. package/dist/agent/system-prompt.d.ts.map +1 -1
  22. package/dist/agent/system-prompt.js +392 -278
  23. package/dist/agent/system-prompt.js.map +1 -1
  24. package/dist/agent/tool-executor.d.ts +2 -0
  25. package/dist/agent/tool-executor.d.ts.map +1 -1
  26. package/dist/agent/tool-executor.js +1 -1
  27. package/dist/agent/tool-executor.js.map +1 -1
  28. package/dist/agent/write-enforcer.d.ts +11 -0
  29. package/dist/agent/write-enforcer.d.ts.map +1 -0
  30. package/dist/agent/write-enforcer.js +92 -0
  31. package/dist/agent/write-enforcer.js.map +1 -0
  32. package/dist/cli/config.d.ts +1 -1
  33. package/dist/cli/config.d.ts.map +1 -1
  34. package/dist/cli/config.js +53 -28
  35. package/dist/cli/config.js.map +1 -1
  36. package/dist/cli.d.ts.map +1 -1
  37. package/dist/cli.js +19 -16
  38. package/dist/cli.js.map +1 -1
  39. package/dist/config/config.d.ts +2 -1
  40. package/dist/config/config.d.ts.map +1 -1
  41. package/dist/config/config.js +78 -54
  42. package/dist/config/config.js.map +1 -1
  43. package/dist/config/types.d.ts +8 -1
  44. package/dist/config/types.d.ts.map +1 -1
  45. package/dist/logger.d.ts +1 -0
  46. package/dist/logger.d.ts.map +1 -1
  47. package/dist/logger.js +5 -0
  48. package/dist/logger.js.map +1 -1
  49. package/dist/plugins/builtin/lint-on-write/index.ts +96 -96
  50. package/dist/plugins/builtin/notify/index.js +6 -6
  51. package/dist/plugins/builtin/notify/index.ts +104 -104
  52. package/dist/repl/commands.js +0 -5
  53. package/dist/repl/commands.js.map +1 -1
  54. package/dist/repl/history.d.ts +2 -1
  55. package/dist/repl/history.d.ts.map +1 -1
  56. package/dist/repl/history.js.map +1 -1
  57. package/dist/repl/index.d.ts +2 -0
  58. package/dist/repl/index.d.ts.map +1 -1
  59. package/dist/repl/index.js +2 -2
  60. package/dist/repl/index.js.map +1 -1
  61. package/dist/setup-wizard.d.ts +1 -1
  62. package/dist/setup-wizard.d.ts.map +1 -1
  63. package/dist/setup-wizard.js +137 -105
  64. package/dist/setup-wizard.js.map +1 -1
  65. package/dist/skills/builtin/agent-test/SKILL.md +68 -68
  66. package/dist/skills/builtin/grill-me/SKILL.md +46 -46
  67. package/dist/skills/builtin/web-scraping/SKILL.md +422 -422
  68. package/dist/skills/loader.d.ts +16 -0
  69. package/dist/skills/loader.d.ts.map +1 -1
  70. package/dist/skills/loader.js +110 -9
  71. package/dist/skills/loader.js.map +1 -1
  72. package/dist/tools/id-gen.d.ts +4 -0
  73. package/dist/tools/id-gen.d.ts.map +1 -0
  74. package/dist/tools/id-gen.js +12 -0
  75. package/dist/tools/id-gen.js.map +1 -0
  76. package/dist/tools/native/project-map.d.ts +2 -2
  77. package/dist/tools/native/project-map.d.ts.map +1 -1
  78. package/dist/tools/native/project-map.js +85 -57
  79. package/dist/tools/native/project-map.js.map +1 -1
  80. package/dist/tools/native/scaffold.js +113 -113
  81. package/dist/tools/native/theme.d.ts.map +1 -1
  82. package/dist/tools/native/theme.js +0 -5
  83. package/dist/tools/native/theme.js.map +1 -1
  84. package/dist/tools/parse-tool-call.d.ts +11 -0
  85. package/dist/tools/parse-tool-call.d.ts.map +1 -0
  86. package/dist/tools/parse-tool-call.js +85 -0
  87. package/dist/tools/parse-tool-call.js.map +1 -0
  88. package/dist/tools/plan.d.ts +2 -0
  89. package/dist/tools/plan.d.ts.map +1 -1
  90. package/dist/tools/plan.js +8 -2
  91. package/dist/tools/plan.js.map +1 -1
  92. package/dist/tools/subagent.d.ts +0 -8
  93. package/dist/tools/subagent.d.ts.map +1 -1
  94. package/dist/tools/subagent.js +15 -94
  95. package/dist/tools/subagent.js.map +1 -1
  96. package/dist/tools/todo.d.ts +2 -0
  97. package/dist/tools/todo.d.ts.map +1 -1
  98. package/dist/tools/todo.js +8 -2
  99. package/dist/tools/todo.js.map +1 -1
  100. package/dist/tools/web-browse.js +7 -7
  101. package/dist/ui/index.d.ts +1 -15
  102. package/dist/ui/index.d.ts.map +1 -1
  103. package/dist/ui/index.js +1 -12
  104. package/dist/ui/index.js.map +1 -1
  105. package/dist/ui/ink/components/App.d.ts +0 -1
  106. package/dist/ui/ink/components/App.d.ts.map +1 -1
  107. package/dist/ui/ink/components/App.js +2 -8
  108. package/dist/ui/ink/components/App.js.map +1 -1
  109. package/dist/ui/ink/components/Conversation.d.ts +1 -2
  110. package/dist/ui/ink/components/Conversation.d.ts.map +1 -1
  111. package/dist/ui/ink/components/Conversation.js +8 -2
  112. package/dist/ui/ink/components/Conversation.js.map +1 -1
  113. package/dist/ui/ink/components/MessageBlock.d.ts +13 -1
  114. package/dist/ui/ink/components/MessageBlock.d.ts.map +1 -1
  115. package/dist/ui/ink/components/MessageBlock.js +15 -27
  116. package/dist/ui/ink/components/MessageBlock.js.map +1 -1
  117. package/dist/ui/ink/components/PromptInput.d.ts +11 -0
  118. package/dist/ui/ink/components/PromptInput.d.ts.map +1 -1
  119. package/dist/ui/ink/components/PromptInput.js +18 -141
  120. package/dist/ui/ink/components/PromptInput.js.map +1 -1
  121. package/dist/ui/ink/components/SelectInput.d.ts.map +1 -1
  122. package/dist/ui/ink/components/SelectInput.js +3 -2
  123. package/dist/ui/ink/components/SelectInput.js.map +1 -1
  124. package/dist/ui/ink/components/StatusBar.d.ts.map +1 -1
  125. package/dist/ui/ink/components/StatusBar.js +14 -6
  126. package/dist/ui/ink/components/StatusBar.js.map +1 -1
  127. package/dist/ui/ink/components/StreamBlock.d.ts.map +1 -1
  128. package/dist/ui/ink/components/StreamBlock.js +3 -3
  129. package/dist/ui/ink/components/StreamBlock.js.map +1 -1
  130. package/dist/ui/ink/components/Tags.d.ts +8 -11
  131. package/dist/ui/ink/components/Tags.d.ts.map +1 -1
  132. package/dist/ui/ink/components/Tags.js +4 -16
  133. package/dist/ui/ink/components/Tags.js.map +1 -1
  134. package/dist/ui/ink/components/ToolCallBlock.d.ts +12 -0
  135. package/dist/ui/ink/components/ToolCallBlock.d.ts.map +1 -1
  136. package/dist/ui/ink/components/ToolCallBlock.js +8 -24
  137. package/dist/ui/ink/components/ToolCallBlock.js.map +1 -1
  138. package/dist/ui/ink/renderer.d.ts +0 -1
  139. package/dist/ui/ink/renderer.d.ts.map +1 -1
  140. package/dist/ui/ink/renderer.js +1 -4
  141. package/dist/ui/ink/renderer.js.map +1 -1
  142. package/dist/ui/renderer.d.ts +2 -2
  143. package/dist/ui/renderer.d.ts.map +1 -1
  144. package/dist/ui/renderer.js +1 -1
  145. package/package.json +4 -8
  146. package/dist/async-map.d.ts +0 -6
  147. package/dist/async-map.d.ts.map +0 -1
  148. package/dist/async-map.js +0 -16
  149. package/dist/async-map.js.map +0 -1
  150. package/dist/blog-api/types/index.d.ts +0 -2
  151. package/dist/blog-api/types/index.d.ts.map +0 -1
  152. package/dist/blog-api/types/index.js +0 -2
  153. package/dist/blog-api/types/index.js.map +0 -1
  154. package/dist/examples.d.ts +0 -22
  155. package/dist/examples.d.ts.map +0 -1
  156. package/dist/examples.js +0 -45
  157. package/dist/examples.js.map +0 -1
  158. package/dist/fibonacci.d.ts +0 -19
  159. package/dist/fibonacci.d.ts.map +0 -1
  160. package/dist/fibonacci.js +0 -61
  161. package/dist/fibonacci.js.map +0 -1
  162. package/dist/parfymerie-landing/src/App.d.ts +0 -4
  163. package/dist/parfymerie-landing/src/App.d.ts.map +0 -1
  164. package/dist/parfymerie-landing/src/App.js +0 -12
  165. package/dist/parfymerie-landing/src/App.js.map +0 -1
  166. package/dist/parfymerie-landing/src/main.d.ts +0 -2
  167. package/dist/parfymerie-landing/src/main.d.ts.map +0 -1
  168. package/dist/parfymerie-landing/src/main.js +0 -7
  169. package/dist/parfymerie-landing/src/main.js.map +0 -1
  170. package/dist/parfymerie-landing/vite.config.d.ts +0 -3
  171. package/dist/parfymerie-landing/vite.config.d.ts.map +0 -1
  172. package/dist/parfymerie-landing/vite.config.js +0 -7
  173. package/dist/parfymerie-landing/vite.config.js.map +0 -1
  174. package/dist/repl.d.ts +0 -5
  175. package/dist/repl.d.ts.map +0 -1
  176. package/dist/repl.js +0 -472
  177. package/dist/repl.js.map +0 -1
  178. package/dist/sort.d.ts +0 -8
  179. package/dist/sort.d.ts.map +0 -1
  180. package/dist/sort.js +0 -36
  181. package/dist/sort.js.map +0 -1
  182. package/dist/stack.d.ts +0 -9
  183. package/dist/stack.d.ts.map +0 -1
  184. package/dist/stack.js +0 -22
  185. package/dist/stack.js.map +0 -1
  186. package/dist/test-run.d.ts +0 -2
  187. package/dist/test-run.d.ts.map +0 -1
  188. package/dist/test-run.js +0 -13
  189. package/dist/test-run.js.map +0 -1
  190. package/dist/ui/components/diff-view.d.ts +0 -8
  191. package/dist/ui/components/diff-view.d.ts.map +0 -1
  192. package/dist/ui/components/diff-view.js +0 -25
  193. package/dist/ui/components/diff-view.js.map +0 -1
  194. package/dist/ui/double-press.d.ts +0 -9
  195. package/dist/ui/double-press.d.ts.map +0 -1
  196. package/dist/ui/double-press.js +0 -18
  197. package/dist/ui/double-press.js.map +0 -1
  198. package/dist/ui/ink/components/ActivityLog.d.ts +0 -12
  199. package/dist/ui/ink/components/ActivityLog.d.ts.map +0 -1
  200. package/dist/ui/ink/components/ActivityLog.js +0 -11
  201. package/dist/ui/ink/components/ActivityLog.js.map +0 -1
  202. package/dist/ui/ink/components/AgentStatus.d.ts +0 -13
  203. package/dist/ui/ink/components/AgentStatus.d.ts.map +0 -1
  204. package/dist/ui/ink/components/AgentStatus.js +0 -20
  205. package/dist/ui/ink/components/AgentStatus.js.map +0 -1
  206. package/dist/ui/ink/components/BottomBar.d.ts +0 -12
  207. package/dist/ui/ink/components/BottomBar.d.ts.map +0 -1
  208. package/dist/ui/ink/components/BottomBar.js +0 -22
  209. package/dist/ui/ink/components/BottomBar.js.map +0 -1
  210. package/dist/ui/ink/components/CheckboxInput.d.ts +0 -21
  211. package/dist/ui/ink/components/CheckboxInput.d.ts.map +0 -1
  212. package/dist/ui/ink/components/CheckboxInput.js +0 -36
  213. package/dist/ui/ink/components/CheckboxInput.js.map +0 -1
  214. package/dist/ui/ink/components/InputBox.d.ts +0 -25
  215. package/dist/ui/ink/components/InputBox.d.ts.map +0 -1
  216. package/dist/ui/ink/components/InputBox.js +0 -91
  217. package/dist/ui/ink/components/InputBox.js.map +0 -1
  218. package/dist/ui/ink/components/ModeSelector.d.ts +0 -8
  219. package/dist/ui/ink/components/ModeSelector.d.ts.map +0 -1
  220. package/dist/ui/ink/components/ModeSelector.js +0 -13
  221. package/dist/ui/ink/components/ModeSelector.js.map +0 -1
  222. package/dist/ui/ink/components/QuestionBox.d.ts +0 -14
  223. package/dist/ui/ink/components/QuestionBox.d.ts.map +0 -1
  224. package/dist/ui/ink/components/QuestionBox.js +0 -35
  225. package/dist/ui/ink/components/QuestionBox.js.map +0 -1
  226. package/dist/ui/ink/components/RadioInput.d.ts +0 -17
  227. package/dist/ui/ink/components/RadioInput.d.ts.map +0 -1
  228. package/dist/ui/ink/components/RadioInput.js +0 -30
  229. package/dist/ui/ink/components/RadioInput.js.map +0 -1
  230. package/dist/ui/ink/components/SliderInput.d.ts +0 -20
  231. package/dist/ui/ink/components/SliderInput.d.ts.map +0 -1
  232. package/dist/ui/ink/components/SliderInput.js +0 -40
  233. package/dist/ui/ink/components/SliderInput.js.map +0 -1
  234. package/dist/ui/ink/components/StartupScreen.d.ts +0 -19
  235. package/dist/ui/ink/components/StartupScreen.d.ts.map +0 -1
  236. package/dist/ui/ink/components/StartupScreen.js +0 -9
  237. package/dist/ui/ink/components/StartupScreen.js.map +0 -1
  238. package/dist/ui/ink/components/WelcomeScreen.d.ts +0 -10
  239. package/dist/ui/ink/components/WelcomeScreen.d.ts.map +0 -1
  240. package/dist/ui/ink/components/WelcomeScreen.js +0 -8
  241. package/dist/ui/ink/components/WelcomeScreen.js.map +0 -1
  242. package/dist/ui/ink/components/Window.d.ts +0 -30
  243. package/dist/ui/ink/components/Window.d.ts.map +0 -1
  244. package/dist/ui/ink/components/Window.js +0 -9
  245. package/dist/ui/ink/components/Window.js.map +0 -1
  246. package/dist/ui/ink/components/ui/_core.d.ts +0 -113
  247. package/dist/ui/ink/components/ui/_core.d.ts.map +0 -1
  248. package/dist/ui/ink/components/ui/_core.js +0 -83
  249. package/dist/ui/ink/components/ui/_core.js.map +0 -1
  250. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.d.ts +0 -23
  251. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.d.ts.map +0 -1
  252. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.js +0 -56
  253. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.js.map +0 -1
  254. package/dist/ui/ink/components/ui/autocomplete/index.d.ts +0 -3
  255. package/dist/ui/ink/components/ui/autocomplete/index.d.ts.map +0 -1
  256. package/dist/ui/ink/components/ui/autocomplete/index.js +0 -2
  257. package/dist/ui/ink/components/ui/autocomplete/index.js.map +0 -1
  258. package/dist/ui/ink/components/ui/badge/Badge.d.ts +0 -13
  259. package/dist/ui/ink/components/ui/badge/Badge.d.ts.map +0 -1
  260. package/dist/ui/ink/components/ui/badge/Badge.js +0 -17
  261. package/dist/ui/ink/components/ui/badge/Badge.js.map +0 -1
  262. package/dist/ui/ink/components/ui/badge/index.d.ts +0 -3
  263. package/dist/ui/ink/components/ui/badge/index.d.ts.map +0 -1
  264. package/dist/ui/ink/components/ui/badge/index.js +0 -2
  265. package/dist/ui/ink/components/ui/badge/index.js.map +0 -1
  266. package/dist/ui/ink/components/ui/divider/Divider.d.ts +0 -12
  267. package/dist/ui/ink/components/ui/divider/Divider.d.ts.map +0 -1
  268. package/dist/ui/ink/components/ui/divider/Divider.js +0 -27
  269. package/dist/ui/ink/components/ui/divider/Divider.js.map +0 -1
  270. package/dist/ui/ink/components/ui/divider/index.d.ts +0 -3
  271. package/dist/ui/ink/components/ui/divider/index.d.ts.map +0 -1
  272. package/dist/ui/ink/components/ui/divider/index.js +0 -2
  273. package/dist/ui/ink/components/ui/divider/index.js.map +0 -1
  274. package/dist/ui/ink/components/ui/header/Header.d.ts +0 -13
  275. package/dist/ui/ink/components/ui/header/Header.d.ts.map +0 -1
  276. package/dist/ui/ink/components/ui/header/Header.js +0 -33
  277. package/dist/ui/ink/components/ui/header/Header.js.map +0 -1
  278. package/dist/ui/ink/components/ui/header/index.d.ts +0 -3
  279. package/dist/ui/ink/components/ui/header/index.d.ts.map +0 -1
  280. package/dist/ui/ink/components/ui/header/index.js +0 -2
  281. package/dist/ui/ink/components/ui/header/index.js.map +0 -1
  282. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.d.ts +0 -14
  283. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.d.ts.map +0 -1
  284. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.js +0 -144
  285. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.js.map +0 -1
  286. package/dist/ui/ink/components/ui/json-viewer/index.d.ts +0 -3
  287. package/dist/ui/ink/components/ui/json-viewer/index.d.ts.map +0 -1
  288. package/dist/ui/ink/components/ui/json-viewer/index.js +0 -2
  289. package/dist/ui/ink/components/ui/json-viewer/index.js.map +0 -1
  290. package/dist/ui/ink/components/ui/key-hint/KeyHint.d.ts +0 -14
  291. package/dist/ui/ink/components/ui/key-hint/KeyHint.d.ts.map +0 -1
  292. package/dist/ui/ink/components/ui/key-hint/KeyHint.js +0 -5
  293. package/dist/ui/ink/components/ui/key-hint/KeyHint.js.map +0 -1
  294. package/dist/ui/ink/components/ui/key-hint/index.d.ts +0 -3
  295. package/dist/ui/ink/components/ui/key-hint/index.d.ts.map +0 -1
  296. package/dist/ui/ink/components/ui/key-hint/index.js +0 -2
  297. package/dist/ui/ink/components/ui/key-hint/index.js.map +0 -1
  298. package/dist/ui/ink/components/ui/markdown/Markdown.d.ts +0 -11
  299. package/dist/ui/ink/components/ui/markdown/Markdown.d.ts.map +0 -1
  300. package/dist/ui/ink/components/ui/markdown/Markdown.js +0 -129
  301. package/dist/ui/ink/components/ui/markdown/Markdown.js.map +0 -1
  302. package/dist/ui/ink/components/ui/markdown/index.d.ts +0 -3
  303. package/dist/ui/ink/components/ui/markdown/index.d.ts.map +0 -1
  304. package/dist/ui/ink/components/ui/markdown/index.js +0 -2
  305. package/dist/ui/ink/components/ui/markdown/index.js.map +0 -1
  306. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.d.ts +0 -21
  307. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.d.ts.map +0 -1
  308. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.js +0 -42
  309. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.js.map +0 -1
  310. package/dist/ui/ink/components/ui/scroll-area/index.d.ts +0 -3
  311. package/dist/ui/ink/components/ui/scroll-area/index.d.ts.map +0 -1
  312. package/dist/ui/ink/components/ui/scroll-area/index.js +0 -2
  313. package/dist/ui/ink/components/ui/scroll-area/index.js.map +0 -1
  314. package/dist/ui/ink/components/ui/select/Select.d.ts +0 -19
  315. package/dist/ui/ink/components/ui/select/Select.d.ts.map +0 -1
  316. package/dist/ui/ink/components/ui/select/Select.js +0 -73
  317. package/dist/ui/ink/components/ui/select/Select.js.map +0 -1
  318. package/dist/ui/ink/components/ui/select/index.d.ts +0 -3
  319. package/dist/ui/ink/components/ui/select/index.d.ts.map +0 -1
  320. package/dist/ui/ink/components/ui/select/index.js +0 -2
  321. package/dist/ui/ink/components/ui/select/index.js.map +0 -1
  322. package/dist/ui/ink/components/ui/spinner/Spinner.d.ts +0 -14
  323. package/dist/ui/ink/components/ui/spinner/Spinner.d.ts.map +0 -1
  324. package/dist/ui/ink/components/ui/spinner/Spinner.js +0 -16
  325. package/dist/ui/ink/components/ui/spinner/Spinner.js.map +0 -1
  326. package/dist/ui/ink/components/ui/spinner/index.d.ts +0 -3
  327. package/dist/ui/ink/components/ui/spinner/index.d.ts.map +0 -1
  328. package/dist/ui/ink/components/ui/spinner/index.js +0 -2
  329. package/dist/ui/ink/components/ui/spinner/index.js.map +0 -1
  330. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.d.ts +0 -12
  331. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.d.ts.map +0 -1
  332. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.js +0 -39
  333. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.js.map +0 -1
  334. package/dist/ui/ink/components/ui/status-indicator/index.d.ts +0 -3
  335. package/dist/ui/ink/components/ui/status-indicator/index.d.ts.map +0 -1
  336. package/dist/ui/ink/components/ui/status-indicator/index.js +0 -2
  337. package/dist/ui/ink/components/ui/status-indicator/index.js.map +0 -1
  338. package/dist/ui/ink/components/ui/streaming-text/StreamingText.d.ts +0 -13
  339. package/dist/ui/ink/components/ui/streaming-text/StreamingText.d.ts.map +0 -1
  340. package/dist/ui/ink/components/ui/streaming-text/StreamingText.js +0 -22
  341. package/dist/ui/ink/components/ui/streaming-text/StreamingText.js.map +0 -1
  342. package/dist/ui/ink/components/ui/streaming-text/index.d.ts +0 -3
  343. package/dist/ui/ink/components/ui/streaming-text/index.d.ts.map +0 -1
  344. package/dist/ui/ink/components/ui/streaming-text/index.js +0 -2
  345. package/dist/ui/ink/components/ui/streaming-text/index.js.map +0 -1
  346. package/dist/ui/ink/components/ui/tabs/Tabs.d.ts +0 -20
  347. package/dist/ui/ink/components/ui/tabs/Tabs.d.ts.map +0 -1
  348. package/dist/ui/ink/components/ui/tabs/Tabs.js +0 -53
  349. package/dist/ui/ink/components/ui/tabs/Tabs.js.map +0 -1
  350. package/dist/ui/ink/components/ui/tabs/index.d.ts +0 -3
  351. package/dist/ui/ink/components/ui/tabs/index.d.ts.map +0 -1
  352. package/dist/ui/ink/components/ui/tabs/index.js +0 -2
  353. package/dist/ui/ink/components/ui/tabs/index.js.map +0 -1
  354. package/dist/ui/ink/components/ui/text-input/TextInput.d.ts +0 -22
  355. package/dist/ui/ink/components/ui/text-input/TextInput.d.ts.map +0 -1
  356. package/dist/ui/ink/components/ui/text-input/TextInput.js +0 -57
  357. package/dist/ui/ink/components/ui/text-input/TextInput.js.map +0 -1
  358. package/dist/ui/ink/components/ui/text-input/index.d.ts +0 -3
  359. package/dist/ui/ink/components/ui/text-input/index.d.ts.map +0 -1
  360. package/dist/ui/ink/components/ui/text-input/index.js +0 -2
  361. package/dist/ui/ink/components/ui/text-input/index.js.map +0 -1
  362. package/dist/ui/ink/components/ui/token-counter/TokenCounter.d.ts +0 -17
  363. package/dist/ui/ink/components/ui/token-counter/TokenCounter.d.ts.map +0 -1
  364. package/dist/ui/ink/components/ui/token-counter/TokenCounter.js +0 -38
  365. package/dist/ui/ink/components/ui/token-counter/TokenCounter.js.map +0 -1
  366. package/dist/ui/ink/components/ui/token-counter/index.d.ts +0 -3
  367. package/dist/ui/ink/components/ui/token-counter/index.d.ts.map +0 -1
  368. package/dist/ui/ink/components/ui/token-counter/index.js +0 -2
  369. package/dist/ui/ink/components/ui/token-counter/index.js.map +0 -1
  370. package/dist/ui/ink/components/ui/typewriter/Typewriter.d.ts +0 -14
  371. package/dist/ui/ink/components/ui/typewriter/Typewriter.d.ts.map +0 -1
  372. package/dist/ui/ink/components/ui/typewriter/Typewriter.js +0 -57
  373. package/dist/ui/ink/components/ui/typewriter/Typewriter.js.map +0 -1
  374. package/dist/ui/ink/components/ui/typewriter/index.d.ts +0 -3
  375. package/dist/ui/ink/components/ui/typewriter/index.d.ts.map +0 -1
  376. package/dist/ui/ink/components/ui/typewriter/index.js +0 -2
  377. package/dist/ui/ink/components/ui/typewriter/index.js.map +0 -1
  378. package/dist/ui/opentui-renderer.d.ts +0 -53
  379. package/dist/ui/opentui-renderer.d.ts.map +0 -1
  380. package/dist/ui/opentui-renderer.js +0 -463
  381. package/dist/ui/opentui-renderer.js.map +0 -1
  382. package/dist/utils/memoize.d.ts +0 -14
  383. package/dist/utils/memoize.d.ts.map +0 -1
  384. package/dist/utils/memoize.js +0 -51
  385. package/dist/utils/memoize.js.map +0 -1
  386. package/dist/utils/types.d.ts +0 -6
  387. package/dist/utils/types.d.ts.map +0 -1
  388. package/dist/utils/types.js +0 -2
  389. package/dist/utils/types.js.map +0 -1
  390. package/dist/utils.d.ts +0 -22
  391. package/dist/utils.d.ts.map +0 -1
  392. package/dist/utils.js +0 -81
  393. package/dist/utils.js.map +0 -1
@@ -1,2 +0,0 @@
1
- export { Divider } from './Divider.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/divider/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import type { InkUITheme } from '../_core.js';
3
- export type HeaderStyle = 'box' | 'line' | 'filled';
4
- export interface HeaderProps {
5
- title: string;
6
- version?: string;
7
- subtitle?: string;
8
- style?: HeaderStyle;
9
- align?: 'left' | 'center';
10
- theme?: InkUITheme;
11
- }
12
- export declare const Header: React.FC<HeaderProps>;
13
- //# sourceMappingURL=Header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA6DxC,CAAC"}
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Text, Box, useStdout } from 'ink';
3
- import { darkTheme } from '../_core.js';
4
- export const Header = ({ title, version, subtitle, style = 'box', align = 'left', theme = darkTheme, }) => {
5
- const { stdout } = useStdout();
6
- const w = stdout?.columns ?? 80;
7
- const fullTitle = version ? `${title} v${version}` : title;
8
- if (style === 'box') {
9
- // ┌─── MyApp v1.0 ──────────────────┐
10
- const inner = w - 2; // exclude ┌ and ┐
11
- const label = ` ${fullTitle} `;
12
- const left = 3; // ─── before label
13
- const right = Math.max(0, inner - left - label.length);
14
- const top = '┌' + '─'.repeat(left) + label + '─'.repeat(right) + '┐';
15
- const bot = '└' + '─'.repeat(inner) + '┘';
16
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: theme.colors.primary, children: top }), subtitle && (_jsxs(Text, { color: theme.colors.primary, children: ['│', " ", _jsx(Text, { color: theme.colors.muted, children: subtitle.padEnd(inner - 2) }), " ", '│'] })), _jsx(Text, { color: theme.colors.primary, children: bot })] }));
17
- }
18
- if (style === 'line') {
19
- // ══ MyApp v1.0 ════════════════════
20
- const label = ` ${fullTitle} `;
21
- const pre = '══';
22
- const remaining = Math.max(0, w - pre.length - label.length);
23
- const line = pre + label + '═'.repeat(remaining);
24
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: theme.colors.primary, children: line }), subtitle && _jsxs(Text, { color: theme.colors.muted, children: [" ", subtitle] })] }));
25
- }
26
- // filled: ███ MyApp v1.0 ████████████
27
- const label = ` ${fullTitle} `;
28
- const pre = '██ ';
29
- const remaining = Math.max(0, w - pre.length - label.length);
30
- const line = pre + label + '█'.repeat(remaining);
31
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: theme.colors.primary, children: line }), subtitle && _jsxs(Text, { color: theme.colors.muted, children: [" ", subtitle] })] }));
32
- };
33
- //# sourceMappingURL=Header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/header/Header.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export type { HeaderProps, HeaderStyle } from './Header.js';
2
- export { Header } from './Header.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/header/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export { Header } from './Header.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/header/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import type { InkUITheme } from '../_core.js';
3
- export interface JSONViewerProps {
4
- data: any;
5
- initialDepth?: number;
6
- maxHeight?: number;
7
- showTypes?: boolean;
8
- showIndices?: boolean;
9
- rootLabel?: string;
10
- focus?: boolean;
11
- theme?: InkUITheme;
12
- }
13
- export declare const JSONViewer: React.FC<JSONViewerProps>;
14
- //# sourceMappingURL=JSONViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JSONViewer.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/json-viewer/JSONViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,GAAG,CAAC;IACV,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAkED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkHhD,CAAC"}
@@ -1,144 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useState, useCallback } from 'react';
3
- import { Text, Box, useInput } from 'ink';
4
- import { darkTheme } from '../_core.js';
5
- function collectNodes(data, initialDepth, rootLabel) {
6
- const nodes = [];
7
- function traverse(value, key, depth, path, expanded) {
8
- const type = value === null ? 'null' : Array.isArray(value) ? 'array' : typeof value;
9
- const expandable = type === 'object' || type === 'array';
10
- nodes.push({
11
- key,
12
- value,
13
- type,
14
- depth,
15
- path,
16
- expandable,
17
- expanded,
18
- });
19
- if (expandable && expanded) {
20
- const entries = type === 'array'
21
- ? value.map((v, i) => [i.toString(), v])
22
- : Object.entries(value);
23
- for (const [k, v] of entries) {
24
- traverse(v, k, depth + 1, [...path, k], depth + 1 < initialDepth);
25
- }
26
- }
27
- }
28
- traverse(data, rootLabel, 0, [], true);
29
- return nodes;
30
- }
31
- function typeColor(type, theme) {
32
- switch (type) {
33
- case 'string': return theme.colors.success;
34
- case 'number': return theme.colors.warning;
35
- case 'boolean': return theme.colors.info;
36
- case 'null': return theme.colors.muted;
37
- default: return theme.colors.text;
38
- }
39
- }
40
- function formatValue(node, showTypes) {
41
- if (node.expandable) {
42
- const count = node.type === 'array' ? node.value.length : Object.keys(node.value).length;
43
- const bracket = node.type === 'array' ? ['[', ']'] : ['{', '}'];
44
- return `${bracket[0]}${count === 0 ? bracket[1] : '...'}`;
45
- }
46
- if (node.type === 'string')
47
- return `"${node.value}"`;
48
- if (node.type === 'null')
49
- return 'null';
50
- return String(node.value);
51
- }
52
- export const JSONViewer = ({ data, initialDepth = 1, showTypes = false, showIndices = true, rootLabel = 'root', focus = true, theme = darkTheme, }) => {
53
- const [selectedIndex, setSelectedIndex] = useState(0);
54
- const [expandedPaths, setExpandedPaths] = useState(() => {
55
- const paths = new Set();
56
- function initPaths(value, path, depth) {
57
- if (depth < initialDepth) {
58
- const key = path.join('.');
59
- paths.add(key);
60
- if (Array.isArray(value)) {
61
- value.forEach((v, i) => initPaths(v, [...path, i.toString()], depth + 1));
62
- }
63
- else if (typeof value === 'object' && value !== null) {
64
- Object.entries(value).forEach(([k, v]) => initPaths(v, [...path, k], depth + 1));
65
- }
66
- }
67
- }
68
- initPaths(data, ['root'], 0);
69
- return paths;
70
- });
71
- const nodes = React.useMemo(() => {
72
- const result = [];
73
- function traverse(value, key, depth, path) {
74
- const type = value === null ? 'null' : Array.isArray(value) ? 'array' : typeof value;
75
- const expandable = type === 'object' || type === 'array';
76
- const pathKey = path.join('.');
77
- const expanded = expandedPaths.has(pathKey);
78
- result.push({ key, value, type, depth, path, expandable, expanded });
79
- if (expandable && expanded) {
80
- const entries = type === 'array'
81
- ? value.map((v, i) => [i.toString(), v])
82
- : Object.entries(value);
83
- for (const [k, v] of entries) {
84
- traverse(v, k, depth + 1, [...path, k]);
85
- }
86
- }
87
- }
88
- traverse(data, rootLabel, 0, ['root']);
89
- return result;
90
- }, [data, expandedPaths, rootLabel]);
91
- const toggleExpand = useCallback((index) => {
92
- const node = nodes[index];
93
- if (!node.expandable)
94
- return;
95
- const pathKey = node.path.join('.');
96
- setExpandedPaths(prev => {
97
- const next = new Set(prev);
98
- if (next.has(pathKey)) {
99
- next.delete(pathKey);
100
- }
101
- else {
102
- next.add(pathKey);
103
- }
104
- return next;
105
- });
106
- }, [nodes]);
107
- useInput((input, key) => {
108
- if (!focus)
109
- return;
110
- if (key.upArrow || input === 'k') {
111
- setSelectedIndex(prev => Math.max(0, prev - 1));
112
- }
113
- else if (key.downArrow || input === 'j') {
114
- setSelectedIndex(prev => Math.min(nodes.length - 1, prev + 1));
115
- }
116
- else if (key.rightArrow || input === 'l' || input === ' ') {
117
- toggleExpand(selectedIndex);
118
- }
119
- else if (key.leftArrow || input === 'h') {
120
- const node = nodes[selectedIndex];
121
- if (node && node.expandable && node.expanded) {
122
- toggleExpand(selectedIndex);
123
- }
124
- }
125
- else if (input === 'g') {
126
- setSelectedIndex(0);
127
- }
128
- else if (input === 'G') {
129
- setSelectedIndex(nodes.length - 1);
130
- }
131
- });
132
- return (_jsx(Box, { flexDirection: "column", children: nodes.map((node, i) => {
133
- const indent = ' '.repeat(node.depth);
134
- const isSelected = i === selectedIndex;
135
- const arrow = node.expandable ? (node.expanded ? '▾ ' : '▸ ') : ' ';
136
- const value = formatValue(node, showTypes);
137
- const color = typeColor(node.type, theme);
138
- const keyDisplay = showIndices && node.type === 'array'
139
- ? `${node.key}: `
140
- : node.key !== rootLabel ? `${node.key}: ` : '';
141
- return (_jsxs(Box, { children: [_jsx(Text, { color: isSelected ? theme.colors.focus : undefined, children: isSelected ? '▸' : ' ' }), _jsxs(Text, { color: theme.colors.muted, children: [indent, arrow] }), _jsx(Text, { bold: true, color: theme.colors.text, children: keyDisplay }), _jsx(Text, { color: color, children: value })] }, i));
142
- }) }));
143
- };
144
- //# sourceMappingURL=JSONViewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JSONViewer.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/json-viewer/JSONViewer.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export type { JSONViewerProps } from './JSONViewer.js';
2
- export { JSONViewer } from './JSONViewer.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/json-viewer/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { JSONViewer } from './JSONViewer.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/json-viewer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import type { InkUITheme } from '../_core.js';
3
- export interface KeyHintItem {
4
- /** Displayed in brackets, e.g. "Enter", "↑↓", "Space" */
5
- key: string;
6
- /** Description label, e.g. "Select", "Navigate", "Toggle" */
7
- label: string;
8
- }
9
- export interface KeyHintProps {
10
- keys: KeyHintItem[];
11
- theme?: InkUITheme;
12
- }
13
- export declare const KeyHint: React.FC<KeyHintProps>;
14
- //# sourceMappingURL=KeyHint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyHint.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/key-hint/KeyHint.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAY1C,CAAC"}
@@ -1,5 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { Text, Box } from 'ink';
3
- import { darkTheme } from '../_core.js';
4
- export const KeyHint = ({ keys, theme = darkTheme, }) => (_jsx(Box, { gap: 2, children: keys.map(({ key, label }) => (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { bold: true, dimColor: true, children: ["[", key, "]"] }), _jsx(Text, { color: theme.colors.muted, children: label })] }, key))) }));
5
- //# sourceMappingURL=KeyHint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyHint.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/key-hint/KeyHint.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAexC,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAC9C,IAAI,EACJ,KAAK,GAAG,SAAS,GAClB,EAAE,EAAE,CAAC,CACJ,KAAC,GAAG,IAAC,GAAG,EAAE,CAAC,YACR,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5B,MAAC,GAAG,IAAW,GAAG,EAAE,CAAC,aACnB,MAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,wBAAG,GAAG,SAAS,EAClC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,YAAG,KAAK,GAAQ,KAFvC,GAAG,CAGP,CACP,CAAC,GACE,CACP,CAAC"}
@@ -1,3 +0,0 @@
1
- export type { KeyHintProps, KeyHintItem } from './KeyHint.js';
2
- export { KeyHint } from './KeyHint.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/key-hint/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1,2 +0,0 @@
1
- export { KeyHint } from './KeyHint.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/key-hint/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import type { InkUITheme } from '../_core.js';
3
- export interface MarkdownProps {
4
- content: string;
5
- width?: number;
6
- highlightCode?: boolean;
7
- maxHeight?: number;
8
- theme?: InkUITheme;
9
- }
10
- export declare const Markdown: React.FC<MarkdownProps>;
11
- //# sourceMappingURL=Markdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/markdown/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAuLD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAe5C,CAAC"}
@@ -1,129 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
- import { Text, Box } from 'ink';
4
- import { darkTheme } from '../_core.js';
5
- function tokenizeLine(line) {
6
- const tokens = [];
7
- if (line === '---' || line === '***' || line === '___') {
8
- tokens.push({ type: 'hr', text: line });
9
- return tokens;
10
- }
11
- const headingMatch = line.match(/^(#{1,3})\s+(.*)/);
12
- if (headingMatch) {
13
- const level = headingMatch[1].length;
14
- const type = level === 1 ? 'heading1' : level === 2 ? 'heading2' : 'heading3';
15
- tokens.push({ type, text: headingMatch[2], depth: level });
16
- return tokens;
17
- }
18
- const blockquoteMatch = line.match(/^>\s*(.*)/);
19
- if (blockquoteMatch) {
20
- tokens.push({ type: 'blockquote', text: blockquoteMatch[1] });
21
- return tokens;
22
- }
23
- const unorderedMatch = line.match(/^(\s*)[-*+]\s+(.*)/);
24
- if (unorderedMatch) {
25
- const indent = (unorderedMatch[1]?.length ?? 0) / 2;
26
- tokens.push({ type: 'listItem', text: unorderedMatch[2], indent });
27
- return tokens;
28
- }
29
- const orderedMatch = line.match(/^(\s*)\d+\.\s+(.*)/);
30
- if (orderedMatch) {
31
- const indent = (orderedMatch[1]?.length ?? 0) / 2;
32
- tokens.push({ type: 'orderedListItem', text: orderedMatch[2], indent });
33
- return tokens;
34
- }
35
- let remaining = line;
36
- while (remaining.length > 0) {
37
- const codeBlockMatch = remaining.match(/^(.*?)`([^`]+)`/);
38
- if (codeBlockMatch) {
39
- if (codeBlockMatch[1])
40
- tokens.push({ type: 'text', text: codeBlockMatch[1] });
41
- tokens.push({ type: 'code', text: codeBlockMatch[2] });
42
- remaining = remaining.slice(codeBlockMatch[0].length);
43
- continue;
44
- }
45
- const boldMatch = remaining.match(/^(.*?)\*\*([^*]+)\*\*/);
46
- if (boldMatch) {
47
- if (boldMatch[1])
48
- tokens.push({ type: 'text', text: boldMatch[1] });
49
- tokens.push({ type: 'bold', text: boldMatch[2] });
50
- remaining = remaining.slice(boldMatch[0].length);
51
- continue;
52
- }
53
- const italicMatch = remaining.match(/^(.*?)\*([^*]+)\*/);
54
- if (italicMatch) {
55
- if (italicMatch[1])
56
- tokens.push({ type: 'text', text: italicMatch[1] });
57
- tokens.push({ type: 'italic', text: italicMatch[2] });
58
- remaining = remaining.slice(italicMatch[0].length);
59
- continue;
60
- }
61
- const strikeMatch = remaining.match(/^(.*?)~~([^~]+)~~/);
62
- if (strikeMatch) {
63
- if (strikeMatch[1])
64
- tokens.push({ type: 'text', text: strikeMatch[1] });
65
- tokens.push({ type: 'strikethrough', text: strikeMatch[2] });
66
- remaining = remaining.slice(strikeMatch[0].length);
67
- continue;
68
- }
69
- const linkMatch = remaining.match(/^(.*?)\[([^\]]+)\]\(([^)]+)\)/);
70
- if (linkMatch) {
71
- if (linkMatch[1])
72
- tokens.push({ type: 'text', text: linkMatch[1] });
73
- tokens.push({ type: 'link', text: linkMatch[2], url: linkMatch[3] });
74
- remaining = remaining.slice(linkMatch[0].length);
75
- continue;
76
- }
77
- tokens.push({ type: 'text', text: remaining });
78
- break;
79
- }
80
- return tokens;
81
- }
82
- function renderToken(token, theme) {
83
- switch (token.type) {
84
- case 'heading1':
85
- return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, color: theme.colors.primary, children: token.text }), _jsx(Text, { color: theme.colors.border, children: '─'.repeat(token.text.length) })] }));
86
- case 'heading2':
87
- return (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { bold: true, color: theme.colors.primary, children: ['## ', token.text] }) }));
88
- case 'heading3':
89
- return (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { bold: true, color: theme.colors.primary, children: ['### ', token.text] }) }));
90
- case 'bold':
91
- return _jsx(Text, { bold: true, children: token.text });
92
- case 'italic':
93
- return _jsx(Text, { italic: true, children: token.text });
94
- case 'code':
95
- return _jsx(Text, { backgroundColor: theme.colors.muted, color: theme.colors.text, children: ` ${token.text} ` });
96
- case 'strikethrough':
97
- return _jsx(Text, { strikethrough: true, children: token.text });
98
- case 'link':
99
- return _jsx(Text, { color: theme.colors.info, underline: true, children: token.text });
100
- case 'listItem':
101
- return (_jsxs(Box, { marginLeft: (token.indent ?? 0) * 2 + 2, children: [_jsx(Text, { color: theme.colors.primary, children: '• ' }), _jsx(Text, { children: token.text })] }));
102
- case 'orderedListItem':
103
- return (_jsxs(Box, { marginLeft: (token.indent ?? 0) * 2 + 2, children: [_jsx(Text, { color: theme.colors.primary, children: '1. ' }), _jsx(Text, { children: token.text })] }));
104
- case 'blockquote':
105
- return (_jsxs(Box, { marginLeft: 2, children: [_jsx(Text, { color: theme.colors.muted, children: '│ ' }), _jsx(Text, { italic: true, color: theme.colors.muted, children: token.text })] }));
106
- case 'hr':
107
- return _jsx(Text, { color: theme.colors.border, children: '─'.repeat(40) });
108
- default:
109
- return _jsx(Text, { children: token.text });
110
- }
111
- }
112
- function renderLine(line, theme) {
113
- if (line.trim() === '') {
114
- return _jsx(Text, { children: '' });
115
- }
116
- const tokens = tokenizeLine(line);
117
- if (tokens.length === 1 && (tokens[0].type === 'heading1' || tokens[0].type === 'blockquote' || tokens[0].type === 'hr' || tokens[0].type === 'listItem' || tokens[0].type === 'orderedListItem')) {
118
- return renderToken(tokens[0], theme);
119
- }
120
- if (tokens[0]?.type === 'heading2' || tokens[0]?.type === 'heading3') {
121
- return renderToken(tokens[0], theme);
122
- }
123
- return (_jsxs(Box, { children: [_jsx(Text, { children: ' ' }), tokens.map((token, i) => (_jsx(React.Fragment, { children: renderToken(token, theme) }, i)))] }));
124
- }
125
- export const Markdown = ({ content, theme = darkTheme, }) => {
126
- const lines = content.split('\n');
127
- return (_jsx(Box, { flexDirection: "column", children: lines.map((line, i) => (_jsx(React.Fragment, { children: renderLine(line, theme) }, i))) }));
128
- };
129
- //# sourceMappingURL=Markdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/markdown/Markdown.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export type { MarkdownProps } from './Markdown.js';
2
- export { Markdown } from './Markdown.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/markdown/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +0,0 @@
1
- export { Markdown } from './Markdown.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/markdown/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import type { InkUITheme } from '../_core.js';
3
- export interface ScrollAreaProps {
4
- /** Visible height in rows */
5
- height: number;
6
- /** Scrollbar visibility */
7
- scrollbar?: boolean;
8
- /** Scrollbar thumb character */
9
- scrollbarChar?: string;
10
- /** Track character */
11
- trackChar?: string;
12
- /** Called when scroll position changes */
13
- onScroll?: (offset: number, total: number) => void;
14
- /** Whether this component accepts keyboard input */
15
- focus?: boolean;
16
- /** Color theme */
17
- theme?: InkUITheme;
18
- children: React.ReactNode;
19
- }
20
- export declare const ScrollArea: React.FC<ScrollAreaProps>;
21
- //# sourceMappingURL=ScrollArea.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/scroll-area/ScrollArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmEhD,CAAC"}
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useState, useCallback } from 'react';
3
- import { Box, Text, useInput } from 'ink';
4
- import { darkTheme } from '../_core.js';
5
- export const ScrollArea = ({ height, scrollbar = true, scrollbarChar = '█', trackChar = '░', onScroll, focus = true, theme = darkTheme, children, }) => {
6
- const [scrollOffset, setScrollOffset] = useState(0);
7
- const items = React.Children.toArray(children);
8
- const totalItems = items.length;
9
- const maxOffset = Math.max(0, totalItems - height);
10
- const scroll = useCallback((delta) => {
11
- setScrollOffset((prev) => {
12
- const next = Math.max(0, Math.min(maxOffset, prev + delta));
13
- onScroll?.(next, totalItems);
14
- return next;
15
- });
16
- }, [maxOffset, totalItems, onScroll]);
17
- useInput((input, key) => {
18
- if (key.upArrow || input === 'k')
19
- scroll(-1);
20
- else if (key.downArrow || input === 'j')
21
- scroll(1);
22
- else if (key.pageUp || input === 'u')
23
- scroll(-Math.floor(height / 2));
24
- else if (key.pageDown || input === 'd')
25
- scroll(Math.floor(height / 2));
26
- else if (input === 'g')
27
- scroll(-totalItems);
28
- else if (input === 'G')
29
- scroll(totalItems);
30
- }, { isActive: focus });
31
- const visibleItems = items.slice(scrollOffset, scrollOffset + height);
32
- // Scrollbar calculation
33
- const thumbSize = Math.max(1, Math.round((height / Math.max(totalItems, 1)) * height));
34
- const thumbPos = maxOffset > 0
35
- ? Math.round((scrollOffset / maxOffset) * (height - thumbSize))
36
- : 0;
37
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { flexDirection: "column", flexGrow: 1, children: visibleItems }), scrollbar && totalItems > height && (_jsx(Box, { flexDirection: "column", width: 1, children: Array.from({ length: height }, (_, i) => {
38
- const isThumb = i >= thumbPos && i < thumbPos + thumbSize;
39
- return (_jsx(Text, { color: isThumb ? theme.colors.primary : theme.colors.muted, children: isThumb ? scrollbarChar : trackChar }, i));
40
- }) }))] }));
41
- };
42
- //# sourceMappingURL=ScrollArea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/scroll-area/ScrollArea.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { ScrollArea } from './ScrollArea.js';
2
- export type { ScrollAreaProps } from './ScrollArea.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/scroll-area/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { ScrollArea } from './ScrollArea.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/ink/components/ui/scroll-area/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}