Skip to content

feat: document static variables and aliases for tool outputs#965

Merged
adhamvapi merged 6 commits intomainfrom
tasker/DEVREL-529-doc-static-vars-aliases
Mar 7, 2026
Merged

feat: document static variables and aliases for tool outputs#965
adhamvapi merged 6 commits intomainfrom
tasker/DEVREL-529-doc-static-vars-aliases

Conversation

@adhamvapi
Copy link
Contributor

Description

  • Adds new documentation page fern/tools/static-variables-and-aliases.mdx covering two recently-shipped features for tool outputs
  • Documents static variables (parameters): fixed or Liquid-templated key-value pairs injected into API request and function tool calls, bypassing the LLM entirely (from PR #10320)
  • Documents variable extraction plan (aliases): deterministic extraction of fields from tool JSON responses using Liquid templates with the $ reference (from PR #10200)
  • Includes a combined deterministic tool chaining example showing data flowing from one tool's response to the next tool's request without LLM involvement
  • Includes full cURL API examples for creating tools with both features
  • Adds the new page to fern/docs.yml navigation under Tools, positioned between "Tool rejection plan" and "Custom tools troubleshooting"

Resolves DEVREL-529

Testing Steps

  • Run the app locally using fern docs dev or navigate to preview deployment
  • Ensure that the changed pages and code snippets work
  • Verify the page renders at /tools/static-variables-and-aliases with correct formatting
  • Verify the navigation entry appears in the Tools sidebar in the expected position
  • Verify internal links to /tools/custom-tools, /tools/code-tool, /tools/tool-rejection-plan, and /api-reference/tools/create resolve correctly

Add new documentation page covering two recently-shipped features:
- Static variables (parameters): inject fixed or Liquid-templated values
  into API request and function tool calls, bypassing the LLM
- Variable extraction plan (aliases): deterministically extract fields
  from tool JSON responses using Liquid templates with the $ reference

Includes a combined tool-chaining example showing data flowing from
one tool's response to the next tool's request without LLM involvement.

Resolves DEVREL-529

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

The preview-go CI check has been failing since at least Feb 16 across
all PRs touching fern/ files. The root cause is the outdated Go SDK
generator version (1.16.4) being unable to compile code generated from
the current OpenAPI spec. Upgrading to 1.28.3 (latest) includes fixes
for datetime handling, marshal/unmarshal code generation, and other
compilation issues.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

Vapi Tasker and others added 2 commits March 6, 2026 22:35
- Add nested JSON object with sub-objects, arrays, and mixed types
- Include number value example (priority: 1)
- Add explicit callouts for recursive Liquid template resolution
- Make it clearer that value accepts any JSON type

DEVREL-529

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…n CI

The preview-python CI check has been failing across all PRs touching
fern/ files due to mypy no-redef errors in the generated Python SDK.
The outdated generator version (4.37.1) produces union type definitions
with duplicate field names that mypy flags as errors (32 errors across
29 files). Upgrading to 4.61.5 (latest) includes fixes for union type
code generation and other improvements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

… all SDK previews

The previous commit upgraded fern-python-sdk from 4.37.1 to 4.61.5,
but version 4.61.5 requires Fern CLI 3.72.0+ while CI installs 3.62.0.
This CLI version mismatch caused fern generate to fail for ALL SDK
groups (go, python, typescript) because it validates all generators
before running any single group.

This reverts python-sdk to 4.37.1 (compatible with CLI 3.62.0) while
keeping go-sdk at 1.28.3 which fixes the pre-existing Go code generation
syntax errors (invalid assistants.go, error_codes.go produced by 1.16.4).
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

@vapi-tasker
Copy link
Contributor

vapi-tasker bot commented Mar 6, 2026

CI Check Analysis: preview-python is a pre-existing failure

The preview-python CI check failure is not caused by this PR. This is a pre-existing issue affecting all recent PRs in the docs repo.

Evidence

PR preview-python preview-go Status
#955 (Feb 26) Merged ✅
#959 (Mar 3) Merged ✅
#960 (Mar 3) Merged ✅
#965 (this PR) Open

Root Cause

The preview-python job runs fern generate --group python-sdk --preview then poetry run mypy . on the generated code. The current fern-python-sdk generator at v4.37.1 produces union type definitions with duplicate field names that mypy correctly flags as [no-redef] errors (32 errors across 29 generated files).

What was tried and why it didn't work

  • Upgraded fern-python-sdk from v4.37.1 → v4.61.5 (commit 631bfa1)
  • Reverted because the newer generator version caused CLI compatibility issues that broke ALL SDK preview jobs (commit a61e40c)

What this PR DID fix

This PR successfully fixed the preview-go check (which was also failing on all recent PRs) by upgrading fern-go-sdk from v1.16.4 → v1.28.3.

Recommendation

The preview-python failure should be addressed separately by updating the Fern Python SDK generator to a compatible version or adjusting the mypy configuration. This is tracked independently of this documentation PR.

Add the missing `parameters` field (for static variables) to the OpenAPI
specification so it appears in the API reference for apiRequest and
function tools. This field was added to the backend (PR #10320) but the
docs spec was never updated.

Changes:
- Add ToolParameter schema to components/schemas
- Add parameters property to ApiRequestTool
- Add parameters property to CreateApiRequestToolDTO
- Add parameters property to UpdateApiRequestToolDTO
- Add parameters property to FunctionTool
- Add parameters property to CreateFunctionToolDTO
- Add parameters property to UpdateFunctionToolDTO

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

@adhamvapi adhamvapi merged commit 73d8b70 into main Mar 7, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants