Models

The Zod schemas, and types, of the REST api’s responses, and the Manifest class. See Models.

class Manifest(data)

A Smarter Application Manifest.

Its fields are the manifest’s own sections. Fields that the SDK doesn’t know are kept, and written back by Manifest.toJSON and Manifest.toYaml.

Example

const manifest = Manifest.fromFile("llmclient.yaml");
manifest.metadata.name;
manifest.spec["config"];
Arguments:
  • data (object) – The manifest’s sections, validated.

Manifest.apiVersion

The api version, smarter.sh/v1.

Type:

string

Manifest.kind

The resource kind, e.g. LLMClient.

Type:

string

Manifest.metadata

The resource’s name and descriptive information.

Type:

object

Manifest.spec

The resource’s specification. Its fields depend on the kind.

Type:

JsonObject

Manifest.status

Read-only state, returned by describe.

Type:

JsonObject | null | undefined

Manifest.toApply()

The manifest as the api’s apply and validate commands take it: without status, and without null sections or metadata.

The spec is sent as it is, nulls included, as the Python SDK sends it.

Returns:

The manifest’s JSON.

Return type:

Record<string, unknown>

Manifest.toJSON()

The manifest as JSON, with its read-only status and the fields that the SDK doesn’t know.

Returns:

The manifest’s JSON.

Return type:

Record<string, unknown>

Manifest.toSam(kind?)

The manifest as its kind’s typed SAM model, after validating it against the kind’s JSON Schema.

Pass the kind to get its type, e.g. manifest.toSam("Guardrail") is a SAMGuardrail.

Arguments:
  • kind (K | undefined) – The kind that the manifest must be. By default, its own kind.

Returns:

The manifest, typed.

Throws:

SmarterValueError – If the SDK has no model of the kind, the manifest is of another kind, or it doesn’t match its kind’s schema.

Return type:

unknown

Manifest.toYaml()

The manifest as YAML text, without its read-only status, ready to apply.

Returns:

The YAML text.

Return type:

string

Manifest.fromFile(path)

Read a manifest from a YAML or JSON file.

Arguments:
  • path (string | URL) – The file’s path.

Returns:

The manifest.

Return type:

Manifest

Manifest.fromYaml(text)

Parse a manifest from YAML (or JSON) text.

Arguments:
  • text (string) – The manifest’s text.

Returns:

The manifest.

Throws:

SmarterValueError – If the text is not a YAML object with a kind and metadata.

Return type:

Manifest

Manifest.parse(data)

Validate a manifest’s JSON.

Arguments:
  • data (unknown) – The manifest, e.g. parsed YAML or a typed SAM object.

Returns:

The manifest.

Throws:

SmarterValueError – If it is not a manifest.

Return type:

Manifest

manifestNames(list)

The names of the resources of a get result: each row’s name, or its username for the User kind.

Arguments:
  • list (object) – The result.

Returns:

The names.

Return type:

string[]

toManifest(manifest)

A manifest from any of the forms that the SDK accepts.

A string that names an existing file is read as a file. Any other string is parsed as YAML.

Arguments:
Returns:

The parsed manifest.

Throws:

SmarterValueError – If it cannot be parsed.

Return type:

Manifest

withNames(list)

Add the non-enumerable names getter to a get result.

Arguments:
  • list (object) – The result.

Returns:

The same object, as a ManifestTable.

Return type:

ManifestTable

class Account()

A Smarter account: the tenant that owns users and resources.

A Zod schema, and the type of the same name that it validates.

Account.accountNumber
Type:

string

Account.address1
Type:

string | null | undefined

Account.address2
Type:

string | null | undefined

Account.annotations
Type:

JsonObject[]

Account.canDelete
Type:

boolean | null | undefined

Account.city
Type:

string | null | undefined

Account.companyName
Type:

string | null | undefined

Account.country
Type:

string | null | undefined

Account.createdAt
Type:

string | null | undefined

Account.currency
Type:

string | null | undefined

Account.description
Type:

string | null | undefined

Account.hashedId
Type:

string | null | undefined

Account.id
Type:

number

Account.isActive
Type:

boolean | null | undefined

Account.isDefaultAccount
Type:

boolean | null | undefined

Account.language
Type:

string | null | undefined

Account.manifestUrl
Type:

string | null | undefined

Account.name
Type:

string

Account.phoneNumber
Type:

string | null | undefined

Account.postalCode
Type:

string | null | undefined

Account.ready
Type:

boolean | null | undefined

Account.state
Type:

string | null | undefined

Account.tags
Type:

string[]

Account.timezone
Type:

string | null | undefined

Account.updatedAt
Type:

string | null | undefined

Account.userProfile
Type:

object | null | undefined

Account.version
Type:

string | null | undefined

class AccountContact()

A contact of an account, who receives its notices.

A Zod schema, and the type of the same name that it validates.

AccountContact.account
Type:

object | null | undefined

AccountContact.createdAt
Type:

string | null | undefined

AccountContact.email
Type:

string | null | undefined

AccountContact.firstName
Type:

string | null | undefined

AccountContact.id
Type:

number

AccountContact.isPrimary
Type:

boolean | null | undefined

AccountContact.isTest
Type:

boolean | null | undefined

AccountContact.lastName
Type:

string | null | undefined

AccountContact.phone
Type:

string | null | undefined

AccountContact.updatedAt
Type:

string | null | undefined

AccountContact.welcomed
Type:

boolean | null | undefined

class ApiVersion()

The platform’s version, and the versions of its main Python packages.

A Zod schema, and the type of the same name that it validates.

ApiVersion.python

