Skip to content

Releases: truefoundry/truefoundry-typescript-sdk

v0.4.0

Choose a tag to compare

@truefoundry-saas truefoundry-saas released this 03 Jul 13:08
12e8c8b

🚨 Breaking Changes

0. ⚠️ SDK-wide: field names are now camelCase + a serialization layer was added

This release was generated with retainOriginalCasing: false and noSerde: false (both
were the opposite in v0.3.4). Two SDK-wide effects, independent of any API change — and this is
the largest breaking change here:

  • All model/response field names changed from snake_case to camelCase. Every property on
    every type is affected — e.g. artifact.ml_repo_idartifact.mlRepoId,
    version.created_atversion.createdAt.
    Request-object parameters were already camelCase, so call sites don't change, but every field
    read off a returned object must be updated.
    The wire protocol is unchanged — the new
    serialization layer maps camelCase ↔ snake_case.
  • A serialization layer was added (src/serialization/, ~1300 files). Responses are now parsed
    through generated schemas (casing mapping + validation) instead of being returned as raw wire JSON.

Every field name in the sections below is shown in the new camelCase form.


1. Client Methods Removed

Method Notes
client.internal.ml.apply(...) removed (returned ApplyMlEntityResponse)
client.internal.ml.delete(...) removed (returned EmptyResponse)

Only the client.internal.ml sub-client was removed. client.users.* (including
getTeams/getResources/getPermissions), client.internal.users, and
client.internal.aiGateway are all still present.


2. Client Method Parameters Removed

client.teams.list() — the type filter ("team" / "sso-team", typed
TeamsListRequestType) was removed. role and attributes were added (see New Features).


3. Client Parameter Type Changes

Method Param Old New
users.updateRoles() resourceType string TrueFoundry.ResourceType
applications.list() applicationType string TrueFoundry.ApplicationType
logs.get() startTs number string
logs.get() endTs number string
// Before
await client.logs.get({ startTs: 1779262323000000000, endTs: 1779262333000000000, ... });
// After
await client.logs.get({ startTs: "1779262323000000000", endTs: "1779262333000000000", ... });

4. Client Return Type Changes

Method Old Return New Return
clusters.delete() ClustersDeleteResponse DeleteClusterResponse
workspaces.delete() WorkspacesDeleteResponse DeleteWorkspaceResponse

5. Types Removed

These exported types no longer exist (import / TrueFoundry.<Type> references will break):

Removed Type Notes
ApplyMlEntityResponse, ApplyMlEntityResponseData, ApplyMlEntityRequest, ApplyMlEntityRequestManifest, DeleteMlEntityRequest, DeleteMlEntityRequestManifest internal.ml removed
BaseArtifactVersionManifest
HttpValidationError, ValidationError, ValidationErrorLocItem error models
LogsFilterQuery, LogsFilterQueryType log filtering now a JSON string
ChatPromptManifestMessagesItem renamed → ChatMessageTurn (§6)
ClustersDeleteResponse, WorkspacesDeleteResponse renamed (§6 / §4)
TeamsListRequestType teams.list() type filter removed
PangeaGuardrailConfig, PangeaGuardrailConfigConfig, PangeaGuardrailConfigOperation, PangeaKeyAuth, PangeaGuardType renamed → CrowdStrike AIDR (§6)
TrueFoundryAgentManifestResponseFormat, TrueFoundryAgentManifestModelParams renamed (§6)
TrueFoundryAgentManifestModelParamsReasoningEffort, TrueFoundryAgentManifestSandbox, TrueFoundryAgentMcpTool agent manifest restructured

6. Types & Enums Renamed

Referencing the old names breaks. Wire values are unchanged unless noted.

Old Name New Name
ChatPromptManifestMessagesItem ChatMessageTurn
TrueFoundryAgentManifestResponseFormat TrueFoundryAgentResponseFormat
TrueFoundryAgentManifestModelParams TrueFoundryAgentModelParams
ClustersDeleteResponse DeleteClusterResponse
WorkspacesDeleteResponse DeleteWorkspaceResponse

Pangea guardrail → CrowdStrike AIDR (full rebrand):

Old New
PangeaGuardrailConfig CrowdStrikeAidrGuardrailConfig
PangeaGuardrailConfigConfig CrowdStrikeAidrGuardrailConfigConfig
PangeaGuardrailConfigOperation CrowdStrikeAidrGuardrailConfigOperation
PangeaKeyAuth CrowdStrikeAidrKeyAuth
discriminator "integration/guardrail-config/pangea" "integration/guardrail-config/crowdstrike-aidr"

The Pangea rename is breaking on the wire — persisted configs with
type: "integration/guardrail-config/pangea" will no longer deserialize.


7. Type Fields Removed

Type Removed Fields
ArtifactVersion, ModelVersion, PromptVersion, InternalArtifactVersion, InternalModelVersion versionAlias
BaseArtifactVersion id, fqn, createdAt, updatedAt, createdBySubject, mlRepoId, manifest (now the manifest base: name/metadata/mlRepo/version)
AgentSkill description, tags, examples, inputModes, outputModes (moved to A2AAgentSkill; AgentSkill is now an artifact-style entity)
TrueFoundryAgentManifest instruction, iterationLimit, modelParams, sandbox
TrueFoundryAgentMcpServer deferred, tools
TrueFoundryAgentSkill preloadSkillMd
UserMetadata isPrimarySso

