├── .github └── workflows │ ├── lint.yml │ ├── publish-to-pypi.yml │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── assets └── rojak_diagram.png ├── examples ├── mcp_weather │ ├── README.md │ ├── __init__.py │ ├── main.py │ └── mcp_weather_server.py ├── pizza │ ├── README.md │ ├── __init__.py │ ├── agents.py │ ├── functions.py │ ├── run_worker.py │ └── send_messages.py └── weather │ ├── README.md │ ├── __init__.py │ ├── run_worker.py │ └── run_workflow.py ├── poetry.lock ├── pyproject.toml ├── rojak ├── __init__.py ├── agents │ ├── __init__.py │ ├── agent.py │ ├── anthropic_agent.py │ └── openai_agent.py ├── client.py ├── mcp │ ├── __init__.py │ └── mcp_client.py ├── retrievers │ ├── __init__.py │ ├── qdrant_retriever.py │ └── retriever.py ├── types │ ├── __init__.py │ └── types.py ├── utils │ ├── __init__.py │ └── helpers.py └── workflows │ ├── __init__.py │ ├── agent_workflow.py │ └── orchestrator_workflow.py └── tests ├── __init__.py ├── agents ├── __init__.py ├── test_anthropic_agent.py └── test_openai_agent.py ├── mock_anthropic_client.py ├── mock_client.py ├── test_utils.py └── test_workflow.py /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/publish-to-pypi.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/.github/workflows/publish-to-pypi.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/README.md -------------------------------------------------------------------------------- /assets/rojak_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/assets/rojak_diagram.png -------------------------------------------------------------------------------- /examples/mcp_weather/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/mcp_weather/README.md -------------------------------------------------------------------------------- /examples/mcp_weather/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/mcp_weather/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/mcp_weather/main.py -------------------------------------------------------------------------------- /examples/mcp_weather/mcp_weather_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/mcp_weather/mcp_weather_server.py -------------------------------------------------------------------------------- /examples/pizza/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/pizza/README.md -------------------------------------------------------------------------------- /examples/pizza/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pizza/agents.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/pizza/agents.py -------------------------------------------------------------------------------- /examples/pizza/functions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/pizza/functions.py -------------------------------------------------------------------------------- /examples/pizza/run_worker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/pizza/run_worker.py -------------------------------------------------------------------------------- /examples/pizza/send_messages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/pizza/send_messages.py -------------------------------------------------------------------------------- /examples/weather/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/weather/README.md -------------------------------------------------------------------------------- /examples/weather/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/weather/run_worker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/weather/run_worker.py -------------------------------------------------------------------------------- /examples/weather/run_workflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/examples/weather/run_workflow.py -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/poetry.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/pyproject.toml -------------------------------------------------------------------------------- /rojak/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/__init__.py -------------------------------------------------------------------------------- /rojak/agents/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/agents/__init__.py -------------------------------------------------------------------------------- /rojak/agents/agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/agents/agent.py -------------------------------------------------------------------------------- /rojak/agents/anthropic_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/agents/anthropic_agent.py -------------------------------------------------------------------------------- /rojak/agents/openai_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/agents/openai_agent.py -------------------------------------------------------------------------------- /rojak/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/client.py -------------------------------------------------------------------------------- /rojak/mcp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/mcp/__init__.py -------------------------------------------------------------------------------- /rojak/mcp/mcp_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/mcp/mcp_client.py -------------------------------------------------------------------------------- /rojak/retrievers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/retrievers/__init__.py -------------------------------------------------------------------------------- /rojak/retrievers/qdrant_retriever.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/retrievers/qdrant_retriever.py -------------------------------------------------------------------------------- /rojak/retrievers/retriever.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/retrievers/retriever.py -------------------------------------------------------------------------------- /rojak/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/types/__init__.py -------------------------------------------------------------------------------- /rojak/types/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/types/types.py -------------------------------------------------------------------------------- /rojak/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/utils/__init__.py -------------------------------------------------------------------------------- /rojak/utils/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/utils/helpers.py -------------------------------------------------------------------------------- /rojak/workflows/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/workflows/__init__.py -------------------------------------------------------------------------------- /rojak/workflows/agent_workflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/workflows/agent_workflow.py -------------------------------------------------------------------------------- /rojak/workflows/orchestrator_workflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/rojak/workflows/orchestrator_workflow.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/agents/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/agents/test_anthropic_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/tests/agents/test_anthropic_agent.py -------------------------------------------------------------------------------- /tests/agents/test_openai_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/tests/agents/test_openai_agent.py -------------------------------------------------------------------------------- /tests/mock_anthropic_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/tests/mock_anthropic_client.py -------------------------------------------------------------------------------- /tests/mock_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/tests/mock_client.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/test_workflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StreetLamb/rojak/HEAD/tests/test_workflow.py --------------------------------------------------------------------------------