Skip to content

feat: add claude-haiku-5-5, Sonic 3.6, Gemini 3.8-flash, and idempotent simulation runs - #50

Open
fern-api[bot] wants to merge 5 commits into
mainfrom
fern-bot/2026-10-09_15-54-28_698
Open

fern-api[bot] wants to merge 5 commits into
mainfrom
fern-bot/2026-10-09_15-54-28_698

Conversation

@fern-api

@fern-api fern-api Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ 3.0.0 → 4.0.0

Breaking: MAJOR because the overall version bump was declared as such by the release pipeline; however, no specific symbol-level removals or breaking API changes were identified in the captured diff — maintainers should confirm whether unreported contract changes (such as removed exports or renamed types) justify the MAJOR designation.

Breaking Changes

  • See full changelog for all changes — no symbol-level breaking changes were identified in the diff; confirm with maintainers whether the MAJOR bump reflects internal contract changes not captured here.

Added

  • AnthropicModel.reasoningEffort and AnthropicBedrockModel.reasoningEffort — new optional fields to control adaptive thinking effort for claude-haiku-5-5, accepting values from none to max.
  • baselineVersion — new optional display-only field added to all tool interfaces (McpTool, OutputTool, QueryTool, SipRequestTool, SlackSendMessageTool, SmsTool, TextEditorTool, TransferCallTool, VoicemailTool, GhlTool) returning the baseline label before a version is stored.
  • ModelCostServiceTierBreakdown — new interface reporting per-OpenAI-service-tier cost and token counts, attached as the optional serviceTierBreakdown array on ModelCost.
  • UserWithRole, UserWithRoleRole, and UserWithRoleRoleZero — new exported types representing an org member with their role and optional last-active timestamp.
  • {{messagesWithConfidence}} template variable — now supported in structured output Liquid templates across all workflow model types and StructuredOutput/CreateStructuredOutputDto.
  • New model enum values — ClaudeHaiku55 added to WorkflowAnthropicModelModel and WorkflowAnthropicBedrockModelModel; Gemini38Flash added to WorkflowGoogleModelModel.

Changed

  • OpenAiModelServiceTier — documentation updated to clarify that priority is the legacy alias for fast, auto is the effective default when unset, and Fast mode billing is per-model and only charged when OpenAI confirms the request was served in Fast mode.

See full changelog

@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch from d3ba3dc to b11338f Compare October 9, 2026 19:15
@fern-api fern-api Bot changed the title feat!: remove exported types and enum values, add new tool variants and simulation concurrency endpoint feat!: rename StructuredOutputControllerRunResponseZero and remove Trieve/GhlToolType exports Oct 9, 2026
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch 2 times, most recently from da4ebf9 to c08cb43 Compare October 11, 2026 19:13
@fern-api fern-api Bot changed the title feat!: rename StructuredOutputControllerRunResponseZero and remove Trieve/GhlToolType exports feat!: remove Trieve types, GhlToolType, and rename StructuredOutputControllerRunResponseZero Oct 11, 2026
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch 2 times, most recently from 8b38e63 to aed7433 Compare October 12, 2026 20:00
@fern-api fern-api Bot changed the title feat!: remove Trieve types, GhlToolType, and rename StructuredOutputControllerRunResponseZero feat!: remove Trieve types, GhlToolType, and UpdateCodeToolDtoType exports Oct 12, 2026
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch 2 times, most recently from aff5143 to 08c602f Compare October 13, 2026 15:53
@fern-api fern-api Bot changed the title feat!: remove Trieve types, GhlToolType, and UpdateCodeToolDtoType exports feat!: remove Trieve types, GhlToolType, and rename StructuredOutputControllerRunResponseZero Oct 13, 2026
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch 4 times, most recently from 5ba990e to 8f98d61 Compare October 14, 2026 01:33
@fern-api fern-api Bot changed the title feat!: remove Trieve types, GhlToolType, and rename StructuredOutputControllerRunResponseZero feat!: remove error discriminator fields and deprecated type exports Oct 14, 2026
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch 6 times, most recently from ab02d99 to 211225c Compare October 16, 2026 02:37
@fern-api fern-api Bot changed the title feat!: remove error discriminator fields and deprecated type exports feat!: remove exported types and required fields from conflict/tool DTOs Oct 16, 2026
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch from 211225c to 68663de Compare October 16, 2026 16:20
@fern-api fern-api Bot changed the title feat!: remove exported types and required fields from conflict/tool DTOs feat!: remove exported types and fields, add Ghl/Code tool variants and ConflictError handling Oct 16, 2026
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch from 68663de to 6eea459 Compare October 16, 2026 20:07
@fern-api fern-api Bot changed the title feat!: remove exported types and fields, add Ghl/Code tool variants and ConflictError handling feat: add claude-haiku-5-5, Cartesia sonic-3.6, Gemini 3.8, and idempotency support Oct 16, 2026
fern-api Bot added 3 commits October 16, 2026 20:34
Generated by Fern
CLI Version: unknown
Generators:
  - fernapi/fern-typescript-sdk: 3.63.0
