llm-shell 0.9.2 → 0.10.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 (258) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +61 -66
  3. data/lib/llm/shell/command.rb +40 -40
  4. data/lib/llm/shell/commands/clear_screen.rb +4 -18
  5. data/lib/llm/shell/commands/debug_mode.rb +12 -0
  6. data/lib/llm/shell/commands/dir_import.rb +4 -20
  7. data/lib/llm/shell/commands/disable_tool.rb +33 -0
  8. data/lib/llm/shell/commands/enable_tool.rb +33 -0
  9. data/lib/llm/shell/commands/file_import.rb +4 -20
  10. data/lib/llm/shell/commands/help.rb +23 -36
  11. data/lib/llm/shell/commands/show_chat.rb +4 -19
  12. data/lib/llm/shell/commands/show_version.rb +4 -20
  13. data/lib/llm/shell/commands/system_prompt.rb +4 -18
  14. data/lib/llm/shell/completion.rb +5 -5
  15. data/lib/llm/shell/config.rb +4 -5
  16. data/lib/llm/shell/formatter.rb +1 -2
  17. data/lib/llm/shell/internal/coderay/lib/coderay/duo.rb +81 -0
  18. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/_map.rb +17 -0
  19. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/comment_filter.rb +25 -0
  20. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/count.rb +39 -0
  21. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/debug.rb +49 -0
  22. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/debug_lint.rb +63 -0
  23. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/div.rb +23 -0
  24. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/encoder.rb +190 -0
  25. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/filter.rb +58 -0
  26. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html/css.rb +65 -0
  27. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html/numbering.rb +108 -0
  28. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html/output.rb +164 -0
  29. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html.rb +333 -0
  30. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/json.rb +83 -0
  31. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/lines_of_code.rb +45 -0
  32. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/lint.rb +59 -0
  33. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/null.rb +18 -0
  34. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/page.rb +24 -0
  35. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/span.rb +23 -0
  36. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/statistic.rb +95 -0
  37. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/terminal.rb +195 -0
  38. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/text.rb +46 -0
  39. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/token_kind_filter.rb +111 -0
  40. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/xml.rb +72 -0
  41. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/yaml.rb +50 -0
  42. data/lib/llm/shell/internal/coderay/lib/coderay/encoders.rb +18 -0
  43. data/lib/llm/shell/internal/coderay/lib/coderay/for_redcloth.rb +95 -0
  44. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/file_type.rb +151 -0
  45. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/plugin.rb +55 -0
  46. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/plugin_host.rb +221 -0
  47. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/word_list.rb +72 -0
  48. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/_map.rb +24 -0
  49. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/c.rb +189 -0
  50. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/clojure.rb +217 -0
  51. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/cpp.rb +217 -0
  52. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/css.rb +196 -0
  53. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/debug.rb +75 -0
  54. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/delphi.rb +144 -0
  55. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/diff.rb +221 -0
  56. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/erb.rb +81 -0
  57. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/go.rb +208 -0
  58. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/groovy.rb +268 -0
  59. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/haml.rb +168 -0
  60. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/html.rb +275 -0
  61. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/java/builtin_types.rb +421 -0
  62. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/java.rb +174 -0
  63. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/java_script.rb +236 -0
  64. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/json.rb +98 -0
  65. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/lua.rb +280 -0
  66. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/php.rb +527 -0
  67. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/python.rb +287 -0
  68. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/raydebug.rb +75 -0
  69. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/ruby/patterns.rb +178 -0
  70. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/ruby/string_state.rb +79 -0
  71. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/ruby.rb +477 -0
  72. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/sass.rb +232 -0
  73. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/scanner.rb +337 -0
  74. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/sql.rb +169 -0
  75. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/taskpaper.rb +36 -0
  76. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/text.rb +26 -0
  77. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/xml.rb +17 -0
  78. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/yaml.rb +140 -0
  79. data/lib/llm/shell/internal/coderay/lib/coderay/scanners.rb +27 -0
  80. data/lib/llm/shell/internal/coderay/lib/coderay/styles/_map.rb +7 -0
  81. data/lib/llm/shell/internal/coderay/lib/coderay/styles/alpha.rb +153 -0
  82. data/lib/llm/shell/internal/coderay/lib/coderay/styles/style.rb +18 -0
  83. data/lib/llm/shell/internal/coderay/lib/coderay/styles.rb +15 -0
  84. data/lib/llm/shell/internal/coderay/lib/coderay/token_kinds.rb +85 -0
  85. data/lib/llm/shell/internal/coderay/lib/coderay/tokens.rb +164 -0
  86. data/lib/llm/shell/internal/coderay/lib/coderay/tokens_proxy.rb +55 -0
  87. data/lib/llm/shell/internal/coderay/lib/coderay/version.rb +3 -0
  88. data/lib/llm/shell/internal/coderay/lib/coderay.rb +284 -0
  89. data/lib/llm/shell/internal/io-line/lib/io/line/multiple.rb +19 -0
  90. data/lib/{io → llm/shell/internal/io-line/lib/io}/line.rb +2 -0
  91. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/builder.rb +31 -0
  92. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/conversable.rb +37 -0
  93. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/prompt/completion.rb +49 -0
  94. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/prompt/respond.rb +49 -0
  95. data/lib/llm/shell/internal/llm.rb/lib/llm/bot.rb +150 -0
  96. data/lib/llm/shell/internal/llm.rb/lib/llm/buffer.rb +162 -0
  97. data/lib/llm/shell/internal/llm.rb/lib/llm/client.rb +36 -0
  98. data/lib/llm/shell/internal/llm.rb/lib/llm/error.rb +49 -0
  99. data/lib/llm/shell/internal/llm.rb/lib/llm/eventhandler.rb +44 -0
  100. data/lib/llm/shell/internal/llm.rb/lib/llm/eventstream/event.rb +69 -0
  101. data/lib/llm/shell/internal/llm.rb/lib/llm/eventstream/parser.rb +88 -0
  102. data/lib/llm/shell/internal/llm.rb/lib/llm/eventstream.rb +8 -0
  103. data/lib/llm/shell/internal/llm.rb/lib/llm/file.rb +91 -0
  104. data/lib/llm/shell/internal/llm.rb/lib/llm/function.rb +177 -0
  105. data/lib/llm/shell/internal/llm.rb/lib/llm/message.rb +178 -0
  106. data/lib/llm/shell/internal/llm.rb/lib/llm/mime.rb +140 -0
  107. data/lib/llm/shell/internal/llm.rb/lib/llm/multipart.rb +101 -0
  108. data/lib/llm/shell/internal/llm.rb/lib/llm/object/builder.rb +38 -0
  109. data/lib/llm/shell/internal/llm.rb/lib/llm/object/kernel.rb +53 -0
  110. data/lib/llm/shell/internal/llm.rb/lib/llm/object.rb +89 -0
  111. data/lib/llm/shell/internal/llm.rb/lib/llm/provider.rb +352 -0
  112. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/error_handler.rb +36 -0
  113. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/files.rb +155 -0
  114. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/format/completion_format.rb +88 -0
  115. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/format.rb +29 -0
  116. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/models.rb +54 -0
  117. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/completion.rb +39 -0
  118. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/enumerable.rb +11 -0
  119. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/file.rb +23 -0
  120. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/web_search.rb +21 -0
  121. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/stream_parser.rb +66 -0
  122. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic.rb +138 -0
  123. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/deepseek/format/completion_format.rb +68 -0
  124. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/deepseek/format.rb +27 -0
  125. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/deepseek.rb +75 -0
  126. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/audio.rb +73 -0
  127. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/error_handler.rb +47 -0
  128. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/files.rb +146 -0
  129. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/format/completion_format.rb +69 -0
  130. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/format.rb +39 -0
  131. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/images.rb +133 -0
  132. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/models.rb +60 -0
  133. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/completion.rb +35 -0
  134. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/embedding.rb +8 -0
  135. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/file.rb +11 -0
  136. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/files.rb +15 -0
  137. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/image.rb +31 -0
  138. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/models.rb +15 -0
  139. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/web_search.rb +22 -0
  140. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/stream_parser.rb +86 -0
  141. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini.rb +173 -0
  142. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/llamacpp.rb +74 -0
  143. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/error_handler.rb +36 -0
  144. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/format/completion_format.rb +77 -0
  145. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/format.rb +29 -0
  146. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/models.rb +56 -0
  147. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/response/completion.rb +28 -0
  148. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/response/embedding.rb +9 -0
  149. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/stream_parser.rb +44 -0
  150. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama.rb +116 -0
  151. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/audio.rb +91 -0
  152. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/error_handler.rb +46 -0
  153. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/files.rb +134 -0
  154. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/completion_format.rb +90 -0
  155. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/moderation_format.rb +35 -0
  156. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/respond_format.rb +72 -0
  157. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format.rb +54 -0
  158. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/images.rb +109 -0
  159. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/models.rb +55 -0
  160. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/moderations.rb +65 -0
  161. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/audio.rb +7 -0
  162. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/completion.rb +40 -0
  163. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/embedding.rb +9 -0
  164. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/enumerable.rb +23 -0
  165. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/file.rb +7 -0
  166. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/image.rb +16 -0
  167. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/moderations.rb +34 -0
  168. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/responds.rb +48 -0
  169. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/web_search.rb +21 -0
  170. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/responses/stream_parser.rb +76 -0
  171. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/responses.rb +99 -0
  172. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/stream_parser.rb +86 -0
  173. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/vector_stores.rb +228 -0
  174. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai.rb +206 -0
  175. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/xai/images.rb +58 -0
  176. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/xai.rb +72 -0
  177. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/zai.rb +74 -0
  178. data/lib/llm/shell/internal/llm.rb/lib/llm/response.rb +67 -0
  179. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/array.rb +26 -0
  180. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/boolean.rb +13 -0
  181. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/integer.rb +43 -0
  182. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/leaf.rb +78 -0
  183. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/null.rb +13 -0
  184. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/number.rb +43 -0
  185. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/object.rb +41 -0
  186. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/string.rb +34 -0
  187. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/version.rb +8 -0
  188. data/lib/llm/shell/internal/llm.rb/lib/llm/schema.rb +81 -0
  189. data/lib/llm/shell/internal/llm.rb/lib/llm/server_tool.rb +32 -0
  190. data/lib/llm/shell/internal/llm.rb/lib/llm/tool/param.rb +75 -0
  191. data/lib/llm/shell/internal/llm.rb/lib/llm/tool.rb +78 -0
  192. data/lib/llm/shell/internal/llm.rb/lib/llm/utils.rb +19 -0
  193. data/lib/llm/shell/internal/llm.rb/lib/llm/version.rb +5 -0
  194. data/lib/llm/shell/internal/llm.rb/lib/llm.rb +121 -0
  195. data/lib/llm/shell/internal/optparse/lib/optionparser.rb +2 -0
  196. data/lib/llm/shell/internal/optparse/lib/optparse/ac.rb +70 -0
  197. data/lib/llm/shell/internal/optparse/lib/optparse/date.rb +18 -0
  198. data/lib/llm/shell/internal/optparse/lib/optparse/kwargs.rb +27 -0
  199. data/lib/llm/shell/internal/optparse/lib/optparse/shellwords.rb +7 -0
  200. data/lib/llm/shell/internal/optparse/lib/optparse/time.rb +11 -0
  201. data/lib/llm/shell/internal/optparse/lib/optparse/uri.rb +7 -0
  202. data/lib/llm/shell/internal/optparse/lib/optparse/version.rb +80 -0
  203. data/lib/llm/shell/internal/optparse/lib/optparse.rb +2469 -0
  204. data/lib/llm/shell/internal/paint/lib/paint/constants.rb +104 -0
  205. data/lib/llm/shell/internal/paint/lib/paint/pa.rb +13 -0
  206. data/lib/llm/shell/internal/paint/lib/paint/rgb_colors.rb +14 -0
  207. data/lib/llm/shell/internal/paint/lib/paint/shortcuts.rb +100 -0
  208. data/lib/llm/shell/internal/paint/lib/paint/shortcuts_version.rb +5 -0
  209. data/lib/llm/shell/internal/paint/lib/paint/util.rb +16 -0
  210. data/lib/llm/shell/internal/paint/lib/paint/version.rb +5 -0
  211. data/lib/llm/shell/internal/paint/lib/paint.rb +261 -0
  212. data/lib/llm/shell/internal/reline/lib/reline/config.rb +378 -0
  213. data/lib/llm/shell/internal/reline/lib/reline/face.rb +199 -0
  214. data/lib/llm/shell/internal/reline/lib/reline/history.rb +76 -0
  215. data/lib/llm/shell/internal/reline/lib/reline/io/ansi.rb +322 -0
  216. data/lib/llm/shell/internal/reline/lib/reline/io/dumb.rb +120 -0
  217. data/lib/llm/shell/internal/reline/lib/reline/io/windows.rb +530 -0
  218. data/lib/llm/shell/internal/reline/lib/reline/io.rb +55 -0
  219. data/lib/llm/shell/internal/reline/lib/reline/key_actor/base.rb +37 -0
  220. data/lib/llm/shell/internal/reline/lib/reline/key_actor/composite.rb +17 -0
  221. data/lib/llm/shell/internal/reline/lib/reline/key_actor/emacs.rb +517 -0
  222. data/lib/llm/shell/internal/reline/lib/reline/key_actor/vi_command.rb +518 -0
  223. data/lib/llm/shell/internal/reline/lib/reline/key_actor/vi_insert.rb +517 -0
  224. data/lib/llm/shell/internal/reline/lib/reline/key_actor.rb +8 -0
  225. data/lib/llm/shell/internal/reline/lib/reline/key_stroke.rb +119 -0
  226. data/lib/llm/shell/internal/reline/lib/reline/kill_ring.rb +125 -0
  227. data/lib/llm/shell/internal/reline/lib/reline/line_editor.rb +2356 -0
  228. data/lib/llm/shell/internal/reline/lib/reline/unicode/east_asian_width.rb +1292 -0
  229. data/lib/llm/shell/internal/reline/lib/reline/unicode.rb +421 -0
  230. data/lib/llm/shell/internal/reline/lib/reline/version.rb +3 -0
  231. data/lib/llm/shell/internal/reline/lib/reline.rb +527 -0
  232. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/generated_parser.rb +712 -0
  233. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/handler.rb +268 -0
  234. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/local_date.rb +35 -0
  235. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/local_date_time.rb +42 -0
  236. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/local_time.rb +40 -0
  237. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/parser.rb +21 -0
  238. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/scanner.rb +92 -0
  239. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/string_utils.rb +40 -0
  240. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/version.rb +5 -0
  241. data/lib/llm/shell/internal/tomlrb/lib/tomlrb.rb +49 -0
  242. data/lib/llm/shell/options.rb +1 -1
  243. data/lib/llm/shell/renderer.rb +2 -3
  244. data/lib/llm/shell/repl.rb +21 -16
  245. data/lib/llm/shell/tool.rb +42 -0
  246. data/lib/llm/shell/tools/read_file.rb +15 -0
  247. data/lib/llm/shell/tools/system.rb +17 -0
  248. data/lib/llm/shell/tools/write_file.rb +16 -0
  249. data/lib/llm/shell/version.rb +1 -1
  250. data/lib/llm/shell.rb +83 -39
  251. data/libexec/llm-shell/shell +4 -6
  252. data/llm-shell.gemspec +0 -4
  253. metadata +233 -63
  254. data/lib/llm/function.rb +0 -17
  255. data/lib/llm/shell/command/extension.rb +0 -42
  256. data/lib/llm/shell/commands/utils.rb +0 -21
  257. data/lib/llm/shell/functions/read_file.rb +0 -22
  258. data/lib/llm/shell/functions/write_file.rb +0 -22
