sitemap.xml llms.txt
Skip to main content

Run Entities

These entities are used by the Run adapter and encapsulate data objects used by the Epicenter Run API.

Enums​

MORPHOLOGY​

Denotes the type of run.

Possible values:​

  • MORPHOLOGY.MANY = 'MANY' - A regular model run with a randomly generated unique key.
  • MORPHOLOGY.SINGULAR = 'SINGULAR' - Denotes a singular run.
  • MORPHOLOGY.PROXY = 'PROXY' - Denotes a singular run with an open HTTP endpoint useful for fine grained permission elevation of client calls.

Interfaces​

ModelContext​

Contains overrides for model context values.

Properties​

  • version (string): The model context version. Possible values:
    • "V1"
    • "V2"
  • variables (Record<string, VariableOptions>, optional): The run state variables that need to be stored and their processing options.
  • externalFunctions (Record<string, WireExternalFunction>, optional): A mapping of external function names to WireExternalFunction objects, allowing integration with external logic or systems.
  • modelVersion (number, optional): The numerical version identifier of the model.
  • mappedFiles (Record<string, string>, optional): A mapping of model context files for different simulation scenarios.
  • control (ExcelModelControl | JavaModelControl | PowersimModelControl | VensimModelControl, optional): An object with settings specific to the model language.
  • language (string, optional): The primary programming or modeling language used for this model context.
  • protections (Protections, optional): Protection settings for state variables.
  • restorations (Restorations, optional): Settings defining how a model run gets restored.
  • workerImage (string, optional): The Docker worker image.
  • dependencies (AptExternalDependency | CranExternalDependency | GitExternalDependency | JuliaExternalDependency | NpmExternalDependency | PypiExternalDependency | ShellExternalDependency, optional): A list of external dependencies for the model.
  • operations (Record<string, OperationOptions>, optional): A mapping of operation names to OperationOptions objects that define how the operations are executed.
  • defaults (ModelContextDefaults, optional): Specifies the default context settings for the model.
  • enableStateCache (boolean, optional): If true, cache the values of non-state-changing operations.
  • redirectStandardOut (boolean, optional): If true, redirects the standard output (stdout) stream to a log file.
  • startDebugger (boolean, optional): If true, starts the debugger (for languages that have a debugger).
  • inceptionGracePeriodSeconds (number, optional): How long we should wait for the model to start. The default is 180 seconds (3 minutes).
  • minimumLogLevel (string, optional): The minimum severity level of the log.
  • events (Record<string, EventOptions>, optional): A mapping of event names to EventOptions objects that control event-handling.

ExecutionContext​

Represents the execution context for a run.

Properties:​

  • presets (Record<string, Record<string, unknown>>, optional): A mapping of variables that you want pre-set on a run.
  • mappedFiles (Record<string, string>, optional): A mapping of context files.
  • version: string - The version of the execution context. Possible values: "V1".
  • tool (StellaModelTool | VensimModelTool, optional): An object containing language specific properties for the model.

StellaModelTool​

Represents Stella-specific execution options for a model run.

Properties:​

  • objectType: 'stella' — Identifies the tool as a Stella model tool.
  • gameMode (boolean, optional): If true, run the model in game-mode. This allows for an interactive step-by-step model run.

VensimModelTool​

Represents Vensim-specific execution options for a model run.

Properties:​

  • objectType: 'vensim' — Identifies the tool as a Vensim model tool.
  • sensitivityMode (boolean, optional): If true, this is a sensitivity run.
  • cinFiles (string[], optional): A list of CIN file names to be used to load external data at runtime.

ProcActionable​

Represents a procedure execution.

Properties:​

  • name: string - The name of the procedure to execute.
  • arguments (unknown[], optional): An array of arguments to pass to the procedure.
  • objectType: 'execute' - Identifies the actionable as a procedure execution.

GetActionable​

Represents a variable value retrieval.

Properties:​

  • name: string - The name of the variable to retrieve.
  • objectType: 'get' - Identifies the actionable as a retrieval operation.

SetActionable​

Represents a variable value assignment.

Properties:​

  • name: string - The name of the variable to set.
  • value: unknown - The value to assign.
  • objectType: 'set' - Identifies the actionable as a set operation.

MetadataFirstPop​

Represents a metadata pop operation that removes the first element.

Properties:​

objectType: 'first' - Identifies the pop operation as targeting the first element.


MetadataLastPop​

Represents a metadata pop operation that removes the last element.