…flash, and idempotent simulation runs

Expand model and voice coverage, introduce idempotency support for
simulation runs, add new tool types and conflict response DTOs, and
expose baseline versioning across all tool interfaces.

Key changes:
- Add `claude-haiku-5-5` to `AnthropicModelModel`, `AnthropicBedrockModelModel`, `AnthropicBedrockModelFallbackModelsItem`, and `EvalAnthropicModelModel`; introduce `AnthropicModelReasoningEffort` and `AnthropicBedrockModelReasoningEffort` enums for adaptive thinking control
- Add `Sonic36` / `Sonic3620260827` to `CartesiaVoiceModel` and `FallbackCartesiaVoiceModel`; add Odia (`Or`) and Urdu (`Ur`) to `CartesiaVoiceLanguage` and `FallbackCartesiaVoiceLanguage`
- Add `Gemini38Flash` to `GoogleModelModel`, `GoogleTranscriberModel`, `FallbackGoogleTranscriberModel`, `EvalGoogleModelModel`, and `KnowledgeBaseModel`
- Add `Idempotency-Key` field to `CreateSimulationRunDto` and `reused` flag to `CreateSimulationRunResponse` for safe retries
- Add `baselineVersion` optional field to all tool interfaces (`ApiRequestTool`, `BashTool`, `CodeTool`, `ComputerTool`, `DtmfTool`, `EndCallTool`, `FunctionTool`, `HandoffTool`, `KnowledgeBaseTool`, `MakeTool`, and GoHighLevel/Google Calendar tools)
- Add `AssistantManagedConflictResponseDto`, `AssistantManagedConflictResponseDtoError`, and `AssistantManagedVapiAgentsDto` for Vapi Agents lock conflict responses
- Add `ModelCostServiceTierBreakdown`, `UserWithRole`, `UserWithRoleRole`, `UserWithRoleRoleZero` exported types; remove `User`, `GhlToolType`, `UpdateCodeToolDtoType`, `CreateTrieveCredentialDto`, `CreateTrieveKnowledgeBaseDto`, `TrieveKnowledgeBase`, `TrieveKnowledgeBaseImport`, `UpdateTrieveKnowledgeBaseDto`, `AssistantPinnedConflictResponseDtoError`, `TrafficAllocationStaleConflictResponseDtoError`
- Add `serverMessage.requestSucceeded`, `serverMessage.requestFailed`, and `pipeline.denoiserFailed` event values to `JsonQueryOnEventsTableOn`

🌿 Generated with Fern
@fern-api
fern-api Bot force-pushed the fern-bot/2026-10-09_15-54-28_698 branch from 6eea459 to 7fcf05c Compare October 16, 2026 20:34
@fern-api fern-api Bot changed the title feat: add claude-haiku-5-5, Cartesia sonic-3.6, Gemini 3.8, and idempotency support feat: add claude-haiku-5-5, Sonic 3.6, Gemini 3.8-flash, and idempotent simulation runs Oct 16, 2026

Copy link
Copy Markdown
Collaborator

SDK maintenance pilot — assessment of 76c8e83

Disposition: not ready for release review. Existing CI and the focused installed-package checks below pass. Release/migration notes omit confirmed breaking changes, and live Vapito validation is incomplete. This comment is evidence for the named commit, not an approval.

Human reviewer: Steve Smith (@stephenvapiai).

Baseline and provenance

  • Candidate: @vapi-ai/server-sdk@4.0.0 from this PR's exact head 76c8e832f2458d807d013e9ce879c1845dbc249e.
  • Published baseline: npm latest is 3.0.0, verified November 3, 2026. Downloaded tarball matched its registry SHA-1; registry integrity is sha512-BE7HXh+3KbCWHcxtjxbw9TqtegtKMlJNZRM/C+OWBLz2bAjP0nXzthk0+Oy058nz2Eo1bhKid/Fc25KCHZBv7w==.
  • Local candidate tarball SHA-256: 6c355614d6a775f0d749f843874549b6dc09d22864ad04523ad52e23209993a2. Built with locked dependencies using pnpm 10.33.0; installed separately from the source tree, without install scripts.
  • Generation metadata records CLI 5.160.0, TypeScript generator 3.63.0, and docs origin 9c2d4590896be80f2c5e182c1972bcad068fc381. It also marks the origin dirty, so the origin SHA alone does not identify every generation input byte.