8. Field Type Changes

Now required (was optional):

Type Field Old New
ArtifactManifest step number | undefined number (default 0)
ModelManifest step number | undefined number (default 0)

Now optional (was required):

Type Field Old New
AzureOpenAiModel deploymentType AzureOpenAiModelDeploymentType ... | undefined
OpenaiProviderAccount authData OpenaiApiKeyAuth OpenaiApiKeyAuth | undefined
Environment priority number number | undefined

Referenced type changed:

Type Field Old New
Artifact type ArtifactType "artifact"
Artifact latestVersion BaseArtifactVersion ArtifactVersion
ChatPromptManifest messages ChatPromptManifestMessagesItem[] ChatMessageTurn[]
Deployment application Application ApplicationSummary
BitbucketProviderAccount integrations BitbucketIntegration[] BitbucketIntegrations[]
PromptSource skills AgentSkill[] A2AAgentSkill[]
PersonalAccessTokenManifest ownedBy OwnedBy VirtualAccountOwnedBy
TrueFoundryAgentManifest model string TrueFoundryAgentModel
TrueFoundryAgentManifest responseFormat TrueFoundryAgentManifestResponseFormat TrueFoundryAgentResponseFormat

9. Enums Removed

Removed Enum Members it had
LogsFilterQueryType Regex, Substring, IgnoreCaseSubstring
TeamsListRequestType "team", "sso-team"
TrueFoundryAgentManifestModelParamsReasoningEffort None, Minimal, Low, Medium, High
PangeaGuardType TextGuard, Pii

✨ New Features

New Resource Clients

Client Methods
client.agents list, createOrUpdate, get, delete
client.agentVersions list
client.runs create, get, update, delete, search, getMetricHistory, listMetricHistory, logMetric, logParameter, setTag, deleteTag, logBatch

New Client Methods

  • client.teams.listMembers(id, { limit, offset, filter })Page<TrueFoundry.TeamSubjectRow>
  • client.teams.listManagers(id, { limit, offset, filter })Page<TrueFoundry.TeamSubjectRow>
  • client.internal.aiGateway.getBudgetUsage(...)

New Optional Client Parameters

Method New Param Type
workspaces.list(), mlRepos.list(), clusters.list(), clusters.getAddons(), secretGroups.list(), teams.list() attributes string | string[]
teams.list() role "manager"
artifactVersions.list() artifactTypes TrueFoundry.ArtifactType[]
secretGroups.delete() forceDelete boolean
personalAccessTokens.create() teamName, tokenType string, CreatePersonalAccessTokenRequestTokenType
personalAccessTokens.get() teamName string

Notable New Types

  • Agents / Runs: Agent, AgentVersion, Run, RunData, RunInfo, RunParam, RunTag,
    MetricCollection, A2AAgentSkill, ChatMessageTurn, and the TrueFoundryAgentConfig
    family (compaction / sandbox / context-management / response-format / sub-agents configs),
    TrueFoundryAgentModel, TrueFoundryAgentModelParams, TrueFoundryAgentResponseFormat.
  • Budget v2: BudgetV2* family, TeamBudgetConfig, TenantBudgetConfig (+ mode enums).
  • New provider integrations: AWS Bedrock Mantle, AWS Claude Platform, Smallest AI, Wafer,
    Microsoft Teams (MsTeams*).
  • Guardrails: CrowdStrikeAidrGuardrailConfig (replaces Pangea), TfyMetadataGuardrailConfig.
  • Identity: AgentIdentityManifest/AgentIdentityConfig, IdentityProviderBackedIdentity,
    TruefoundryBackedIdentity, JwtTokenType, token-type enums on PAT / virtual-account manifests.
  • Snowflake / Flyte task templates: SnowflakeConfig, `SnowflakeS...
Read more

v0.3.4

Choose a tag to compare

@innoavator innoavator released this 04 May 20:04
42ddea1

Full Changelog: v0.3.3...v0.3.4

v0.3.3

Choose a tag to compare

@innoavator innoavator released this 27 Apr 19:36
b11b032
SDK regeneration

v0.3.2

Choose a tag to compare

@innoavator innoavator released this 27 Apr 19:32
de6d657
SDK regeneration

v0.3.2-rc.2

v0.3.2-rc.2 Pre-release
Pre-release

Choose a tag to compare

@innoavator innoavator released this 24 Apr 15:47
9ad1a04
SDK regeneration

v0.3.2-rc.1

v0.3.2-rc.1 Pre-release
Pre-release

Choose a tag to compare

@innoavator innoavator released this 24 Apr 13:59
a028149

Full Changelog: v0.3.1...v0.3.2-rc.1

v0.3.1

Choose a tag to compare

@innoavator innoavator released this 19 Apr 19:44
b3c7e26

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@innoavator innoavator released this 16 Apr 15:21
e0bf8fb

Full Changelog: v0.2.1...v0.3.0

v0.2.1

Choose a tag to compare

@innoavator innoavator released this 13 Apr 12:51
78cb6e0

What's Changed

  • [GATEWAY-2179] Add standalone AgentClient for streaming Agent API responses by @AryanNanda17 in #23

New Contributors

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@innoavator innoavator released this 06 Mar 18:26
91f4b2e
SDK regeneration