OptionaldestructiveThe tool may destroy or overwrite something a person would want back. Absent when the author did not say.
OptionalidempotentCalling the tool twice with the same arguments does what calling it once does. Absent when the author did not say.
OptionalreadThe tool does not change anything. Absent when the author did not say.
Advisory labels an AiTool's author attaches to it, read by the
onToolCallhook. Never enforced by the platform.Example: ```javascript const tool = B.ai.tool.custom() .setName("archive_note") .setDescription("Archives a nursing note") .setAnnotations({ destructive: true, idempotent: true }) .setSchema({ type: "object", properties: { id: { type: "string" } }, required: ["id"] }) .setExecutor((args) => archive(args.id)); ```