(to-anthropic tools-or-toolkit)SPEC §0.7 — {name, description, input_schema}. Note the snake_case key:
it is the wire name, not a Clojure convention, and must not be kebab-ised.
SPEC §0.7 — `{name, description, input_schema}`. Note the snake_case key:
it is the wire name, not a Clojure convention, and must not be kebab-ised.(to-gemini tools-or-toolkit)SPEC §0.7 — [{functionDeclarations:[{name, description, parameters}]}].
ALWAYS a one-element vector, even with no tools: every shipped port emits the
wrapper with an empty functionDeclarations array rather than [].
SPEC §0.7 — `[{functionDeclarations:[{name, description, parameters}]}]`.
ALWAYS a one-element vector, even with no tools: every shipped port emits the
wrapper with an empty `functionDeclarations` array rather than `[]`.(to-openai tools-or-toolkit)SPEC §0.7 — {type:"function", function:{name, description, parameters}}.
SPEC §0.7 — `{type:"function", function:{name, description, parameters}}`.
(tool-seq tools-or-toolkit)Accept either a toolkit ({:tools … :sources …}) or an already-ordered seq
of Tools, and return a DETERMINISTIC seq of Tools.
A toolkit is name-keyed, and map order is not a contract on either host, so a
toolkit goes through tool/all-tools, which sorts by name. An explicit seq is
the caller's order and is left exactly as given — that is the only way a
caller can pin a non-alphabetical tool order.
Accept either a toolkit (`{:tools … :sources …}`) or an already-ordered seq
of Tools, and return a DETERMINISTIC seq of Tools.
A toolkit is name-keyed, and map order is not a contract on either host, so a
toolkit goes through `tool/all-tools`, which sorts by name. An explicit seq is
the caller's order and is left exactly as given — that is the only way a
caller can pin a non-alphabetical tool order.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |