zerg-ztc 0.1.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 (411) hide show
  1. package/README.md +361 -0
  2. package/dist/App.d.ts +4 -0
  3. package/dist/App.d.ts.map +1 -0
  4. package/dist/App.js +499 -0
  5. package/dist/App.js.map +1 -0
  6. package/dist/agent/agent.d.ts +54 -0
  7. package/dist/agent/agent.d.ts.map +1 -0
  8. package/dist/agent/agent.js +347 -0
  9. package/dist/agent/agent.js.map +1 -0
  10. package/dist/agent/backends/anthropic.d.ts +13 -0
  11. package/dist/agent/backends/anthropic.d.ts.map +1 -0
  12. package/dist/agent/backends/anthropic.js +54 -0
  13. package/dist/agent/backends/anthropic.js.map +1 -0
  14. package/dist/agent/backends/gemini.d.ts +13 -0
  15. package/dist/agent/backends/gemini.d.ts.map +1 -0
  16. package/dist/agent/backends/gemini.js +71 -0
  17. package/dist/agent/backends/gemini.js.map +1 -0
  18. package/dist/agent/backends/inception.d.ts +12 -0
  19. package/dist/agent/backends/inception.d.ts.map +1 -0
  20. package/dist/agent/backends/inception.js +15 -0
  21. package/dist/agent/backends/inception.js.map +1 -0
  22. package/dist/agent/backends/index.d.ts +7 -0
  23. package/dist/agent/backends/index.d.ts.map +1 -0
  24. package/dist/agent/backends/index.js +6 -0
  25. package/dist/agent/backends/index.js.map +1 -0
  26. package/dist/agent/backends/openai.d.ts +12 -0
  27. package/dist/agent/backends/openai.d.ts.map +1 -0
  28. package/dist/agent/backends/openai.js +15 -0
  29. package/dist/agent/backends/openai.js.map +1 -0
  30. package/dist/agent/backends/openai_compatible.d.ts +17 -0
  31. package/dist/agent/backends/openai_compatible.d.ts.map +1 -0
  32. package/dist/agent/backends/openai_compatible.js +95 -0
  33. package/dist/agent/backends/openai_compatible.js.map +1 -0
  34. package/dist/agent/backends/types.d.ts +49 -0
  35. package/dist/agent/backends/types.d.ts.map +1 -0
  36. package/dist/agent/backends/types.js +2 -0
  37. package/dist/agent/backends/types.js.map +1 -0
  38. package/dist/agent/commands/clipboard.d.ts +3 -0
  39. package/dist/agent/commands/clipboard.d.ts.map +1 -0
  40. package/dist/agent/commands/clipboard.js +72 -0
  41. package/dist/agent/commands/clipboard.js.map +1 -0
  42. package/dist/agent/commands/config.d.ts +3 -0
  43. package/dist/agent/commands/config.d.ts.map +1 -0
  44. package/dist/agent/commands/config.js +120 -0
  45. package/dist/agent/commands/config.js.map +1 -0
  46. package/dist/agent/commands/debug.d.ts +3 -0
  47. package/dist/agent/commands/debug.d.ts.map +1 -0
  48. package/dist/agent/commands/debug.js +23 -0
  49. package/dist/agent/commands/debug.js.map +1 -0
  50. package/dist/agent/commands/emulation.d.ts +3 -0
  51. package/dist/agent/commands/emulation.d.ts.map +1 -0
  52. package/dist/agent/commands/emulation.js +78 -0
  53. package/dist/agent/commands/emulation.js.map +1 -0
  54. package/dist/agent/commands/execution.d.ts +3 -0
  55. package/dist/agent/commands/execution.d.ts.map +1 -0
  56. package/dist/agent/commands/execution.js +8 -0
  57. package/dist/agent/commands/execution.js.map +1 -0
  58. package/dist/agent/commands/help.d.ts +3 -0
  59. package/dist/agent/commands/help.d.ts.map +1 -0
  60. package/dist/agent/commands/help.js +19 -0
  61. package/dist/agent/commands/help.js.map +1 -0
  62. package/dist/agent/commands/history.d.ts +3 -0
  63. package/dist/agent/commands/history.d.ts.map +1 -0
  64. package/dist/agent/commands/history.js +12 -0
  65. package/dist/agent/commands/history.js.map +1 -0
  66. package/dist/agent/commands/index.d.ts +4 -0
  67. package/dist/agent/commands/index.d.ts.map +1 -0
  68. package/dist/agent/commands/index.js +19 -0
  69. package/dist/agent/commands/index.js.map +1 -0
  70. package/dist/agent/commands/model.d.ts +3 -0
  71. package/dist/agent/commands/model.d.ts.map +1 -0
  72. package/dist/agent/commands/model.js +10 -0
  73. package/dist/agent/commands/model.js.map +1 -0
  74. package/dist/agent/commands/models.d.ts +3 -0
  75. package/dist/agent/commands/models.d.ts.map +1 -0
  76. package/dist/agent/commands/models.js +110 -0
  77. package/dist/agent/commands/models.js.map +1 -0
  78. package/dist/agent/commands/permissions.d.ts +3 -0
  79. package/dist/agent/commands/permissions.d.ts.map +1 -0
  80. package/dist/agent/commands/permissions.js +58 -0
  81. package/dist/agent/commands/permissions.js.map +1 -0
  82. package/dist/agent/commands/retry.d.ts +3 -0
  83. package/dist/agent/commands/retry.d.ts.map +1 -0
  84. package/dist/agent/commands/retry.js +8 -0
  85. package/dist/agent/commands/retry.js.map +1 -0
  86. package/dist/agent/commands/shell.d.ts +4 -0
  87. package/dist/agent/commands/shell.d.ts.map +1 -0
  88. package/dist/agent/commands/shell.js +66 -0
  89. package/dist/agent/commands/shell.js.map +1 -0
  90. package/dist/agent/commands/skills.d.ts +3 -0
  91. package/dist/agent/commands/skills.d.ts.map +1 -0
  92. package/dist/agent/commands/skills.js +50 -0
  93. package/dist/agent/commands/skills.js.map +1 -0
  94. package/dist/agent/commands/status.d.ts +3 -0
  95. package/dist/agent/commands/status.d.ts.map +1 -0
  96. package/dist/agent/commands/status.js +18 -0
  97. package/dist/agent/commands/status.js.map +1 -0
  98. package/dist/agent/commands/types.d.ts +70 -0
  99. package/dist/agent/commands/types.d.ts.map +1 -0
  100. package/dist/agent/commands/types.js +2 -0
  101. package/dist/agent/commands/types.js.map +1 -0
  102. package/dist/agent/factory.d.ts +13 -0
  103. package/dist/agent/factory.d.ts.map +1 -0
  104. package/dist/agent/factory.js +46 -0
  105. package/dist/agent/factory.js.map +1 -0
  106. package/dist/agent/index.d.ts +14 -0
  107. package/dist/agent/index.d.ts.map +1 -0
  108. package/dist/agent/index.js +10 -0
  109. package/dist/agent/index.js.map +1 -0
  110. package/dist/agent/runtime/capabilities.d.ts +7 -0
  111. package/dist/agent/runtime/capabilities.d.ts.map +1 -0
  112. package/dist/agent/runtime/capabilities.js +8 -0
  113. package/dist/agent/runtime/capabilities.js.map +1 -0
  114. package/dist/agent/runtime/memory.d.ts +13 -0
  115. package/dist/agent/runtime/memory.d.ts.map +1 -0
  116. package/dist/agent/runtime/memory.js +13 -0
  117. package/dist/agent/runtime/memory.js.map +1 -0
  118. package/dist/agent/runtime/policy.d.ts +22 -0
  119. package/dist/agent/runtime/policy.d.ts.map +1 -0
  120. package/dist/agent/runtime/policy.js +29 -0
  121. package/dist/agent/runtime/policy.js.map +1 -0
  122. package/dist/agent/runtime/session.d.ts +11 -0
  123. package/dist/agent/runtime/session.d.ts.map +1 -0
  124. package/dist/agent/runtime/session.js +10 -0
  125. package/dist/agent/runtime/session.js.map +1 -0
  126. package/dist/agent/runtime/tracing.d.ts +13 -0
  127. package/dist/agent/runtime/tracing.d.ts.map +1 -0
  128. package/dist/agent/runtime/tracing.js +6 -0
  129. package/dist/agent/runtime/tracing.js.map +1 -0
  130. package/dist/agent/tools/file.d.ts +5 -0
  131. package/dist/agent/tools/file.d.ts.map +1 -0
  132. package/dist/agent/tools/file.js +162 -0
  133. package/dist/agent/tools/file.js.map +1 -0
  134. package/dist/agent/tools/index.d.ts +13 -0
  135. package/dist/agent/tools/index.d.ts.map +1 -0
  136. package/dist/agent/tools/index.js +34 -0
  137. package/dist/agent/tools/index.js.map +1 -0
  138. package/dist/agent/tools/search.d.ts +3 -0
  139. package/dist/agent/tools/search.d.ts.map +1 -0
  140. package/dist/agent/tools/search.js +124 -0
  141. package/dist/agent/tools/search.js.map +1 -0
  142. package/dist/agent/tools/shell.d.ts +3 -0
  143. package/dist/agent/tools/shell.d.ts.map +1 -0
  144. package/dist/agent/tools/shell.js +60 -0
  145. package/dist/agent/tools/shell.js.map +1 -0
  146. package/dist/agent/tools/skills.d.ts +3 -0
  147. package/dist/agent/tools/skills.d.ts.map +1 -0
  148. package/dist/agent/tools/skills.js +27 -0
  149. package/dist/agent/tools/skills.js.map +1 -0
  150. package/dist/agent/tools/types.d.ts +8 -0
  151. package/dist/agent/tools/types.d.ts.map +1 -0
  152. package/dist/agent/tools/types.js +2 -0
  153. package/dist/agent/tools/types.js.map +1 -0
  154. package/dist/agent/tools/zerg.d.ts +3 -0
  155. package/dist/agent/tools/zerg.d.ts.map +1 -0
  156. package/dist/agent/tools/zerg.js +47 -0
  157. package/dist/agent/tools/zerg.js.map +1 -0
  158. package/dist/cli.d.ts +3 -0
  159. package/dist/cli.d.ts.map +1 -0
  160. package/dist/cli.js +75 -0
  161. package/dist/cli.js.map +1 -0
  162. package/dist/components/FullScreen.d.ts +28 -0
  163. package/dist/components/FullScreen.d.ts.map +1 -0
  164. package/dist/components/FullScreen.js +40 -0
  165. package/dist/components/FullScreen.js.map +1 -0
  166. package/dist/components/Header.d.ts +10 -0
  167. package/dist/components/Header.d.ts.map +1 -0
  168. package/dist/components/Header.js +14 -0
  169. package/dist/components/Header.js.map +1 -0
  170. package/dist/components/InputArea.d.ts +24 -0
  171. package/dist/components/InputArea.d.ts.map +1 -0
  172. package/dist/components/InputArea.js +476 -0
  173. package/dist/components/InputArea.js.map +1 -0
  174. package/dist/components/MessageList.d.ts +12 -0
  175. package/dist/components/MessageList.d.ts.map +1 -0
  176. package/dist/components/MessageList.js +9 -0
  177. package/dist/components/MessageList.js.map +1 -0
  178. package/dist/components/StatusBar.d.ts +18 -0
  179. package/dist/components/StatusBar.d.ts.map +1 -0
  180. package/dist/components/StatusBar.js +21 -0
  181. package/dist/components/StatusBar.js.map +1 -0
  182. package/dist/components/index.d.ts +6 -0
  183. package/dist/components/index.d.ts.map +1 -0
  184. package/dist/components/index.js +7 -0
  185. package/dist/components/index.js.map +1 -0
  186. package/dist/config/types.d.ts +12 -0
  187. package/dist/config/types.d.ts.map +1 -0
  188. package/dist/config/types.js +2 -0
  189. package/dist/config/types.js.map +1 -0
  190. package/dist/config.d.ts +28 -0
  191. package/dist/config.d.ts.map +1 -0
  192. package/dist/config.js +155 -0
  193. package/dist/config.js.map +1 -0
  194. package/dist/debug/logger.d.ts +2 -0
  195. package/dist/debug/logger.d.ts.map +1 -0
  196. package/dist/debug/logger.js +15 -0
  197. package/dist/debug/logger.js.map +1 -0
  198. package/dist/emulation/catalog.d.ts +4 -0
  199. package/dist/emulation/catalog.d.ts.map +1 -0
  200. package/dist/emulation/catalog.js +68 -0
  201. package/dist/emulation/catalog.js.map +1 -0
  202. package/dist/emulation/trace_style.d.ts +3 -0
  203. package/dist/emulation/trace_style.d.ts.map +1 -0
  204. package/dist/emulation/trace_style.js +10 -0
  205. package/dist/emulation/trace_style.js.map +1 -0
  206. package/dist/emulation/types.d.ts +8 -0
  207. package/dist/emulation/types.d.ts.map +1 -0
  208. package/dist/emulation/types.js +2 -0
  209. package/dist/emulation/types.js.map +1 -0
  210. package/dist/skills/index.d.ts +5 -0
  211. package/dist/skills/index.d.ts.map +1 -0
  212. package/dist/skills/index.js +36 -0
  213. package/dist/skills/index.js.map +1 -0
  214. package/dist/skills/loader.d.ts +3 -0
  215. package/dist/skills/loader.d.ts.map +1 -0
  216. package/dist/skills/loader.js +137 -0
  217. package/dist/skills/loader.js.map +1 -0
  218. package/dist/skills/registry.d.ts +3 -0
  219. package/dist/skills/registry.d.ts.map +1 -0
  220. package/dist/skills/registry.js +5 -0
  221. package/dist/skills/registry.js.map +1 -0
  222. package/dist/skills/types.d.ts +11 -0
  223. package/dist/skills/types.d.ts.map +1 -0
  224. package/dist/skills/types.js +2 -0
  225. package/dist/skills/types.js.map +1 -0
  226. package/dist/types.d.ts +93 -0
  227. package/dist/types.d.ts.map +1 -0
  228. package/dist/types.js +5 -0
  229. package/dist/types.js.map +1 -0
  230. package/dist/ui/core/factory.d.ts +4 -0
  231. package/dist/ui/core/factory.d.ts.map +1 -0
  232. package/dist/ui/core/factory.js +7 -0
  233. package/dist/ui/core/factory.js.map +1 -0
  234. package/dist/ui/core/index.d.ts +5 -0
  235. package/dist/ui/core/index.d.ts.map +1 -0
  236. package/dist/ui/core/index.js +4 -0
  237. package/dist/ui/core/index.js.map +1 -0
  238. package/dist/ui/core/input.d.ts +22 -0
  239. package/dist/ui/core/input.d.ts.map +1 -0
  240. package/dist/ui/core/input.js +15 -0
  241. package/dist/ui/core/input.js.map +1 -0
  242. package/dist/ui/core/input_segments.d.ts +19 -0
  243. package/dist/ui/core/input_segments.d.ts.map +1 -0
  244. package/dist/ui/core/input_segments.js +367 -0
  245. package/dist/ui/core/input_segments.js.map +1 -0
  246. package/dist/ui/core/input_state.d.ts +24 -0
  247. package/dist/ui/core/input_state.d.ts.map +1 -0
  248. package/dist/ui/core/input_state.js +2 -0
  249. package/dist/ui/core/input_state.js.map +1 -0
  250. package/dist/ui/core/layout_yoga.d.ts +11 -0
  251. package/dist/ui/core/layout_yoga.d.ts.map +1 -0
  252. package/dist/ui/core/layout_yoga.js +102 -0
  253. package/dist/ui/core/layout_yoga.js.map +1 -0
  254. package/dist/ui/core/style.d.ts +3 -0
  255. package/dist/ui/core/style.d.ts.map +1 -0
  256. package/dist/ui/core/style.js +37 -0
  257. package/dist/ui/core/style.js.map +1 -0
  258. package/dist/ui/core/types.d.ts +50 -0
  259. package/dist/ui/core/types.d.ts.map +1 -0
  260. package/dist/ui/core/types.js +2 -0
  261. package/dist/ui/core/types.js.map +1 -0
  262. package/dist/ui/ink/index.d.ts +2 -0
  263. package/dist/ui/ink/index.d.ts.map +1 -0
  264. package/dist/ui/ink/index.js +2 -0
  265. package/dist/ui/ink/index.js.map +1 -0
  266. package/dist/ui/ink/render.d.ts +6 -0
  267. package/dist/ui/ink/render.d.ts.map +1 -0
  268. package/dist/ui/ink/render.js +14 -0
  269. package/dist/ui/ink/render.js.map +1 -0
  270. package/dist/ui/views/app.d.ts +28 -0
  271. package/dist/ui/views/app.d.ts.map +1 -0
  272. package/dist/ui/views/app.js +59 -0
  273. package/dist/ui/views/app.js.map +1 -0
  274. package/dist/ui/views/header.d.ts +11 -0
  275. package/dist/ui/views/header.d.ts.map +1 -0
  276. package/dist/ui/views/header.js +28 -0
  277. package/dist/ui/views/header.js.map +1 -0
  278. package/dist/ui/views/input_area.d.ts +45 -0
  279. package/dist/ui/views/input_area.d.ts.map +1 -0
  280. package/dist/ui/views/input_area.js +183 -0
  281. package/dist/ui/views/input_area.js.map +1 -0
  282. package/dist/ui/views/message_list.d.ts +12 -0
  283. package/dist/ui/views/message_list.d.ts.map +1 -0
  284. package/dist/ui/views/message_list.js +381 -0
  285. package/dist/ui/views/message_list.js.map +1 -0
  286. package/dist/ui/views/status_bar.d.ts +18 -0
  287. package/dist/ui/views/status_bar.d.ts.map +1 -0
  288. package/dist/ui/views/status_bar.js +72 -0
  289. package/dist/ui/views/status_bar.js.map +1 -0
  290. package/dist/ui/vue/index.d.ts +5 -0
  291. package/dist/ui/vue/index.d.ts.map +1 -0
  292. package/dist/ui/vue/index.js +50 -0
  293. package/dist/ui/vue/index.js.map +1 -0
  294. package/dist/utils/clipboard.d.ts +2 -0
  295. package/dist/utils/clipboard.d.ts.map +1 -0
  296. package/dist/utils/clipboard.js +39 -0
  297. package/dist/utils/clipboard.js.map +1 -0
  298. package/dist/utils/clipboard_image.d.ts +2 -0
  299. package/dist/utils/clipboard_image.d.ts.map +1 -0
  300. package/dist/utils/clipboard_image.js +37 -0
  301. package/dist/utils/clipboard_image.js.map +1 -0
  302. package/dist/utils/diff.d.ts +2 -0
  303. package/dist/utils/diff.d.ts.map +1 -0
  304. package/dist/utils/diff.js +49 -0
  305. package/dist/utils/diff.js.map +1 -0
  306. package/dist/utils/image_preview.d.ts +2 -0
  307. package/dist/utils/image_preview.d.ts.map +1 -0
  308. package/dist/utils/image_preview.js +37 -0
  309. package/dist/utils/image_preview.js.map +1 -0
  310. package/dist/utils/models.d.ts +8 -0
  311. package/dist/utils/models.d.ts.map +1 -0
  312. package/dist/utils/models.js +85 -0
  313. package/dist/utils/models.js.map +1 -0
  314. package/dist/utils/shell.d.ts +4 -0
  315. package/dist/utils/shell.d.ts.map +1 -0
  316. package/dist/utils/shell.js +57 -0
  317. package/dist/utils/shell.js.map +1 -0
  318. package/dist/utils/tool_summary.d.ts +3 -0
  319. package/dist/utils/tool_summary.d.ts.map +1 -0
  320. package/dist/utils/tool_summary.js +54 -0
  321. package/dist/utils/tool_summary.js.map +1 -0
  322. package/dist/utils/tool_trace.d.ts +9 -0
  323. package/dist/utils/tool_trace.d.ts.map +1 -0
  324. package/dist/utils/tool_trace.js +183 -0
  325. package/dist/utils/tool_trace.js.map +1 -0
  326. package/package.json +41 -0
  327. package/src/App.tsx +576 -0
  328. package/src/agent/agent.ts +407 -0
  329. package/src/agent/backends/anthropic.ts +76 -0
  330. package/src/agent/backends/gemini.ts +107 -0
  331. package/src/agent/backends/inception.ts +23 -0
  332. package/src/agent/backends/index.ts +16 -0
  333. package/src/agent/backends/openai.ts +23 -0
  334. package/src/agent/backends/openai_compatible.ts +131 -0
  335. package/src/agent/backends/types.ts +59 -0
  336. package/src/agent/commands/clipboard.ts +77 -0
  337. package/src/agent/commands/config.ts +130 -0
  338. package/src/agent/commands/debug.ts +23 -0
  339. package/src/agent/commands/emulation.ts +80 -0
  340. package/src/agent/commands/execution.ts +9 -0
  341. package/src/agent/commands/help.ts +20 -0
  342. package/src/agent/commands/history.ts +13 -0
  343. package/src/agent/commands/index.ts +40 -0
  344. package/src/agent/commands/model.ts +11 -0
  345. package/src/agent/commands/models.ts +116 -0
  346. package/src/agent/commands/permissions.ts +64 -0
  347. package/src/agent/commands/retry.ts +9 -0
  348. package/src/agent/commands/shell.ts +68 -0
  349. package/src/agent/commands/skills.ts +54 -0
  350. package/src/agent/commands/status.ts +19 -0
  351. package/src/agent/commands/types.ts +78 -0
  352. package/src/agent/factory.ts +60 -0
  353. package/src/agent/index.ts +20 -0
  354. package/src/agent/runtime/capabilities.ts +6 -0
  355. package/src/agent/runtime/memory.ts +23 -0
  356. package/src/agent/runtime/policy.ts +48 -0
  357. package/src/agent/runtime/session.ts +18 -0
  358. package/src/agent/runtime/tracing.ts +23 -0
  359. package/src/agent/tools/file.ts +173 -0
  360. package/src/agent/tools/index.ts +46 -0
  361. package/src/agent/tools/search.ts +137 -0
  362. package/src/agent/tools/shell.ts +65 -0
  363. package/src/agent/tools/skills.ts +28 -0
  364. package/src/agent/tools/types.ts +10 -0
  365. package/src/agent/tools/zerg.ts +50 -0
  366. package/src/cli.tsx +80 -0
  367. package/src/components/FullScreen.tsx +73 -0
  368. package/src/components/Header.tsx +27 -0
  369. package/src/components/InputArea.tsx +551 -0
  370. package/src/components/MessageList.tsx +25 -0
  371. package/src/components/StatusBar.tsx +49 -0
  372. package/src/components/index.tsx +6 -0
  373. package/src/config/types.ts +11 -0
  374. package/src/config.ts +178 -0
  375. package/src/debug/logger.ts +14 -0
  376. package/src/emulation/README.md +24 -0
  377. package/src/emulation/catalog.ts +82 -0
  378. package/src/emulation/trace_style.ts +8 -0
  379. package/src/emulation/types.ts +7 -0
  380. package/src/skills/index.ts +36 -0
  381. package/src/skills/loader.ts +135 -0
  382. package/src/skills/registry.ts +6 -0
  383. package/src/skills/types.ts +10 -0
  384. package/src/types.ts +83 -0
  385. package/src/ui/README.md +44 -0
  386. package/src/ui/core/factory.ts +9 -0
  387. package/src/ui/core/index.ts +4 -0
  388. package/src/ui/core/input.ts +38 -0
  389. package/src/ui/core/input_segments.ts +375 -0
  390. package/src/ui/core/input_state.ts +17 -0
  391. package/src/ui/core/layout_yoga.ts +122 -0
  392. package/src/ui/core/style.ts +38 -0
  393. package/src/ui/core/types.ts +53 -0
  394. package/src/ui/ink/index.tsx +1 -0
  395. package/src/ui/ink/render.tsx +49 -0
  396. package/src/ui/views/app.ts +99 -0
  397. package/src/ui/views/header.ts +42 -0
  398. package/src/ui/views/input_area.ts +244 -0
  399. package/src/ui/views/message_list.ts +427 -0
  400. package/src/ui/views/status_bar.ts +104 -0
  401. package/src/ui/vue/index.ts +53 -0
  402. package/src/utils/clipboard.ts +39 -0
  403. package/src/utils/clipboard_image.ts +40 -0
  404. package/src/utils/diff.ts +52 -0
  405. package/src/utils/image_preview.ts +36 -0
  406. package/src/utils/models.ts +98 -0
  407. package/src/utils/shell.ts +63 -0
  408. package/src/utils/tool_summary.ts +56 -0
  409. package/src/utils/tool_trace.ts +206 -0
  410. package/tsconfig.json +22 -0
  411. package/vite.config.ts +363 -0
