llm-shell 0.10.0 → 0.11.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 (260) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -0
  3. data/README.md +24 -160
  4. data/exe/llm-shell +7 -0
  5. data/llm-shell.gemspec +26 -32
  6. metadata +36 -372
  7. data/bin/llm-shell +0 -21
  8. data/lib/llm/shell/command.rb +0 -88
  9. data/lib/llm/shell/commands/clear_screen.rb +0 -18
  10. data/lib/llm/shell/commands/debug_mode.rb +0 -12
  11. data/lib/llm/shell/commands/dir_import.rb +0 -33
  12. data/lib/llm/shell/commands/disable_tool.rb +0 -33
  13. data/lib/llm/shell/commands/enable_tool.rb +0 -33
  14. data/lib/llm/shell/commands/file_import.rb +0 -25
  15. data/lib/llm/shell/commands/help.rb +0 -53
  16. data/lib/llm/shell/commands/show_chat.rb +0 -31
  17. data/lib/llm/shell/commands/show_version.rb +0 -17
  18. data/lib/llm/shell/commands/system_prompt.rb +0 -21
  19. data/lib/llm/shell/completion.rb +0 -40
  20. data/lib/llm/shell/config.rb +0 -34
  21. data/lib/llm/shell/default.rb +0 -23
  22. data/lib/llm/shell/formatter.rb +0 -41
  23. data/lib/llm/shell/internal/coderay/lib/coderay/duo.rb +0 -81
  24. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/_map.rb +0 -17
  25. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/comment_filter.rb +0 -25
  26. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/count.rb +0 -39
  27. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/debug.rb +0 -49
  28. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/debug_lint.rb +0 -63
  29. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/div.rb +0 -23
  30. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/encoder.rb +0 -190
  31. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/filter.rb +0 -58
  32. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html/css.rb +0 -65
  33. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html/numbering.rb +0 -108
  34. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html/output.rb +0 -164
  35. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/html.rb +0 -333
  36. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/json.rb +0 -83
  37. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/lines_of_code.rb +0 -45
  38. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/lint.rb +0 -59
  39. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/null.rb +0 -18
  40. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/page.rb +0 -24
  41. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/span.rb +0 -23
  42. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/statistic.rb +0 -95
  43. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/terminal.rb +0 -195
  44. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/text.rb +0 -46
  45. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/token_kind_filter.rb +0 -111
  46. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/xml.rb +0 -72
  47. data/lib/llm/shell/internal/coderay/lib/coderay/encoders/yaml.rb +0 -50
  48. data/lib/llm/shell/internal/coderay/lib/coderay/encoders.rb +0 -18
  49. data/lib/llm/shell/internal/coderay/lib/coderay/for_redcloth.rb +0 -95
  50. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/file_type.rb +0 -151
  51. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/plugin.rb +0 -55
  52. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/plugin_host.rb +0 -221
  53. data/lib/llm/shell/internal/coderay/lib/coderay/helpers/word_list.rb +0 -72
  54. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/_map.rb +0 -24
  55. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/c.rb +0 -189
  56. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/clojure.rb +0 -217
  57. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/cpp.rb +0 -217
  58. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/css.rb +0 -196
  59. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/debug.rb +0 -75
  60. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/delphi.rb +0 -144
  61. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/diff.rb +0 -221
  62. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/erb.rb +0 -81
  63. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/go.rb +0 -208
  64. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/groovy.rb +0 -268
  65. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/haml.rb +0 -168
  66. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/html.rb +0 -275
  67. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/java/builtin_types.rb +0 -421
  68. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/java.rb +0 -174
  69. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/java_script.rb +0 -236
  70. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/json.rb +0 -98
  71. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/lua.rb +0 -280
  72. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/php.rb +0 -527
  73. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/python.rb +0 -287
  74. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/raydebug.rb +0 -75
  75. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/ruby/patterns.rb +0 -178
  76. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/ruby/string_state.rb +0 -79
  77. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/ruby.rb +0 -477
  78. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/sass.rb +0 -232
  79. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/scanner.rb +0 -337
  80. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/sql.rb +0 -169
  81. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/taskpaper.rb +0 -36
  82. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/text.rb +0 -26
  83. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/xml.rb +0 -17
  84. data/lib/llm/shell/internal/coderay/lib/coderay/scanners/yaml.rb +0 -140
  85. data/lib/llm/shell/internal/coderay/lib/coderay/scanners.rb +0 -27
  86. data/lib/llm/shell/internal/coderay/lib/coderay/styles/_map.rb +0 -7
  87. data/lib/llm/shell/internal/coderay/lib/coderay/styles/alpha.rb +0 -153
  88. data/lib/llm/shell/internal/coderay/lib/coderay/styles/style.rb +0 -18
  89. data/lib/llm/shell/internal/coderay/lib/coderay/styles.rb +0 -15
  90. data/lib/llm/shell/internal/coderay/lib/coderay/token_kinds.rb +0 -85
  91. data/lib/llm/shell/internal/coderay/lib/coderay/tokens.rb +0 -164
  92. data/lib/llm/shell/internal/coderay/lib/coderay/tokens_proxy.rb +0 -55
  93. data/lib/llm/shell/internal/coderay/lib/coderay/version.rb +0 -3
  94. data/lib/llm/shell/internal/coderay/lib/coderay.rb +0 -284
  95. data/lib/llm/shell/internal/io-line/lib/io/line/multiple.rb +0 -19
  96. data/lib/llm/shell/internal/io-line/lib/io/line.rb +0 -28
  97. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/builder.rb +0 -31
  98. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/conversable.rb +0 -37
  99. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/prompt/completion.rb +0 -49
  100. data/lib/llm/shell/internal/llm.rb/lib/llm/bot/prompt/respond.rb +0 -49
  101. data/lib/llm/shell/internal/llm.rb/lib/llm/bot.rb +0 -150
  102. data/lib/llm/shell/internal/llm.rb/lib/llm/buffer.rb +0 -162
  103. data/lib/llm/shell/internal/llm.rb/lib/llm/client.rb +0 -36
  104. data/lib/llm/shell/internal/llm.rb/lib/llm/error.rb +0 -49
  105. data/lib/llm/shell/internal/llm.rb/lib/llm/eventhandler.rb +0 -44
  106. data/lib/llm/shell/internal/llm.rb/lib/llm/eventstream/event.rb +0 -69
  107. data/lib/llm/shell/internal/llm.rb/lib/llm/eventstream/parser.rb +0 -88
  108. data/lib/llm/shell/internal/llm.rb/lib/llm/eventstream.rb +0 -8
  109. data/lib/llm/shell/internal/llm.rb/lib/llm/file.rb +0 -91
  110. data/lib/llm/shell/internal/llm.rb/lib/llm/function.rb +0 -177
  111. data/lib/llm/shell/internal/llm.rb/lib/llm/message.rb +0 -178
  112. data/lib/llm/shell/internal/llm.rb/lib/llm/mime.rb +0 -140
  113. data/lib/llm/shell/internal/llm.rb/lib/llm/multipart.rb +0 -101
  114. data/lib/llm/shell/internal/llm.rb/lib/llm/object/builder.rb +0 -38
  115. data/lib/llm/shell/internal/llm.rb/lib/llm/object/kernel.rb +0 -53
  116. data/lib/llm/shell/internal/llm.rb/lib/llm/object.rb +0 -89
  117. data/lib/llm/shell/internal/llm.rb/lib/llm/provider.rb +0 -352
  118. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/error_handler.rb +0 -36
  119. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/files.rb +0 -155
  120. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/format/completion_format.rb +0 -88
  121. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/format.rb +0 -29
  122. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/models.rb +0 -54
  123. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/completion.rb +0 -39
  124. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/enumerable.rb +0 -11
  125. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/file.rb +0 -23
  126. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/response/web_search.rb +0 -21
  127. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic/stream_parser.rb +0 -66
  128. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/anthropic.rb +0 -138
  129. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/deepseek/format/completion_format.rb +0 -68
  130. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/deepseek/format.rb +0 -27
  131. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/deepseek.rb +0 -75
  132. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/audio.rb +0 -73
  133. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/error_handler.rb +0 -47
  134. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/files.rb +0 -146
  135. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/format/completion_format.rb +0 -69
  136. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/format.rb +0 -39
  137. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/images.rb +0 -133
  138. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/models.rb +0 -60
  139. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/completion.rb +0 -35
  140. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/embedding.rb +0 -8
  141. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/file.rb +0 -11
  142. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/files.rb +0 -15
  143. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/image.rb +0 -31
  144. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/models.rb +0 -15
  145. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/response/web_search.rb +0 -22
  146. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini/stream_parser.rb +0 -86
  147. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/gemini.rb +0 -173
  148. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/llamacpp.rb +0 -74
  149. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/error_handler.rb +0 -36
  150. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/format/completion_format.rb +0 -77
  151. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/format.rb +0 -29
  152. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/models.rb +0 -56
  153. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/response/completion.rb +0 -28
  154. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/response/embedding.rb +0 -9
  155. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama/stream_parser.rb +0 -44
  156. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/ollama.rb +0 -116
  157. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/audio.rb +0 -91
  158. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/error_handler.rb +0 -46
  159. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/files.rb +0 -134
  160. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/completion_format.rb +0 -90
  161. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/moderation_format.rb +0 -35
  162. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format/respond_format.rb +0 -72
  163. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/format.rb +0 -54
  164. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/images.rb +0 -109
  165. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/models.rb +0 -55
  166. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/moderations.rb +0 -65
  167. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/audio.rb +0 -7
  168. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/completion.rb +0 -40
  169. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/embedding.rb +0 -9
  170. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/enumerable.rb +0 -23
  171. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/file.rb +0 -7
  172. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/image.rb +0 -16
  173. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/moderations.rb +0 -34
  174. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/responds.rb +0 -48
  175. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/response/web_search.rb +0 -21
  176. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/responses/stream_parser.rb +0 -76
  177. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/responses.rb +0 -99
  178. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/stream_parser.rb +0 -86
  179. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai/vector_stores.rb +0 -228
  180. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/openai.rb +0 -206
  181. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/xai/images.rb +0 -58
  182. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/xai.rb +0 -72
  183. data/lib/llm/shell/internal/llm.rb/lib/llm/providers/zai.rb +0 -74
  184. data/lib/llm/shell/internal/llm.rb/lib/llm/response.rb +0 -67
  185. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/array.rb +0 -26
  186. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/boolean.rb +0 -13
  187. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/integer.rb +0 -43
  188. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/leaf.rb +0 -78
  189. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/null.rb +0 -13
  190. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/number.rb +0 -43
  191. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/object.rb +0 -41
  192. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/string.rb +0 -34
  193. data/lib/llm/shell/internal/llm.rb/lib/llm/schema/version.rb +0 -8
  194. data/lib/llm/shell/internal/llm.rb/lib/llm/schema.rb +0 -81
  195. data/lib/llm/shell/internal/llm.rb/lib/llm/server_tool.rb +0 -32
  196. data/lib/llm/shell/internal/llm.rb/lib/llm/tool/param.rb +0 -75
  197. data/lib/llm/shell/internal/llm.rb/lib/llm/tool.rb +0 -78
  198. data/lib/llm/shell/internal/llm.rb/lib/llm/utils.rb +0 -19
  199. data/lib/llm/shell/internal/llm.rb/lib/llm/version.rb +0 -5
  200. data/lib/llm/shell/internal/llm.rb/lib/llm.rb +0 -121
  201. data/lib/llm/shell/internal/optparse/lib/optionparser.rb +0 -2
  202. data/lib/llm/shell/internal/optparse/lib/optparse/ac.rb +0 -70
  203. data/lib/llm/shell/internal/optparse/lib/optparse/date.rb +0 -18
  204. data/lib/llm/shell/internal/optparse/lib/optparse/kwargs.rb +0 -27
  205. data/lib/llm/shell/internal/optparse/lib/optparse/shellwords.rb +0 -7
  206. data/lib/llm/shell/internal/optparse/lib/optparse/time.rb +0 -11
  207. data/lib/llm/shell/internal/optparse/lib/optparse/uri.rb +0 -7
  208. data/lib/llm/shell/internal/optparse/lib/optparse/version.rb +0 -80
  209. data/lib/llm/shell/internal/optparse/lib/optparse.rb +0 -2469
  210. data/lib/llm/shell/internal/paint/lib/paint/constants.rb +0 -104
  211. data/lib/llm/shell/internal/paint/lib/paint/pa.rb +0 -13
  212. data/lib/llm/shell/internal/paint/lib/paint/rgb_colors.rb +0 -14
  213. data/lib/llm/shell/internal/paint/lib/paint/shortcuts.rb +0 -100
  214. data/lib/llm/shell/internal/paint/lib/paint/shortcuts_version.rb +0 -5
  215. data/lib/llm/shell/internal/paint/lib/paint/util.rb +0 -16
  216. data/lib/llm/shell/internal/paint/lib/paint/version.rb +0 -5
  217. data/lib/llm/shell/internal/paint/lib/paint.rb +0 -261
  218. data/lib/llm/shell/internal/reline/lib/reline/config.rb +0 -378
  219. data/lib/llm/shell/internal/reline/lib/reline/face.rb +0 -199
  220. data/lib/llm/shell/internal/reline/lib/reline/history.rb +0 -76
  221. data/lib/llm/shell/internal/reline/lib/reline/io/ansi.rb +0 -322
  222. data/lib/llm/shell/internal/reline/lib/reline/io/dumb.rb +0 -120
  223. data/lib/llm/shell/internal/reline/lib/reline/io/windows.rb +0 -530
  224. data/lib/llm/shell/internal/reline/lib/reline/io.rb +0 -55
  225. data/lib/llm/shell/internal/reline/lib/reline/key_actor/base.rb +0 -37
  226. data/lib/llm/shell/internal/reline/lib/reline/key_actor/composite.rb +0 -17
  227. data/lib/llm/shell/internal/reline/lib/reline/key_actor/emacs.rb +0 -517
  228. data/lib/llm/shell/internal/reline/lib/reline/key_actor/vi_command.rb +0 -518
  229. data/lib/llm/shell/internal/reline/lib/reline/key_actor/vi_insert.rb +0 -517
  230. data/lib/llm/shell/internal/reline/lib/reline/key_actor.rb +0 -8
  231. data/lib/llm/shell/internal/reline/lib/reline/key_stroke.rb +0 -119
  232. data/lib/llm/shell/internal/reline/lib/reline/kill_ring.rb +0 -125
  233. data/lib/llm/shell/internal/reline/lib/reline/line_editor.rb +0 -2356
  234. data/lib/llm/shell/internal/reline/lib/reline/unicode/east_asian_width.rb +0 -1292
  235. data/lib/llm/shell/internal/reline/lib/reline/unicode.rb +0 -421
  236. data/lib/llm/shell/internal/reline/lib/reline/version.rb +0 -3
  237. data/lib/llm/shell/internal/reline/lib/reline.rb +0 -527
  238. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/generated_parser.rb +0 -712
  239. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/handler.rb +0 -268
  240. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/local_date.rb +0 -35
  241. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/local_date_time.rb +0 -42
  242. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/local_time.rb +0 -40
  243. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/parser.rb +0 -21
  244. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/scanner.rb +0 -92
  245. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/string_utils.rb +0 -40
  246. data/lib/llm/shell/internal/tomlrb/lib/tomlrb/version.rb +0 -5
  247. data/lib/llm/shell/internal/tomlrb/lib/tomlrb.rb +0 -49
  248. data/lib/llm/shell/markdown.rb +0 -83
  249. data/lib/llm/shell/options.rb +0 -39
  250. data/lib/llm/shell/renderer.rb +0 -51
  251. data/lib/llm/shell/repl.rb +0 -111
  252. data/lib/llm/shell/tool.rb +0 -42
  253. data/lib/llm/shell/tools/read_file.rb +0 -15
  254. data/lib/llm/shell/tools/system.rb +0 -17
  255. data/lib/llm/shell/tools/write_file.rb +0 -16
  256. data/lib/llm/shell/version.rb +0 -8
  257. data/lib/llm/shell.rb +0 -132
  258. data/lib/llm-shell.rb +0 -3
  259. data/libexec/llm-shell/shell +0 -43
  260. data/share/llm-shell/prompts/default.txt +0 -21