Findings and fix routing

  1. Confirmed customer source breaks are missing from the release description. Comparing the published and candidate declaration export lists found ten removals from api/types, plus the structured-output response rename:

    • GhlToolType, UpdateCodeToolDtoType
    • AssistantPinnedConflictResponseDtoError, TrafficAllocationStaleConflictResponseDtoError
    • User
    • CreateTrieveCredentialDto, CreateTrieveKnowledgeBaseDto, TrieveKnowledgeBase, TrieveKnowledgeBaseImport, UpdateTrieveKnowledgeBaseDto
    • StructuredOutputControllerRunResponseZero becomes StructuredOutputControllerRunResponseOne.

    These names were shipped in 3.0.0. A consumer fixture using the first two constants/types and the response type compiles with installed 3.0.0 and fails with installed 4.0.0. The PR's claim that no symbol-level breaking changes were found is therefore incorrect. Fix location: SDK release/migration notes. Major version 4.0.0 is justified if these removals are retained; npm has no published 4.0.0 as of this assessment.

  2. Separate naming churn and SDK representation from API defects. The renamed response has the same declared fields; GhlTool and UpdateCodeToolDto lose their standalone discriminator fields while endpoint union variants retain literal discriminators. These are customer type-surface changes, not evidence by themselves that backend behavior is wrong. If compatibility should be preserved, evaluate a supported stable-name override in docs or a maintained compatibility alias in the SDK, with regeneration coverage. Do not change the API solely to restore a generated helper name.

  3. Trieve removal follows deliberate generation-input cleanup. Docs #1303 removed obsolete override-only definitions. Do not recreate those incomplete models just to keep exports unchanged. Document the removal; Steve should decide whether any compatibility transition is warranted.

Validation performed

  • Existing head CI: compile and test passed; tag-only package/publish jobs skipped.
  • Local CommonJS and ESM builds passed.
  • Installed the actual candidate tarball in a fresh consumer directory. No source imports or workspace dependency shortcuts.
  • Seven focused checks passed:
    1. CommonJS documented root import and installed package version.
    2. ESM documented root import.
    3. Request SDK-version and User-Agent headers match installed metadata.
    4. Simulation Idempotency-Key travels as a header, is absent from JSON, and reused survives response handling.
    5. Assistant update HTTP 409 becomes Vapi.ConflictError and retains the response body.
    6. Structured-output rerun preserves workflowId.
    7. Structured-output preview preserves results and skipped.
  • The request/response checks used controlled fetch responses. They are not live API or Vapito tests.
  • Consumer compatibility fixture: before sample passes on 3.0.0, fails on 4.0.0; after sample below passes on 4.0.0 with TypeScript 5.9.3.
  • Focused security diff: package dependencies/lockfile unchanged; runtime dependencies remain empty. The workflow change adds PR/manual triggers without expanding its read-only permission. This is not a full security audit.

Draft release/migration notes

Breaking: remove the exported helpers/types listed above. Replace GHL/code discriminator constants with the documented literals, and use endpoint union variants when a discriminator is required. Rename direct references to the structured-output preview response type.

Before:

import { Vapi } from "@vapi-ai/server-sdk";
const ghl: Vapi.GhlToolType = Vapi.GhlToolType.Ghl;
const code: Vapi.UpdateCodeToolDtoType = Vapi.UpdateCodeToolDtoType.Code;
const preview: Vapi.StructuredOutputControllerRunResponseZero = { skipped: {} };

After (compile-verified):

import { Vapi } from "@vapi-ai/server-sdk";
const ghl: Vapi.GetToolsResponse.Ghl["type"] = "ghl";
const code: Vapi.UpdateToolsRequestBody.Code["type"] = "code";
const preview: Vapi.StructuredOutputControllerRunResponseOne = { skipped: {} };

For removed conflict discriminator constants, narrow the response body and compare its literal error field; the human-readable message is not a discriminator. UserWithRole adds required role information and is not a universal drop-in replacement for User; use it in the relevant org-member context. The obsolete Trieve exports have no replacement established by this assessment.

Added: simulation-run idempotency request header and reused response flag; model/voice options and Anthropic reasoning-effort settings; tool baseline labels; service-tier cost breakdown and org-member role metadata.

Changed: assistant-update and structured-output create/update/delete HTTP 409 responses now use typed ConflictError. Review callers that dispatch on error class/name.

Remaining validation and next action

Live Vapito validation: incomplete because this session has no configured Vapito connection/control-token access. No Vapito was created, no live requests were made, and no test resources need cleanup. Local results were obtained on macOS arm64 / Node 25.9.0; they do not establish the full supported-runtime matrix.

Once access is available, run the installed candidate against a healthy seeded Vapito on a recorded backend SHA: assistant create/get/update/delete and a bounded changed-endpoint scenario. Record sandbox health, assertions, cleanup, and any backend/fixture limitations.

Next: Steve to review intended removals and compatibility policy; incorporate accurate migration notes; complete Vapito validation. Reassess if the PR head changes. No repository code, release tag, or package publication was changed by this pilot.

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