plexus.dashboard.api.models.procedure_template module

ProcedureTemplate Model - Represents procedure configuration templates.

This model stores the YAML templates that define how procedures work, including state machine configurations for hypothesis generation.

class plexus.dashboard.api.models.procedure_template.ProcedureTemplate(id: str, name: str, description: str | None, template: str, version: str, isDefault: bool | None, category: str | None, accountId: str, createdAt: datetime, updatedAt: datetime, client: _BaseAPIClient = None)

Bases: BaseModel

NOTE: This model now queries the Procedure table with isTemplate=true. ProcedureTemplate table was removed to save CloudFormation resources. Templates are now Procedures with isTemplate=true.

__init__(id: str, name: str, description: str | None, template: str, version: str, isDefault: bool | None, category: str | None, accountId: str, createdAt: datetime, updatedAt: datetime, client: _BaseAPIClient = None) None
accountId: str
category: str | None
client: _BaseAPIClient = None
classmethod create(client: _BaseAPIClient, name: str, template: str, version: str, accountId: str, description: str | None = None, isDefault: bool | None = None, category: str | None = None) ProcedureTemplate

Create a new procedure template.

Args:

client: The API client name: Template name template: YAML template content version: Template version accountId: Account ID description: Optional template description isDefault: Whether this is the default template category: Template category

Returns:

The created ProcedureTemplate instance

createdAt: datetime
description: str | None
classmethod fields() str

Return GraphQL fields for this model (queries Procedure table).

classmethod from_dict(data: Dict[str, Any], client: _BaseAPIClient) ProcedureTemplate

Create a ProcedureTemplate instance from GraphQL response data.

NOTE: ‘code’ field from Procedure table is mapped to ‘template’ field here.

classmethod get_default_for_account(account_id: str, client: _BaseAPIClient, category: str = 'hypothesis_generation') ProcedureTemplate | None

Get the default procedure template for an account.

Args:

account_id: The account ID client: The API client category: Template category (defaults to “hypothesis_generation”)

Returns:

The default ProcedureTemplate, or None if not found

get_template_content() str

Get the YAML template content.

id: str
isDefault: bool | None
classmethod list_by_account(account_id: str, client: _BaseAPIClient, limit: int = 100) List[ProcedureTemplate]

Get all procedure templates for an account.

Args:

account_id: The account ID client: The API client limit: Maximum number of templates to return

Returns:

List of ProcedureTemplate instances

name: str
template: str
update_template(template: str, version: str | None = None) ProcedureTemplate

Update the template content and optionally the version.

Args:

template: New YAML template content version: Optional new version string

Returns:

Updated ProcedureTemplate instance

updatedAt: datetime
version: str