Python package versions, by package.

Type:

Record<string, string | null>

ApiVersion.version

The Smarter platform’s semantic version.

Type:

string

class CliVersion()

The version of the smarter cli that the platform recommends.

A Zod schema, and the type of the same name that it validates.

CliVersion.version
Type:

string | null | undefined

class DiscoveredManifest()

The response of discover/manifest/: a drafted LLMHost manifest.

A Zod schema, and the type of the same name that it validates.

DiscoveredManifest.manifest
Type:

JsonObject

class DiscoveredModel()

A model found in a public catalog, e.g. Hugging Face, with the LLMHost manifest that would serve it.

A Zod schema, and the type of the same name that it validates.

DiscoveredModel.catalog
Type:

string | null | undefined

DiscoveredModel.description
Type:

string | null | undefined

DiscoveredModel.downloads
Type:

number | null | undefined

DiscoveredModel.gated
Type:

boolean | null | undefined

DiscoveredModel.license
Type:

string | null | undefined

DiscoveredModel.likes
Type:

number | null | undefined

DiscoveredModel.manifest
Type:

JsonObject | null | undefined

DiscoveredModel.repository
Type:

string

DiscoveredModel.source
Type:

string | null | undefined

DiscoveredModel.tags
Type:

string[]

DiscoveredModel.task
Type:

string | null | undefined

class DiscoveredModels()

The models that a catalog search found.

A Zod schema, and the type of the same name that it validates.

DiscoveredModels.models
Type:

object[]

class Guardrail()

A guardrail: a check that the platform runs on prompts (input) or on the LLM’s replies (output).

A Zod schema, and the type of the same name that it validates.

Guardrail.action

e.g. block, redact or flag.

Type:

string | null | undefined

Guardrail.annotations
Type:

JsonObject[]

Guardrail.canDelete
Type:

boolean | null | undefined

Guardrail.category
Type:

string | null | undefined

Guardrail.config
Type:

JsonObject | null | undefined

Guardrail.createdAt
Type:

string | null | undefined

Guardrail.description
Type:

string | null | undefined

Guardrail.failClosed
Type:

boolean | null | undefined

Guardrail.hashedId
Type:

string | null | undefined

Guardrail.id
Type:

number

Guardrail.isActive
Type:

boolean | null | undefined

Guardrail.manifestUrl
Type:

string | null | undefined

Guardrail.message
Type:

string | null | undefined

Guardrail.mode

enforce or monitor.

Type:

string | null | undefined

Guardrail.name
Type:

string

Guardrail.pattern
Type:

string | null | undefined

Guardrail.priority
Type:

number | null | undefined

Guardrail.ready
Type:

boolean | null | undefined

Guardrail.replacement
Type:

string | null | undefined

Guardrail.severity
Type:

number | null | undefined

Guardrail.stage

input or output.

Type:

string | null | undefined

Guardrail.strategy

e.g. regex, detector, classifier or llm.

Type:

string | null | undefined

Guardrail.tags
Type:

string[]

Guardrail.threshold
Type:

number | null | undefined

Guardrail.updatedAt
Type:

string | null | undefined

Guardrail.userProfile
Type:

object | null | undefined

Guardrail.version
Type:

string | null | undefined

class GuardrailEvaluation()

The result of a guardrail’s dry run on a text. Nothing is saved: an evaluation does not create an event.

A Zod schema, and the type of the same name that it validates.

GuardrailEvaluation.disposition

e.g. passed, blocked, redacted or flagged.

Type:

string | null | undefined

GuardrailEvaluation.durationMs
Type:

number | null | undefined

GuardrailEvaluation.error
Type:

string | null | undefined

GuardrailEvaluation.findings
Type:

object[]

GuardrailEvaluation.guardrail
Type:

string

GuardrailEvaluation.message
Type:

string | null | undefined

GuardrailEvaluation.stage
Type:

string

GuardrailEvaluation.text

The text after the guardrail’s action, e.g. redacted.

Type:

string | null | undefined

GuardrailEvaluation.triggered
Type:

boolean

class GuardrailEvent()

A guardrail’s finding in a real prompt, saved for review.

A Zod schema, and the type of the same name that it validates.

GuardrailEvent.createdAt
Type:

string | null | undefined

GuardrailEvent.disposition
Type:

string | null | undefined

GuardrailEvent.id
Type:

number

GuardrailEvent.llmclient

The name of the LLMClient whose prompt triggered it.

Type:

string | null | undefined

GuardrailEvent.reviewed
Type:

boolean | null | undefined

GuardrailEvent.stage
Type:

string | null | undefined

class GuardrailEvents()

The latest events of a guardrail.

A Zod schema, and the type of the same name that it validates.

GuardrailEvents.events
Type:

object[]

GuardrailEvents.guardrail
Type:

string

class GuardrailFinding()

One finding of a guardrail evaluation.

A Zod schema, and the type of the same name that it validates.

GuardrailFinding.confidence
Type:

number | null | undefined

GuardrailFinding.matches
Type:

object[]

GuardrailFinding.rationale
Type:

string | null | undefined

class GuardrailMatch()

A span of the text that a guardrail matched.

A Zod schema, and the type of the same name that it validates.

GuardrailMatch.end
Type:

number

GuardrailMatch.label
Type:

string | null | undefined

GuardrailMatch.start
Type:

number

GuardrailMatch.text
Type:

string

class KindInfo()

A resource kind that the platform supports, as /api/v1/cli/resources/ describes it.

A Zod schema, and the type of the same name that it validates.

KindInfo.APIKind

The kind, as it appears in a manifest.

