| 34 | |
| 35 | |
| 36 | class Commands: |
| 37 | voice = None |
| 38 | scraper = None |
| 39 | |
| 40 | def clone(self): |
| 41 | return Commands( |
| 42 | self.io, |
| 43 | None, |
| 44 | voice_language=self.voice_language, |
| 45 | verify_ssl=self.verify_ssl, |
| 46 | args=self.args, |
| 47 | parser=self.parser, |
| 48 | verbose=self.verbose, |
| 49 | editor=self.editor, |
| 50 | original_read_only_fnames=self.original_read_only_fnames, |
| 51 | ) |
| 52 | |
| 53 | def __init__( |
| 54 | self, |
| 55 | io, |
| 56 | coder, |
| 57 | voice_language=None, |
| 58 | voice_input_device=None, |
| 59 | voice_format=None, |
| 60 | verify_ssl=True, |
| 61 | args=None, |
| 62 | parser=None, |
| 63 | verbose=False, |
| 64 | editor=None, |
| 65 | original_read_only_fnames=None, |
| 66 | ): |
| 67 | self.io = io |
| 68 | self.coder = coder |
| 69 | self.parser = parser |
| 70 | self.args = args |
| 71 | self.verbose = verbose |
| 72 | |
| 73 | self.verify_ssl = verify_ssl |
| 74 | if voice_language == "auto": |
| 75 | voice_language = None |
| 76 | |
| 77 | self.voice_language = voice_language |
| 78 | self.voice_format = voice_format |
| 79 | self.voice_input_device = voice_input_device |
| 80 | |
| 81 | self.help = None |
| 82 | self.editor = editor |
| 83 | |
| 84 | # Store the original read-only filenames provided via args.read |
| 85 | self.original_read_only_fnames = set(original_read_only_fnames or []) |
| 86 | |
| 87 | def cmd_model(self, args): |
| 88 | "Switch the Main Model to a new LLM" |
| 89 | |
| 90 | model_name = args.strip() |
| 91 | if not model_name: |
| 92 | announcements = "\n".join(self.coder.get_announcements()) |
| 93 | self.io.tool_output(announcements) |
no outgoing calls