import asyncio
import json
from pathlib import Path
from dedalus_labs import AsyncDedalus, DedalusRunner
HISTORY_FILE = Path("chat_history.json")
def load_messages() -> list[dict]:
if HISTORY_FILE.exists():
return json.loads(HISTORY_FILE.read_text())
return []
def save_messages(messages: list[dict]):
HISTORY_FILE.write_text(json.dumps(messages, indent=2))
async def main():
client = AsyncDedalus()
runner = DedalusRunner(client)
messages = load_messages()
while True:
user_input = input("You: ").strip()
if not user_input:
break
messages.append({"role": "user", "content": user_input})
result = await runner.run(
model="openai/gpt-4o",
messages=messages,
)
messages = result.to_input_list()
save_messages(messages)
print(f"Assistant: {result.final_output}\n")
asyncio.run(main())