@@ -0,0 +1,476 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React, { useReducer, useCallback } from 'react';
3
+ import { useInput, useStdout } from 'ink';
4
+ import { InkNode } from '../ui/ink/index.js';
5
+ import { buildInputAreaView, wrapInputSegments } from '../ui/views/input_area.js';
6
+ import { debugLog } from '../debug/logger.js';
7
+ import chalk from 'chalk';
8
+ import { saveClipboardImage } from '../utils/clipboard_image.js';
9
+ import { renderImagePreview } from '../utils/image_preview.js';
10
+ import { createEmptyState, insertText, insertBadge, backspace, deleteForward, moveLeft, moveRight, moveWordLeft, moveWordRight, getPlainText, serializeSegments, PASTE_BADGE_THRESHOLD } from '../ui/core/input_segments.js';
11
+ const initialState = createEmptyState();
12
+ function reducer(state, action) {
13
+ switch (action.type) {
14
+ case 'apply':
15
+ return { ...state, ...action.state };
16
+ case 'submit': {
17
+ const history = action.historyEnabled && action.historyEntry
18
+ ? [...state.history.slice(-100), action.historyEntry]
19
+ : state.history;
20
+ return {
21
+ ...state,
22
+ segments: [],
23
+ cursor: { index: 0, offset: 0 },
24
+ historyIdx: -1,
25
+ history
26
+ };
27
+ }
28
+ case 'history_nav': {
29
+ if (!action.historyEnabled || state.history.length === 0)
30
+ return state;
31
+ let newIdx;
32
+ if (action.direction === 'up') {
33
+ newIdx = state.historyIdx === -1
34
+ ? state.history.length - 1
35
+ : Math.max(0, state.historyIdx - 1);
36
+ }
37
+ else {
38
+ newIdx = state.historyIdx === -1 ? -1 : state.historyIdx + 1;
39
+ if (newIdx >= state.history.length)
40
+ newIdx = -1;
41
+ }
42
+ if (newIdx === -1) {
43
+ return { ...state, historyIdx: -1, segments: [], cursor: { index: 0, offset: 0 } };
44
+ }
45
+ const historyValue = state.history[newIdx];
46
+ const nextSegments = historyValue.length > 0
47
+ ? [{ type: 'text', text: historyValue }]
48
+ : [];
49
+ return {
50
+ ...state,
51
+ historyIdx: newIdx,
52
+ segments: nextSegments,
53
+ cursor: { index: nextSegments.length ? 0 : 0, offset: historyValue.length }
54
+ };
55
+ }
56
+ default:
57
+ return state;
58
+ }
59
+ }
60
+ export const InputArea = ({ onSubmit, onCommand, commands = [], onStateChange, onToast, cols = process.stdout.columns || 80, inputBus, disabled = false, placeholder = 'Type a message...', historyEnabled = true, debug = false }) => {
61
+ const [state, dispatch] = useReducer(reducer, initialState);
62
+ const stateRef = React.useRef(state);
63
+ const [badgePreview, setBadgePreview] = React.useState(null);
64
+ React.useEffect(() => {
65
+ stateRef.current = state;
66
+ onStateChange?.(state);
67
+ }, [onStateChange, state]);
68
+ React.useEffect(() => {
69
+ const segment = state.segments[state.cursor.index];
70
+ if (!segment || segment.type === 'text') {
71
+ setBadgePreview(null);
72
+ return;
73
+ }
74
+ if (segment.type === 'paste') {
75
+ const lines = segment.text.split('\n');
76
+ const preview = lines.slice(0, 3);
77
+ if (lines.length > 3)
78
+ preview.push('…');
79
+ setBadgePreview(preview);
80
+ return;
81
+ }
82
+ if (segment.type === 'file') {
83
+ setBadgePreview([`[file] ${segment.path}`]);
84
+ return;
85
+ }
86
+ if (segment.type === 'image') {
87
+ renderImagePreview(segment.path, 40, 16).then(result => {
88
+ if (result && result.length > 0) {
89
+ setBadgePreview(result);
90
+ }
91
+ else {
92
+ setBadgePreview([`[image] ${segment.path}`, 'Install chafa for preview.']);
93
+ }
94
+ }).catch(() => {
95
+ setBadgePreview([`[image] ${segment.path}`]);
96
+ });
97
+ }
98
+ }, [state.cursor.index, state.segments]);
99
+ const inputRenderCount = React.useRef(0);
100
+ React.useEffect(() => {
101
+ inputRenderCount.current += 1;
102
+ const totalLength = state.segments.reduce((acc, segment) => (segment.type === 'text' ? acc + segment.text.length : acc + 0), 0);
103
+ debugLog(`InputArea render #${inputRenderCount.current} (valueLen=${totalLength})`);
104
+ });
105
+ const handleSubmit = useCallback(() => {
106
+ const serialized = serializeSegments(state.segments).trim();
107
+ if (!serialized)
108
+ return;
109
+ const plainText = getPlainText(state.segments).trim();
110
+ const isCommand = state.segments.length === 1 && state.segments[0].type === 'text' && plainText.startsWith('/');
111
+ if (isCommand) {
112
+ const parts = plainText.slice(1).split(/\s+/);
113
+ const cmd = parts[0];
114
+ const args = parts.slice(1);
115
+ onCommand?.(cmd, args);
116
+ }
117
+ else {
118
+ onSubmit(serialized);
119
+ }
120
+ dispatch({ type: 'submit', historyEnabled, historyEntry: serialized });
121
+ }, [state.segments, onSubmit, onCommand, historyEnabled]);
122
+ const navigateHistory = useCallback((direction) => {
123
+ dispatch({ type: 'history_nav', direction, historyEnabled });
124
+ }, [historyEnabled]);
125
+ const { stdout } = useStdout();
126
+ const overlayEnabled = process.env.ZTC_INPUT_OVERLAY !== '0' && process.env.ZTC_WEB_MIRROR !== '1';
127
+ const overlayStateRef = React.useRef(initialState);
128
+ const overlayBusyRef = React.useRef(false);
129
+ const pasteBusyRef = React.useRef(false);
130
+ const insertTextIntoState = useCallback((text) => {
131
+ const current = stateRef.current;
132
+ const next = insertText(current, text);
133
+ dispatch({ type: 'apply', state: { ...next, historyIdx: -1 } });
134
+ }, []);
135
+ const renderOverlay = useCallback((overlayState) => {
136
+ if (!stdout || !stdout.isTTY)
137
+ return;
138
+ if (overlayBusyRef.current)
139
+ return;
140
+ overlayBusyRef.current = true;
141
+ const rows = stdout.rows || 24;
142
+ const statusHeight = 1;
143
+ const cols = stdout.columns || 80;
144
+ const wrapped = wrapInputSegments(overlayState.segments, overlayState.cursor, cols);
145
+ const inputLines = Math.max(1, wrapped.lines.length);
146
+ const inputHeight = inputLines + 4;
147
+ const startRow = Math.max(1, rows - (inputHeight + statusHeight) + 1);
148
+ const prompt = disabled ? chalk.gray('❯ ') : chalk.blue('❯ ');
149
+ const lines = [];
150
+ if (disabled) {
151
+ lines.push(prompt + chalk.gray(placeholder));
152
+ }
153
+ else if (overlayState.segments.length === 0) {
154
+ lines.push(prompt + chalk.inverse(' ') + chalk.gray(placeholder));
155
+ }
156
+ else {
157
+ wrapped.lines.forEach((lineTokens, index) => {
158
+ const prefix = index === 0 ? prompt : ' ';
159
+ let lineText = prefix;
160
+ lineTokens.forEach((token, tokenIndex) => {
161
+ const isCursor = index === wrapped.cursorLine && tokenIndex === wrapped.cursorCol;
162
+ if (isCursor) {
163
+ lineText += chalk.inverse(token.text || ' ');
164
+ }
165
+ else if (token.style?.color === 'yellow') {
166
+ lineText += chalk.gray(token.text);
167
+ }
168
+ else {
169
+ lineText += token.text;
170
+ }
171
+ });
172
+ if (index === wrapped.cursorLine && wrapped.cursorCol === lineTokens.length) {
173
+ lineText += chalk.inverse(' ');
174
+ }
175
+ lines.push(lineText);
176
+ });
177
+ }
178
+ const plainText = overlayState.segments.length === 1 && overlayState.segments[0].type === 'text'
179
+ ? overlayState.segments[0].text
180
+ : '';
181
+ const isCommandMode = plainText.startsWith('/');
182
+ const commandQuery = isCommandMode ? plainText.slice(1).trim() : '';
183
+ const commandMatches = isCommandMode
184
+ ? commands.filter(c => c.name.startsWith(commandQuery)).slice(0, 4)
185
+ : [];
186
+ for (let i = 0; i < 4; i += 1) {
187
+ const cmd = commandMatches[i];
188
+ if (!cmd) {
189
+ lines.push(' ');
190
+ continue;
191
+ }
192
+ const usage = cmd.usage ? ` ${cmd.usage}` : '';
193
+ const line = `${chalk.cyan.bold(`/${cmd.name}`)}${chalk.white(usage)}${chalk.gray(` — ${cmd.description}`)}`;
194
+ lines.push(line);
195
+ }
196
+ stdout.write('\x1b[s');
197
+ for (let i = 0; i < inputHeight; i += 1) {
198
+ const row = startRow + i;
199
+ const raw = lines[i] || '';
200
+ const trimmed = raw.length > cols ? raw.slice(0, cols) : raw;
201
+ stdout.write(`\x1b[${row};1H\x1b[2K${trimmed}`);
202
+ }
203
+ stdout.write('\x1b[u');
204
+ overlayBusyRef.current = false;
205
+ }, [commands, disabled, placeholder, stdout]);
206
+ const insertTextIntoOverlay = useCallback((text) => {
207
+ const current = overlayStateRef.current;
208
+ const next = insertText(current, text);
209
+ overlayStateRef.current = { ...next, historyIdx: -1 };
210
+ renderOverlay(overlayStateRef.current);
211
+ }, [renderOverlay]);
212
+ const handleClipboardImagePaste = useCallback(async (target) => {
213
+ if (pasteBusyRef.current)
214
+ return;
215
+ pasteBusyRef.current = true;
216
+ try {
217
+ const path = await saveClipboardImage();
218
+ if (!path)
219
+ return;
220
+ onToast?.(`Image saved to ${path}`);
221
+ if (target === 'overlay') {
222
+ const current = overlayStateRef.current;
223
+ const next = insertBadge(current, { type: 'image', path });
224
+ overlayStateRef.current = { ...next, historyIdx: -1 };
225
+ renderOverlay(overlayStateRef.current);
226
+ }
227
+ else {
228
+ const current = stateRef.current;
229
+ const next = insertBadge(current, { type: 'image', path });
230
+ dispatch({ type: 'apply', state: { ...next, historyIdx: -1 } });
231
+ }
232
+ }
233
+ finally {
234
+ pasteBusyRef.current = false;
235
+ }
236
+ }, [insertTextIntoOverlay, insertTextIntoState, onToast, renderOverlay]);
237
+ const handleInput = useCallback((input, key) => {
238
+ if (disabled)
239
+ return;
240
+ if ((key.ctrl || key.meta) && (input === 'v' || input === '\u0016')) {
241
+ void handleClipboardImagePaste('state');
242
+ return;
243
+ }
244
+ if (key.return && !key.shift) {
245
+ handleSubmit();
246
+ return;
247
+ }
248
+ if (key.return && key.shift) {
249
+ const next = insertText(state, '\n');
250
+ dispatch({ type: 'apply', state: { ...next, historyIdx: -1 } });
251
+ return;
252
+ }
253
+ if (key.upArrow) {
254
+ navigateHistory('up');
255
+ return;
256
+ }
257
+ if (key.downArrow) {
258
+ navigateHistory('down');
259
+ return;
260
+ }
261
+ if (key.leftArrow) {
262
+ if (key.ctrl) {
263
+ dispatch({ type: 'apply', state: moveWordLeft(state) });
264
+ }
265
+ else {
266
+ dispatch({ type: 'apply', state: moveLeft(state) });
267
+ }
268
+ return;
269
+ }
270
+ if (key.rightArrow) {
271
+ if (key.ctrl) {
272
+ dispatch({ type: 'apply', state: moveWordRight(state) });
273
+ }
274
+ else {
275
+ dispatch({ type: 'apply', state: moveRight(state) });
276
+ }
277
+ return;
278
+ }
279
+ if (key.ctrl && input === 'a') {
280
+ dispatch({ type: 'apply', state: { cursor: { index: 0, offset: 0 } } });
281
+ return;
282
+ }
283
+ if (key.ctrl && input === 'e') {
284
+ dispatch({ type: 'apply', state: { cursor: { index: state.segments.length, offset: 0 } } });
285
+ return;
286
+ }
287
+ if (key.backspace || key.delete) {
288
+ const next = key.backspace ? backspace(state) : deleteForward(state);
289
+ dispatch({ type: 'apply', state: next });
290
+ return;
291
+ }
292
+ if (key.ctrl && input === 'u') {
293
+ dispatch({ type: 'apply', state: { segments: [], cursor: { index: 0, offset: 0 } } });
294
+ return;
295
+ }
296
+ if (key.ctrl && input === 'w') {
297
+ const next = backspace(moveWordLeft(state));
298
+ dispatch({ type: 'apply', state: next });
299
+ return;
300
+ }
301
+ if (!key.ctrl && !key.meta && input) {
302
+ if (input.includes('\n')) {
303
+ const lineCount = input.split('\n').length;
304
+ if (lineCount >= PASTE_BADGE_THRESHOLD) {
305
+ const next = insertBadge(state, { type: 'paste', text: input });
306
+ dispatch({ type: 'apply', state: { ...next, historyIdx: -1 } });
307
+ return;
308
+ }
309
+ }
310
+ const next = insertText(state, input);
311
+ dispatch({ type: 'apply', state: { ...next, historyIdx: -1 } });
312
+ }
313
+ }, [disabled, handleSubmit, navigateHistory, state]);
314
+ const handleOverlayInput = useCallback((input, key) => {
315
+ if (disabled)
316
+ return;
317
+ const current = overlayStateRef.current;
318
+ if ((key.ctrl || key.meta) && (input === 'v' || input === '\u0016')) {
319
+ void handleClipboardImagePaste('overlay');
320
+ return;
321
+ }
322
+ if (key.return && !key.shift) {
323
+ const serialized = serializeSegments(current.segments).trim();
324
+ if (serialized) {
325
+ const plainText = getPlainText(current.segments).trim();
326
+ const isCommand = current.segments.length === 1 && current.segments[0].type === 'text' && plainText.startsWith('/');
327
+ if (isCommand) {
328
+ const parts = plainText.slice(1).split(/\s+/);
329
+ const cmd = parts[0];
330
+ const args = parts.slice(1);
331
+ onCommand?.(cmd, args);
332
+ }
333
+ else {
334
+ onSubmit(serialized);
335
+ }
336
+ if (historyEnabled) {
337
+ current.history = [...current.history.slice(-100), serialized];
338
+ }
339
+ }
340
+ overlayStateRef.current = { ...createEmptyState(), history: current.history, historyIdx: -1 };
341
+ renderOverlay(overlayStateRef.current);
342
+ return;
343
+ }
344
+ if (key.return && key.shift) {
345
+ overlayStateRef.current = { ...insertText(current, '\n'), historyIdx: -1 };
346
+ renderOverlay(overlayStateRef.current);
347
+ return;
348
+ }
349
+ if (key.upArrow || key.downArrow) {
350
+ const direction = key.upArrow ? 'up' : 'down';
351
+ if (historyEnabled && current.history.length > 0) {
352
+ let newIdx;
353
+ if (direction === 'up') {
354
+ newIdx = current.historyIdx === -1 ? current.history.length - 1 : Math.max(0, current.historyIdx - 1);
355
+ }
356
+ else {
357
+ newIdx = current.historyIdx === -1 ? -1 : current.historyIdx + 1;
358
+ if (newIdx >= current.history.length)
359
+ newIdx = -1;
360
+ }
361
+ if (newIdx === -1) {
362
+ overlayStateRef.current = { ...createEmptyState(), history: current.history, historyIdx: -1 };
363
+ }
364
+ else {
365
+ const historyValue = current.history[newIdx];
366
+ overlayStateRef.current = {
367
+ ...current,
368
+ historyIdx: newIdx,
369
+ segments: historyValue.length > 0 ? [{ type: 'text', text: historyValue }] : [],
370
+ cursor: { index: historyValue.length > 0 ? 0 : 0, offset: historyValue.length }
371
+ };
372
+ }
373
+ renderOverlay(overlayStateRef.current);
374
+ }
375
+ return;
376
+ }
377
+ if (key.leftArrow) {
378
+ if (key.ctrl) {
379
+ overlayStateRef.current = moveWordLeft(current);
380
+ }
381
+ else {
382
+ overlayStateRef.current = moveLeft(current);
383
+ }
384
+ renderOverlay(overlayStateRef.current);
385
+ return;
386
+ }
387
+ if (key.rightArrow) {
388
+ if (key.ctrl) {
389
+ overlayStateRef.current = moveWordRight(current);
390
+ }
391
+ else {
392
+ overlayStateRef.current = moveRight(current);
393
+ }
394
+ renderOverlay(overlayStateRef.current);
395
+ return;
396
+ }
397
+ if (key.ctrl && input === 'a') {
398
+ overlayStateRef.current = { ...current, cursor: { index: 0, offset: 0 } };
399
+ renderOverlay(overlayStateRef.current);
400
+ return;
401
+ }
402
+ if (key.ctrl && input === 'e') {
403
+ overlayStateRef.current = { ...current, cursor: { index: current.segments.length, offset: 0 } };
404
+ renderOverlay(overlayStateRef.current);
405
+ return;
406
+ }
407
+ if (key.backspace || key.delete) {
408
+ overlayStateRef.current = key.backspace ? backspace(current) : deleteForward(current);
409
+ renderOverlay(overlayStateRef.current);
410
+ return;
411
+ }
412
+ if (key.ctrl && input === 'u') {
413
+ overlayStateRef.current = { ...createEmptyState(), history: current.history, historyIdx: -1 };
414
+ renderOverlay(overlayStateRef.current);
415
+ return;
416
+ }
417
+ if (key.ctrl && input === 'w') {
418
+ overlayStateRef.current = backspace(moveWordLeft(current));
419
+ renderOverlay(overlayStateRef.current);
420
+ return;
421
+ }
422
+ if (!key.ctrl && !key.meta && input) {
423
+ if (input.includes('\n')) {
424
+ const lineCount = input.split('\n').length;
425
+ if (lineCount >= PASTE_BADGE_THRESHOLD) {
426
+ overlayStateRef.current = insertBadge(current, { type: 'paste', text: input });
427
+ }
428
+ else {
429
+ overlayStateRef.current = insertText(current, input);
430
+ }
431
+ }
432
+ else {
433
+ overlayStateRef.current = insertText(current, input);
434
+ }
435
+ overlayStateRef.current = { ...overlayStateRef.current, historyIdx: -1 };
436
+ renderOverlay(overlayStateRef.current);
437
+ }
438
+ }, [disabled, historyEnabled, onCommand, onSubmit, renderOverlay]);
439
+ useInput((input, key) => {
440
+ if (overlayEnabled) {
441
+ handleOverlayInput(input, key);
442
+ return;
443
+ }
444
+ handleInput(input, key);
445
+ });
446
+ React.useEffect(() => {
447
+ if (!inputBus)
448
+ return;
449
+ return inputBus.subscribe(({ input, key }) => {
450
+ if (overlayEnabled) {
451
+ handleOverlayInput(input, key);
452
+ return;
453
+ }
454
+ handleInput(input, key);
455
+ });
456
+ }, [handleInput, handleOverlayInput, inputBus, overlayEnabled]);
457
+ React.useEffect(() => {
458
+ if (!overlayEnabled)
459
+ return;
460
+ renderOverlay(overlayStateRef.current);
461
+ }, [overlayEnabled, renderOverlay]);
462
+ const node = buildInputAreaView({
463
+ state,
464
+ placeholder,
465
+ disabled,
466
+ commands,
467
+ cols,
468
+ badgePreview,
469
+ showBadgePreview: true,
470
+ debug,
471
+ renderContent: !overlayEnabled
472
+ });
473
+ return _jsx(InkNode, { node: node });
474
+ };
475
+ export default InputArea;
476
+ //# sourceMappingURL=InputArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../src/components/InputArea.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { Message } from '../types.js';
3
+ interface MessageListProps {
4
+ messages: Message[];
5
+ height: number;
6
+ maxMessages?: number;
7
+ debug?: boolean;
8
+ expandToolOutputs?: boolean;
9
+ }
10
+ export declare const MessageList: React.FC<MessageListProps>;
11
+ export default MessageList;
12
+ //# sourceMappingURL=MessageList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../src/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CASlD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { InkNode } from '../ui/ink/index.js';
3
+ import { buildMessageListView } from '../ui/views/message_list.js';
4
+ export const MessageList = ({ messages, height, maxMessages = 50, debug = false, expandToolOutputs = false }) => {
5
+ const node = buildMessageListView({ messages, height, maxMessages, debug, expandToolOutputs });
6
+ return _jsx(InkNode, { node: node });
7
+ };
8
+ export default MessageList;
9
+ //# sourceMappingURL=MessageList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../src/components/MessageList.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAUnE,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,QAAQ,EACR,MAAM,EACN,WAAW,GAAG,EAAE,EAChB,KAAK,GAAG,KAAK,EACb,iBAAiB,GAAG,KAAK,EAC1B,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { AgentState } from '../types.js';
3
+ interface StatusBarProps {
4
+ state: AgentState;
5
+ sessionId?: string;
6
+ version?: string;
7
+ connectionStatus?: 'connected' | 'disconnected' | 'connecting';
8
+ contextLength?: number;
9
+ contextEstimated?: boolean;
10
+ provider?: string;
11
+ model?: string;
12
+ emulationId?: string;
13
+ toast?: string | null;
14
+ debug?: boolean;
15
+ }
16
+ export declare const StatusBar: React.FC<StatusBarProps>;
17
+ export default StatusBar;
18
+ //# sourceMappingURL=StatusBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../src/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,UAAU,cAAc;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,WAAW,GAAG,cAAc,GAAG,YAAY,CAAC;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2B9C,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { InkNode } from '../ui/ink/index.js';
3
+ import { buildStatusBarView } from '../ui/views/status_bar.js';
4
+ export const StatusBar = ({ state, sessionId, version = '0.1.0', connectionStatus = 'connected', contextLength, contextEstimated, provider, model, emulationId, toast, debug = false }) => {
5
+ const node = buildStatusBarView({
6
+ state,
7
+ sessionId,
8
+ version,
9
+ connectionStatus,
10
+ contextLength,
11
+ contextEstimated,
12
+ provider,
13
+ model,
14
+ emulationId,
15
+ toast,
16
+ debug
17
+ });
18
+ return _jsx(InkNode, { node: node });
19
+ };
20
+ export default StatusBar;
21
+ //# sourceMappingURL=StatusBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../src/components/StatusBar.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAgB/D,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAClD,KAAK,EACL,SAAS,EACT,OAAO,GAAG,OAAO,EACjB,gBAAgB,GAAG,WAAW,EAC9B,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,KAAK,EACL,KAAK,GAAG,KAAK,EACd,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,KAAK;QACL,SAAS;QACT,OAAO;QACP,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,QAAQ;QACR,KAAK;QACL,WAAW;QACX,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IACH,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { Header } from './Header.js';
2
+ export { MessageList } from './MessageList.js';
3
+ export { InputArea } from './InputArea.js';
4
+ export { StatusBar } from './StatusBar.js';
5
+ export { FullScreen, useScreenSize } from './FullScreen.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ // Component exports
2
+ export { Header } from './Header.js';
3
+ export { MessageList } from './MessageList.js';
4
+ export { InputArea } from './InputArea.js';
5
+ export { StatusBar } from './StatusBar.js';
6
+ export { FullScreen, useScreenSize } from './FullScreen.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.tsx"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface ZTCConfig {
2
+ apiKey?: string;
3
+ apiKeys?: Record<string, string>;
4
+ provider?: string;
5
+ openaiCompatibleBaseUrl?: string;
6
+ model: string;
7
+ maxTokens: number;
8
+ zergEndpoint?: string;
9
+ emulationId?: string;
10
+ toolPermissions?: Partial<Record<'file_read' | 'file_write' | 'shell_exec' | 'network', boolean>>;
11
+ }
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;CACnG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":""}