Type:

string

KindInfo.Deployable

True if the kind can be deployed.

Type:

boolean

KindInfo.Display
Type:

string | null | undefined

KindInfo.DisplayPlural
Type:

string | null | undefined

KindInfo.Plural
Type:

string

KindInfo.Singular
Type:

string

class LLMClient()

An LLMClient: a deployable AI agent, built from an LLM provider and model, a system prompt, plugins and functions.

Prompt it with client.llmClients.prompt(), or start a chat with client.llmClients.chat().

A Zod schema, and the type of the same name that it validates.

LLMClient.annotations
Type:

JsonObject[]

LLMClient.apiKeys
Type:

object[]

LLMClient.canDelete
Type:

boolean | null | undefined

LLMClient.createdAt
Type:

string | null | undefined

LLMClient.customDomains
Type:

object[]

LLMClient.customHost
Type:

string | null | undefined

LLMClient.customUrl
Type:

string | null | undefined

LLMClient.defaultHost
Type:

string | null | undefined

LLMClient.defaultModel
Type:

string | null | undefined

LLMClient.defaultSystemRole

The system prompt of a new chat session.

Type:

string | null | undefined

LLMClient.defaultUrl
Type:

string | null | undefined

LLMClient.deployed
Type:

boolean | null | undefined

LLMClient.description
Type:

string | null | undefined

LLMClient.functions
Type:

object[]

LLMClient.hashedId
Type:

string | null | undefined

LLMClient.id
Type:

number

LLMClient.isAuthenticationRequired

Whether prompting the LLMClient requires an api key.

Type:

boolean | null | undefined

LLMClient.manifestUrl
Type:

string | null | undefined

LLMClient.name
Type:

string

LLMClient.plugins
Type:

object[]

LLMClient.provider
Type:

string | null | undefined

LLMClient.ready
Type:

boolean | null | undefined

LLMClient.rfc1034CompliantName
Type:

string | null | undefined

LLMClient.sandboxHost
Type:

string | null | undefined

LLMClient.sandboxUrl
Type:

string | null | undefined

LLMClient.tags
Type:

string[]

LLMClient.updatedAt
Type:

string | null | undefined

LLMClient.urlChatConfig

The chat api’s configuration url.

Type:

string | null | undefined

LLMClient.urlLlmclient

Where to send prompts: the chat api’s prompt url.

Type:

string | null | undefined

LLMClient.userProfile
Type:

object | null | undefined

LLMClient.version
Type:

string | null | undefined

class LLMClientApiKey()

An api key that may call an LLMClient that requires authentication.

A Zod schema, and the type of the same name that it validates.

LLMClientApiKey.apiKey

The api key’s public key_id, a UUID. Never the key itself.

Type:

string | null | undefined

LLMClientApiKey.createdAt
Type:

string | null | undefined

LLMClientApiKey.id
Type:

number

LLMClientApiKey.llmclient
Type:

number | null | undefined

LLMClientApiKey.updatedAt
Type:

string | null | undefined

class LLMClientCustomDomain()

A custom domain on which an LLMClient is deployed: the domain itself, and its verification.

A Zod schema, and the type of the same name that it validates.

LLMClientCustomDomain.createdAt
Type:

string | null | undefined

LLMClientCustomDomain.description
Type:

string | null | undefined

LLMClientCustomDomain.domainName

The domain, e.g. example.com.

Type:

string | null | undefined

LLMClientCustomDomain.id
Type:

number

LLMClientCustomDomain.name
Type:

string | null | undefined

LLMClientCustomDomain.updatedAt
Type:

string | null | undefined

LLMClientCustomDomain.userProfile

The owner’s user profile id.

Type:

number | null | undefined

LLMClientCustomDomain.verificationMessage
Type:

string | null | undefined

LLMClientCustomDomain.verificationStatus

Not Verified, Verifying, Verified or Failed.

Type:

string | null | undefined

LLMClientCustomDomain.verifiedAt
Type:

string | null | undefined

LLMClientCustomDomain.version
Type:

string | null | undefined

class LLMClientFunction()

A built-in function of an LLMClient, e.g. calculator.

A Zod schema, and the type of the same name that it validates.

LLMClientFunction.createdAt
Type:

string | null | undefined

LLMClientFunction.id
Type:

number

LLMClientFunction.llmclient
Type:

number | null | undefined

LLMClientFunction.name
Type:

string | null | undefined

LLMClientFunction.updatedAt
Type:

string | null | undefined

class LLMClientPlugin()

The association of a plugin with an LLMClient.

A Zod schema, and the type of the same name that it validates.

LLMClientPlugin.id
Type:

number

LLMClientPlugin.llmclient
Type:

number | null | undefined

LLMClientPlugin.pluginMeta
Type:

object

class LLMClientPluginRef()

A plugin of an LLMClient, by its id and name.

A Zod schema, and the type of the same name that it validates.

LLMClientPluginRef.id
Type:

number

LLMClientPluginRef.name
Type:

string | null | undefined

class LLMHost()

An LLMHost: a model, the inference engine that serves it, and the compute it runs on.

A Zod schema, and the type of the same name that it validates.

LLMHost.annotations
Type:

JsonObject[]

LLMHost.apiFormat
Type:

string | null | undefined

LLMHost.canDelete
Type:

boolean | null | undefined

LLMHost.compute

The id of the LLMHostCompute that the LLMHost runs on.

Type:

number | null | undefined

LLMHost.costPerHour
Type:

string | null | undefined

LLMHost.createdAt
Type:

string | null | undefined

LLMHost.deployedAt
Type:

