TheoremDocs Open Theorem
Sections

How your app's tools are named for people's assistants, which ones ask the person first and how annotations decide it, and the size bound.

Your app's tools are what people's assistants can use. Theorem lists them each time a person writes to their assistant, so a change to your tools shows from their next message.

Names

The model sees each tool as a short name made from your app's name, then _, then the tool's own name.

People see a tool by its title, so give every tool a title. With none, its name is made into one.

Which tools ask first

The assistant asks the person before it uses a tool, unless the tool's annotations say it is safe:

AnnotationsThe assistant
readOnlyHint: trueruns it unasked
destructiveHint: false and openWorldHint: falseruns it unasked
anything else, or noneasks first

A missing hint counts as the cautious one, so a tool with no annotations always asks. The check on the Connections tab shows each tool as asks first or runs freely.

In the example, My hours and Team hours say readOnlyHint: true and run freely. Clock in changes something and reaches your own records, so it says destructiveHint: false and openWorldHint: true, and asks first.

What the person sees when it asks

The approval card shows the tool's title and its arguments, one line each and eight at most, leaving out any argument that is an ID. So a tool that asks should take what the person needs to decide as its arguments: who, what, how much. Clock in takes hours.

Tools that only read run together

When the model asks for several tools at once, those with readOnlyHint: true may run at the same time. A tool that does not say so is taken to change something, and runs alone, in order.

Limits