@@ -0,0 +1,518 @@
1
+ module Reline::KeyActor
2
+ VI_COMMAND_MAPPING = [
3
+ # 0 ^@
4
+ nil,
5
+ # 1 ^A
6
+ :ed_move_to_beg,
7
+ # 2 ^B
8
+ nil,
9
+ # 3 ^C
10
+ :ed_ignore,
11
+ # 4 ^D
12
+ :vi_end_of_transmission,
13
+ # 5 ^E
14
+ :ed_move_to_end,
15
+ # 6 ^F
16
+ nil,
17
+ # 7 ^G
18
+ nil,
19
+ # 8 ^H
20
+ :ed_prev_char,
21
+ # 9 ^I
22
+ nil,
23
+ # 10 ^J
24
+ :ed_newline,
25
+ # 11 ^K
26
+ :ed_kill_line,
27
+ # 12 ^L
28
+ :ed_clear_screen,
29
+ # 13 ^M
30
+ :ed_newline,
31
+ # 14 ^N
32
+ :ed_next_history,
33
+ # 15 ^O
34
+ :ed_ignore,
35
+ # 16 ^P
36
+ :ed_prev_history,
37
+ # 17 ^Q
38
+ :ed_ignore,
39
+ # 18 ^R
40
+ :vi_search_prev,
41
+ # 19 ^S
42
+ :ed_ignore,
43
+ # 20 ^T
44
+ :ed_transpose_chars,
45
+ # 21 ^U
46
+ :vi_kill_line_prev,
47
+ # 22 ^V
48
+ :ed_quoted_insert,
49
+ # 23 ^W
50
+ :ed_delete_prev_word,
51
+ # 24 ^X
52
+ nil,
53
+ # 25 ^Y
54
+ :em_yank,
55
+ # 26 ^Z
56
+ nil,
57
+ # 27 ^[
58
+ nil,
59
+ # 28 ^\
60
+ :ed_ignore,
61
+ # 29 ^]
62
+ nil,
63
+ # 30 ^^
64
+ nil,
65
+ # 31 ^_
66
+ nil,
67
+ # 32 SPACE
68
+ :ed_next_char,
69
+ # 33 !
70
+ nil,
71
+ # 34 "
72
+ nil,
73
+ # 35 #
74
+ :vi_comment_out,
75
+ # 36 $
76
+ :ed_move_to_end,
77
+ # 37 %
78
+ nil,
79
+ # 38 &
80
+ nil,
81
+ # 39 '
82
+ nil,
83
+ # 40 (
84
+ nil,
85
+ # 41 )
86
+ nil,
87
+ # 42 *
88
+ nil,
89
+ # 43 +
90
+ :ed_next_history,
91
+ # 44 ,
92
+ nil,
93
+ # 45 -
94
+ :ed_prev_history,
95
+ # 46 .
96
+ nil,
97
+ # 47 /
98
+ :vi_search_prev,
99
+ # 48 0
100
+ :vi_zero,
101
+ # 49 1
102
+ :ed_argument_digit,
103
+ # 50 2
104
+ :ed_argument_digit,
105
+ # 51 3
106
+ :ed_argument_digit,
107
+ # 52 4
108
+ :ed_argument_digit,
109
+ # 53 5
110
+ :ed_argument_digit,
111
+ # 54 6
112
+ :ed_argument_digit,
113
+ # 55 7
114
+ :ed_argument_digit,
115
+ # 56 8
116
+ :ed_argument_digit,
117
+ # 57 9
118
+ :ed_argument_digit,
119
+ # 58 :
120
+ nil,
121
+ # 59 ;
122
+ nil,
123
+ # 60 <
124
+ nil,
125
+ # 61 =
126
+ nil,
127
+ # 62 >
128
+ nil,
129
+ # 63 ?
130
+ :vi_search_next,
131
+ # 64 @
132
+ :vi_alias,
133
+ # 65 A
134
+ :vi_add_at_eol,
135
+ # 66 B
136
+ :vi_prev_big_word,
137
+ # 67 C
138
+ :vi_change_to_eol,
139
+ # 68 D
140
+ :ed_kill_line,
141
+ # 69 E
142
+ :vi_end_big_word,
143
+ # 70 F
144
+ :vi_prev_char,
145
+ # 71 G
146
+ :vi_to_history_line,
147
+ # 72 H
148
+ nil,
149
+ # 73 I
150
+ :vi_insert_at_bol,
151
+ # 74 J
152
+ :vi_join_lines,
153
+ # 75 K
154
+ :vi_search_prev,
155
+ # 76 L
156
+ nil,
157
+ # 77 M
158
+ nil,
159
+ # 78 N
160
+ nil,
161
+ # 79 O
162
+ nil,
163
+ # 80 P
164
+ :vi_paste_prev,
165
+ # 81 Q
166
+ nil,
167
+ # 82 R
168
+ nil,
169
+ # 83 S
170
+ nil,
171
+ # 84 T
172
+ :vi_to_prev_char,
173
+ # 85 U
174
+ nil,
175
+ # 86 V
176
+ nil,
177
+ # 87 W
178
+ :vi_next_big_word,
179
+ # 88 X
180
+ :ed_delete_prev_char,
181
+ # 89 Y
182
+ nil,
183
+ # 90 Z
184
+ nil,
185
+ # 91 [
186
+ nil,
187
+ # 92 \
188
+ nil,
189
+ # 93 ]
190
+ nil,
191
+ # 94 ^
192
+ :vi_first_print,
193
+ # 95 _
194
+ nil,
195
+ # 96 `
196
+ nil,
197
+ # 97 a
198
+ :vi_add,
199
+ # 98 b
200
+ :vi_prev_word,
201
+ # 99 c
202
+ :vi_change_meta,
203
+ # 100 d
204
+ :vi_delete_meta,
205
+ # 101 e
206
+ :vi_end_word,
207
+ # 102 f
208
+ :vi_next_char,
209
+ # 103 g
210
+ nil,
211
+ # 104 h
212
+ :ed_prev_char,
213
+ # 105 i
214
+ :vi_insert,
215
+ # 106 j
216
+ :ed_next_history,
217
+ # 107 k
218
+ :ed_prev_history,
219
+ # 108 l
220
+ :ed_next_char,
221
+ # 109 m
222
+ nil,
223
+ # 110 n
224
+ nil,
225
+ # 111 o
226
+ nil,
227
+ # 112 p
228
+ :vi_paste_next,
229
+ # 113 q
230
+ nil,
231
+ # 114 r
232
+ :vi_replace_char,
233
+ # 115 s
234
+ nil,
235
+ # 116 t
236
+ :vi_to_next_char,
237
+ # 117 u
238
+ nil,
239
+ # 118 v
240
+ :vi_histedit,
241
+ # 119 w
242
+ :vi_next_word,
243
+ # 120 x
244
+ :ed_delete_next_char,
245
+ # 121 y
246
+ :vi_yank,
247
+ # 122 z
248
+ nil,
249
+ # 123 {
250
+ nil,
251
+ # 124 |
252
+ :vi_to_column,
253
+ # 125 }
254
+ nil,
255
+ # 126 ~
256
+ nil,
257
+ # 127 ^?
258
+ :em_delete_prev_char,
259
+ # 128 M-^@
260
+ nil,
261
+ # 129 M-^A
262
+ nil,
263
+ # 130 M-^B
264
+ nil,
265
+ # 131 M-^C
266
+ nil,
267
+ # 132 M-^D
268
+ nil,
269
+ # 133 M-^E
270
+ nil,
271
+ # 134 M-^F
272
+ nil,
273
+ # 135 M-^G
274
+ nil,
275
+ # 136 M-^H
276
+ nil,
277
+ # 137 M-^I
278
+ nil,
279
+ # 138 M-^J
280
+ nil,
281
+ # 139 M-^K
282
+ nil,
283
+ # 140 M-^L
284
+ nil,
285
+ # 141 M-^M
286
+ nil,
287
+ # 142 M-^N
288
+ nil,
289
+ # 143 M-^O
290
+ nil,
291
+ # 144 M-^P
292
+ nil,
293
+ # 145 M-^Q
294
+ nil,
295
+ # 146 M-^R
296
+ nil,
297
+ # 147 M-^S
298
+ nil,
299
+ # 148 M-^T
300
+ nil,
301
+ # 149 M-^U
302
+ nil,
303
+ # 150 M-^V
304
+ nil,
305
+ # 151 M-^W
306
+ nil,
307
+ # 152 M-^X
308
+ nil,
309
+ # 153 M-^Y
310
+ nil,
311
+ # 154 M-^Z
312
+ nil,
313
+ # 155 M-^[
314
+ nil,
315
+ # 156 M-^\
316
+ nil,
317
+ # 157 M-^]
318
+ nil,
319
+ # 158 M-^^
320
+ nil,
321
+ # 159 M-^_
322
+ nil,
323
+ # 160 M-SPACE
324
+ nil,
325
+ # 161 M-!
326
+ nil,
327
+ # 162 M-"
328
+ nil,
329
+ # 163 M-#
330
+ nil,
331
+ # 164 M-$
332
+ nil,
333
+ # 165 M-%
334
+ nil,
335
+ # 166 M-&
336
+ nil,
337
+ # 167 M-'
338
+ nil,
339
+ # 168 M-(
340
+ nil,
341
+ # 169 M-)
342
+ nil,
343
+ # 170 M-*
344
+ nil,
345
+ # 171 M-+
346
+ nil,
347
+ # 172 M-,
348
+ nil,
349
+ # 173 M--
350
+ nil,
351
+ # 174 M-.
352
+ nil,
353
+ # 175 M-/
354
+ nil,
355
+ # 176 M-0
356
+ nil,
357
+ # 177 M-1
358
+ nil,
359
+ # 178 M-2
360
+ nil,
361
+ # 179 M-3
362
+ nil,
363
+ # 180 M-4
364
+ nil,
365
+ # 181 M-5
366
+ nil,
367
+ # 182 M-6
368
+ nil,
369
+ # 183 M-7
370
+ nil,
371
+ # 184 M-8
372
+ nil,
373
+ # 185 M-9
374
+ nil,
375
+ # 186 M-:
376
+ nil,
377
+ # 187 M-;
378
+ nil,
379
+ # 188 M-<
380
+ nil,
381
+ # 189 M-=
382
+ nil,
383
+ # 190 M->
384
+ nil,
385
+ # 191 M-?
386
+ nil,
387
+ # 192 M-@
388
+ nil,
389
+ # 193 M-A
390
+ nil,
391
+ # 194 M-B
392
+ nil,
393
+ # 195 M-C
394
+ nil,
395
+ # 196 M-D
396
+ nil,
397
+ # 197 M-E
398
+ nil,
399
+ # 198 M-F
400
+ nil,
401
+ # 199 M-G
402
+ nil,
403
+ # 200 M-H
404
+ nil,
405
+ # 201 M-I
406
+ nil,
407
+ # 202 M-J
408
+ nil,
409
+ # 203 M-K
410
+ nil,
411
+ # 204 M-L
412
+ nil,
413
+ # 205 M-M
414
+ nil,
415
+ # 206 M-N
416
+ nil,
417
+ # 207 M-O
418
+ nil,
419
+ # 208 M-P
420
+ nil,
421
+ # 209 M-Q
422
+ nil,
423
+ # 210 M-R
424
+ nil,
425
+ # 211 M-S
426
+ nil,
427
+ # 212 M-T
428
+ nil,
429
+ # 213 M-U
430
+ nil,
431
+ # 214 M-V
432
+ nil,
433
+ # 215 M-W
434
+ nil,
435
+ # 216 M-X
436
+ nil,
437
+ # 217 M-Y
438
+ nil,
439
+ # 218 M-Z
440
+ nil,
441
+ # 219 M-[
442
+ nil,
443
+ # 220 M-\
444
+ nil,
445
+ # 221 M-]
446
+ nil,
447
+ # 222 M-^
448
+ nil,
449
+ # 223 M-_
450
+ nil,
451
+ # 224 M-`
452
+ nil,
453
+ # 225 M-a
454
+ nil,
455
+ # 226 M-b
456
+ nil,
457
+ # 227 M-c
458
+ nil,
459
+ # 228 M-d
460
+ nil,
461
+ # 229 M-e
462
+ nil,
463
+ # 230 M-f
464
+ nil,
465
+ # 231 M-g
466
+ nil,
467
+ # 232 M-h
468
+ nil,
469
+ # 233 M-i
470
+ nil,
471
+ # 234 M-j
472
+ nil,
473
+ # 235 M-k
474
+ nil,
475
+ # 236 M-l
476
+ nil,
477
+ # 237 M-m
478
+ nil,
479
+ # 238 M-n
480
+ nil,
481
+ # 239 M-o
482
+ nil,
483
+ # 240 M-p
484
+ nil,
485
+ # 241 M-q
486
+ nil,
487
+ # 242 M-r
488
+ nil,
489
+ # 243 M-s
490
+ nil,
491
+ # 244 M-t
492
+ nil,
493
+ # 245 M-u
494
+ nil,
495
+ # 246 M-v
496
+ nil,
497
+ # 247 M-w
498
+ nil,
499
+ # 248 M-x
500
+ nil,
501
+ # 249 M-y
502
+ nil,
503
+ # 250 M-z
504
+ nil,
505
+ # 251 M-{
506
+ nil,
507
+ # 252 M-|
508
+ nil,
509
+ # 253 M-}
510
+ nil,
511
+ # 254 M-~
512
+ nil,
513
+ # 255 M-^?
514
+ nil
515
+ # EOF
516
+ ]
517
+ end
518
+