string | null | undefined

LLMHost.description
Type:

string | null | undefined

LLMHost.endpointUrl
Type:

string | null | undefined

LLMHost.gpuCount
Type:

number | null | undefined

LLMHost.gpuType
Type:

string | null | undefined

LLMHost.hashedId
Type:

string | null | undefined

LLMHost.id
Type:

number

LLMHost.inferenceEngine

e.g. vllm, tgi, tei, ollama or llama_cpp.

Type:

string | null | undefined

LLMHost.isActive
Type:

boolean | null | undefined

LLMHost.manifestUrl
Type:

string | null | undefined

LLMHost.modelRepository
Type:

string | null | undefined

LLMHost.modelRevision
Type:

string | null | undefined

LLMHost.modelSource
Type:

string | null | undefined

LLMHost.modelTask

e.g. chat, completion or embedding.

Type:

string | null | undefined

LLMHost.name
Type:

string

LLMHost.publicUrl
Type:

string | null | undefined

LLMHost.ready
Type:

boolean | null | undefined

LLMHost.readyReplicas
Type:

number | null | undefined

LLMHost.replicas
Type:

number | null | undefined

LLMHost.servedModelName
Type:

string | null | undefined

LLMHost.spec
Type:

JsonObject | null | undefined

LLMHost.status
Type:

string | null | undefined

LLMHost.statusMessage
Type:

string | null | undefined

LLMHost.tags
Type:

string[]

LLMHost.updatedAt
Type:

string | null | undefined

LLMHost.userProfile
Type:

object | null | undefined

LLMHost.version
Type:

string | null | undefined

class LLMHostLogs()

The latest log lines of an LLMHost’s pods.

A Zod schema, and the type of the same name that it validates.

LLMHostLogs.llmhost
Type:

string

LLMHostLogs.logs
Type:

JsonValue | null | undefined

class LLMHostPlan()

The Kubernetes resources that deploying an LLMHost would create, without creating them.

A Zod schema, and the type of the same name that it validates.

LLMHostPlan.llmhost
Type:

string

LLMHostPlan.resources
Type:

JsonObject[]

class LLMHostReport()

A report of every LLMHost that the user may read: counts, and estimated costs.

A Zod schema, and the type of the same name that it validates.

LLMHostReport.byEngine
Type:

Record<string, number>

LLMHostReport.byStatus
Type:

Record<string, number>

LLMHostReport.llmhosts
Type:

JsonObject[]

LLMHostReport.totals
Type:

JsonObject

class LLMHostStatus()

An LLMHost’s state, read from Kubernetes now.

A Zod schema, and the type of the same name that it validates.

LLMHostStatus.checkedAt
Type:

string | null | undefined

LLMHostStatus.endpoint
Type:

string | null | undefined

LLMHostStatus.healthy
Type:

boolean | null | undefined

LLMHostStatus.llmhost
Type:

string

LLMHostStatus.message
Type:

string | null | undefined

LLMHostStatus.pods
Type:

JsonObject[]

LLMHostStatus.publicUrl
Type:

string | null | undefined

LLMHostStatus.readyReplicas
Type:

number | null | undefined

LLMHostStatus.replicas
Type:

number | null | undefined

LLMHostStatus.status
Type:

string

class ManifestData()

The schema of a manifest’s JSON, which Manifest wraps.

A Zod schema, and the type of the same name that it validates.

ManifestData.apiVersion
Type:

string

ManifestData.kind

The resource kind, e.g. LLMClient. See client.kinds().

Type:

string

ManifestData.metadata
Type:

object

ManifestData.spec

The resource’s specification.

Type:

JsonObject

ManifestData.status

Read-only state, returned by describe.

Type:

JsonObject | null | undefined

class ManifestList()

The result of get: the resources of one kind, as a table.

data.items are the rows, and data.titles their columns. The columns depend on the kind. The SDK adds a non-enumerable names getter to the results that it returns: see manifestNames.

A Zod schema, and the type of the same name that it validates.

ManifestList.apiVersion
Type:

string

ManifestList.data
Type:

object

ManifestList.kind
Type:

string

ManifestList.metadata
Type:

object

ManifestList.name
Type:

string | null | undefined

class ManifestListData()

The table of a get result.

A Zod schema, and the type of the same name that it validates.

ManifestListData.items
Type:

JsonObject[]

ManifestListData.titles
Type:

object[]

class ManifestListMetadata()

The metadata of a get result.

A Zod schema, and the type of the same name that it validates.

ManifestListMetadata.count
Type:

number

class ManifestListTitle()

A column of a get result: the field’s name, and its Django field type.

A Zod schema, and the type of the same name that it validates.

ManifestListTitle.name
Type:

string

ManifestListTitle.type
Type:

string

class ManifestMetadata()

A manifest’s metadata: the resource’s name, and descriptive information about it.

A Zod schema, and the type of the same name that it validates.

ManifestMetadata.annotations

Key-value pairs, as a list of single-key objects.

Type:

JsonObject[] | null | undefined

ManifestMetadata.description
Type:

string | null | undefined

ManifestMetadata.name

The resource’s name, unique per account and kind, in snake_case.

Type:

string

ManifestMetadata.tags
Type:

string[] | null | undefined

ManifestMetadata.version

The resource’s semantic version, e.g. 1.0.0.

Type:

string | null | undefined

class ManifestValidation()

The result of validating a manifest, without applying it.

A Zod schema, and the type of the same name that it validates.

ManifestValidation.errors
Type:

JsonValue[]

ManifestValidation.valid
Type:

boolean

class MCPClient()

