Skip to content

docs(agents): tool call parameters as a JSON Schema with a per-tool validation mode (FA-538) - #289

Merged
Him188 merged 1 commit into
mainfrom
him188/fa-538-tool-parameter-schema
Oct 26, 2026
Merged

Him188 merged 1 commit into
mainfrom
him188/fa-538-tool-parameter-schema

Conversation

@Him188

@Him188 Him188 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Custom tools now declare their call parameters as a JSON Schema object (parameters) with a per-tool validation mode (parameter_mode). The older arguments list keeps working and keeps its behavior.

Changes:

  • webhook-tools.mdx: the "Declare parameters" step now describes the typed form (type, Required, Non-empty, Nullable, JSON editor). New section "Parameters and validation": what each schema keyword means at call time, the legacy and strict modes, the rejection the model is shown, provider-side constrained decoding, how existing tools are affected and how to turn validation on for one, and the API shape (parameters vs arguments, defaults). The create example and the limits table use the new shape.
  • client-tools.mdx: the declaration example and field table use parameters and parameter_mode, plus a note on reading optional parameters and default in a handler.
  • tools.mdx: the overview and the create example use parameters, with a pointer to the validation section.
  • custom-llm.mdx: what a validated tool looks like in the request your endpoint receives (strict: true and the strict-mode schema shape).
  • conversation-history.mdx: the rejected_by field on tool_result items.
  • api-reference/openapi.json: regenerated from the live schema.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Summary by CodeRabbit

  • New Features
    • Agent and session settings now document configurable time context, hangup farewells, and warm-transfer behavior.
    • Tool configurations support JSON Schema parameters and strict validation, with validation outcomes reflected in conversation history.
    • API documentation includes unbilled LLM call counts and additional Gemini priority model options.
  • Documentation
    • Updated tool guides with parameter validation behavior, schema requirements, defaults, provider constraints, and compatibility details.
    • Clarified custom LLM header visibility and representation.

…alidation mode (FA-538)

Custom tools declare call parameters as a JSON Schema object with a
legacy or strict parameter mode. The webhook tools page gets the
"Parameters and validation" section, client tools and the overview use
the new shape, the custom LLM page shows what a strict tool looks like
on the wire, and the history page documents rejected_by on tool
results. The public OpenAPI spec is regenerated from the live schema.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
hanabiaiinc 🟢 Ready View Preview Oct 26, 2026, 5:46 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Caution

Review failed

The pull request is closed.

Walkthrough

The pull request updates tool documentation and API schemas for JSON Schema parameters and validation modes. It also changes OpenAPI schemas for agent context, conversation and transfer settings, LLM usage, model options, and custom LLM headers.

Changes: Tool Parameter Schemas

Layer / File(s) Summary
Tool parameter documentation
agents/build/{client-tools,custom-llm,tools,webhook-tools}.mdx
Examples and instructions use JSON Schema parameters. The documentation describes strict and legacy modes, provider constraints, and parameter limits.
Tool parameter API contract
api-reference/openapi.json
Tool create, read, and update schemas expose parameters and parameter_mode while retaining arguments as the legacy format.
Tool rejection result metadata
agents/monitor/conversation-history.mdx, api-reference/openapi.json
The result documentation and schema add rejected_by to identify parameter-validation rejections.

Agent Configuration API Schemas

Layer / File(s) Summary
Agent and session context
api-reference/openapi.json
Agent, session, and test-simulation schemas add current_time context settings and overrides. Session and test-simulation schemas replace world_context.
Farewell and transfer settings
api-reference/openapi.json
Conversation schemas use hangup_farewell_mode and hangup_farewell_message. Transfer destinations add warm_consult_uses_agent_settings.
LLM usage and configuration fields
api-reference/openapi.json
Usage schemas add unbilled_call_count; model enums add two Gemini priority options; custom LLM schemas describe and permit returned headers.

Priority: Not assessed

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Other

Possibly related PRs

  • fishaudio/docs#286: Both PRs document context.current_time and session overrides.
  • fishaudio/docs#285: Both PRs update the OpenAPI contract, including context, farewell, warm-transfer, and custom LLM header schemas.

Suggested reviewers: virgoone

Merge Risk: Low · up to 20855

This documentation update is safe to merge once the small inaccuracies are corrected. Two webhook-tool examples and notes could mislead readers about what strict validation accepts, and the custom-LLM note on nullable optional values could lead to rejected tool calls. No runtime behavior changes in this PR.

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Him188
Him188 merged commit 8c3049f into main Oct 26, 2026
5 of 6 checks passed
@Him188
Him188 deleted the him188/fa-538-tool-parameter-schema branch October 26, 2026 17:53

This branch was successfully deployed

1 active deployment
staging — 20855a65 Deployed Oct 26, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant