diff options
Diffstat (limited to 'server/continuedev/plugins/policies/headless.py')
-rw-r--r-- | server/continuedev/plugins/policies/headless.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/server/continuedev/plugins/policies/headless.py b/server/continuedev/plugins/policies/headless.py new file mode 100644 index 00000000..9fa0f3f2 --- /dev/null +++ b/server/continuedev/plugins/policies/headless.py @@ -0,0 +1,18 @@ +from ...core.config import ContinueConfig +from ...core.main import History, Policy, Step +from ...core.observation import TextObservation +from ...core.steps import ShellCommandsStep +from ...plugins.steps.on_traceback import DefaultOnTracebackStep + + +class HeadlessPolicy(Policy): + command: str + + def next(self, config: ContinueConfig, history: History) -> Step: + if history.get_current() is None: + return ShellCommandsStep(cmds=[self.command]) + observation = history.get_current().observation + if isinstance(observation, TextObservation): + return DefaultOnTracebackStep(output=observation.text) + + return None |