@renxqoo/renx-code 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/README.md +58 -223
  2. package/bin/renx.cjs +50 -0
  3. package/package.json +12 -111
  4. package/src/App.tsx +297 -0
  5. package/src/agent/runtime/event-format.ts +258 -0
  6. package/src/agent/runtime/model-types.ts +13 -0
  7. package/src/agent/runtime/runtime.context-usage.test.ts +192 -0
  8. package/src/agent/runtime/runtime.error-handling.test.ts +235 -0
  9. package/src/agent/runtime/runtime.simple.test.ts +16 -0
  10. package/src/agent/runtime/runtime.test.ts +296 -0
  11. package/src/agent/runtime/runtime.ts +875 -0
  12. package/src/agent/runtime/runtime.usage-forwarding.test.ts +228 -0
  13. package/src/agent/runtime/source-modules.test.ts +38 -0
  14. package/src/agent/runtime/source-modules.ts +370 -0
  15. package/src/agent/runtime/tool-call-buffer.test.ts +65 -0
  16. package/src/agent/runtime/tool-call-buffer.ts +60 -0
  17. package/src/agent/runtime/tool-confirmation.test.ts +56 -0
  18. package/src/agent/runtime/tool-confirmation.ts +15 -0
  19. package/src/agent/runtime/types.ts +99 -0
  20. package/src/commands/slash-commands.test.ts +216 -0
  21. package/src/commands/slash-commands.ts +64 -0
  22. package/src/components/chat/assistant-reply.test.tsx +47 -0
  23. package/src/components/chat/assistant-reply.tsx +136 -0
  24. package/src/components/chat/assistant-segment.test.ts +99 -0
  25. package/src/components/chat/assistant-segment.tsx +125 -0
  26. package/src/components/chat/assistant-tool-group.tsx +900 -0
  27. package/src/components/chat/code-block.test.tsx +206 -0
  28. package/src/components/chat/code-block.tsx +313 -0
  29. package/src/components/chat/prompt-card.tsx +81 -0
  30. package/src/components/chat/segment-groups.test.ts +52 -0
  31. package/src/components/chat/segment-groups.ts +106 -0
  32. package/src/components/chat/turn-item.tsx +39 -0
  33. package/src/components/conversation-panel.tsx +43 -0
  34. package/src/components/file-mention-menu.tsx +77 -0
  35. package/src/components/file-picker-dialog.tsx +206 -0
  36. package/src/components/footer-hints.tsx +75 -0
  37. package/src/components/model-picker-dialog.tsx +248 -0
  38. package/src/components/prompt.tsx +233 -0
  39. package/src/components/slash-command-menu.tsx +65 -0
  40. package/src/components/tool-confirm-dialog-content.test.ts +103 -0
  41. package/src/components/tool-confirm-dialog-content.ts +186 -0
  42. package/src/components/tool-confirm-dialog.tsx +187 -0
  43. package/src/components/tool-display-config.ts +119 -0
  44. package/src/context-usage-regressions.test.ts +26 -0
  45. package/src/files/attachment-capabilities.test.ts +30 -0
  46. package/src/files/attachment-capabilities.ts +50 -0
  47. package/src/files/attachment-content.ts +153 -0
  48. package/src/files/file-mention-query.test.ts +34 -0
  49. package/src/files/file-mention-query.ts +32 -0
  50. package/src/files/prompt-display.ts +13 -0
  51. package/src/files/types.ts +5 -0
  52. package/src/files/workspace-files.ts +63 -0
  53. package/src/hooks/agent-event-handlers.test.ts +207 -0
  54. package/src/hooks/agent-event-handlers.ts +196 -0
  55. package/src/hooks/chat-local-replies.fixed.test.ts +119 -0
  56. package/src/hooks/chat-local-replies.test.ts +153 -0
  57. package/src/hooks/chat-local-replies.ts +63 -0
  58. package/src/hooks/turn-updater.test.ts +70 -0
  59. package/src/hooks/turn-updater.ts +166 -0
  60. package/src/hooks/use-agent-chat.context.test.ts +10 -0
  61. package/src/hooks/use-agent-chat.status.test.ts +14 -0
  62. package/src/hooks/use-agent-chat.test.ts +80 -0
  63. package/src/hooks/use-agent-chat.ts +621 -0
  64. package/src/hooks/use-file-mention-menu.ts +196 -0
  65. package/src/hooks/use-file-picker.ts +185 -0
  66. package/src/hooks/use-model-picker.ts +196 -0
  67. package/src/hooks/use-slash-command-menu.ts +154 -0
  68. package/src/index.tsx +55 -0
  69. package/src/runtime/clipboard.test.ts +43 -0
  70. package/src/runtime/clipboard.ts +89 -0
  71. package/src/runtime/exit.test.ts +177 -0
  72. package/src/runtime/exit.ts +98 -0
  73. package/src/runtime/runtime-support.test.ts +31 -0
  74. package/src/runtime/terminal-theme.test.ts +55 -0
  75. package/src/runtime/terminal-theme.ts +196 -0
  76. package/src/types/chat.ts +32 -0
  77. package/src/types/message-content.ts +48 -0
  78. package/src/ui/open-code-theme.ts +176 -0
  79. package/src/ui/opencode-markdown.ts +211 -0
  80. package/src/ui/theme.simple.test.ts +52 -0
  81. package/src/ui/theme.test.ts +151 -0
  82. package/src/ui/theme.ts +152 -0
  83. package/src/utils/time.test.ts +144 -0
  84. package/src/utils/time.ts +7 -0
  85. package/tsconfig.json +30 -0
  86. package/vendor/agent-root/src/agent/ENTERPRISE_ACCEPTANCE_CHECKLIST.md +95 -0
  87. package/vendor/agent-root/src/agent/ENTERPRISE_REALTIME.html +1345 -0
  88. package/vendor/agent-root/src/agent/ENTERPRISE_REALTIME.md +1353 -0
  89. package/vendor/agent-root/src/agent/ERROR_CONTRACT.md +60 -0
  90. package/vendor/agent-root/src/agent/TEST_COVERAGE_ANALYSIS.md +278 -0
  91. package/vendor/agent-root/src/agent/__test__/error-contract.test.ts +72 -0
  92. package/vendor/agent-root/src/agent/__test__/types.test.ts +137 -0
  93. package/vendor/agent-root/src/agent/agent/__test__/abort-runtime.test.ts +83 -0
  94. package/vendor/agent-root/src/agent/agent/__test__/callback-safety.test.ts +34 -0
  95. package/vendor/agent-root/src/agent/agent/__test__/compaction.test.ts +323 -0
  96. package/vendor/agent-root/src/agent/agent/__test__/concurrency.test.ts +290 -0
  97. package/vendor/agent-root/src/agent/agent/__test__/error-normalizer.test.ts +377 -0
  98. package/vendor/agent-root/src/agent/agent/__test__/error.test.ts +212 -0
  99. package/vendor/agent-root/src/agent/agent/__test__/fault-injection.test.ts +295 -0
  100. package/vendor/agent-root/src/agent/agent/__test__/index.test.ts +3607 -0
  101. package/vendor/agent-root/src/agent/agent/__test__/logger.test.ts +35 -0
  102. package/vendor/agent-root/src/agent/agent/__test__/message-utils.test.ts +517 -0
  103. package/vendor/agent-root/src/agent/agent/__test__/telemetry.test.ts +97 -0
  104. package/vendor/agent-root/src/agent/agent/__test__/timeout-budget.test.ts +479 -0
  105. package/vendor/agent-root/src/agent/agent/__test__/tool-call-merge.test.ts +80 -0
  106. package/vendor/agent-root/src/agent/agent/__test__/tool-execution-ledger.test.ts +76 -0
  107. package/vendor/agent-root/src/agent/agent/__test__/write-buffer.test.ts +173 -0
  108. package/vendor/agent-root/src/agent/agent/__test__/write-file-session.test.ts +109 -0
  109. package/vendor/agent-root/src/agent/agent/abort-runtime.ts +71 -0
  110. package/vendor/agent-root/src/agent/agent/callback-safety.ts +33 -0
  111. package/vendor/agent-root/src/agent/agent/compaction.ts +291 -0
  112. package/vendor/agent-root/src/agent/agent/concurrency.ts +103 -0
  113. package/vendor/agent-root/src/agent/agent/error-normalizer.ts +190 -0
  114. package/vendor/agent-root/src/agent/agent/error.ts +198 -0
  115. package/vendor/agent-root/src/agent/agent/index.ts +1772 -0
  116. package/vendor/agent-root/src/agent/agent/logger.ts +65 -0
  117. package/vendor/agent-root/src/agent/agent/message-utils.ts +101 -0
  118. package/vendor/agent-root/src/agent/agent/stream-events.ts +61 -0
  119. package/vendor/agent-root/src/agent/agent/telemetry.ts +123 -0
  120. package/vendor/agent-root/src/agent/agent/timeout-budget.ts +227 -0
  121. package/vendor/agent-root/src/agent/agent/tool-call-merge.ts +111 -0
  122. package/vendor/agent-root/src/agent/agent/tool-execution-ledger.ts +164 -0
  123. package/vendor/agent-root/src/agent/agent/write-buffer.ts +188 -0
  124. package/vendor/agent-root/src/agent/agent/write-file-session.ts +238 -0
  125. package/vendor/agent-root/src/agent/app/__test__/agent-app-service.test.ts +1053 -0
  126. package/vendor/agent-root/src/agent/app/__test__/minimal-agent-application.test.ts +158 -0
  127. package/vendor/agent-root/src/agent/app/__test__/sqlite-agent-app-store.test.ts +437 -0
  128. package/vendor/agent-root/src/agent/app/agent-app-service.ts +748 -0
  129. package/vendor/agent-root/src/agent/app/contracts.ts +109 -0
  130. package/vendor/agent-root/src/agent/app/index.ts +5 -0
  131. package/vendor/agent-root/src/agent/app/minimal-agent-application.ts +151 -0
  132. package/vendor/agent-root/src/agent/app/ports.ts +72 -0
  133. package/vendor/agent-root/src/agent/app/sqlite-agent-app-store.ts +1182 -0
  134. package/vendor/agent-root/src/agent/app/sqlite-client.ts +177 -0
  135. package/vendor/agent-root/src/agent/docs/cli-app-layer/00-README.md +36 -0
  136. package/vendor/agent-root/src/agent/docs/cli-app-layer/01-scope-and-goals.md +33 -0
  137. package/vendor/agent-root/src/agent/docs/cli-app-layer/02-architecture-overview.md +40 -0
  138. package/vendor/agent-root/src/agent/docs/cli-app-layer/03-domain-model-and-contracts.md +91 -0
  139. package/vendor/agent-root/src/agent/docs/cli-app-layer/04-ports-and-interfaces.md +116 -0
  140. package/vendor/agent-root/src/agent/docs/cli-app-layer/05-run-orchestration-and-state-machine.md +52 -0
  141. package/vendor/agent-root/src/agent/docs/cli-app-layer/06-cli-commands-and-ux.md +53 -0
  142. package/vendor/agent-root/src/agent/docs/cli-app-layer/07-storage-design-local.md +52 -0
  143. package/vendor/agent-root/src/agent/docs/cli-app-layer/08-error-and-observability.md +40 -0
  144. package/vendor/agent-root/src/agent/docs/cli-app-layer/09-security-and-policy-boundary.md +19 -0
  145. package/vendor/agent-root/src/agent/docs/cli-app-layer/10-test-plan-and-acceptance.md +28 -0
  146. package/vendor/agent-root/src/agent/docs/cli-app-layer/11-implementation-phases.md +26 -0
  147. package/vendor/agent-root/src/agent/docs/cli-app-layer/12-open-questions-and-risks.md +30 -0
  148. package/vendor/agent-root/src/agent/docs/cli-app-layer/13-sqlite-schema-fields-and-rationale.md +567 -0
  149. package/vendor/agent-root/src/agent/docs/cli-app-layer/14-project-flow-mermaid.md +583 -0
  150. package/vendor/agent-root/src/agent/docs/cli-app-layer/15-openclaw-style-project-blueprint.md +972 -0
  151. package/vendor/agent-root/src/agent/error-contract.ts +154 -0
  152. package/{dist/agent/prompts/system.js → vendor/agent-root/src/agent/prompts/system.ts} +47 -23
  153. package/vendor/agent-root/src/agent/prompts/system1.ts +208 -0
  154. package/vendor/agent-root/src/agent/storage/__test__/file-history-store.test.ts +98 -0
  155. package/vendor/agent-root/src/agent/storage/file-history-store.ts +313 -0
  156. package/vendor/agent-root/src/agent/storage/file-storage-config.ts +94 -0
  157. package/vendor/agent-root/src/agent/storage/file-system.ts +31 -0
  158. package/vendor/agent-root/src/agent/storage/file-write-service.ts +21 -0
  159. package/vendor/agent-root/src/agent/tool/__test__/base-tool.test.ts +413 -0
  160. package/vendor/agent-root/src/agent/tool/__test__/bash-policy.test.ts +356 -0
  161. package/vendor/agent-root/src/agent/tool/__test__/bash.mocked-coverage.test.ts +375 -0
  162. package/vendor/agent-root/src/agent/tool/__test__/bash.test.ts +372 -0
  163. package/vendor/agent-root/src/agent/tool/__test__/error.test.ts +108 -0
  164. package/vendor/agent-root/src/agent/tool/__test__/file-edit-tool.test.ts +258 -0
  165. package/vendor/agent-root/src/agent/tool/__test__/file-history-tools.test.ts +121 -0
  166. package/vendor/agent-root/src/agent/tool/__test__/file-read-tool.test.ts +210 -0
  167. package/vendor/agent-root/src/agent/tool/__test__/glob.test.ts +139 -0
  168. package/vendor/agent-root/src/agent/tool/__test__/grep.mocked-coverage.test.ts +456 -0
  169. package/vendor/agent-root/src/agent/tool/__test__/grep.test.ts +192 -0
  170. package/vendor/agent-root/src/agent/tool/__test__/lsp.test.ts +300 -0
  171. package/vendor/agent-root/src/agent/tool/__test__/outside-workspace-confirmation.test.ts +214 -0
  172. package/vendor/agent-root/src/agent/tool/__test__/path-security.test.ts +336 -0
  173. package/vendor/agent-root/src/agent/tool/__test__/skill-loader.test.ts +494 -0
  174. package/vendor/agent-root/src/agent/tool/__test__/skill-parser.test.ts +543 -0
  175. package/vendor/agent-root/src/agent/tool/__test__/skill-tool.test.ts +172 -0
  176. package/vendor/agent-root/src/agent/tool/__test__/task-concurrency-and-version.test.ts +116 -0
  177. package/vendor/agent-root/src/agent/tool/__test__/task-create-get-list-update.test.ts +267 -0
  178. package/vendor/agent-root/src/agent/tool/__test__/task-create.test.ts +519 -0
  179. package/vendor/agent-root/src/agent/tool/__test__/task-errors.test.ts +225 -0
  180. package/vendor/agent-root/src/agent/tool/__test__/task-output-blocking.test.ts +223 -0
  181. package/vendor/agent-root/src/agent/tool/__test__/task-output.test.ts +184 -0
  182. package/vendor/agent-root/src/agent/tool/__test__/task-parent-abort.test.ts +287 -0
  183. package/vendor/agent-root/src/agent/tool/__test__/task-real-runner-adapter.test.ts +190 -0
  184. package/vendor/agent-root/src/agent/tool/__test__/task-run-lifecycle.test.ts +352 -0
  185. package/vendor/agent-root/src/agent/tool/__test__/task-store-runner-branches.test.ts +395 -0
  186. package/vendor/agent-root/src/agent/tool/__test__/task-store.test.ts +391 -0
  187. package/vendor/agent-root/src/agent/tool/__test__/task-subagent-config-integration.test.ts +176 -0
  188. package/vendor/agent-root/src/agent/tool/__test__/task-subagent-config.test.ts +68 -0
  189. package/vendor/agent-root/src/agent/tool/__test__/task-tools-core-edges.test.ts +630 -0
  190. package/vendor/agent-root/src/agent/tool/__test__/task-tools-runtime-edges.test.ts +732 -0
  191. package/vendor/agent-root/src/agent/tool/__test__/task-types.test.ts +494 -0
  192. package/vendor/agent-root/src/agent/tool/__test__/task-utils-branches.test.ts +175 -0
  193. package/vendor/agent-root/src/agent/tool/__test__/tool-manager.test.ts +505 -0
  194. package/vendor/agent-root/src/agent/tool/__test__/types.test.ts +55 -0
  195. package/vendor/agent-root/src/agent/tool/__test__/web-fetch.test.ts +244 -0
  196. package/vendor/agent-root/src/agent/tool/__test__/web-search.test.ts +290 -0
  197. package/vendor/agent-root/src/agent/tool/__test__/write-file.test.ts +368 -0
  198. package/vendor/agent-root/src/agent/tool/base-tool.ts +345 -0
  199. package/vendor/agent-root/src/agent/tool/bash-policy.ts +636 -0
  200. package/vendor/agent-root/src/agent/tool/bash.ts +688 -0
  201. package/vendor/agent-root/src/agent/tool/error.ts +131 -0
  202. package/vendor/agent-root/src/agent/tool/file-edit-tool.ts +264 -0
  203. package/vendor/agent-root/src/agent/tool/file-history-list.ts +103 -0
  204. package/vendor/agent-root/src/agent/tool/file-history-restore.ts +149 -0
  205. package/vendor/agent-root/src/agent/tool/file-read-tool.ts +211 -0
  206. package/vendor/agent-root/src/agent/tool/glob.ts +171 -0
  207. package/vendor/agent-root/src/agent/tool/grep.ts +496 -0
  208. package/vendor/agent-root/src/agent/tool/lsp.ts +481 -0
  209. package/vendor/agent-root/src/agent/tool/path-security.ts +117 -0
  210. package/vendor/agent-root/src/agent/tool/search/common.ts +153 -0
  211. package/vendor/agent-root/src/agent/tool/skill/index.ts +13 -0
  212. package/vendor/agent-root/src/agent/tool/skill/loader.ts +229 -0
  213. package/vendor/agent-root/src/agent/tool/skill/parser.ts +124 -0
  214. package/vendor/agent-root/src/agent/tool/skill/types.ts +27 -0
  215. package/vendor/agent-root/src/agent/tool/skill-tool.ts +143 -0
  216. package/vendor/agent-root/src/agent/tool/task-create.ts +186 -0
  217. package/vendor/agent-root/src/agent/tool/task-errors.ts +42 -0
  218. package/vendor/agent-root/src/agent/tool/task-get.ts +116 -0
  219. package/vendor/agent-root/src/agent/tool/task-graph.ts +78 -0
  220. package/vendor/agent-root/src/agent/tool/task-list.ts +141 -0
  221. package/vendor/agent-root/src/agent/tool/task-mock-runner-adapter.ts +232 -0
  222. package/vendor/agent-root/src/agent/tool/task-output.ts +223 -0
  223. package/vendor/agent-root/src/agent/tool/task-parent-abort.ts +115 -0
  224. package/vendor/agent-root/src/agent/tool/task-real-runner-adapter.ts +336 -0
  225. package/vendor/agent-root/src/agent/tool/task-runner-adapter.ts +55 -0
  226. package/vendor/agent-root/src/agent/tool/task-stop.ts +187 -0
  227. package/vendor/agent-root/src/agent/tool/task-store.ts +217 -0
  228. package/vendor/agent-root/src/agent/tool/task-subagent-config.ts +149 -0
  229. package/vendor/agent-root/src/agent/tool/task-types.ts +264 -0
  230. package/vendor/agent-root/src/agent/tool/task-update.ts +315 -0
  231. package/vendor/agent-root/src/agent/tool/task.ts +209 -0
  232. package/vendor/agent-root/src/agent/tool/tool-manager.ts +362 -0
  233. package/vendor/agent-root/src/agent/tool/tool-prompts.ts +242 -0
  234. package/vendor/agent-root/src/agent/tool/types.ts +116 -0
  235. package/vendor/agent-root/src/agent/tool/web-fetch.ts +227 -0
  236. package/vendor/agent-root/src/agent/tool/web-search.ts +208 -0
  237. package/vendor/agent-root/src/agent/tool/write-file.ts +497 -0
  238. package/vendor/agent-root/src/agent/types.ts +232 -0
  239. package/vendor/agent-root/src/agent/utils/__tests__/index.test.ts +18 -0
  240. package/vendor/agent-root/src/agent/utils/__tests__/message-utils.test.ts +610 -0
  241. package/vendor/agent-root/src/agent/utils/__tests__/message.test.ts +223 -0
  242. package/vendor/agent-root/src/agent/utils/__tests__/token.test.ts +42 -0
  243. package/vendor/agent-root/src/agent/utils/index.ts +16 -0
  244. package/vendor/agent-root/src/agent/utils/message.ts +171 -0
  245. package/vendor/agent-root/src/agent/utils/token.ts +28 -0
  246. package/vendor/agent-root/src/config/__tests__/load-config-to-env.test.ts +129 -0
  247. package/vendor/agent-root/src/config/__tests__/loader.test.ts +247 -0
  248. package/vendor/agent-root/src/config/__tests__/runtime.test.ts +88 -0
  249. package/vendor/agent-root/src/config/index.ts +54 -0
  250. package/vendor/agent-root/src/config/loader.ts +431 -0
  251. package/vendor/agent-root/src/config/paths.ts +30 -0
  252. package/vendor/agent-root/src/config/runtime.ts +163 -0
  253. package/vendor/agent-root/src/config/types.ts +70 -0
  254. package/vendor/agent-root/src/logger/index.ts +57 -0
  255. package/vendor/agent-root/src/logger/logger.ts +819 -0
  256. package/vendor/agent-root/src/logger/types.ts +150 -0
  257. package/vendor/agent-root/src/providers/__tests__/errors.test.ts +441 -0
  258. package/vendor/agent-root/src/providers/__tests__/index.test.ts +16 -0
  259. package/vendor/agent-root/src/providers/__tests__/openai-compatible.options.test.ts +318 -0
  260. package/vendor/agent-root/src/providers/__tests__/openai-compatible.test.ts +600 -0
  261. package/vendor/agent-root/src/providers/__tests__/registry.test.ts +449 -0
  262. package/vendor/agent-root/src/providers/__tests__/responses-adapter.test.ts +298 -0
  263. package/vendor/agent-root/src/providers/adapters/__tests__/anthropic.test.ts +354 -0
  264. package/vendor/agent-root/src/providers/adapters/__tests__/kimi.test.ts +58 -0
  265. package/vendor/agent-root/src/providers/adapters/__tests__/standard.test.ts +261 -0
  266. package/vendor/agent-root/src/providers/adapters/anthropic.ts +572 -0
  267. package/vendor/agent-root/src/providers/adapters/base.ts +131 -0
  268. package/vendor/agent-root/src/providers/adapters/kimi.ts +48 -0
  269. package/vendor/agent-root/src/providers/adapters/responses.ts +732 -0
  270. package/vendor/agent-root/src/providers/adapters/standard.ts +120 -0
  271. package/vendor/agent-root/src/providers/http/__tests__/client.timeout.test.ts +313 -0
  272. package/vendor/agent-root/src/providers/http/client.ts +289 -0
  273. package/vendor/agent-root/src/providers/http/stream-parser.ts +109 -0
  274. package/vendor/agent-root/src/providers/index.ts +76 -0
  275. package/vendor/agent-root/src/providers/kimi-headers.ts +177 -0
  276. package/vendor/agent-root/src/providers/openai-compatible.ts +387 -0
  277. package/vendor/agent-root/src/providers/registry/model-config.ts +230 -0
  278. package/vendor/agent-root/src/providers/registry/provider-factory.ts +123 -0
  279. package/vendor/agent-root/src/providers/registry.ts +135 -0
  280. package/vendor/agent-root/src/providers/types/api.ts +284 -0
  281. package/vendor/agent-root/src/providers/types/config.ts +58 -0
  282. package/vendor/agent-root/src/providers/types/errors.ts +323 -0
  283. package/vendor/agent-root/src/providers/types/index.ts +72 -0
  284. package/vendor/agent-root/src/providers/types/provider.ts +45 -0
  285. package/vendor/agent-root/src/providers/types/registry.ts +88 -0
  286. package/LICENSE +0 -21
  287. package/dist/App.d.ts +0 -2
  288. package/dist/App.d.ts.map +0 -1
  289. package/dist/App.js +0 -170
  290. package/dist/App.js.map +0 -1
  291. package/dist/agent/prompts/system.d.ts +0 -24
  292. package/dist/agent/prompts/system.d.ts.map +0 -1
  293. package/dist/agent/prompts/system.js.map +0 -1
  294. package/dist/agent/runtime/event-format.d.ts +0 -17
  295. package/dist/agent/runtime/event-format.d.ts.map +0 -1
  296. package/dist/agent/runtime/event-format.js +0 -194
  297. package/dist/agent/runtime/event-format.js.map +0 -1
  298. package/dist/agent/runtime/model-types.d.ts +0 -13
  299. package/dist/agent/runtime/model-types.d.ts.map +0 -1
  300. package/dist/agent/runtime/model-types.js +0 -1
  301. package/dist/agent/runtime/model-types.js.map +0 -1
  302. package/dist/agent/runtime/runtime.d.ts +0 -16
  303. package/dist/agent/runtime/runtime.d.ts.map +0 -1
  304. package/dist/agent/runtime/runtime.js +0 -691
  305. package/dist/agent/runtime/runtime.js.map +0 -1
  306. package/dist/agent/runtime/source-modules.d.ts +0 -176
  307. package/dist/agent/runtime/source-modules.d.ts.map +0 -1
  308. package/dist/agent/runtime/source-modules.js +0 -110
  309. package/dist/agent/runtime/source-modules.js.map +0 -1
  310. package/dist/agent/runtime/tool-call-buffer.d.ts +0 -12
  311. package/dist/agent/runtime/tool-call-buffer.d.ts.map +0 -1
  312. package/dist/agent/runtime/tool-call-buffer.js +0 -48
  313. package/dist/agent/runtime/tool-call-buffer.js.map +0 -1
  314. package/dist/agent/runtime/tool-confirmation.d.ts +0 -3
  315. package/dist/agent/runtime/tool-confirmation.d.ts.map +0 -1
  316. package/dist/agent/runtime/tool-confirmation.js +0 -9
  317. package/dist/agent/runtime/tool-confirmation.js.map +0 -1
  318. package/dist/agent/runtime/types.d.ts +0 -86
  319. package/dist/agent/runtime/types.d.ts.map +0 -1
  320. package/dist/agent/runtime/types.js +0 -1
  321. package/dist/agent/runtime/types.js.map +0 -1
  322. package/dist/cli.d.ts +0 -3
  323. package/dist/cli.d.ts.map +0 -1
  324. package/dist/cli.js +0 -12
  325. package/dist/cli.js.map +0 -1
  326. package/dist/commands/slash-commands.d.ts +0 -11
  327. package/dist/commands/slash-commands.d.ts.map +0 -1
  328. package/dist/commands/slash-commands.js +0 -48
  329. package/dist/commands/slash-commands.js.map +0 -1
  330. package/dist/components/chat/assistant-reply.d.ts +0 -13
  331. package/dist/components/chat/assistant-reply.d.ts.map +0 -1
  332. package/dist/components/chat/assistant-reply.js +0 -78
  333. package/dist/components/chat/assistant-reply.js.map +0 -1
  334. package/dist/components/chat/assistant-segment.d.ts +0 -8
  335. package/dist/components/chat/assistant-segment.d.ts.map +0 -1
  336. package/dist/components/chat/assistant-segment.js +0 -54
  337. package/dist/components/chat/assistant-segment.js.map +0 -1
  338. package/dist/components/chat/assistant-tool-group.d.ts +0 -7
  339. package/dist/components/chat/assistant-tool-group.d.ts.map +0 -1
  340. package/dist/components/chat/assistant-tool-group.js +0 -695
  341. package/dist/components/chat/assistant-tool-group.js.map +0 -1
  342. package/dist/components/chat/code-block.d.ts +0 -16
  343. package/dist/components/chat/code-block.d.ts.map +0 -1
  344. package/dist/components/chat/code-block.js +0 -194
  345. package/dist/components/chat/code-block.js.map +0 -1
  346. package/dist/components/chat/prompt-card.d.ts +0 -9
  347. package/dist/components/chat/prompt-card.d.ts.map +0 -1
  348. package/dist/components/chat/prompt-card.js +0 -18
  349. package/dist/components/chat/prompt-card.js.map +0 -1
  350. package/dist/components/chat/segment-groups.d.ts +0 -24
  351. package/dist/components/chat/segment-groups.d.ts.map +0 -1
  352. package/dist/components/chat/segment-groups.js +0 -69
  353. package/dist/components/chat/segment-groups.js.map +0 -1
  354. package/dist/components/chat/turn-item.d.ts +0 -9
  355. package/dist/components/chat/turn-item.d.ts.map +0 -1
  356. package/dist/components/chat/turn-item.js +0 -11
  357. package/dist/components/chat/turn-item.js.map +0 -1
  358. package/dist/components/conversation-panel.d.ts +0 -8
  359. package/dist/components/conversation-panel.d.ts.map +0 -1
  360. package/dist/components/conversation-panel.js +0 -8
  361. package/dist/components/conversation-panel.js.map +0 -1
  362. package/dist/components/file-mention-menu.d.ts +0 -11
  363. package/dist/components/file-mention-menu.d.ts.map +0 -1
  364. package/dist/components/file-mention-menu.js +0 -15
  365. package/dist/components/file-mention-menu.js.map +0 -1
  366. package/dist/components/file-picker-dialog.d.ts +0 -21
  367. package/dist/components/file-picker-dialog.d.ts.map +0 -1
  368. package/dist/components/file-picker-dialog.js +0 -48
  369. package/dist/components/file-picker-dialog.js.map +0 -1
  370. package/dist/components/footer-hints.d.ts +0 -7
  371. package/dist/components/footer-hints.d.ts.map +0 -1
  372. package/dist/components/footer-hints.js +0 -29
  373. package/dist/components/footer-hints.js.map +0 -1
  374. package/dist/components/model-picker-dialog.d.ts +0 -20
  375. package/dist/components/model-picker-dialog.d.ts.map +0 -1
  376. package/dist/components/model-picker-dialog.js +0 -72
  377. package/dist/components/model-picker-dialog.js.map +0 -1
  378. package/dist/components/prompt.d.ts +0 -18
  379. package/dist/components/prompt.d.ts.map +0 -1
  380. package/dist/components/prompt.js +0 -96
  381. package/dist/components/prompt.js.map +0 -1
  382. package/dist/components/slash-command-menu.d.ts +0 -9
  383. package/dist/components/slash-command-menu.d.ts.map +0 -1
  384. package/dist/components/slash-command-menu.js +0 -20
  385. package/dist/components/slash-command-menu.js.map +0 -1
  386. package/dist/components/tool-confirm-dialog-content.d.ts +0 -15
  387. package/dist/components/tool-confirm-dialog-content.d.ts.map +0 -1
  388. package/dist/components/tool-confirm-dialog-content.js +0 -143
  389. package/dist/components/tool-confirm-dialog-content.js.map +0 -1
  390. package/dist/components/tool-confirm-dialog.d.ts +0 -12
  391. package/dist/components/tool-confirm-dialog.d.ts.map +0 -1
  392. package/dist/components/tool-confirm-dialog.js +0 -21
  393. package/dist/components/tool-confirm-dialog.js.map +0 -1
  394. package/dist/components/tool-display-config.d.ts +0 -11
  395. package/dist/components/tool-display-config.d.ts.map +0 -1
  396. package/dist/components/tool-display-config.js +0 -94
  397. package/dist/components/tool-display-config.js.map +0 -1
  398. package/dist/config/paths.d.ts +0 -7
  399. package/dist/config/paths.d.ts.map +0 -1
  400. package/dist/config/paths.js +0 -24
  401. package/dist/config/paths.js.map +0 -1
  402. package/dist/files/attachment-capabilities.d.ts +0 -19
  403. package/dist/files/attachment-capabilities.d.ts.map +0 -1
  404. package/dist/files/attachment-capabilities.js +0 -26
  405. package/dist/files/attachment-capabilities.js.map +0 -1
  406. package/dist/files/attachment-content.d.ts +0 -5
  407. package/dist/files/attachment-content.d.ts.map +0 -1
  408. package/dist/files/attachment-content.js +0 -117
  409. package/dist/files/attachment-content.js.map +0 -1
  410. package/dist/files/file-mention-query.d.ts +0 -9
  411. package/dist/files/file-mention-query.d.ts.map +0 -1
  412. package/dist/files/file-mention-query.js +0 -23
  413. package/dist/files/file-mention-query.js.map +0 -1
  414. package/dist/files/prompt-display.d.ts +0 -3
  415. package/dist/files/prompt-display.d.ts.map +0 -1
  416. package/dist/files/prompt-display.js +0 -11
  417. package/dist/files/prompt-display.js.map +0 -1
  418. package/dist/files/types.d.ts +0 -6
  419. package/dist/files/types.d.ts.map +0 -1
  420. package/dist/files/types.js +0 -1
  421. package/dist/files/types.js.map +0 -1
  422. package/dist/files/workspace-files.d.ts +0 -3
  423. package/dist/files/workspace-files.d.ts.map +0 -1
  424. package/dist/files/workspace-files.js +0 -48
  425. package/dist/files/workspace-files.js.map +0 -1
  426. package/dist/hooks/agent-event-handlers.d.ts +0 -11
  427. package/dist/hooks/agent-event-handlers.d.ts.map +0 -1
  428. package/dist/hooks/agent-event-handlers.js +0 -137
  429. package/dist/hooks/agent-event-handlers.js.map +0 -1
  430. package/dist/hooks/chat-local-replies.d.ts +0 -9
  431. package/dist/hooks/chat-local-replies.d.ts.map +0 -1
  432. package/dist/hooks/chat-local-replies.js +0 -54
  433. package/dist/hooks/chat-local-replies.js.map +0 -1
  434. package/dist/hooks/turn-updater.d.ts +0 -9
  435. package/dist/hooks/turn-updater.d.ts.map +0 -1
  436. package/dist/hooks/turn-updater.js +0 -103
  437. package/dist/hooks/turn-updater.js.map +0 -1
  438. package/dist/hooks/use-agent-chat.d.ts +0 -29
  439. package/dist/hooks/use-agent-chat.d.ts.map +0 -1
  440. package/dist/hooks/use-agent-chat.js +0 -455
  441. package/dist/hooks/use-agent-chat.js.map +0 -1
  442. package/dist/hooks/use-file-mention-menu.d.ts +0 -22
  443. package/dist/hooks/use-file-mention-menu.d.ts.map +0 -1
  444. package/dist/hooks/use-file-mention-menu.js +0 -137
  445. package/dist/hooks/use-file-mention-menu.js.map +0 -1
  446. package/dist/hooks/use-file-picker.d.ts +0 -21
  447. package/dist/hooks/use-file-picker.d.ts.map +0 -1
  448. package/dist/hooks/use-file-picker.js +0 -145
  449. package/dist/hooks/use-file-picker.js.map +0 -1
  450. package/dist/hooks/use-model-picker.d.ts +0 -23
  451. package/dist/hooks/use-model-picker.d.ts.map +0 -1
  452. package/dist/hooks/use-model-picker.js +0 -151
  453. package/dist/hooks/use-model-picker.js.map +0 -1
  454. package/dist/hooks/use-slash-command-menu.d.ts +0 -19
  455. package/dist/hooks/use-slash-command-menu.d.ts.map +0 -1
  456. package/dist/hooks/use-slash-command-menu.js +0 -101
  457. package/dist/hooks/use-slash-command-menu.js.map +0 -1
  458. package/dist/index.d.ts +0 -2
  459. package/dist/index.d.ts.map +0 -1
  460. package/dist/index.js +0 -6
  461. package/dist/index.js.map +0 -1
  462. package/dist/run-cli-app.d.ts +0 -2
  463. package/dist/run-cli-app.d.ts.map +0 -1
  464. package/dist/run-cli-app.js +0 -41
  465. package/dist/run-cli-app.js.map +0 -1
  466. package/dist/runtime/clipboard.d.ts +0 -10
  467. package/dist/runtime/clipboard.d.ts.map +0 -1
  468. package/dist/runtime/clipboard.js +0 -64
  469. package/dist/runtime/clipboard.js.map +0 -1
  470. package/dist/runtime/exit.d.ts +0 -7
  471. package/dist/runtime/exit.d.ts.map +0 -1
  472. package/dist/runtime/exit.js +0 -85
  473. package/dist/runtime/exit.js.map +0 -1
  474. package/dist/runtime/runtime-support.d.ts +0 -4
  475. package/dist/runtime/runtime-support.d.ts.map +0 -1
  476. package/dist/runtime/runtime-support.js +0 -19
  477. package/dist/runtime/runtime-support.js.map +0 -1
  478. package/dist/runtime/terminal-theme.d.ts +0 -25
  479. package/dist/runtime/terminal-theme.d.ts.map +0 -1
  480. package/dist/runtime/terminal-theme.js +0 -148
  481. package/dist/runtime/terminal-theme.js.map +0 -1
  482. package/dist/types/chat.d.ts +0 -29
  483. package/dist/types/chat.d.ts.map +0 -1
  484. package/dist/types/chat.js +0 -1
  485. package/dist/types/chat.js.map +0 -1
  486. package/dist/types/message-content.d.ts +0 -38
  487. package/dist/types/message-content.d.ts.map +0 -1
  488. package/dist/types/message-content.js +0 -1
  489. package/dist/types/message-content.js.map +0 -1
  490. package/dist/ui/open-code-theme.d.ts +0 -58
  491. package/dist/ui/open-code-theme.d.ts.map +0 -1
  492. package/dist/ui/open-code-theme.js +0 -113
  493. package/dist/ui/open-code-theme.js.map +0 -1
  494. package/dist/ui/opencode-markdown.d.ts +0 -7
  495. package/dist/ui/opencode-markdown.d.ts.map +0 -1
  496. package/dist/ui/opencode-markdown.js +0 -169
  497. package/dist/ui/opencode-markdown.js.map +0 -1
  498. package/dist/ui/theme.d.ts +0 -68
  499. package/dist/ui/theme.d.ts.map +0 -1
  500. package/dist/ui/theme.js +0 -80
  501. package/dist/ui/theme.js.map +0 -1
  502. package/dist/utils/time.d.ts +0 -2
  503. package/dist/utils/time.d.ts.map +0 -1
  504. package/dist/utils/time.js +0 -7
  505. package/dist/utils/time.js.map +0 -1