Properties:​

objectType: 'last' - Identifies the pop operation as targeting the last element.


MetadataAllPop​

Represents a metadata pop operation that removes all elements, optionally filtered by a value.

Properties:​

  • objectType: 'all' - Identifies the pop operation as targeting all elements.
  • value (unknown, optional): A value used to determine which elements should be removed.

MetadataUpdate​

Represents a set of metadata update operations.

Generics:​

Extends RunMetadata - the metadata object type being updated. Defaults to RunMetadata.

Properties:​

  • pop (Partial<Record<keyof M, MetadataPop>>, optional): Defines pop operations to apply to metadata fields.
  • set (Partial<M>, optional): Defines metadata fields and values to set or overwrite.
  • push (Partial<M>, optional): Defines metadata fields and values to append.

Types​

MetadataPop​

MetadataPop is a union type that defines the supported strategies for removing values from a metadata field:


RunVariables​

Record<string, unknown>

Represents the shape of variables associated with a run.

This type defines a generic key-value mapping where:

  • Keys are variable names (string)
  • Values can be of any type (unknown)

RunMetadata​

Record<string, unknown>

Represents the shape of metadata associated with a run.

This type defines a generic key-value mapping where:

  • Keys are metadata field names (string)
  • Values can be of any type (unknown)

RunReadOutView​

RunReadOutView is used by the Run adapter functions and contains properties of a run. It is a generic type that allows you to strongly type both the run variables and metadata.

Type parameters​

Properties:​

  • runKey: string - The unique identifier of the run.
  • scope: { userKey?: string } & GenericScope - The scope of the run. Combines GenericScope with optional userKey for user-specific scope.
  • permit?: Permit - The permit defining read and write access.
  • variables?: V - The run variables object, typed according to the generic parameter V.
  • metaData?: M - The run metadata object, typed according to the generic parameter M.
  • executionContext?: V1ExecutionContext - Execution context used during model initialization.
  • modelFile?: string - The name of the model file used for the run.
  • modelVersion?: number - The version of the model used to create the run.
  • modelLanguage?: string - The programming language of the model.
  • grammar?: string - The grammar associated with the model.
  • trackingKey?: string - A string that you can assign to a run for tracking purposes.To track the run, perform a search for the trackingKey value.
  • morphology?: string - One of the values of the MORPHOLOGY enum.
  • perpetual?: boolean - Indicates whether the run is perpetual.
  • cloud?: string - Cloud execution environment identifier.
  • cluster?: string - Cluster identifier where the run is executed.
  • allowChannel?: boolean - Indicates whether push notifications are enabled for the run.
  • hidden?: boolean - Indicates whether the run is hidden.
  • marked?: boolean - Indicates whether the run has been marked.
  • closed?: boolean - Indicates whether the run is closed.
  • runState?: string - The current state of the run.
  • tombstone?: string - Indicates a deletion marker or archived state.
  • created?: string - Timestamp of when the run was created.
  • lastModified?: string - Timestamp of the last modification.
  • lastOperated?: string - Timestamp of the last operation performed on the run.
  • address?: Address - The storage address associated with the run.
  • user?: PseudonymReadOutView - A PseudonymReadOutView object the user who started the run (for single-user runs).

Actionable​

This union type implements:

Type aliases​

RunCreateOptions​

Defines options for creating a run.

Properties:​

  • readLock?: keyof typeof ROLE - (Optional) Read lock level. Part of the permit for the run.
  • writeLock?: keyof typeof ROLE - (Optional) Write lock level. Part of the permit for the run.
  • ephemeral?: boolean - (Optional) If true, the run will only exist so long as its in memory. Nothing is written to the database, history, or variables.
  • trackingKey?: string - (Optional) A string that you can assign to a run for tracking purposes.To track the run, perform a search for the trackingKey value.
  • modelContext?: ModelContext - (Optional) Context information for the model.
  • executionContext?: ExecutionContext - (Optional) Execution context for the model on this run.
  • allowChannel?: boolean - (Optional) Whether channel access is allowed.
  • RoutingOptions - Additional routing options.

RunStrategy​

Defines the strategy for handling runs.

Possible values:

  • 'reuse-across-sessions' -- will get the most recent run for the given scope, creating it if it does not exist
  • 'reuse-never' -- will create a new run every time
  • 'reuse-by-tracking-key' - Reuse a run identified by a tracking key.
  • 'multiplayer' - Supports multiple players interacting in the run.