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
@@ -23,27 +23,15 @@ export function DimText({ children }) {
23
23
  }
24
24
  export function HeadingTag({ children }) {
25
25
  const t = getInkTheme();
26
- return _jsx(Text, { bold: true, children: children });
27
- }
28
- const ROLE_TAG_STYLES = {
29
- user: { color: 'yellow', bold: true },
30
- assistant: { color: 'cyan' },
31
- subagent: { color: 'magenta' },
32
- expert: { color: 'green' },
33
- specialist: { color: 'green' },
34
- };
26
+ return _jsx(Text, { ...t.colors.heading, children: children });
27
+ }
35
28
  export function BracketTag({ tag, message }) {
36
29
  const t = getInkTheme();
37
- const tagStyle = ROLE_TAG_STYLES[tag] ?? { ...t.colors.info, bold: true };
38
- return (_jsxs(Box, { children: [_jsxs(Text, { ...tagStyle, children: ["[", tag, "]"] }), _jsxs(Text, { children: [" ", message] })] }));
30
+ const tagColor = tag === 'user' ? 'yellow' : 'dim';
31
+ return (_jsxs(Box, { children: [_jsxs(Text, { bold: true, color: tagColor, children: ["[", tag, "]"] }), _jsxs(Text, { children: [" ", message] })] }));
39
32
  }
40
33
  export function LineNumbers({ text }) {
41
34
  const t = getInkTheme();
42
35
  return _jsx(Text, { ...t.colors.lineNumbers, children: text });
43
36
  }
44
- /** Визуальный разделитель между блоками */
45
- export function TurnSeparator() {
46
- const t = getInkTheme();
47
- return (_jsx(Box, { marginTop: 0, marginBottom: 0, children: _jsx(Text, { ...t.colors.dim, children: '─'.repeat(60) }) }));
48
- }
49
37
  //# sourceMappingURL=Tags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tags.js","sourceRoot":"","sources":["../../../../src/ui/ink/components/Tags.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tags.js","sourceRoot":"","sources":["../../../../src/ui/ink/components/Tags.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAwB;IACxD,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,OAAO,MAAC,IAAI,OAAK,CAAC,CAAC,MAAM,CAAC,IAAI,wBAAK,QAAQ,IAAQ,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAwB;IAC3D,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,OAAO,MAAC,IAAI,OAAK,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAK,QAAQ,IAAQ,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAwB;IAC3D,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,OAAO,MAAC,IAAI,OAAK,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAK,QAAQ,IAAQ,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAAwB;IACzD,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,OAAO,MAAC,IAAI,OAAK,CAAC,CAAC,MAAM,CAAC,KAAK,wBAAK,QAAQ,IAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAwB;IACxD,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,OAAO,KAAC,IAAI,OAAK,CAAC,CAAC,MAAM,CAAC,GAAG,YAAG,QAAQ,GAAQ,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAwB;IAC3D,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,OAAO,KAAC,IAAI,OAAK,CAAC,CAAC,MAAM,CAAC,OAAO,YAAG,QAAQ,GAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,GAAG,EAAE,OAAO,EAAoC;IAC3E,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACnD,OAAO,CACL,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,QAAQ,kBAAI,GAAG,SAAS,EAC1C,MAAC,IAAI,oBAAG,OAAO,IAAQ,IACnB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAoB;IACpD,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC;IACxB,OAAO,KAAC,IAAI,OAAK,CAAC,CAAC,MAAM,CAAC,WAAW,YAAG,IAAI,GAAQ,CAAC;AACvD,CAAC"}