An MCPClient: an MCP server, how to reach it, and which of its tools the LLM may call.

A Zod schema, and the type of the same name that it validates.

MCPClient.allowedResources
Type:

string[]

MCPClient.allowedTools
Type:

string[]

MCPClient.annotations
Type:

JsonObject[]

MCPClient.authType
Type:

string | null | undefined

MCPClient.cacheTtl
Type:

number | null | undefined

MCPClient.canDelete
Type:

boolean | null | undefined

MCPClient.command
Type:

string | null | undefined

MCPClient.createdAt
Type:

string | null | undefined

MCPClient.description
Type:

string | null | undefined

MCPClient.endpointUrl
Type:

string | null | undefined

MCPClient.hashedId
Type:

string | null | undefined

MCPClient.id
Type:

number

MCPClient.includeInstructions
Type:

boolean | null | undefined

MCPClient.isActive
Type:

boolean | null | undefined

MCPClient.lastConnectedAt
Type:

string | null | undefined

MCPClient.lastError
Type:

string | null | undefined

MCPClient.manifestUrl
Type:

string | null | undefined

MCPClient.name
Type:

string

MCPClient.priority
Type:

number | null | undefined

MCPClient.protocolVersion
Type:

string | null | undefined

MCPClient.ready
Type:

boolean | null | undefined

MCPClient.serverName
Type:

string | null | undefined

MCPClient.serverVersion
Type:

string | null | undefined

MCPClient.status

e.g. connected or error.

Type:

string | null | undefined

MCPClient.tags
Type:

string[]

MCPClient.timeout
Type:

number | null | undefined

MCPClient.tools

The names of every tool that the server offers.

Type:

string[]

MCPClient.transport

http, sse or stdio.

Type:

string | null | undefined

MCPClient.updatedAt
Type:

string | null | undefined

MCPClient.userProfile
Type:

object | null | undefined

MCPClient.version
Type:

string | null | undefined

class MCPClientStatus()

The connection state of an MCPClient.

A Zod schema, and the type of the same name that it validates.

MCPClientStatus.error

The error of a failed refresh.

Type:

string | null | undefined

MCPClientStatus.lastConnected
Type:

string | null | undefined

MCPClientStatus.lastError
Type:

string | null | undefined

MCPClientStatus.name
Type:

string

MCPClientStatus.protocolVersion
Type:

string | null | undefined

MCPClientStatus.serverName
Type:

string | null | undefined

MCPClientStatus.serverVersion
Type:

string | null | undefined

MCPClientStatus.status
Type:

string | null | undefined

class MCPClientTools()

An MCPClient’s allowed tools, and the server’s instructions.

A Zod schema, and the type of the same name that it validates.

MCPClientTools.error

The error of a failed refresh.

Type:

string | null | undefined

MCPClientTools.instructions
Type:

string | null | undefined

MCPClientTools.lastConnected
Type:

string | null | undefined

MCPClientTools.lastError
Type:

string | null | undefined

MCPClientTools.name
Type:

string

MCPClientTools.protocolVersion
Type:

string | null | undefined

MCPClientTools.serverName
Type:

string | null | undefined

MCPClientTools.serverVersion
Type:

string | null | undefined

MCPClientTools.status
Type:

string | null | undefined

MCPClientTools.tools
Type:

object[]

class MCPTool()

A tool of an MCP server, which the MCPClient allows the LLM to call.

A Zod schema, and the type of the same name that it validates.

MCPTool.description
Type:

string | null | undefined

MCPTool.destructive
Type:

boolean | null | undefined

MCPTool.inputSchema

The tool’s arguments, as a JSON Schema.

Type:

JsonObject | null | undefined

MCPTool.name
Type:

string

MCPTool.readOnly
Type:

boolean | null | undefined

MCPTool.title
Type:

string | null | undefined

class MCPToolResult()

The result of a tool call.

A Zod schema, and the type of the same name that it validates.

MCPToolResult.content

The tool’s result, as text.

Type:

string | null | undefined

MCPToolResult.isError
Type:

boolean

MCPToolResult.name

The MCPClient’s name.

Type:

string

MCPToolResult.tool
Type:

string

class Orchestrator()

An orchestrator: a multi-agent workflow that composes LLMClients.

A Zod schema, and the type of the same name that it validates.

Orchestrator.annotations
Type:

JsonObject[]

Orchestrator.canDelete
Type:

boolean | null | undefined

Orchestrator.createdAt
Type:

string | null | undefined

Orchestrator.description
Type:

string | null | undefined

Orchestrator.hashedId
Type:

string | null | undefined

Orchestrator.id
Type:

number

Orchestrator.isActive
Type:

boolean | null | undefined

Orchestrator.llmclients

The ids of its LLMClients.

Type:

number[]

Orchestrator.manifestUrl
Type:

string | null | undefined

Orchestrator.maxIterations
Type:

number | null | undefined

Orchestrator.name
Type:

string

Orchestrator.ready
Type:

boolean | null | undefined

Orchestrator.strategy

How its LLMClients collaborate: sequential, parallel, supervisor, router, voting or debate.

Type:

string | null | undefined

Orchestrator.tags
Type:

string[]

Orchestrator.updatedAt
Type:

string | null | undefined

Orchestrator.userProfile
Type:

object | null | undefined

Orchestrator.version
Type:

string | null | undefined

class PlatformStatus()

The response of status: the state of the platform’s infrastructure and compute.

The sections’ contents depend on how the platform is hosted, so they are JSON objects.

A Zod schema, and the type of the same name that it validates.

PlatformStatus.compute
Type:

JsonObject

