Instead of JSON schema, agents write JavaScript to interact with tools. That means they have access to loops, conditionals, error handling, and are encouraged to perform multiple calls in one turn (hundreds in a single turn if needed). There's a video in the README if you want to see what it looks like. The approach was inspired by the CodeAct paper (https://arxiv.org/abs/2402.01030) that found that agents perform better when they call tools with code instead of JSON. I explain the benefits in more detail here: https://github.com/Furisto/construct/blob/main/docs/tool_cal...
It comes with built-in agents for different tasks (planning/implementation/refinement) or you can create your own with custom prompts and model assignments. It's a single Go binary, no need for npm or the like. Works with Anthropic today, other providers coming soon.
Happy to answer questions about the architecture or the tool calling approach.