Add TerminalOps class under abilities, for agents to use to send a command to a docker container. The intent is that Ops will be a common interface, every Ops instance can report its schema (OpenAI function call format) at runtime. TerminalOps has only one verb now, but can have many.
PyTest is added, with the approvaltest plugin. By default it will only run the tests that do not require docker, INTEGRATION env var can be added to run the test that requires docker. Later we might switch to a more standard PyTest marking way.
For #2.
Add TerminalOps class under abilities, for agents to use to send a command to a docker container. The intent is that Ops will be a common interface, every Ops instance can report its schema (OpenAI function call format) at runtime. TerminalOps has only one verb now, but can have many.
PyTest is added, with the approvaltest plugin. By default it will only run the tests that do not require docker, INTEGRATION env var can be added to run the test that requires docker. Later we might switch to a more standard PyTest marking way.