PlatformStatus.infrastructures
Type:

JsonObject

class PlatformVersion()

The response of version.

A Zod schema, and the type of the same name that it validates.

PlatformVersion.api
Type:

object

PlatformVersion.cli
Type:

object | null | undefined

class Plugin()

A plugin’s metadata.

Its kind is the manifest kind, e.g. ApiPlugin or SqlPlugin, and its pluginClass the implementation: api, skill, sql, static, websearch or imagesearch.

A Zod schema, and the type of the same name that it validates.

Plugin.annotations
Type:

JsonObject[]

Plugin.canDelete
Type:

boolean | null | undefined

Plugin.createdAt
Type:

string | null | undefined

Plugin.description
Type:

string | null | undefined

Plugin.hashedId
Type:

string | null | undefined

Plugin.id
Type:

number

Plugin.kind

The manifest kind, e.g. ApiPlugin.

Type:

string | null | undefined

Plugin.manifestUrl
Type:

string | null | undefined

Plugin.name
Type:

string

Plugin.pluginClass

api, skill, sql, static, websearch or imagesearch.

Type:

string | null | undefined

Plugin.ready
Type:

boolean | null | undefined

Plugin.tags
Type:

string[]

Plugin.updatedAt
Type:

string | null | undefined

Plugin.userProfile
Type:

object | null | undefined

Plugin.version
Type:

string | null | undefined

class PromptPluginUsage()

A use of a plugin in a chat session.

A Zod schema, and the type of the same name that it validates.

PromptPluginUsage.created_at
Type:

string | null | undefined

PromptPluginUsage.id
Type:

number

PromptPluginUsage.input_text
Type:

string | null | undefined

PromptPluginUsage.plugin
Type:

object | null | undefined

PromptPluginUsage.prompt
Type:

unknown | null | undefined

PromptPluginUsage.updated_at
Type:

string | null | undefined

class PromptSession()

A chat session: one conversation with an LLMClient, by its session key.

A Zod schema, and the type of the same name that it validates.

PromptSession.created_at
Type:

string | null | undefined

PromptSession.description
Type:

string | null | undefined

PromptSession.id
Type:

number

PromptSession.ip_address
Type:

string | null | undefined

PromptSession.llmclient
Type:

number | null | undefined

PromptSession.name
Type:

string | null | undefined

PromptSession.session_key
Type:

string | null | undefined

PromptSession.updated_at
Type:

string | null | undefined

PromptSession.url
Type:

string | null | undefined

PromptSession.user_agent
Type:

string | null | undefined

PromptSession.user_profile
Type:

number | null | undefined

class PromptToolCall()

A tool call that the LLM made in a chat session.

A Zod schema, and the type of the same name that it validates.

PromptToolCall.created_at
Type:

string | null | undefined

PromptToolCall.function_args
Type:

string | null | undefined

PromptToolCall.function_name
Type:

string | null | undefined

PromptToolCall.id
Type:

number

PromptToolCall.plugin

The id of the plugin that the tool belongs to, if any.

Type:

number | null | undefined

PromptToolCall.prompt
Type:

unknown | null | undefined

PromptToolCall.request
Type:

JsonValue | null | undefined

PromptToolCall.response
Type:

JsonValue | null | undefined

PromptToolCall.updated_at
Type:

string | null | undefined

class Provider()

An LLM provider that the platform is configured for, e.g. openai.

A Zod schema, and the type of the same name that it validates.

Provider.baseUrl
Type:

string | null | undefined

Provider.description
Type:

string | null | undefined

Provider.isActive
Type:

boolean | null | undefined

Provider.name
Type:

string

class ProviderModel()

A model of an LLM provider.

A Zod schema, and the type of the same name that it validates.

ProviderModel.description
Type:

string | null | undefined

ProviderModel.maxTokens
Type:

number | null | undefined

ProviderModel.metadata
Type:

JsonObject | null | undefined

ProviderModel.name
Type:

string

ProviderModel.supportsStreaming
Type:

boolean | null | undefined

ProviderModel.supportsTools
Type:

boolean | null | undefined

class Proxy()

A proxy: authenticated passthrough access to an LLM provider’s own api.

The platform holds the provider’s api key. Callers use their Smarter api key instead, and may reach only the proxy’s allowedPaths.

A Zod schema, and the type of the same name that it validates.

Proxy.allowedPaths
Type:

string[]

Proxy.description
Type:

string | null | undefined

Proxy.isActive
Type:

boolean | null | undefined

Proxy.name
Type:

string

Proxy.provider
Type:

string | null | undefined

Proxy.upstreamUrl
Type:

string | null | undefined

Proxy.url

The proxy’s base url on the Smarter platform.

Type:

string | null | undefined

class ProxyList()

The proxies that the user may call.

A Zod schema, and the type of the same name that it validates.

ProxyList.proxies
Type:

object[]

class Secret()

A secret’s metadata. The api never returns a secret’s value.

A Zod schema, and the type of the same name that it validates.

Secret.annotations
Type:

JsonObject[]

Secret.canDelete
Type:

boolean | null | undefined

Secret.createdAt
Type:

string | null | undefined

Secret.description
Type:

string | null | undefined

Secret.expiresAt
Type:

string | null | undefined

Secret.hashedId
Type:

string | null | undefined

Secret.id
Type:

number

Secret.lastAccessed
Type:

string | null | undefined

Secret.manifestUrl
Type:

string | null | undefined

Secret.name
Type:

string

Secret.ready
Type:

boolean | null | undefined

Secret.tags
Type:

string[]

Secret.updatedAt
Type:

string | null | undefined