package/README.md CHANGED
@@ -1,146 +1,97 @@
1
- # Renx Code
1
+ # OpenTUI Agent CLI (React + Bun)
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@renxqoo/renx-code.svg)](https://www.npmjs.com/package/@renxqoo/renx-code)
4
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
- [![Bun Version](https://img.shields.io/badge/Bun-%3E%3D1.1.0-black.svg)](https://bun.sh/)
6
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/)
7
- [![React](https://img.shields.io/badge/React-19.2-blue.svg)](https://react.dev/)
8
- [![OpenTUI](https://img.shields.io/badge/OpenTUI-0.1.84-green.svg)](https://github.com/opentui/opentui)
9
-
10
- Enterprise-grade AI coding assistant CLI tool with interactive terminal UI, built with React and OpenTUI.
11
-
12
- ## ✨ Features
13
-
14
- - **Interactive Terminal UI**: Beautiful, responsive terminal interface built with React and OpenTUI
15
- - **AI-Powered Assistance**: Intelligent code suggestions and completions
16
- - **Slash Commands**: Built-in commands for common operations (`/help`, `/clear`, `/exit`, `/models`, `/files`)
17
- - **Keyboard Shortcuts**: Efficient navigation and control
18
- - **Configurable**: Extensive configuration options via environment variables and config files
19
- - **Cross-Platform**: Works on Windows, macOS, and Linux
20
- - **TypeScript**: Full type safety and excellent developer experience
21
- - **Real-time Updates**: Live terminal updates with smooth animations
22
- - **Theme Support**: Customizable UI themes and markdown rendering
23
-
24
- ## 🚀 Quick Start
25
-
26
- ### Installation
3
+ Initialized from the latest OpenTUI React template:
27
4
 
28
5
  ```bash
29
- # Run directly with Bun
30
- bunx @renxqoo/renx-code
6
+ bun create tui --template react opentui-agent-cli
7
+ ```
31
8
 
32
- # Or install globally with Bun
33
- bun install -g @renxqoo/renx-code
9
+ Current package versions:
34
10
 
35
- # npm install is not supported for running this CLI because OpenTUI currently depends on Bun runtime APIs.
36
- ```
11
+ - `@opentui/core`: `0.1.84`
12
+ - `@opentui/react`: `0.1.84`
13
+ - `react`: `19.2.4`
37
14
 
38
- ### Basic Usage
15
+ ## Run
39
16
 
40
17
  ```bash
41
- # Start the interactive CLI
42
- renx
43
-
44
- # Or run directly with bunx
45
- bunx @renxqoo/renx-code
18
+ bun dev
46
19
  ```
47
20
 
48
- ## 📦 Installation
49
-
50
- ### Prerequisites
51
-
52
- - Bun 1.1.0 or higher
53
-
54
- ### Global Installation
21
+ Optional hot reload (less stable for interactive TUI signal handling):
55
22
 
56
23
  ```bash
57
- bun install -g @renxqoo/renx-code
24
+ bun run dev:watch
58
25
  ```
59
26
 
60
- ### Local Installation
27
+ ## What is implemented
61
28
 
62
- ```bash
63
- # Create a new project
64
- mkdir my-project && cd my-project
65
- npm init -y
29
+ - Agent-style CLI chat layout (header, conversation panel, prompt input)
30
+ - Built-in commands: `/help`, `/clear`, `/exit`
31
+ - Keyboard shortcuts: `Esc` (stop current response when thinking, otherwise clear input), `Ctrl+L` (clear conversation)
32
+ - Simulated async agent reply flow
66
33
 
67
- # Install @renxqoo/renx-code
68
- npm install @renxqoo/renx-code
34
+ ## Main file
69
35
 
70
- # Add to package.json scripts
71
- {
72
- "scripts": {
73
- "agent": "renx"
74
- }
75
- }
76
- ```
36
+ - `src/index.tsx`
77
37
 
78
- ## 🎯 Usage
38
+ ## Configuration
79
39
 
80
- ### Interactive Mode
40
+ OpenTUI Agent CLI uses the shared Renx config system.
81
41
 
82
- ```bash
83
- renx
84
- ```
42
+ Effective precedence is:
85
43
 
86
- This launches the interactive terminal UI where you can:
87
- - Type natural language queries
88
- - Use slash commands (`/help`, `/clear`, `/exit`)
89
- - Navigate with keyboard shortcuts
90
- - View real-time AI responses
44
+ 1. Existing process environment variables plus values loaded from `.env` / `.env.development`
45
+ 2. Project config: `<workspace>/.renx/config.json`
46
+ 3. Global config: `RENX_HOME/config.json`
47
+ 4. Built-in defaults
91
48
 
92
- ### Keyboard Shortcuts
49
+ Directory-related state is managed from a single root:
93
50
 
94
- | Shortcut | Action |
95
- |----------|--------|
96
- | `Esc` | Stop current response or clear input |
97
- | `Ctrl+L` | Clear conversation |
98
- | `Ctrl+C` | Exit application |
99
- | `↑/↓` | Navigate command history |
100
- | `Tab` | Auto-complete commands |
101
- | `Enter` | Submit input |
51
+ - `RENX_HOME` defaults to `~/.renx`
52
+ - `RENX_HOME/config.json` for global config
53
+ - `RENX_HOME/logs/` for log files
54
+ - `RENX_HOME/storage/` for file-history storage
55
+ - `RENX_HOME/task/` for task data
56
+ - `RENX_HOME/data.db` for the shared SQLite database
102
57
 
103
- ### Slash Commands
58
+ ## Supported Environment Variables
104
59
 
105
- | Command | Description |
106
- |---------|-------------|
107
- | `/help` | Show available commands and shortcuts |
108
- | `/clear` | Clear the conversation history |
109
- | `/exit` | Exit the application |
110
- | `/models` | List available AI models |
111
- | `/files` | Show file browser |
112
- | `/config` | Show current configuration |
113
- | `/status` | Show system status |
60
+ Application/runtime variables:
114
61
 
115
- ## ⚙️ Configuration
62
+ - `RENX_HOME`: overrides the user-level Renx home directory
63
+ - `AGENT_MODEL`: default model id
64
+ - `AGENT_MAX_STEPS`: max steps per run
65
+ - `AGENT_MAX_RETRY_COUNT`: agent retry count
66
+ - `AGENT_TOOL_CONFIRMATION_MODE`: `manual`, `auto-approve`, or `auto-deny`
67
+ - `AGENT_CONVERSATION_ID`: fixed conversation id for the CLI runtime
68
+ - `AGENT_SESSION_ID`: fallback session id when `AGENT_CONVERSATION_ID` is unset
116
69
 
117
- ### Environment Variables
70
+ Logging variables:
118
71
 
119
- Configure the agent using environment variables:
120
-
121
- ```bash
122
- # Set the AI model
123
- export AGENT_MODEL="gpt-4"
72
+ - `AGENT_LOG_LEVEL`: `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, or `FATAL`
73
+ - `AGENT_LOG_FORMAT`: `pretty` or `json`
74
+ - `AGENT_LOG_CONSOLE`: enable/disable console logging
75
+ - `AGENT_LOG_FILE_ENABLED`: enable/disable file logging
124
76
 
125
- # Set maximum steps per run
126
- export AGENT_MAX_STEPS=1000
77
+ File history variables:
127
78
 
128
- # Set confirmation mode
129
- export AGENT_TOOL_CONFIRMATION_MODE="manual"
79
+ - `AGENT_FILE_HISTORY_ENABLED`
80
+ - `AGENT_FILE_HISTORY_MAX_PER_FILE`
81
+ - `AGENT_FILE_HISTORY_MAX_AGE_DAYS`
82
+ - `AGENT_FILE_HISTORY_MAX_TOTAL_MB`
130
83
 
131
- # Set logging level
132
- export AGENT_LOG_LEVEL="INFO"
133
- ```
84
+ Model provider API keys are still provided through their own env vars such as `GLM_API_KEY`.
134
85
 
135
- ### Configuration Files
86
+ ## Config File Shape
136
87
 
137
- Create a configuration file at `~/.renx/config.json`:
88
+ Global and project config files use the same JSON structure:
138
89
 
139
90
  ```json
140
91
  {
141
92
  "agent": {
142
- "defaultModel": "gpt-4",
143
- "maxSteps": 1000,
93
+ "defaultModel": "qwen3.5-plus",
94
+ "maxSteps": 10000,
144
95
  "confirmationMode": "manual"
145
96
  },
146
97
  "log": {
@@ -160,120 +111,4 @@ Create a configuration file at `~/.renx/config.json`:
160
111
  }
161
112
  ```
162
113
 
163
- ### Project Configuration
164
-
165
- Create a project-specific config at `.renx/config.json` in your project root.
166
-
167
- ## 🔧 Development
168
-
169
- ### Setup
170
-
171
- ```bash
172
- # Clone the repository
173
- git clone https://github.com/renxqoo/renx-code.git
174
- cd renx-code
175
-
176
- # Install dependencies
177
- npm install
178
-
179
- # Start development server
180
- npm run dev
181
- ```
182
-
183
- ### Build
184
-
185
- ```bash
186
- # Build for production
187
- npm run build
188
-
189
- # Build CLI executable
190
- npm run build:cli
191
- ```
192
-
193
- ### Testing
194
-
195
- ```bash
196
- # Run tests
197
- npm test
198
-
199
- # Run tests with coverage
200
- npm run test:coverage
201
- ```
202
-
203
- ### Linting and Formatting
204
-
205
- ```bash
206
- # Fix linting issues
207
- npm run lint:fix
208
-
209
- # Format code
210
- npm run format
211
- ```
212
-
213
- ## 📁 Project Structure
214
-
215
- ```
216
- @renxqoo/renx-code/
217
- ├── src/
218
- │ ├── agent/ # AI agent logic
219
- │ ├── commands/ # Slash commands
220
- │ ├── components/ # React components
221
- │ ├── runtime/ # Runtime utilities
222
- │ ├── ui/ # UI themes and styling
223
- │ ├── utils/ # Utility functions
224
- │ ├── App.tsx # Main application component
225
- │ ├── cli.tsx # CLI entry point
226
- │ └── index.tsx # Library entry point
227
- ├── dist/ # Compiled output
228
- ├── package.json # Package configuration
229
- ├── tsconfig.json # TypeScript configuration
230
- ├── tsconfig.build.json # Build TypeScript configuration
231
- └── README.md # This file
232
- ```
233
-
234
- ## 🤝 Contributing
235
-
236
- 1. Fork the repository
237
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
238
- 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
239
- 4. Push to the branch (`git push origin feature/amazing-feature`)
240
- 5. Open a Pull Request
241
-
242
- ### Development Guidelines
243
-
244
- - Follow TypeScript best practices
245
- - Write tests for new features
246
- - Update documentation as needed
247
- - Follow the existing code style
248
-
249
- ## 📄 License
250
-
251
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
252
-
253
- ## 🙏 Acknowledgments
254
-
255
- - [OpenTUI](https://github.com/opentui/opentui) - Terminal UI framework
256
- - [React](https://react.dev/) - UI library
257
- - [TypeScript](https://www.typescriptlang.org/) - Type safety
258
- - [Vitest](https://vitest.dev/) - Testing framework
259
-
260
- ## 📞 Support
261
-
262
- - **Issues**: [GitHub Issues](https://github.com/renxqoo/renx-code/issues)
263
- - **Discussions**: [GitHub Discussions](https://github.com/renxqoo/renx-code/discussions)
264
- - **Documentation**: [Wiki](https://github.com/renxqoo/renx-code/wiki)
265
-
266
- ## 🚀 Roadmap
267
-
268
- - [ ] Plugin system for custom commands
269
- - [ ] Multi-model support
270
- - [ ] Codebase analysis features
271
- - [ ] Integration with popular IDEs
272
- - [ ] Cloud sync for configurations
273
- - [ ] Team collaboration features
274
- - [ ] Performance optimizations
275
- - [ ] Enhanced error handling and recovery
276
-
277
- ---
278
-
279
- **Note**: This is an enterprise-grade tool designed for professional developers. Please ensure you have appropriate API keys and permissions for the AI models you intend to use.
114
+ There are no per-directory config fields anymore. All user-level paths are derived from `RENX_HOME`.
package/bin/renx.cjs ADDED
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+
3
+ const childProcess = require("node:child_process");
4
+ const fs = require("node:fs");
5
+ const path = require("node:path");
6
+
7
+ const packageRoot = path.resolve(__dirname, "..");
8
+ const entryPath = path.join(packageRoot, "src", "index.tsx");
9
+ const packagedRepoRoot = path.join(packageRoot, "vendor", "agent-root");
10
+ const localRepoRoot = path.resolve(packageRoot, "..");
11
+ const bunExecutable = process.env.RENX_BUN_PATH || "bun";
12
+
13
+ const hasAgentSourceRoot = root =>
14
+ fs.existsSync(path.join(root, "src", "providers", "index.ts")) &&
15
+ fs.existsSync(path.join(root, "src", "config", "index.ts")) &&
16
+ fs.existsSync(path.join(root, "src", "agent", "app", "index.ts"));
17
+
18
+ const resolvedRepoRoot =
19
+ process.env.AGENT_REPO_ROOT ||
20
+ (hasAgentSourceRoot(packagedRepoRoot)
21
+ ? packagedRepoRoot
22
+ : hasAgentSourceRoot(localRepoRoot)
23
+ ? localRepoRoot
24
+ : undefined);
25
+
26
+ if (!fs.existsSync(entryPath)) {
27
+ console.error(`Could not find CLI entrypoint: ${entryPath}`);
28
+ process.exit(1);
29
+ }
30
+
31
+ const result = childProcess.spawnSync(bunExecutable, [entryPath, ...process.argv.slice(2)], {
32
+ cwd: process.cwd(),
33
+ stdio: "inherit",
34
+ env: {
35
+ ...process.env,
36
+ AGENT_WORKDIR: process.env.AGENT_WORKDIR || process.cwd(),
37
+ ...(resolvedRepoRoot ? { AGENT_REPO_ROOT: resolvedRepoRoot } : {}),
38
+ },
39
+ });
40
+
41
+ if (result.error) {
42
+ if (result.error.code === "ENOENT") {
43
+ console.error("Bun is required to run renx. Install Bun first: https://bun.sh");
44
+ } else {
45
+ console.error(result.error.message);
46
+ }
47
+ process.exit(1);
48
+ }
49
+
50
+ process.exit(typeof result.status === "number" ? result.status : 0);
package/package.json CHANGED
@@ -1,93 +1,22 @@
1
1
  {
2
2
  "name": "@renxqoo/renx-code",
3
- "version": "0.0.3",
4
- "description": "Enterprise-grade AI coding assistant CLI tool with interactive terminal UI",
3
+ "version": "0.0.5",
4
+ "module": "src/index.tsx",
5
5
  "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
6
+ "private": false,
8
7
  "bin": {
9
- "renx": "./dist/cli.js"
10
- },
11
- "exports": {
12
- ".": {
13
- "import": "./dist/index.js",
14
- "types": "./dist/index.d.ts"
15
- },
16
- "./cli": {
17
- "import": "./dist/cli.js"
18
- }
8
+ "renx": "./bin/renx.cjs"
19
9
  },
20
10
  "files": [
21
- "dist",
11
+ "bin",
12
+ "src",
13
+ "vendor",
22
14
  "README.md",
23
- "LICENSE"
24
- ],
25
- "scripts": {
26
- "dev": "bun run src/index.tsx",
27
- "dev:watch": "bun run --watch src/index.tsx",
28
- "build": "tsc -p tsconfig.build.json && node ./scripts/fix-esm-imports.mjs",
29
- "build:cli": "npm run build && node -e \"require('fs').chmodSync('dist/cli.js', 0o755)\"",
30
- "start": "node dist/index.js",
31
- "test": "vitest",
32
- "test:coverage": "vitest run --coverage",
33
- "lint": "eslint . --ext .ts,.tsx",
34
- "lint:fix": "eslint . --ext .ts,.tsx --fix",
35
- "format": "prettier --write .",
36
- "format:check": "prettier --check .",
37
- "type-check": "tsc --noEmit",
38
- "check": "bun run type-check && bun run lint && bun run format:check",
39
- "prepare": "echo 'Skipping husky install'",
40
- "prepublishOnly": "npm run build:cli",
41
- "prepack": "npm run build:cli",
42
- "publish:patch": "npm version patch && npm run build:cli && npm publish",
43
- "publish:minor": "npm version minor && npm run build:cli && npm publish",
44
- "publish:major": "npm version major && npm run build:cli && npm publish"
45
- },
46
- "keywords": [
47
- "ai",
48
- "coding",
49
- "agent",
50
- "cli",
51
- "terminal",
52
- "tui",
53
- "react",
54
- "assistant",
55
- "developer-tools",
56
- "productivity",
57
- "opentui"
15
+ "tsconfig.json"
58
16
  ],
59
- "author": "",
60
- "license": "MIT",
61
- "repository": {
62
- "type": "git",
63
- "url": "https://github.com/renxqoo/renx-code.git"
64
- },
65
- "bugs": {
66
- "url": "https://github.com/renxqoo/renx-code/issues"
67
- },
68
- "homepage": "https://github.com/renxqoo/renx-code#readme",
69
- "devDependencies": {
70
- "@eslint/js": "^10.0.1",
71
- "@testing-library/react": "^16.3.2",
72
- "@testing-library/react-hooks": "^8.0.1",
73
- "@testing-library/user-event": "^14.6.1",
74
- "@types/bun": "latest",
75
- "@types/react": "^19.2.14",
76
- "@types/react-dom": "^19.2.3",
77
- "@typescript-eslint/eslint-plugin": "^8.57.0",
78
- "@typescript-eslint/parser": "^8.57.0",
79
- "eslint": "^10.0.3",
80
- "eslint-config-prettier": "^10.1.8",
81
- "eslint-plugin-prettier": "^5.5.5",
82
- "eslint-plugin-react": "^7.37.5",
83
- "eslint-plugin-react-hooks": "^7.0.1",
84
- "globals": "^17.4.0",
85
- "prettier": "^3.8.1",
86
- "whistle": "^2.10.1",
87
- "husky": "^8.0.3",
88
- "lint-staged": "^16.3.2",
89
- "typescript": "^5.9.3",
90
- "vitest": "^1.1.0"
17
+ "engines": {
18
+ "node": ">=20.0.0",
19
+ "bun": ">=1.1.0"
91
20
  },
92
21
  "peerDependencies": {
93
22
  "typescript": "^5.9.3"
@@ -95,34 +24,6 @@
95
24
  "dependencies": {
96
25
  "@opentui/core": "^0.1.84",
97
26
  "@opentui/react": "^0.1.84",
98
- "react": "^19.2.4",
99
- "@vscode/ripgrep": "^1.17.0",
100
- "diff": "^8.0.3",
101
- "dotenv": "^17.3.1",
102
- "js-tiktoken": "^1.0.21",
103
- "log-update": "^6.1.0",
104
- "marked": "^15.0.12",
105
- "marked-terminal": "^7.3.0",
106
- "minimatch": "^10.2.4",
107
- "shell-quote": "^1.8.3",
108
- "strip-ansi": "^7.2.0",
109
- "uuid": "^13.0.0",
110
- "zod": "^4.3.6"
111
- },
112
- "engines": {
113
- "bun": ">=1.1.0"
114
- },
115
- "lint-staged": {
116
- "*.ts": [
117
- "prettier --write",
118
- "eslint --fix"
119
- ],
120
- "*.tsx": [
121
- "prettier --write",
122
- "eslint --fix"
123
- ],
124
- "*.{json,md}": [
125
- "prettier --write"
126
- ]
27
+ "react": "^19.2.4"
127
28
  }
128
29
  }