SAM Models
Typed models of every SAM (Smarter Application Manifest) kind, generated from the Smarter platform’s JSON Schemas.
Each model describes a complete manifest of its kind: apiVersion, kind, metadata,
spec and the read-only status. Use them to build manifests in code, with your editor’s
completion and Pydantic’s validation, or to read a described manifest with typed fields:
from smarter.models.sam import SAMGuardrail, sam_model
manifest = client.guardrails.describe("pii_redactor")
guardrail = manifest.to_sam() # a SAMGuardrail
print(guardrail.spec.config.action)
The models keep fields that they don’t declare, so that a manifest of a newer platform still
parses. The platform’s own models also enforce business rules that a JSON Schema can’t express:
validate a manifest with smarter.resources.manifests.Manifests.validate() before you rely on it.
Do not edit: run scripts/generate_sam_models.py.
- class smarter.models.sam.SAMModel(**extra_data: Any)[source]
Bases:
SmarterModelThe base class of the generated SAM models: a
SmarterModel, which keeps unknown fields.Its fields keep the manifest’s own names, e.g.
apiVersionandrecordLocator.Its regular expressions use Python’s
re, because the platform’s schemas include patterns with look-ahead (e.g. Pydantic’s own pattern of aDecimal), which Pydantic’s default engine doesn’t support. The generated fields’ docstrings, which come from the platform’s field descriptions, are their Pydantic descriptions too (use_attribute_docstrings).- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- smarter.models.sam.SAM_MODELS: dict[str, type[SAMModel]] = {'Account': <class 'smarter.models.sam.account.SAMAccount'>, 'ApiConnection': <class 'smarter.models.sam.apiconnection.SAMApiConnection'>, 'ApiPlugin': <class 'smarter.models.sam.apiplugin.SAMApiPlugin'>, 'Budget': <class 'smarter.models.sam.budget.SAMBudget'>, 'CustomDomain': <class 'smarter.models.sam.customdomain.SAMCustomDomain'>, 'Guardrail': <class 'smarter.models.sam.guardrail.SAMGuardrail'>, 'ImageSearchPlugin': <class 'smarter.models.sam.imagesearchplugin.SAMImageSearchPlugin'>, 'LLMClient': <class 'smarter.models.sam.llmclient.SAMLLMClient'>, 'LLMHost': <class 'smarter.models.sam.llmhost.SAMLLMHost'>, 'LLMHostCompute': <class 'smarter.models.sam.llmhostcompute.SAMLLMHostCompute'>, 'MCPClient': <class 'smarter.models.sam.mcpclient.SAMMCPClient'>, 'Orchestrator': <class 'smarter.models.sam.orchestrator.SAMOrchestrator'>, 'Plugin': <class 'smarter.models.sam.plugin.SAMPlugin'>, 'Prompt': <class 'smarter.models.sam.prompt.SAMPrompt'>, 'Provider': <class 'smarter.models.sam.provider.SAMProvider'>, 'Proxy': <class 'smarter.models.sam.proxy.SAMProxy'>, 'Secret': <class 'smarter.models.sam.secret.SAMSecret'>, 'SkillPlugin': <class 'smarter.models.sam.skillplugin.SAMSkillPlugin'>, 'SmarterAuthToken': <class 'smarter.models.sam.smarterauthtoken.SAMSmarterAuthToken'>, 'SqlConnection': <class 'smarter.models.sam.sqlconnection.SAMSqlConnection'>, 'SqlPlugin': <class 'smarter.models.sam.sqlplugin.SAMSqlPlugin'>, 'User': <class 'smarter.models.sam.user.SAMUser'>, 'Vectorsearch': <class 'smarter.models.sam.vectorsearch.SAMVectorsearch'>, 'Vectorstore': <class 'smarter.models.sam.vectorstore.SAMVectorstore'>, 'WebsearchPlugin': <class 'smarter.models.sam.websearchplugin.SAMWebsearchPlugin'>}
The model of each kind, by its manifest
kind.
- class smarter.models.sam.SAMAccount(*, apiVersion: str, kind: str, metadata: SAMAccountMetadata, spec: SAMAccountSpec, status: SAMAccountStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Account.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMAccountMetadata
Account.metadata[obj]: Required, the Account metadata.
- spec: SAMAccountSpec
Account.spec[obj]: Required, the Account specification.
- status: SAMAccountStatus | None
Account.status[obj]: Optional, Read-only.
Stateful status information about the Account.
- class smarter.models.sam.SAMApiConnection(*, apiVersion: str, kind: str, metadata: SAMConnectionCommonMetadata, spec: SAMApiConnectionSpec, status: SAMConnectionCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Connection Manifest - ApiConnection Model.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMConnectionCommonMetadata
Connection.metadata[obj]: Required, the Connection metadata.
- spec: SAMApiConnectionSpec
ApiConnection.spec[obj]: Required, the ApiConnection specification.
- status: SAMConnectionCommonStatus | None
Connection.status[obj]: Optional, Read-only.
Stateful status information about the Connection.
- class smarter.models.sam.SAMApiPlugin(*, apiVersion: str, kind: str, metadata: SAMPluginCommonMetadata, spec: SAMApiPluginSpec, status: SAMPluginCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - ApiPlugin Model.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMPluginCommonMetadata
Plugin.metadata[obj]: Required, the Plugin metadata.
- spec: SAMApiPluginSpec
ApiPlugin.spec[obj]: Required, the ApiPlugin specification.
- status: SAMPluginCommonStatus | None
Plugin.status[obj]: Optional, Read-only.
Stateful status information about the Plugin.
- class smarter.models.sam.SAMBudget(*, apiVersion: str, kind: str, metadata: SAMBudgetMetadata, spec: SAMBudgetSpec, status: SAMBudgetStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Budget.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMBudgetMetadata
Budget.metadata[obj]: Required, the Budget metadata.
- spec: SAMBudgetSpec
Budget.spec[obj]: Required, the Budget specification.
- status: SAMBudgetStatus | None
Budget.status[obj]: Optional, Read-only.
Stateful status information about the Budget.
- class smarter.models.sam.SAMCustomDomain(*, apiVersion: str, kind: str, metadata: SAMCustomDomainMetadata, spec: SAMCustomDomainSpec, status: SAMCustomDomainStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - CustomDomain.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMCustomDomainMetadata
CustomDomain.metadata[obj]: Required, the CustomDomain metadata.
- spec: SAMCustomDomainSpec
CustomDomain.spec[obj]: Required, the CustomDomain specification.
- status: SAMCustomDomainStatus | None
CustomDomain.status[obj]: Optional, Read-only.
Stateful status information about the CustomDomain.
- class smarter.models.sam.SAMGuardrail(*, apiVersion: str, kind: str, metadata: SAMGuardrailMetadata, spec: SAMGuardrailSpec, status: SAMGuardrailStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Guardrail.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMGuardrailMetadata
Guardrail.metadata[obj]: Required, the Guardrail metadata.
- spec: SAMGuardrailSpec
Guardrail.spec[obj]: Required, the Guardrail specification.
- status: SAMGuardrailStatus | None
Guardrail.status[obj]: Optional, Read-only.
Stateful status information about the Guardrail.
- class smarter.models.sam.SAMImageSearchPlugin(*, apiVersion: str, kind: str, metadata: SAMPluginCommonMetadata, spec: SAMImageSearchPluginSpec, status: SAMPluginCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - ImageSearchPlugin Model.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMPluginCommonMetadata
Plugin.metadata[obj]: Required, the Plugin metadata.
- spec: SAMImageSearchPluginSpec
ImageSearchPlugin.spec[obj]: Required, the ImageSearchPlugin specification.
- status: SAMPluginCommonStatus | None
Plugin.status[obj]: Optional, Read-only.
Stateful status information about the Plugin.
- class smarter.models.sam.SAMLLMClient(*, apiVersion: str, kind: str, metadata: SAMLLMClientMetadata, spec: SAMLLMClientSpec, status: SAMLLMClientStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - LLMClient.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMLLMClientMetadata
LLMClient.metadata[obj]: Required, the LLMClient metadata.
- spec: SAMLLMClientSpec
LLMClient.spec[obj]: Required, the LLMClient specification.
- status: SAMLLMClientStatus | None
LLMClient.status[obj]: Optional, Read-only.
Stateful status information about the LLMClient.
- class smarter.models.sam.SAMLLMHost(*, apiVersion: str, kind: str, metadata: SAMLLMHostMetadata, spec: SAMLLMHostSpec, status: SAMLLMHostStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - LLMHost.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMLLMHostMetadata
LLMHost.metadata[obj]: Required, the LLMHost metadata.
- spec: SAMLLMHostSpec
LLMHost.spec[obj]: Required, the LLMHost specification.
- status: SAMLLMHostStatus | None
LLMHost.status[obj]: Optional, Read-only.
Stateful status information about the LLMHost.
- class smarter.models.sam.SAMLLMHostCompute(*, apiVersion: str, kind: str, metadata: SAMLLMHostComputeMetadata, spec: SAMLLMHostComputeSpec, status: SAMLLMHostComputeStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - LLMHostCompute.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMLLMHostComputeMetadata
LLMHostCompute.metadata[obj]: Required, the LLMHostCompute metadata.
- spec: SAMLLMHostComputeSpec
LLMHostCompute.spec[obj]: Required, the LLMHostCompute specification.
- status: SAMLLMHostComputeStatus | None
LLMHostCompute.status[obj]: Optional, Read-only.
Stateful status information about the LLMHostCompute.
- class smarter.models.sam.SAMMCPClient(*, apiVersion: str, kind: str, metadata: SAMMCPClientMetadata, spec: SAMMCPClientSpec, status: SAMMCPClientStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - MCPClient.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMMCPClientMetadata
MCPClient.metadata[obj]: Required, the MCPClient metadata.
- spec: SAMMCPClientSpec
MCPClient.spec[obj]: Required, the MCPClient specification.
- status: SAMMCPClientStatus | None
MCPClient.status[obj]: Optional, Read-only.
Stateful status information about the MCPClient.
- class smarter.models.sam.SAMOrchestrator(*, apiVersion: str, kind: str, metadata: SAMOrchestratorMetadata, spec: SAMOrchestratorSpec, status: SAMOrchestratorStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Orchestrator.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMOrchestratorMetadata
Orchestrator.metadata[obj]: Required, the Orchestrator metadata.
- spec: SAMOrchestratorSpec
Orchestrator.spec[obj]: Required, the Orchestrator specification.
- status: SAMOrchestratorStatus | None
Orchestrator.status[obj]: Optional, Read-only.
Stateful status information about the Orchestrator.
- class smarter.models.sam.SAMPlugin(*, apiVersion: str, kind: str, metadata: SAMPluginCommonMetadata, spec: SAMPluginStaticSpec, status: SAMPluginCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Plugin.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMPluginCommonMetadata
Plugin.metadata[obj]: Required, the Plugin metadata.
- spec: SAMPluginStaticSpec
Plugin.spec[obj]: Required, the Plugin specification.
- status: SAMPluginCommonStatus | None
Plugin.status[obj]: Optional, Read-only.
Stateful status information about the Plugin.
- class smarter.models.sam.SAMPrompt(*, apiVersion: str, kind: str, metadata: SAMPromptMetadata, spec: SAMPromptSpecConfig, status: SAMPromptStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Prompt.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMPromptMetadata
Prompt.metadata[obj]: Required, the Prompt metadata.
- spec: SAMPromptSpecConfig
Prompt.spec[obj]: Required, the Prompt specification.
- status: SAMPromptStatus | None
Prompt.status[obj]: Optional, Read-only.
Stateful status information about the Prompt.
- class smarter.models.sam.SAMProvider(*, apiVersion: str, kind: str, metadata: SAMProviderMetadata, spec: SAMProviderSpec, status: SAMProviderStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Account.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMProviderMetadata
Provider.metadata[obj]: Required, the Provider metadata.
- spec: SAMProviderSpec
Provider.spec[obj]: Required, the Provider specification.
- status: SAMProviderStatus | None
Provider.status[obj]: Optional, Read-only.
Stateful status information about the Provider.
- class smarter.models.sam.SAMProxy(*, apiVersion: str, kind: str, metadata: SAMProxyMetadata, spec: SAMProxySpec, status: SAMProxyStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Proxy.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMProxyMetadata
Proxy.metadata[obj]: Required, the Proxy metadata.
- spec: SAMProxySpec
Proxy.spec[obj]: Required, the Proxy specification.
- status: SAMProxyStatus | None
Proxy.status[obj]: Optional, Read-only.
Stateful status information about the Proxy.
- class smarter.models.sam.SAMSecret(*, apiVersion: str, kind: str, metadata: SAMSecretMetadata, spec: SAMSecretSpec, status: SAMSecretStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Secret.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMSecretMetadata
Secret.metadata[obj]: Required, the Secret metadata.
- spec: SAMSecretSpec
Secret.spec[obj]: Required, the Secret specification.
- status: SAMSecretStatus | None
Secret.status[obj]: Optional, Read-only.
Stateful status information about the Secret.
- class smarter.models.sam.SAMSkillPlugin(*, apiVersion: str, kind: str, metadata: SAMPluginCommonMetadata, spec: SAMSkillPluginSpec, status: SAMPluginCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Skill Connection Model.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMPluginCommonMetadata
Plugin.metadata[obj]: Required, the Plugin metadata.
- spec: SAMSkillPluginSpec
SkillPlugin.spec[obj]: Required, the SkillPlugin specification.
- status: SAMPluginCommonStatus | None
Plugin.status[obj]: Optional, Read-only.
Stateful status information about the Plugin.
- class smarter.models.sam.SAMSmarterAuthToken(*, apiVersion: str, kind: str, metadata: SAMSmarterAuthTokenMetadata, spec: SAMSmarterAuthTokenSpec, status: SAMSmarterAuthTokenStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - SmarterAuthToken.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMSmarterAuthTokenMetadata
SmarterAuthToken.metadata[obj]: Required, the SmarterAuthToken metadata.
- spec: SAMSmarterAuthTokenSpec
SmarterAuthToken.spec[obj]: Required, the SmarterAuthToken specification.
- status: SAMSmarterAuthTokenStatus | None
SmarterAuthToken.status[obj]: Optional, Read-only.
Stateful status information about the SmarterAuthToken.
- class smarter.models.sam.SAMSqlConnection(*, apiVersion: str, kind: str, metadata: SAMConnectionCommonMetadata, spec: SAMSqlConnectionSpec, status: SAMConnectionCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - SqlConnection Model.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMConnectionCommonMetadata
SqlConnection.metadata[obj]: Required, the SqlConnection metadata.
- spec: SAMSqlConnectionSpec
SqlConnection.spec[obj]: Required, the SqlConnection specification.
- status: SAMConnectionCommonStatus | None
SqlConnection.status[obj]: Optional, Read-only.
Stateful status information about the SqlConnection.
- class smarter.models.sam.SAMSqlPlugin(*, apiVersion: str, kind: str, metadata: SAMPluginCommonMetadata, spec: SAMSqlPluginSpec, status: SAMPluginCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Sql Connection Model.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMPluginCommonMetadata
Plugin.metadata[obj]: Required, the Plugin metadata.
- spec: SAMSqlPluginSpec
SqlPlugin.spec[obj]: Required, the SqlPlugin specification.
- status: SAMPluginCommonStatus | None
Plugin.status[obj]: Optional, Read-only.
Stateful status information about the Plugin.
- class smarter.models.sam.SAMUser(*, apiVersion: str, kind: str, metadata: SAMUserMetadata, spec: SAMUserSpec, status: SAMUserStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - User.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMUserMetadata
User.metadata[obj]: Required, the User metadata.
- spec: SAMUserSpec
User.spec[obj]: Required, the User specification.
- status: SAMUserStatus | None
User.status[obj]: Optional, Read-only.
Stateful status information about the User.
- class smarter.models.sam.SAMVectorsearch(*, apiVersion: str, kind: str, metadata: SAMVectorsearchMetadata, spec: SAMVectorsearchSpec, status: SAMVectorsearchStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Vectorsearch.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMVectorsearchMetadata
Vectorsearch.metadata[obj]: Required, the Vectorsearch metadata.
- spec: SAMVectorsearchSpec
Vectorsearch.spec[obj]: Required, the Vectorsearch specification.
- status: SAMVectorsearchStatus | None
Vectorsearch.status[obj]: Optional, Read-only.
Stateful status information about the Vectorsearch.
- class smarter.models.sam.SAMVectorstore(*, apiVersion: str, kind: str, metadata: SAMVectorstoreMetadata, spec: SAMVectorstoreSpec, status: SAMVectorstoreStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - Vectorstore.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMVectorstoreMetadata
Vectorstore.metadata[obj]: Required, the Vectorstore metadata.
- spec: SAMVectorstoreSpec
Vectorstore.spec[obj]: Required, the Vectorstore specification.
- status: SAMVectorstoreStatus | None
Vectorstore.status[obj]: Optional, Read-only.
Stateful status information about the Vectorstore.
- class smarter.models.sam.SAMWebsearchPlugin(*, apiVersion: str, kind: str, metadata: SAMPluginCommonMetadata, spec: SAMWebsearchPluginSpec, status: SAMPluginCommonStatus | None = None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Manifest - WebsearchPlugin Model.
- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict].
- metadata: SAMPluginCommonMetadata
Plugin.metadata[obj]: Required, the Plugin metadata.
- spec: SAMWebsearchPluginSpec
WebsearchPlugin.spec[obj]: Required, the WebsearchPlugin specification.
- status: SAMPluginCommonStatus | None
Plugin.status[obj]: Optional, Read-only.
Stateful status information about the Plugin.
- smarter.models.sam.sam_model(kind: str) type[SAMModel][source]
The model of a kind.
- Parameters:
kind – The manifest kind, e.g.
LLMClient.- Returns:
The model, e.g.
SAMLLMClient.- Raises:
KeyError – If the SDK has no model of the kind.
smarter.models.sam.base
The base class of the generated SAM models.
- class smarter.models.sam.base.SAMModel(**extra_data: Any)[source]
Bases:
SmarterModelThe base class of the generated SAM models: a
SmarterModel, which keeps unknown fields.Its fields keep the manifest’s own names, e.g.
apiVersionandrecordLocator.Its regular expressions use Python’s
re, because the platform’s schemas include patterns with look-ahead (e.g. Pydantic’s own pattern of aDecimal), which Pydantic’s default engine doesn’t support. The generated fields’ docstrings, which come from the platform’s field descriptions, are their Pydantic descriptions too (use_attribute_docstrings).- model_config = {'extra': 'allow', 'populate_by_name': True, 'protected_namespaces': (), 'regex_engine': 'python-re', 'use_attribute_docstrings': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Every kind
- SAMAccount
- SAMApiConnection
- SAMApiPlugin
- SAMBudget
- SAMCustomDomain
- SAMGuardrail
- SAMImageSearchPlugin
- SAMLLMClient
- SAMLLMHost
- SAMLLMHostCompute
- SAMMCPClient
- SAMOrchestrator
- SAMPlugin
- SAMPrompt
- SAMProvider
- SAMProxy
- SAMSecret
- SAMSkillPlugin
- SAMSmarterAuthToken
- SAMSqlConnection
- SAMSqlPlugin
- SAMUser
- SAMVectorsearch
- SAMVectorstore
- SAMWebsearchPlugin