Inline-tool literal whose executor's args is typed against the schema in the same object — used by B.ai.call's tools slots so the executor's argument type is derived from input_schema without going through B.ai.tool.custom(). input_schema is optional (a schema-less tool takes no arguments), which also keeps AiTool — whose input_schema is JSONSchema | null | undefined — structurally assignable, so factory-built tools (B.ai.tool.forNewEntry/forExistingEntry/custom()) flow into the tools array unchanged.
Inline-tool literal whose
executor'sargsis typed against the schema in the same object — used byB.ai.call'stoolsslots so the executor's argument type is derived frominput_schemawithout going throughB.ai.tool.custom().input_schemais optional (a schema-less tool takes no arguments), which also keepsAiTool— whoseinput_schemaisJSONSchema | null | undefined— structurally assignable, so factory-built tools (B.ai.tool.forNewEntry/forExistingEntry/custom()) flow into thetoolsarray unchanged.