Secret.userProfile
Type:

object | null | undefined

Secret.version
Type:

string | null | undefined

SMARTER_API_VERSION

The apiVersion of every Smarter manifest.

Type:

“smarter.sh/v1”

class SmarterAccountRef()

The account of a resource’s owner.

A Zod schema, and the type of the same name that it validates.

SmarterAccountRef.accountNumber
Type:

string

class SmarterOwner()

The owner of a resource: its user profile, as the user and the account.

A Zod schema, and the type of the same name that it validates.

SmarterOwner.account
Type:

object | null | undefined

SmarterOwner.user
Type:

object | null | undefined

class SmarterResource()

The fields that every Smarter resource shares, as the REST api returns them.

The api’s resources are Django rows with the same metadata as a manifest’s metadata: a name, description, version, tags and annotations. Each resource’s schema adds its own fields.

A Zod schema, and the type of the same name that it validates.

SmarterResource.annotations
Type:

JsonObject[]

SmarterResource.canDelete
Type:

boolean | null | undefined

SmarterResource.createdAt
Type:

string | null | undefined

SmarterResource.description
Type:

string | null | undefined

SmarterResource.hashedId
Type:

string | null | undefined

SmarterResource.id
Type:

number

SmarterResource.manifestUrl
Type:

string | null | undefined

SmarterResource.name
Type:

string

SmarterResource.ready
Type:

boolean | null | undefined

SmarterResource.tags
Type:

string[]

SmarterResource.updatedAt
Type:

string | null | undefined

SmarterResource.userProfile
Type:

object | null | undefined

SmarterResource.version
Type:

string | null | undefined

class SmarterUserRef()

The user of a resource’s owner.

A Zod schema, and the type of the same name that it validates.

SmarterUserRef.email
Type:

string | null | undefined

SmarterUserRef.username
Type:

string

class User()

A user of the platform.

A Zod schema, and the type of the same name that it validates.

User.email
Type:

string | null | undefined

User.firstName
Type:

string | null | undefined

User.id
Type:

number

User.isStaff
Type:

boolean | null | undefined

User.isSuperuser
Type:

boolean | null | undefined

User.lastName
Type:

string | null | undefined

User.username
Type:

string

class UserProfile()

A user’s membership of an account, which owns the resources that the user creates in it.

A Zod schema, and the type of the same name that it validates.

UserProfile.account
Type:

object

UserProfile.annotations
Type:

JsonObject[]

UserProfile.canDelete
Type:

boolean | null | undefined

UserProfile.createdAt
Type:

string | null | undefined

UserProfile.description
Type:

string | null | undefined

UserProfile.hashedId
Type:

string | null | undefined

UserProfile.id
Type:

number

UserProfile.isTest
Type:

boolean | null | undefined

UserProfile.manifestUrl
Type:

string | null | undefined

UserProfile.name
Type:

string

UserProfile.profileImageUrl
Type:

string | null | undefined

UserProfile.ready
Type:

boolean | null | undefined

UserProfile.tags
Type:

string[]

UserProfile.updatedAt
Type:

string | null | undefined

UserProfile.user
Type:

object

UserProfile.userProfile
Type:

object | null | undefined

UserProfile.version
Type:

string | null | undefined

class Vectorsearch()

A vectorsearch: a retrieval pipeline over a vectorstore.

A Zod schema, and the type of the same name that it validates.

Vectorsearch.annotations
Type:

JsonObject[]

Vectorsearch.authSecret

The id of its Secret, if any.

Type:

number | null | undefined

Vectorsearch.canDelete
Type:

boolean | null | undefined

Vectorsearch.createdAt
Type:

string | null | undefined

Vectorsearch.description
Type:

string | null | undefined

Vectorsearch.fetchK

The candidates of an mmr search.

Type:

number | null | undefined

Vectorsearch.hashedId
Type:

string | null | undefined

Vectorsearch.id
Type:

number

Vectorsearch.isEnabled
Type:

boolean | null | undefined

Vectorsearch.k

The number of chunks to return.

Type:

number | null | undefined

Vectorsearch.lambdaMult

An mmr search’s diversity.

Type:

number | null | undefined

Vectorsearch.manifestUrl
Type:

string | null | undefined

Vectorsearch.metadataFilter
Type:

JsonValue | null | undefined

Vectorsearch.name
Type:

string

Vectorsearch.ready
Type:

boolean | null | undefined

Vectorsearch.scoreThreshold
Type:

number | null | undefined

Vectorsearch.searchType

similarity, similarity_score_threshold or mmr.

Type:

string | null | undefined

Vectorsearch.tags
Type:

string[]

Vectorsearch.updatedAt
Type:

string | null | undefined

Vectorsearch.userProfile
Type:

object | null | undefined

Vectorsearch.vectorstore

The id of its vectorstore.

Type:

number | null | undefined

Vectorsearch.version
Type:

string | null | undefined

class Vectorstore()

A vectorstore: a vector database, hosted by Smarter or by a provider, for retrieval-augmented generation.

A Zod schema, and the type of the same name that it validates.

Vectorstore.annotations
Type:

JsonObject[]

Vectorstore.backend

e.g. qdrant or pinecone.

Type:

string | null | undefined

Vectorstore.canDelete
Type:

boolean | null | undefined

Vectorstore.createdAt
Type:

string | null | undefined

Vectorstore.deployedAt
Type:

string | null | undefined

Vectorstore.description
Type:

string | null | undefined

Vectorstore.dimension
Type:

number | null | undefined

Vectorstore.documentCount
Type:

number | null | undefined

Vectorstore.embeddingsModel
Type:

