SAMOrchestrator
SAM model of the Orchestrator kind, generated from the Smarter platform’s JSON Schema.
Do not edit: run scripts/generate_sam_models.py. See smarter.models.sam.
- class smarter.models.sam.orchestrator.HarnessRole(*values)[source]
Bases:
EnumRole an LLMClient (Harness) plays within an Orchestrator.
Values must stay aligned with smarter.apps.orchestrator.models.OrchestratorHarness.Role.
- class smarter.models.sam.orchestrator.OrchestrationStrategy(*values)[source]
Bases:
EnumCoordination pattern the Orchestrator applies across its member LLMClients.
Values must stay aligned with smarter.apps.orchestrator.models.OrchestrationStrategy.
- class smarter.models.sam.orchestrator.SAMDependency(*, kind: str, name: str, **extra_data: Any)[source]
Bases:
SAMModelA resource that depends on the resource that a manifest describes.
- kind: str
Kind[String]: The SAM kind of the resource that depends on this resource, e.g. LLMClient.
Read only.
- 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].
- class smarter.models.sam.orchestrator.SAMOrchestratorHarnessConfig(*, config: dict[str, Any] | None = None, executionOrder: Annotated[int, None, Interval(gt=None, ge=0, lt=None, le=None), None] | None = 0, isActive: bool | None = True, llmClientName: str, role: HarnessRole | None = 'executor', **extra_data: Any)[source]
Bases:
SAMModelA single LLMClient (Harness) membership within the Orchestrator.
Mirrors smarter.apps.orchestrator.models.OrchestratorHarness. The llmClientName is a reference by name, not by primary key — resolved against the account’s existing LLMClients at apply time.
- config: dict[str, Any] | None
Per-membership overrides (e.g. temperature, system prompt fragment, tool allowlist).
- 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].
- class smarter.models.sam.orchestrator.SAMOrchestratorMetadata(*, annotations: None | list[dict[str, str | int | float | bool | date | datetime | UUID | bytes | list | dict[str, Any]]] = None, description: str | None, name: str, tags: list[str] | None = None, version: str | None, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Orchestrator Manifest - Metadata class.
- annotations: None | list[dict[str, str | int | float | bool | date | datetime | UUID | bytes | list | dict[str, Any]]]
The manifest annotations.
- Used for storing arbitrary metadata as
key-value pairs. Example: [{‘smarter.sh/test-manifest/project-name’: ‘Scooby dooby do’}]. The key should be a valid url-friendly string. The value accepts multi-line string values (YAML block scalars) and various scalar types including str, int, float, bool, datetime.date, datetime.datetime, decimal.Decimal, uuid.UUID, bytes, list, dict.
- tags: list[str] | None
The tags of the manifest.
Used for generic resource categorization and search. Example: [‘tag1’, ‘tag2’]
- 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].
- class smarter.models.sam.orchestrator.SAMOrchestratorSpecConfig(*, harnesses: Annotated[list[SAMOrchestratorHarnessConfig], MinLen(min_length=1)], isActive: bool | None = True, maxIterations: Annotated[int, None, Interval(gt=None, ge=1, lt=None, le=None), None] | None = 10, strategy: OrchestrationStrategy | None = 'sequential', **extra_data: Any)[source]
Bases:
SAMModelSpec block for an Orchestrator SAM manifest.
Mirrors smarter.apps.orchestrator.models.Orchestrator. Consumed by the manifest controller to create/update the corresponding Orchestrator model instance and its OrchestratorHarness memberships.
- harnesses: list[SAMOrchestratorHarnessConfig]
LLMClients (Harnesses) that participate in this 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].
- class smarter.models.sam.orchestrator.SAMOrchestratorStatus(*, accountNumber: str, created: datetime, dependencies: list[SAMDependency] | None = None, modified: datetime, recordLocator: str, username: str, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Orchestrator Manifest - Status class.
- accountNumber: str
Orchestrator.status.account_number: The account owner of this Orchestrator.
Read only.
- 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].
- created: datetime
The date in which this resource was created.
Read only.
- dependencies: list[SAMDependency] | None
Dependencies[List]: The resources that depend on this resource, and that must be deleted, or stop referring to it, before it can be deleted.
Lists only the resources that you can read. Read only.
- modified: datetime
The date in which this resource was most recently changed.
Read only.
- class smarter.models.sam.orchestrator.SAMOrchestratorSpec(*, config: SAMOrchestratorSpecConfig, **extra_data: Any)[source]
Bases:
SAMModelSmarter API Orchestrator Manifest Orchestrator.spec.
- 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].
- config: SAMOrchestratorSpecConfig
Orchestrator.spec.config[object].
The configuration for the Orchestrator.
- class smarter.models.sam.orchestrator.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.