@@ -1,3 +1,15 @@
1
+ /**
2
+ * Компонент отображения вызова инструмента.
3
+ *
4
+ * Показывает:
5
+ * - Имя инструмента
6
+ * - Превью аргументов
7
+ * - Результат (с кодом возврата)
8
+ * - Время выполнения
9
+ *
10
+ * @module ui/ink/components/ToolCallBlock
11
+ */
12
+ /** Данные вызова инструмента */
1
13
  export interface ToolCallData {
2
14
  name: string;
3
15
  args: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallBlock.d.ts","sourceRoot":"","sources":["../../../../src/ui/ink/components/ToolCallBlock.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7D,CAAC;CACH;AAID,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,+BAkE7D"}
1
+ {"version":3,"file":"ToolCallBlock.d.ts","sourceRoot":"","sources":["../../../../src/ui/ink/components/ToolCallBlock.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,gCAAgC;AAChC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7D,CAAC;CACH;AAID,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,+BAkD7D"}
@@ -1,33 +1,17 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
3
  import { getInkTheme } from '../theme.js';
4
4
  const SUBAGENT_TOOLS = new Set(['subagent']);
5
5
  export function ToolCallBlock({ data }) {
6
6
  const t = getInkTheme();
7
7
  const isSub = SUBAGENT_TOOLS.has(data.name);
8
- const accentColor = isSub ? 'yellow' : t.colors.toolName.color;
9
- const prefix = isSub ? '⊞ ' : '';
10
- return (_jsxs(Box, { flexDirection: "column", marginLeft: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: accentColor, children: '│ ' }), _jsxs(Text, { bold: true, color: accentColor, children: [prefix, isSub ? 'subagent' : data.name] }), data.time ? (_jsxs(Text, { ...t.colors.dim, children: [' ', data.time] })) : null] }), data.args ? (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { ...t.colors.dim, children: formatArgs(data.name, data.args) }) })) : null, data.subagentBuffer ? (_jsxs(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: [data.subagentBuffer.toolCalls.map((tc, i) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { ...t.colors.dim, children: ['↳ ', tc.name] }), tc.result ? (_jsxs(Text, { color: "green", children: [" ", tc.result.slice(0, 150), tc.result.length > 150 ? '…' : ''] })) : null] }, i))), data.subagentBuffer.lines.length > 0 ? (_jsx(Box, { flexDirection: "column", marginTop: 1, children: data.subagentBuffer.lines.slice(-15).map((line, i) => (_jsxs(Text, { ...t.colors.dim, children: [' ', line.slice(0, 120), line.length > 120 ? '…' : ''] }, i))) })) : null] })) : null, data.result ? (_jsxs(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: [_jsxs(Text, { color: exitColor(data.exitCode), children: [exitIcon(data.exitCode), ' ', data.result.slice(0, 300)] }), data.result.length > 300 ? (_jsxs(Text, { ...t.colors.dim, children: [' ', "\u2026 (", data.result.length - 300, " more)"] })) : null] })) : null, data.exitCode !== undefined && data.exitCode !== 0 ? (_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { color: "red", children: ["exit ", data.exitCode] }) })) : null] }));
8
+ const borderColor = isSub ? 'yellow' : 'gray';
9
+ const icon = isSub ? '⊞ ' : '';
10
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, marginLeft: 1, paddingX: 1, children: [_jsxs(Text, { children: [_jsxs(Text, { bold: isSub, color: isSub ? 'yellow' : t.colors.toolName.color, children: [icon, isSub ? 'subagent' : `tool: ${data.name}`] }), _jsx(Text, { ...t.colors.dim, children: " \u2500\u2500" })] }), data.args ? (_jsx(Box, { marginLeft: 1, children: _jsxs(Text, { ...t.colors.dim, children: [data.args.slice(0, 120), data.args.length > 120 ? '...' : ''] }) })) : null, data.subagentBuffer ? (_jsxs(Box, { flexDirection: "column", marginLeft: 1, marginTop: 1, children: [data.subagentBuffer.toolCalls.map((tc, i) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { ...t.colors.dim, children: [" [", tc.name, "] ", tc.args.slice(0, 80), tc.args.length > 80 ? '...' : ''] }), tc.result ? (_jsxs(Text, { color: "green", children: [" ", tc.result.slice(0, 150), tc.result.length > 150 ? '...' : ''] })) : null] }, i))), data.subagentBuffer.lines.length > 0 ? (_jsx(Box, { flexDirection: "column", marginTop: 1, children: data.subagentBuffer.lines.slice(-15).map((line, i) => (_jsxs(Text, { ...t.colors.dim, children: [line.slice(0, 120), line.length > 120 ? '...' : ''] }, i))) })) : null] })) : null, data.result ? (_jsxs(Box, { flexDirection: "column", marginLeft: 1, marginTop: 1, children: [_jsxs(Text, { bold: true, color: toolExitCodeStyle(data.exitCode).color, children: [toolExitCodeStyle(data.exitCode).icon, " ", data.result.slice(0, 300)] }), data.result.length > 300 ? _jsxs(Text, { ...t.colors.dim, children: ["... (", data.result.length - 300, " more)"] }) : null] })) : null, data.time ? (_jsx(Box, { marginTop: 0, children: _jsxs(Text, { ...t.colors.timing, children: ["\u23F1 ", data.time, data.exitCode !== undefined ? ` · exit ${data.exitCode === 0 ? 'ok' : data.exitCode}` : ''] }) })) : null] }));
11
11
  }