string | null | undefined

Vectorstore.embeddingsProvider
Type:

string | null | undefined

Vectorstore.endpointUrl
Type:

string | null | undefined

Vectorstore.hashedId
Type:

string | null | undefined

Vectorstore.hosting

self_hosted or managed.

Type:

string | null | undefined

Vectorstore.id
Type:

number

Vectorstore.indexName
Type:

string | null | undefined

Vectorstore.isActive
Type:

boolean | null | undefined

Vectorstore.manifestUrl
Type:

string | null | undefined

Vectorstore.metric
Type:

string | null | undefined

Vectorstore.name
Type:

string

Vectorstore.ready
Type:

boolean | null | undefined

Vectorstore.snapshotCount
Type:

number | null | undefined

Vectorstore.spec
Type:

JsonObject | null | undefined

Vectorstore.status

e.g. pending, ready or error.

Type:

string | null | undefined

Vectorstore.statusMessage
Type:

string | null | undefined

Vectorstore.tags
Type:

string[]

Vectorstore.updatedAt
Type:

string | null | undefined

Vectorstore.userProfile
Type:

object | null | undefined

Vectorstore.vectorCount
Type:

number | null | undefined

Vectorstore.version
Type:

string | null | undefined

class VectorstoreDocument()

A document of a vectorstore: a file, a text or a url, split into chunks and embedded.

A Zod schema, and the type of the same name that it validates.

VectorstoreDocument.chunkCount
Type:

number | null | undefined

VectorstoreDocument.contentType
Type:

string | null | undefined

VectorstoreDocument.createdAt
Type:

string | null | undefined

VectorstoreDocument.id
Type:

number

VectorstoreDocument.metadata
Type:

JsonObject | null | undefined

VectorstoreDocument.name
Type:

string

VectorstoreDocument.source

upload, text or url.

Type:

string | null | undefined

VectorstoreDocument.status

e.g. pending, loaded, error or deleting.

Type:

string | null | undefined

VectorstoreDocument.updatedAt
Type:

string | null | undefined

class VectorstoreDocumentDeleted()

A document that is being deleted, with its chunks.

A Zod schema, and the type of the same name that it validates.

VectorstoreDocumentDeleted.document
Type:

string

VectorstoreDocumentDeleted.status
Type:

string

class VectorstoreDocuments()

A vectorstore’s documents.

A Zod schema, and the type of the same name that it validates.

VectorstoreDocuments.documents
Type:

object[]

class VectorstoreDocumentsAdded()

The result of adding documents. Documents are loaded asynchronously, and only once the vectorstore is deployed: see queued.

A Zod schema, and the type of the same name that it validates.

VectorstoreDocumentsAdded.documents
Type:

object[]

VectorstoreDocumentsAdded.duplicates

Documents that already existed.

Type:

object[]

VectorstoreDocumentsAdded.message
Type:

string | null | undefined

VectorstoreDocumentsAdded.queued
Type:

boolean

class VectorstoreRestored()

The result of restoring a snapshot.

A Zod schema, and the type of the same name that it validates.

VectorstoreRestored.restored
Type:

string

VectorstoreRestored.vectorCount
Type:

number | null | undefined

VectorstoreRestored.vectorstore
Type:

string

class VectorstoreSearchResult()

A chunk that matched a search.

A Zod schema, and the type of the same name that it validates.

VectorstoreSearchResult.id
Type:

JsonValue | null | undefined

VectorstoreSearchResult.metadata
Type:

JsonObject | null | undefined

VectorstoreSearchResult.score
Type:

number | null | undefined

VectorstoreSearchResult.text
Type:

string

class VectorstoreSearchResults()

The chunks that matched a search, best first.

A Zod schema, and the type of the same name that it validates.

VectorstoreSearchResults.results
Type:

object[]

VectorstoreSearchResults.vectorstore
Type:

string

class VectorstoreSnapshot()

A snapshot of a vectorstore’s data.

A Zod schema, and the type of the same name that it validates.

VectorstoreSnapshot.createdAt
Type:

string | null | undefined

VectorstoreSnapshot.id
Type:

number

VectorstoreSnapshot.name
Type:

string | null | undefined

VectorstoreSnapshot.scheduled
Type:

boolean | null | undefined

VectorstoreSnapshot.sizeBytes
Type:

number | null | undefined

VectorstoreSnapshot.status
Type:

string | null | undefined

class VectorstoreSnapshots()

A vectorstore’s snapshots.

A Zod schema, and the type of the same name that it validates.

VectorstoreSnapshots.snapshots
Type:

object[]

class VectorstoreStatus()

A vectorstore’s state, checked now.

A Zod schema, and the type of the same name that it validates.

VectorstoreStatus.message
Type:

string | null | undefined

VectorstoreStatus.stats
Type:

JsonObject

VectorstoreStatus.status
Type:

string

VectorstoreStatus.vectorCount
Type:

number | null | undefined

VectorstoreStatus.vectorstore
Type:

string

class WhoAmI()

The owner of the api key: the user, their account, and the platform’s environment.

A Zod schema, and the type of the same name that it validates.

WhoAmI.account
Type:

object

WhoAmI.environment

The platform’s environment, e.g. local or prod.

Type:

string | null | undefined

WhoAmI.user
Type:

object

ManifestInput

A manifest, in any form that the SDK accepts: a Manifest, an object (e.g. a typed SAM object), YAML or JSON text, or the path of a YAML or JSON file.

Type:

Manifest | Record<string, unknown> | string | URL

ManifestTable

A get result, with the names of its resources.

Type:

unknown