diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-05-27 00:11:28 -0400 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-05-27 00:11:28 -0400 |
commit | 20644034b9d4286509753876bacfe7ca6ed6392d (patch) | |
tree | 4b8818984439edb2372417304cdd9bc42508388e /continuedev/src/continuedev/libs/sdk.py | |
parent | 0877ada8ed9f71f3ee792bcb34a4005e3c86827d (diff) | |
download | sncontinue-20644034b9d4286509753876bacfe7ca6ed6392d.tar.gz sncontinue-20644034b9d4286509753876bacfe7ca6ed6392d.tar.bz2 sncontinue-20644034b9d4286509753876bacfe7ca6ed6392d.zip |
Refactoring to deal with circularity
Diffstat (limited to 'continuedev/src/continuedev/libs/sdk.py')
-rw-r--r-- | continuedev/src/continuedev/libs/sdk.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/continuedev/src/continuedev/libs/sdk.py b/continuedev/src/continuedev/libs/sdk.py new file mode 100644 index 00000000..0295bf35 --- /dev/null +++ b/continuedev/src/continuedev/libs/sdk.py @@ -0,0 +1,39 @@ +from typing import Coroutine, Union +from ..models.filesystem_edit import FileSystemEdit +from .llm import LLM +from .observation import Observation +from ..server.ide_protocol import AbstractIdeProtocolServer +from .core import History, Step +from .steps.core.core import * + + +class Agent: + pass + + +class ContinueSDK: + """The SDK provided as parameters to a step""" + llm: LLM + ide: AbstractIdeProtocolServer + __agent: Agent + + def __init__(self, agent: Agent, llm: Union[LLM, None] = None): + if llm is None: + self.llm = agent.llm + else: + self.llm = llm + self.ide = agent.ide + self.__agent = agent + + @property + def history(self) -> History: + return self.__agent.history + + async def run_step(self, step: Step) -> Coroutine[Observation, None, None]: + return await self.__agent._run_singular_step(step) + + async def apply_filesystem_edit(self, edit: FileSystemEdit): + await self.run_step(FileSystemEditStep(edit=edit)) + + async def wait_for_user_input(self) -> str: + return await self.__agent.wait_for_user_input() |