@@ -1,125 +0,0 @@
1
- class Reline::KillRing
2
- include Enumerable
3
-
4
- module State
5
- FRESH = :fresh
6
- CONTINUED = :continued
7
- PROCESSED = :processed
8
- YANK = :yank
9
- end
10
-
11
- RingPoint = Struct.new(:backward, :forward, :str) do
12
- def initialize(str)
13
- super(nil, nil, str)
14
- end
15
-
16
- def ==(other)
17
- equal?(other)
18
- end
19
- end
20
-
21
- class RingBuffer
22
- attr_reader :size
23
- attr_reader :head
24
-
25
- def initialize(max = 1024)
26
- @max = max
27
- @size = 0
28
- @head = nil # reading head of ring-shaped tape
29
- end
30
-
31
- def <<(point)
32
- if @size.zero?
33
- @head = point
34
- @head.backward = @head
35
- @head.forward = @head
36
- @size = 1
37
- elsif @size >= @max
38
- tail = @head.forward
39
- new_tail = tail.forward
40
- @head.forward = point
41
- point.backward = @head
42
- new_tail.backward = point
43
- point.forward = new_tail
44
- @head = point
45
- else
46
- tail = @head.forward
47
- @head.forward = point
48
- point.backward = @head
49
- tail.backward = point
50
- point.forward = tail
51
- @head = point
52
- @size += 1
53
- end
54
- end
55
-
56
- def empty?
57
- @size.zero?
58
- end
59
- end
60
-
61
- def initialize(max = 1024)
62
- @ring = RingBuffer.new(max)
63
- @ring_pointer = nil
64
- @buffer = nil
65
- @state = State::FRESH
66
- end
67
-
68
- def append(string, before_p = false)
69
- case @state
70
- when State::FRESH, State::YANK
71
- @ring << RingPoint.new(+string)
72
- @state = State::CONTINUED
73
- when State::CONTINUED, State::PROCESSED
74
- if before_p
75
- @ring.head.str.prepend(string)
76
- else
77
- @ring.head.str.concat(string)
78
- end
79
- @state = State::CONTINUED
80
- end
81
- end
82
-
83
- def process
84
- case @state
85
- when State::FRESH
86
- # nothing to do
87
- when State::CONTINUED
88
- @state = State::PROCESSED
89
- when State::PROCESSED
90
- @state = State::FRESH
91
- when State::YANK
92
- # nothing to do
93
- end
94
- end
95
-
96
- def yank
97
- unless @ring.empty?
98
- @state = State::YANK
99
- @ring_pointer = @ring.head
100
- @ring_pointer.str
101
- else
102
- nil
103
- end
104
- end
105
-
106
- def yank_pop
107
- if @state == State::YANK
108
- prev_yank = @ring_pointer.str
109
- @ring_pointer = @ring_pointer.backward
110
- [@ring_pointer.str, prev_yank]
111
- else
112
- nil
113
- end
114
- end
115
-
116
- def each
117
- start = head = @ring.head
118
- loop do
119
- break if head.nil?
120
- yield head.str
121
- head = head.backward
122
- break if head == start
123
- end
124
- end
125
- end