summaryrefslogtreecommitdiff
path: root/server/continuedev/plugins/policies/headless.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/continuedev/plugins/policies/headless.py')
-rw-r--r--server/continuedev/plugins/policies/headless.py18
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