12
- function exitIcon(code) {
13
- return code === undefined || code === 0 ? '✓' : '✗';
14
- }
15
- function exitColor(code) {
16
- return code === undefined || code === 0 ? 'green' : 'red';
17
- }
18
- function formatArgs(toolName, argsJson) {
19
- if (toolName === 'subagent') {
20
- try {
21
- const args = JSON.parse(argsJson);
22
- const task = args.task || '';
23
- const files = args.existingFiles || '';
24
- let result = task.length > 100 ? task.slice(0, 97) + '…' : task;
25
- if (files)
26
- result += ` ← ${files}`;
27
- return result;
28
- }
29
- catch { /* fall through */ }
30
- }
31
- return argsJson.length > 120 ? argsJson.slice(0, 117) + '…' : argsJson;
12
+ function toolExitCodeStyle(exitCode) {
13
+ if (exitCode === undefined || exitCode === 0)
14
+ return { color: 'green', icon: '✓' };
15
+ return { color: 'red', icon: '✗' };
32
16
  }
33
17
  //# sourceMappingURL=ToolCallBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallBlock.js","sourceRoot":"","sources":["../../../../src/ui/ink/components/ToolCallBlock.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolCallBlock.js","sourceRoot":"","sources":["../../../../src/ui/ink/components/ToolCallBlock.tsx"],"names":[],"mappings":"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"}
@@ -40,7 +40,6 @@ export declare class InkRenderer implements OutputRenderer {
40
40
  writeError(text: string): void;
41
41
  writeDim(text: string): void;
42
42
  writePlugins(names: string[]): void;
43
- setStreamRole(_role: 'assistant' | 'subagent' | 'expert' | null): void;
44
43
  writeBracketTag(tag: string, message: string): void;
45
44
  writeHeading(text: string): void;
46
45
  writeToolHeader(name: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/ui/ink/renderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjE;;;;;;;;;;GAUG;AAEH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,uDAAuD;AACvD,qBAAa,WAAY,YAAW,cAAc;IAChD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,SAAS,CAA2D;IAC5E,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAgC;IAEvD,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;;IAOD,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAItC,KAAK,IAAI,IAAI;IAIb,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,OAAO,IAAI,IAAI;YAMD,QAAQ;IAKtB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9B,YAAY,IAAI,IAAI;IAIpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;IAItE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvE,eAAe,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,GAAG,IAAI;IAI7G,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,cAAc,IAAI,IAAI;IAItB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,IAAI;IAIpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIpC,KAAK,IAAI,IAAI;IAIb,eAAe,IAAI,IAAI;IAIjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,SAAI,GAAG,IAAI;CAOvD"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/ui/ink/renderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjE;;;;;;;;;;GAUG;AAEH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,uDAAuD;AACvD,qBAAa,WAAY,YAAW,cAAc;IAChD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,SAAS,CAA2D;IAC5E,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAgC;IAEvD,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;;IAOD,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAItC,KAAK,IAAI,IAAI;IAIb,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,OAAO,IAAI,IAAI;YAMD,QAAQ;IAKtB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9B,YAAY,IAAI,IAAI;IAIpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvE,eAAe,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,GAAG,IAAI;IAI7G,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,cAAc,IAAI,IAAI;IAItB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,IAAI;IAIpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIpC,KAAK,IAAI,IAAI;IAIb,eAAe,IAAI,IAAI;IAIjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,SAAI,GAAG,IAAI;CAOvD"}
@@ -77,9 +77,6 @@ export class InkRenderer {
77
77
  writePlugins(names) {
78
78
  this.dispatch({ type: 'ADD_MESSAGE', kind: 'message', data: { type: 'plugins', content: names.join(', ') } });
79
79
  }
80
- setStreamRole(_role) {
81
- // Ink mode uses its own streaming state — no-op
82
- }
83
80
  writeBracketTag(tag, message) {
84
81
  this.dispatch({ type: 'ADD_MESSAGE', kind: 'message', data: { type: 'bracket', tag, message } });
85
82
  }
@@ -105,7 +102,7 @@ export class InkRenderer {
105
102
  this.dispatch({ type: 'STREAM_END' });
106
103
  }
107
104
  writeSpinner(text) {
108
- this.dispatch({ type: 'SPINNER', show: true, text });
105
+ this.dispatch({ type: 'SPINNER', show: true });
109
106
  }
110
107
  clearSpinner() {
111
108
  this.dispatch({ type: 'SPINNER', show: false });
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/ui/ink/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/ui/ink/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAkB,MAAM,qBAAqB,CAAC;AAmB1D,uDAAuD;AACvD,MAAM,OAAO,WAAW;IACd,MAAM,GAAqB,IAAI,CAAC;IAChC,WAAW,CAAgB;IAC3B,YAAY,CAAc;IAC1B,SAAS,GAAsD,IAAI,CAAC;IACpE,SAAS,GAAkB,EAAE,CAAC;IAC9B,eAAe,GAA2B,IAAI,CAAC;IAEvD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IACtC,CAAC;IAED;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,IAAmB;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,SAAS,GAAG,SAAS,CACxB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;YACvB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,CAAC,MAAiB,EAAE,EAAE;gBAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,EACF,EAAE,WAAW,EAAE,KAAK,EAAE,CACvB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,MAAW;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,SAAS,CAAC,IAAa;QACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,YAAY,CAAC,KAAe;QAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,OAAe;QAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,QAAgB;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,QAAiB,EAAE,MAAe;QAC9D,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,eAAe,CAAC,IAAsF;QACpG,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,IAAa;QACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,OAAiB;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAe,EAAE,UAAU,GAAG,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Интерфейс рендерера вывода.
3
3
  *
4
- * Определяет контракт для всех рендереров (readline, Ink):
4
+ * Определяет контракт для readline-рендерера:
5
5
  * - Вывод текста (write, writeLine, writeError)
6
6
  * - Вывод инструментов (writeToolHeader, writeToolResult)
7
7
  * - Streaming markdown (writeMarkdownChunk)
@@ -21,7 +21,7 @@ export interface StatusInfo {
21
21
  step?: number;
22
22
  maxSteps?: number;
23
23
  }
24
- /** Интерфейс рендерера вывода (абстракция над readline/Ink) */
24
+ /** Интерфейс readline-рендерера */
25
25
  export interface OutputRenderer {
26
26
  write(text: string): void;
27
27
  writeLine(text?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,IAAI,IAAI,CAAA;IAEpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACnD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvE,eAAe,CAAC,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,GAAG,IAAI,CAAA;IAE9G,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,cAAc,IAAI,IAAI,CAAA;IACtB,aAAa,CAAC,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAA;IAEtE,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,YAAY,IAAI,IAAI,CAAA;IAEpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAEpC,KAAK,IAAI,IAAI,CAAA;IACb,eAAe,IAAI,IAAI,CAAA;IAEvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3D,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,IAAI,CAAA;IAEf,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,KAAK,CAAC,IAAI,IAAI,CAAA;IACd,UAAU,CAAC,IAAI,IAAI,CAAA;CACpB"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,IAAI,IAAI,CAAA;IAEpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACnD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvE,eAAe,CAAC,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,GAAG,IAAI,CAAA;IAE9G,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,cAAc,IAAI,IAAI,CAAA;IACtB,aAAa,CAAC,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAA;IAEtE,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,YAAY,IAAI,IAAI,CAAA;IAEpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAEpC,KAAK,IAAI,IAAI,CAAA;IACb,eAAe,IAAI,IAAI,CAAA;IAEvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3D,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,IAAI,CAAA;IAEf,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,KAAK,CAAC,IAAI,IAAI,CAAA;IACd,UAAU,CAAC,IAAI,IAAI,CAAA;CACpB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Интерфейс рендерера вывода.
3
3
  *
4
- * Определяет контракт для всех рендереров (readline, Ink):
4
+ * Определяет контракт для readline-рендерера:
5
5
  * - Вывод текста (write, writeLine, writeError)
6
6
  * - Вывод инструментов (writeToolHeader, writeToolResult)
7
7
  * - Streaming markdown (writeMarkdownChunk)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "micro-models-agent",
3
- "version": "0.2.92",
3
+ "version": "0.4.0",
4
4
  "description": "Micro Models Agent (MMA) — LLM agent harness for small models (Qwen3.5-9B, 32K-64K context)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -18,11 +18,12 @@
18
18
  },
19
19
  "scripts": {
20
20
  "mma": "bun run src/index.ts",
21
+ "mma:dev": "bun run src/index.ts --dev",
21
22
  "build": "tsc -p tsconfig.build.json && node scripts/copy-builtin-skills.mjs",
22
23
  "prepublishOnly": "npm run build",
23
24
  "prepack": "npm run build",
24
25
  "dev": "bun --watch src/index.ts",
25
- "test": "bun test tests/context.test.ts tests/sanitizer.test.ts tests/code-index.test.ts tests/plan-todo-memory.test.ts tests/file-loader-syntax.test.ts tests/commands.test.ts tests/md-formatter.test.ts tests/subagent.test.ts tests/specialist-config.test.ts tests/tool-executor.test.ts tests/specialist-integration.test.ts tests/ink-ui.test.tsx tests/fetch-retry.test.ts tests/web-browse.test.ts",
26
+ "test": "bun test tests/context.test.ts tests/sanitizer.test.ts tests/code-index.test.ts tests/plan-todo-memory.test.ts tests/file-loader-syntax.test.ts tests/commands.test.ts tests/md-formatter.test.ts tests/subagent.test.ts tests/specialist-config.test.ts tests/tool-executor.test.ts tests/specialist-integration.test.ts tests/fetch-retry.test.ts tests/web-browse.test.ts",
26
27
  "test:integration": "bun test tests/llm-integration.test.ts tests/agent-integration.test.ts tests/subagent-integration.test.ts",
27
28
  "test:all": "bun test",
28
29
  "test:watch": "vitest"
@@ -31,19 +32,14 @@
31
32
  "commander": "^12.0.0",
32
33
  "esprima": "^4.0.1",
33
34
  "execa": "^9.6.1",
34
- "ink": "^6.0.0",
35
- "ink-markdown-es": "^1.4.0",
36
35
  "js-tiktoken": "^1.0.0",
37
36
  "jsonrepair": "^3.15.0",
38
37
  "picocolors": "^1.1.1",
39
- "playwright": "^1.61.1",
40
- "react": "^19.0.0"
38
+ "playwright": "^1.61.1"
41
39
  },
42
40
  "devDependencies": {
43
41
  "@types/esprima": "^4.0.6",
44
42
  "@types/node": "^26.1.1",
45
- "@types/react": "^19.2.17",
46
- "ink-testing-library": "^4.0.0",
47
43
  "tsx": "^4.0.0",
48
44
  "typescript": "^5.8.0",
49
45
  "vitest": "^3.0.0"
@@ -1,6 +0,0 @@
1
- /**
2
- * Применяет асинхронную функцию ко всем элементам массива параллельно.
3
- * Все промпты выполняются одновременно, возвращает Promise, решающий по первому.
4
- */
5
- export declare function asyncMap<T, R>(array: readonly T[], fn: (item: T) => Promise<R>): Promise<R[]>;
6
- //# sourceMappingURL=async-map.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-map.d.ts","sourceRoot":"","sources":["../src/async-map.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,EACjC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC,CAad"}
package/dist/async-map.js DELETED
@@ -1,16 +0,0 @@
1
- 'use strict';
2
- /**
3
- * Применяет асинхронную функцию ко всем элементам массива параллельно.
4
- * Все промпты выполняются одновременно, возвращает Promise, решающий по первому.
5
- */
6
- export async function asyncMap(array, fn) {
7
- const results = new Array(array.length);
8
- // Запускаем все промпты параллельно
9
- await Promise.all(array.map((item, index) => {
10
- return fn(item).then((result) => {
11
- results[index] = result;
12
- });
13
- }));
14
- return results;
15
- }
16
- //# sourceMappingURL=async-map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-map.js","sourceRoot":"","sources":["../src/async-map.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAmB,EACnB,EAA2B;IAE3B,MAAM,OAAO,GAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE5C,oCAAoC;IACpC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blog-api/types/index.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blog-api/types/index.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- /**
2
- * Пример рекурсивных функций для демонстрации
3
- */
4
- export declare function quickSort(arr: number[]): number[];
5
- /**
6
- * Рекурсивное умножение (без оператора *)
7
- */
8
- export declare function multiply(a: number, b: number): number;
9
- /**
10
- * Рекурсивная генерация чисел Фибоначчи (классическая)
11
- */
12
- export declare function fibonacciClassic(n: number): number;
13
- /**
14
- * Рекурсивный поиск в глубину для дерева
15
- */
16
- interface Node<T> {
17
- value: T;
18
- children?: Node<T>[];
19
- }
20
- export declare function traverseTree<T>(node: Node<T>, callback: (value: T, node: Node<T>) => void): void;
21
- export {};
22
- //# sourceMappingURL=examples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CASjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CASrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;GAEG;AACH,UAAU,IAAI,CAAC,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,QAUzF"}
package/dist/examples.js DELETED
@@ -1,45 +0,0 @@
1
- /**
2
- * Пример рекурсивных функций для демонстрации
3
- */
4
- export function quickSort(arr) {
5
- if (arr.length <= 1)
6
- return arr;
7
- const pivot = arr[arr.length - 1];
8
- const left = arr.filter(x => x < pivot);
9
- const middle = arr.filter(x => x === pivot);
10
- const right = arr.filter(x => x > pivot);
11
- return [...quickSort(left), ...middle, ...quickSort(right)];
12
- }
13
- /**
14
- * Рекурсивное умножение (без оператора *)
15
- */
16
- export function multiply(a, b) {
17
- if (b === 0)
18
- return 0;
19
- if (b < 0)
20
- return -multiply(a, -b);
21
- let sum = 0;
22
- for (let i = 0; i < b; i++) {
23
- sum += a;
24
- }
25
- return sum;
26
- }
27
- /**
28
- * Рекурсивная генерация чисел Фибоначчи (классическая)
29
- */
30
- export function fibonacciClassic(n) {
31
- if (n <= 1)
32
- return n;
33
- return fibonacciClassic(n - 1) + fibonacciClassic(n - 2);
34
- }
35
- export function traverseTree(node, callback) {
36
- if (!node)
37
- return;
38
- callback(node.value, node);
39
- if (node.children) {
40
- for (const child of node.children) {
41
- traverseTree(child, callback);
42
- }
43
- }
44
- }
45
- //# sourceMappingURL=examples.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,SAAS,CAAC,GAAa;IACrC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAEhC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,CAAS;IAC3C,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,OAAO,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAUD,MAAM,UAAU,YAAY,CAAI,IAAa,EAAE,QAA2C;IACxF,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Вычисляет n-е число Фибоначчи
3
- * @param n - номер позиции (0-based)
4
- * @returns значение числа Фибоначчи
5
- */
6
- export declare function fibonacci(n: number): number;
7
- /**
8
- * Возвращает массив чисел Фибоначчи от 0 до n
9
- * @param n - количество элементов в массиве
10
- * @returns массив с числами Фибоначчи
11
- */
12
- export declare function fibonacciSequence(n: number): number[];
13
- /**
14
- * Вычисляет n-е число Фибоначчи с мемоизацией для O(1) времени доступа
15
- * @param n - номер позиции
16
- * @returns значение числа Фибоначчи
17
- */
18
- export declare function fibonacciMemoized(n: number): number;
19
- //# sourceMappingURL=fibonacci.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fibonacci.d.ts","sourceRoot":"","sources":["../src/fibonacci.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAe3C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CASrD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBnD"}
package/dist/fibonacci.js DELETED
@@ -1,61 +0,0 @@
1
- 'use strict';
2
- /**
3
- * Вычисляет n-е число Фибоначчи
4
- * @param n - номер позиции (0-based)
5
- * @returns значение числа Фибоначчи
6
- */
7
- export function fibonacci(n) {
8
- if (n < 0) {
9
- throw new Error('n должен быть не менее 0');
10
- }
11
- if (n === 0)
12
- return 0;
13
- if (n === 1)
14
- return 1;
15
- let prev = 0;
16
- let curr = 1;
17
- for (let i = 2; i <= n; i++) {
18
- const next = prev + curr;
19
- prev = curr;
20
- curr = next;
21
- }
22
- return curr;
23
- }
24
- /**
25
- * Возвращает массив чисел Фибоначчи от 0 до n
26
- * @param n - количество элементов в массиве
27
- * @returns массив с числами Фибоначчи
28
- */
29
- export function fibonacciSequence(n) {
30
- if (n < 0) {
31
- throw new Error('n должен быть не менее 0');
32
- }
33
- const result = [];
34
- for (let i = 0; i < n; i++) {
35
- result.push(fibonacci(i));
36
- }
37
- return result;
38
- }
39
- /**
40
- * Вычисляет n-е число Фибоначчи с мемоизацией для O(1) времени доступа
41
- * @param n - номер позиции
42
- * @returns значение числа Фибоначчи
43
- */
44
- export function fibonacciMemoized(n) {
45
- const memo = new Map();
46
- function fib(n) {
47
- if (memo.has(n))
48
- return memo.get(n);
49
- if (n < 0)
50
- throw new Error('n должен быть не менее 0');
51
- if (n === 0 || n === 1) {
52
- memo.set(n, n);
53
- return n;
54
- }
55
- const result = fib(n - 1) + fib(n - 2);
56
- memo.set(n, result);
57
- return result;
58
- }
59
- return fib(n);
60
- }
61
- //# sourceMappingURL=fibonacci.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fibonacci.js","sourceRoot":"","sources":["../src/fibonacci.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC;QACZ,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEvC,SAAS,GAAG,CAAC,CAAS;QACpB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC"}
@@ -1,4 +0,0 @@
1
- import './App.css';
2
- declare function App(): import("react").JSX.Element;
3
- export default App;
4
- //# sourceMappingURL=App.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/parfymerie-landing/src/App.tsx"],"names":[],"mappings":"AAIA,OAAO,WAAW,CAAA;AAElB,iBAAS,GAAG,gCAiHX;AAED,eAAe,GAAG,CAAA"}
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import reactLogo from './assets/react.svg';
4
- import viteLogo from './assets/vite.svg';
5
- import heroImg from './assets/hero.png';
6
- import './App.css';
7
- function App() {
8
- const [count, setCount] = useState(0);
9
- return (_jsxs(_Fragment, { children: [_jsxs("section", { id: "center", children: [_jsxs("div", { className: "hero", children: [_jsx("img", { src: heroImg, className: "base", width: "170", height: "179", alt: "" }), _jsx("img", { src: reactLogo, className: "framework", alt: "React logo" }), _jsx("img", { src: viteLogo, className: "vite", alt: "Vite logo" })] }), _jsxs("div", { children: [_jsx("h1", { children: "Get started" }), _jsxs("p", { children: ["Edit ", _jsx("code", { children: "src/App.tsx" }), " and save to test ", _jsx("code", { children: "HMR" })] })] }), _jsxs("button", { type: "button", className: "counter", onClick: () => setCount((count) => count + 1), children: ["Count is ", count] })] }), _jsx("div", { className: "ticks" }), _jsxs("section", { id: "next-steps", children: [_jsxs("div", { id: "docs", children: [_jsx("svg", { className: "icon", role: "presentation", "aria-hidden": "true", children: _jsx("use", { href: "/icons.svg#documentation-icon" }) }), _jsx("h2", { children: "Documentation" }), _jsx("p", { children: "Your questions, answered" }), _jsxs("ul", { children: [_jsx("li", { children: _jsxs("a", { href: "https://vite.dev/", target: "_blank", children: [_jsx("img", { className: "logo", src: viteLogo, alt: "" }), "Explore Vite"] }) }), _jsx("li", { children: _jsxs("a", { href: "https://react.dev/", target: "_blank", children: [_jsx("img", { className: "button-icon", src: reactLogo, alt: "" }), "Learn more"] }) })] })] }), _jsxs("div", { id: "social", children: [_jsx("svg", { className: "icon", role: "presentation", "aria-hidden": "true", children: _jsx("use", { href: "/icons.svg#social-icon" }) }), _jsx("h2", { children: "Connect with us" }), _jsx("p", { children: "Join the Vite community" }), _jsxs("ul", { children: [_jsx("li", { children: _jsxs("a", { href: "https://github.com/vitejs/vite", target: "_blank", children: [_jsx("svg", { className: "button-icon", role: "presentation", "aria-hidden": "true", children: _jsx("use", { href: "/icons.svg#github-icon" }) }), "GitHub"] }) }), _jsx("li", { children: _jsxs("a", { href: "https://chat.vite.dev/", target: "_blank", children: [_jsx("svg", { className: "button-icon", role: "presentation", "aria-hidden": "true", children: _jsx("use", { href: "/icons.svg#discord-icon" }) }), "Discord"] }) }), _jsx("li", { children: _jsxs("a", { href: "https://x.com/vite_js", target: "_blank", children: [_jsx("svg", { className: "button-icon", role: "presentation", "aria-hidden": "true", children: _jsx("use", { href: "/icons.svg#x-icon" }) }), "X.com"] }) }), _jsx("li", { children: _jsxs("a", { href: "https://bsky.app/profile/vite.dev", target: "_blank", children: [_jsx("svg", { className: "button-icon", role: "presentation", "aria-hidden": "true", children: _jsx("use", { href: "/icons.svg#bluesky-icon" }) }), "Bluesky"] }) })] })] })] }), _jsx("div", { className: "ticks" }), _jsx("section", { id: "spacer" })] }));
10
- }
11
- export default App;
12
- //# sourceMappingURL=App.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/parfymerie-landing/src/App.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import './index.css';
2
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/parfymerie-landing/src/main.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAA"}
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { StrictMode } from 'react';
3
- import { createRoot } from 'react-dom/client';
4
- import './index.css';
5
- import App from './App.tsx';
6
- createRoot(document.getElementById('root')).render(_jsx(StrictMode, { children: _jsx(App, {}) }));
7
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/parfymerie-landing/src/main.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,aAAa,CAAA;AACpB,OAAO,GAAG,MAAM,WAAW,CAAA;AAE3B,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC,MAAM,CACjD,KAAC,UAAU,cACT,KAAC,GAAG,KAAG,GACI,CACd,CAAA"}
@@ -1,3 +0,0 @@
1
- declare const _default: import("vite").UserConfig;
2
- export default _default;
3
- //# sourceMappingURL=vite.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.config.d.ts","sourceRoot":"","sources":["../../src/parfymerie-landing/vite.config.ts"],"names":[],"mappings":";AAIA,wBAEE"}
@@ -1,7 +0,0 @@
1
- import { defineConfig } from 'vite';
2
- import react from '@vitejs/plugin-react';
3
- // https://vite.dev/config/
4
- export default defineConfig({
5
- plugins: [react()],
6
- });
7
- //# sourceMappingURL=vite.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.config.js","sourceRoot":"","sources":["../../src/parfymerie-landing/vite.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,MAAM,sBAAsB,CAAA;AAExC,2BAA2B;AAC3B,eAAe,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;CACnB,CAAC,CAAA"}