Skip to content

Interval Combinations (🧪 Beta)

albert.resources.interval_combinations

Attributes:

Name Type Description
Rule

Alias for ExclusionRule.

Rule

Alias for ExclusionRule.

IntervalCombinationItem

Bases: BaseAlbertModel

One child-workflow interval combination on a task block (🧪 Beta).

Returned by get_block_combinations. Use that method rather than any combinations array embedded on a task or block: the embedded array is empty once the block has 500 or more combinations.

Beta Feature!

Increased intervals combination support is currently in beta and behind a platform feature flag. Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!

Example

from albert import Albert

client = Albert()
combo = next(
    client.tasks.get_block_combinations(task_id="TASFOR1", block_id="BLK1", max_items=1)
)
combo.id
# 'WFL999'
combo.interval_barcode
# 'OhI8ap0HY'
Show JSON schema:
{
  "description": "One child-workflow interval combination on a task block (\ud83e\uddea Beta).\n\nReturned by\n[`get_block_combinations`][albert.collections.tasks.TaskCollection.get_block_combinations].\nUse that method rather than any combinations array embedded on a task or block:\nthe embedded array is empty once the block has 500 or more combinations.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!\n\n!!! example\n    ```python\n    from albert import Albert\n\n    client = Albert()\n    combo = next(\n        client.tasks.get_block_combinations(task_id=\"TASFOR1\", block_id=\"BLK1\", max_items=1)\n    )\n    combo.id\n    # 'WFL999'\n    combo.interval_barcode\n    # 'OhI8ap0HY'\n    ```",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The child workflow id for this combination (format ``WFL...``).",
      "title": "Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Display name of the combination (parameter names and values).",
      "title": "Name"
    },
    "intervalBarcode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Case-sensitive barcode for the combination. Serialized as ``intervalBarcode``.",
      "title": "Intervalbarcode"
    },
    "intervalRowKey": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Legacy ROW-chain key (e.g. ``ROW3XROW7``). Serialized as ``intervalRowKey``.",
      "title": "Intervalrowkey"
    }
  },
  "title": "IntervalCombinationItem",
  "type": "object"
}

Fields:

id

id: str | None = None

The child workflow id for this combination (format WFL...).

name

name: str | None = None

Display name of the combination (parameter names and values).

interval_barcode

interval_barcode: str | None = None

Case-sensitive barcode for the combination. Serialized as intervalBarcode.

interval_row_key

interval_row_key: str | None = None

Legacy ROW-chain key (e.g. ROW3XROW7). Serialized as intervalRowKey.

RuleOperator

Bases: str, Enum

Comparison operator used to evaluate a rule condition against a parameter value.

Note: Distinct from parameter_groups.Operator (which uses neq and has between) and targets.ComparisonOperator (which lacks ne and has in_set). Defined resource-specifically per AGENTS.md exact-match rule.

Attributes:

Name Type Description
GT
LT
EQ
GTE
LTE
NE

GT

GT = 'gt'

LT

LT = 'lt'

EQ

EQ = 'eq'

GTE

GTE = 'gte'

LTE

LTE = 'lte'

NE

NE = 'ne'

OverrideAction

Bases: str, Enum

Action to apply for a combination override.

Attributes:

Name Type Description
SKIP
UNSKIP

SKIP

SKIP = 'skip'

UNSKIP

UNSKIP = 'unskip'

Condition

Bases: NamedTuple

Specification for a rule condition before resolving workflow-local IDs (🧪 Beta).

Used with Workflow.build_rule to specify criteria using parameter names or short names. Can be instantiated as a named tuple or passed as a plain tuple (e.g. ("Temperature", ">=", 90)).

Beta Feature!

Increased intervals combination support is currently in beta and behind a platform feature flag. Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!

Attributes:

Name Type Description
parameter str
operator RuleOperator | str
value str | float | int | None
unit str | Unit | None
group str | None

parameter

parameter: str

operator

operator: RuleOperator | str

value

value: str | float | int | None = None

unit

unit: str | Unit | None = None

group

group: str | None = None

RuleCondition

Bases: BaseAlbertModel

A single condition within an exclusion rule (🧪 Beta).

References a parameter group or data template, a parameter, a parameter row, and a comparison operator and threshold value.

Beta Feature!

Increased intervals combination support is currently in beta and behind a platform feature flag. Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!

Show JSON schema:
{
  "$defs": {
    "RuleOperator": {
      "description": "Comparison operator used to evaluate a rule condition against a parameter value.\n\nNote: Distinct from `parameter_groups.Operator` (which uses ``neq`` and has\n``between``) and `targets.ComparisonOperator` (which lacks ``ne`` and has\n``in_set``). Defined resource-specifically per AGENTS.md exact-match rule.",
      "enum": [
        "gt",
        "lt",
        "eq",
        "gte",
        "lte",
        "ne"
      ],
      "title": "RuleOperator",
      "type": "string"
    }
  },
  "description": "A single condition within an exclusion rule (\ud83e\uddea Beta).\n\nReferences a parameter group or data template, a parameter, a parameter row,\nand a comparison operator and threshold value.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
  "properties": {
    "prgId": {
      "description": "Parameter group or data template ID (format ``PRG...`` or ``DAT...``).",
      "title": "Prgid",
      "type": "string"
    },
    "prmId": {
      "description": "Parameter ID (format ``PRM...``).",
      "title": "Prmid",
      "type": "string"
    },
    "rowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Parameter row ID within the workflow (format ``ROW...``). Required to distinguish parameters because a single Parameter ID can be repeated within a parameter group.",
      "title": "Rowid"
    },
    "operator": {
      "$ref": "#/$defs/RuleOperator",
      "description": "Comparison operator used to evaluate this condition."
    },
    "value": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Threshold value to compare against.",
      "title": "Value"
    },
    "unitId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit ID for the threshold value (format ``UNI...``).",
      "title": "Unitid"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Display name of the parameter.",
      "title": "Name"
    }
  },
  "required": [
    "prgId",
    "prmId",
    "operator"
  ],
  "title": "RuleCondition",
  "type": "object"
}

Fields:

parameter_group_id

parameter_group_id: ParameterGroupId | DataTemplateId | str

Parameter group or data template ID (format PRG... or DAT...).

parameter_id

parameter_id: ParameterId

Parameter ID (format PRM...).

row_id

row_id: RowId | None = None

Parameter row ID within the workflow (format ROW...). Required to distinguish parameters because a single Parameter ID can be repeated within a parameter group.

operator

operator: RuleOperator

Comparison operator used to evaluate this condition.

value

value: str | float | int | None = None

Threshold value to compare against.

unit_id

unit_id: UnitId | None = None

Unit ID for the threshold value (format UNI...).

name

name: str | None = None

Display name of the parameter.

ExclusionRule

Bases: BaseAlbertModel

A combination rule composed of one or more conditions (🧪 Beta).

Rules evaluate combination variants against criteria defined on parameter values:

  • Conditions: compare a parameter against a threshold using an operator (=, !=, >, >=, <, <=).
  • AND logic within a rule: all conditions inside a single rule must match for the rule to trigger.
  • OR logic across rules: if any rule on the block triggers, its outcome applies.
  • Baseline mode behavior (intervals_start_from):
  • In Exclude Mode ("all", default), matching combinations are excluded.
  • In Include Mode ("none"), matching combinations are included.

Use Workflow.build_rule to construct rules from human-readable parameter names and values.

Beta Feature!

Increased intervals combination support is currently in beta and behind a platform feature flag. Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!

Show JSON schema:
{
  "$defs": {
    "RuleCondition": {
      "description": "A single condition within an exclusion rule (\ud83e\uddea Beta).\n\nReferences a parameter group or data template, a parameter, a parameter row,\nand a comparison operator and threshold value.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
      "properties": {
        "prgId": {
          "description": "Parameter group or data template ID (format ``PRG...`` or ``DAT...``).",
          "title": "Prgid",
          "type": "string"
        },
        "prmId": {
          "description": "Parameter ID (format ``PRM...``).",
          "title": "Prmid",
          "type": "string"
        },
        "rowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Parameter row ID within the workflow (format ``ROW...``). Required to distinguish parameters because a single Parameter ID can be repeated within a parameter group.",
          "title": "Rowid"
        },
        "operator": {
          "$ref": "#/$defs/RuleOperator",
          "description": "Comparison operator used to evaluate this condition."
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Threshold value to compare against.",
          "title": "Value"
        },
        "unitId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit ID for the threshold value (format ``UNI...``).",
          "title": "Unitid"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Display name of the parameter.",
          "title": "Name"
        }
      },
      "required": [
        "prgId",
        "prmId",
        "operator"
      ],
      "title": "RuleCondition",
      "type": "object"
    },
    "RuleOperator": {
      "description": "Comparison operator used to evaluate a rule condition against a parameter value.\n\nNote: Distinct from `parameter_groups.Operator` (which uses ``neq`` and has\n``between``) and `targets.ComparisonOperator` (which lacks ``ne`` and has\n``in_set``). Defined resource-specifically per AGENTS.md exact-match rule.",
      "enum": [
        "gt",
        "lt",
        "eq",
        "gte",
        "lte",
        "ne"
      ],
      "title": "RuleOperator",
      "type": "string"
    }
  },
  "description": "A combination rule composed of one or more conditions (\ud83e\uddea Beta).\n\nRules evaluate combination variants against criteria defined on parameter values:\n\n- **Conditions**: compare a parameter against a threshold using an operator (``=``, ``!=``, ``>``, ``>=``, ``<``, ``<=``).\n- **AND logic within a rule**: all conditions inside a single rule must match for the rule to trigger.\n- **OR logic across rules**: if any rule on the block triggers, its outcome applies.\n- **Baseline mode behavior (`intervals_start_from`)**:\n  - In Exclude Mode (``\"all\"``, default), matching combinations are excluded.\n  - In Include Mode (``\"none\"``), matching combinations are included.\n\nUse [`Workflow.build_rule`][albert.resources.workflows.Workflow.build_rule] to construct\nrules from human-readable parameter names and values.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Server-assigned rule ID (UUID). Assigned when persisted.",
      "title": "Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable label for the rule.",
      "title": "Name"
    },
    "conditions": {
      "description": "List of conditions that must all be satisfied for this rule to trigger.",
      "items": {
        "$ref": "#/$defs/RuleCondition"
      },
      "title": "Conditions",
      "type": "array"
    }
  },
  "title": "ExclusionRule",
  "type": "object"
}

Fields:

id

id: str | None = None

Server-assigned rule ID (UUID). Assigned when persisted.

name

name: str | None = None

Human-readable label for the rule.

conditions

conditions: list[RuleCondition]

List of conditions that must all be satisfied for this rule to trigger.

CombinationOverride

Bases: BaseAlbertModel

A targeted skip or unskip override for a specific combination condition (🧪 Beta).

Overrides pinpoint an exact combination in the Cartesian product space:

  • action=OverrideAction.SKIP: explicitly excludes the combination.
  • action=OverrideAction.UNSKIP: explicitly keeps or forces inclusion of the combination.
  • Precedence: overrides are evaluated first and always take precedence over rules (e.g. an unskip override guarantees a combination is retained even if an exclusion rule matches).
  • Manual cherry-picking (is_manual=True): in Include Mode (intervals_start_from="none"), designates an individual combination cherry-picked into an otherwise empty set.

Keyed by the compound override key (format {groupId}#{paramId}#{rowId}-...), which can be generated using Workflow.get_override_key or built directly via Workflow.build_override.

Beta Feature!

Increased intervals combination support is currently in beta and behind a platform feature flag. Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!

Show JSON schema:
{
  "$defs": {
    "OverrideAction": {
      "description": "Action to apply for a combination override.",
      "enum": [
        "skip",
        "unskip"
      ],
      "title": "OverrideAction",
      "type": "string"
    }
  },
  "description": "A targeted skip or unskip override for a specific combination condition (\ud83e\uddea Beta).\n\nOverrides pinpoint an exact combination in the Cartesian product space:\n\n- ``action=OverrideAction.SKIP``: explicitly excludes the combination.\n- ``action=OverrideAction.UNSKIP``: explicitly keeps or forces inclusion of the combination.\n- **Precedence**: overrides are evaluated first and always take precedence over rules (e.g. an ``unskip`` override guarantees a combination is retained even if an exclusion rule matches).\n- **Manual cherry-picking (`is_manual=True`)**: in Include Mode (``intervals_start_from=\"none\"``), designates an individual combination cherry-picked into an otherwise empty set.\n\nKeyed by the compound override key (format ``{groupId}#{paramId}#{rowId}-...``),\nwhich can be generated using [`Workflow.get_override_key`][albert.resources.workflows.Workflow.get_override_key]\nor built directly via [`Workflow.build_override`][albert.resources.workflows.Workflow.build_override].\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Server-assigned override ID (UUID). Assigned when persisted.",
      "title": "Id"
    },
    "key": {
      "description": "Compound key identifying the parameter-row pair(s) being overridden.",
      "title": "Key",
      "type": "string"
    },
    "action": {
      "$ref": "#/$defs/OverrideAction",
      "description": "Action to apply (``OverrideAction.SKIP`` or ``OverrideAction.UNSKIP``)."
    },
    "isManual": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Whether the override was manually added.",
      "title": "Ismanual"
    }
  },
  "required": [
    "key",
    "action"
  ],
  "title": "CombinationOverride",
  "type": "object"
}

Fields:

id

id: str | None = None

Server-assigned override ID (UUID). Assigned when persisted.

key

key: str

Compound key identifying the parameter-row pair(s) being overridden.

action

Action to apply (OverrideAction.SKIP or OverrideAction.UNSKIP).

is_manual

is_manual: bool | None = None

Whether the override was manually added.

InventoryExclusion

Bases: BaseAlbertModel

An inventory x combination exclusion ("mask") for a task block (🧪 Beta).

Marks one task-level inventory tuple (inv_lot_unique_id, e.g. "INV123#LOT456#1") as excluded from one interval combination (interval_row_key, e.g. "ROW3XROW7"). Excluded pairs are omitted from property-data grids, exports, and data-completeness checks for the block.

  • Exclusions match the task-level inventory tuple exactly, occurrence included, so duplicated inventory+lot rows are masked independently.
  • A mask has no editable fields (it is the pair). To change one, remove it and add the replacement pair.

Beta Feature!

Increased intervals combination support is currently in beta and behind a platform feature flag. Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!

Show JSON schema:
{
  "description": "An inventory x combination exclusion (\"mask\") for a task block (\ud83e\uddea Beta).\n\nMarks one task-level inventory tuple (``inv_lot_unique_id``, e.g.\n``\"INV123#LOT456#1\"``) as excluded from one interval combination\n(``interval_row_key``, e.g. ``\"ROW3XROW7\"``). Excluded pairs are omitted from\nproperty-data grids, exports, and data-completeness checks for the block.\n\n- Exclusions match the task-level inventory tuple exactly, occurrence included,\n  so duplicated inventory+lot rows are masked independently.\n- A mask has no editable fields (it *is* the pair). To change one, remove it and\n  add the replacement pair.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Server-assigned exclusion ID (UUID). Assigned when persisted.",
      "title": "Id"
    },
    "invLotUniqueId": {
      "description": "Task-level inventory tuple identifier (format ``{inventoryId}#{lotId|LOT}#{occurrence}``), available on ``task.inventory_information[i].inv_lot_unique_id``.",
      "title": "Invlotuniqueid",
      "type": "string"
    },
    "intervalRowKey": {
      "description": "Stable combination identity (format ``ROW...XROW...``), available on ``IntervalCombinationItem.interval_row_key``.",
      "title": "Intervalrowkey",
      "type": "string"
    }
  },
  "required": [
    "invLotUniqueId",
    "intervalRowKey"
  ],
  "title": "InventoryExclusion",
  "type": "object"
}

Fields:

id

id: str | None = None

Server-assigned exclusion ID (UUID). Assigned when persisted.

inv_lot_unique_id

inv_lot_unique_id: str

Task-level inventory tuple identifier (format {inventoryId}#{lotId|LOT}#{occurrence}), available on task.inventory_information[i].inv_lot_unique_id.

interval_row_key

interval_row_key: str

Stable combination identity (format ROW...XROW...), available on IntervalCombinationItem.interval_row_key.

BlockRules

Bases: BaseAlbertModel

Combination rules and overrides for a task block (🧪 Beta).

Encapsulates the rules and overrides that govern how interval combinations are evaluated and filtered on a task block:

  • Rules define parameter criteria evaluated with AND logic within each rule and OR logic across rules (excluding matches in Exclude Mode, including in Include Mode).
  • Overrides pinpoint specific combinations for forced inclusion (unskip) or exclusion (skip) and take precedence over rules.
  • Inventory exclusions mask specific inventory x combination pairs so they drop out of property-data grids, exports, and data-completeness checks.

Returned by get_block_rules and set_block_rules.

Beta Feature!

Increased intervals combination support is currently in beta and behind a platform feature flag. Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!

Show JSON schema:
{
  "$defs": {
    "AuditFields": {
      "description": "The audit fields for a resource",
      "properties": {
        "by": {
          "default": null,
          "title": "By",
          "type": "string"
        },
        "byName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Byname"
        },
        "at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "At"
        }
      },
      "title": "AuditFields",
      "type": "object"
    },
    "CombinationOverride": {
      "description": "A targeted skip or unskip override for a specific combination condition (\ud83e\uddea Beta).\n\nOverrides pinpoint an exact combination in the Cartesian product space:\n\n- ``action=OverrideAction.SKIP``: explicitly excludes the combination.\n- ``action=OverrideAction.UNSKIP``: explicitly keeps or forces inclusion of the combination.\n- **Precedence**: overrides are evaluated first and always take precedence over rules (e.g. an ``unskip`` override guarantees a combination is retained even if an exclusion rule matches).\n- **Manual cherry-picking (`is_manual=True`)**: in Include Mode (``intervals_start_from=\"none\"``), designates an individual combination cherry-picked into an otherwise empty set.\n\nKeyed by the compound override key (format ``{groupId}#{paramId}#{rowId}-...``),\nwhich can be generated using [`Workflow.get_override_key`][albert.resources.workflows.Workflow.get_override_key]\nor built directly via [`Workflow.build_override`][albert.resources.workflows.Workflow.build_override].\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-assigned override ID (UUID). Assigned when persisted.",
          "title": "Id"
        },
        "key": {
          "description": "Compound key identifying the parameter-row pair(s) being overridden.",
          "title": "Key",
          "type": "string"
        },
        "action": {
          "$ref": "#/$defs/OverrideAction",
          "description": "Action to apply (``OverrideAction.SKIP`` or ``OverrideAction.UNSKIP``)."
        },
        "isManual": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Whether the override was manually added.",
          "title": "Ismanual"
        }
      },
      "required": [
        "key",
        "action"
      ],
      "title": "CombinationOverride",
      "type": "object"
    },
    "ExclusionRule": {
      "description": "A combination rule composed of one or more conditions (\ud83e\uddea Beta).\n\nRules evaluate combination variants against criteria defined on parameter values:\n\n- **Conditions**: compare a parameter against a threshold using an operator (``=``, ``!=``, ``>``, ``>=``, ``<``, ``<=``).\n- **AND logic within a rule**: all conditions inside a single rule must match for the rule to trigger.\n- **OR logic across rules**: if any rule on the block triggers, its outcome applies.\n- **Baseline mode behavior (`intervals_start_from`)**:\n  - In Exclude Mode (``\"all\"``, default), matching combinations are excluded.\n  - In Include Mode (``\"none\"``), matching combinations are included.\n\nUse [`Workflow.build_rule`][albert.resources.workflows.Workflow.build_rule] to construct\nrules from human-readable parameter names and values.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-assigned rule ID (UUID). Assigned when persisted.",
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Human-readable label for the rule.",
          "title": "Name"
        },
        "conditions": {
          "description": "List of conditions that must all be satisfied for this rule to trigger.",
          "items": {
            "$ref": "#/$defs/RuleCondition"
          },
          "title": "Conditions",
          "type": "array"
        }
      },
      "title": "ExclusionRule",
      "type": "object"
    },
    "InventoryExclusion": {
      "description": "An inventory x combination exclusion (\"mask\") for a task block (\ud83e\uddea Beta).\n\nMarks one task-level inventory tuple (``inv_lot_unique_id``, e.g.\n``\"INV123#LOT456#1\"``) as excluded from one interval combination\n(``interval_row_key``, e.g. ``\"ROW3XROW7\"``). Excluded pairs are omitted from\nproperty-data grids, exports, and data-completeness checks for the block.\n\n- Exclusions match the task-level inventory tuple exactly, occurrence included,\n  so duplicated inventory+lot rows are masked independently.\n- A mask has no editable fields (it *is* the pair). To change one, remove it and\n  add the replacement pair.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-assigned exclusion ID (UUID). Assigned when persisted.",
          "title": "Id"
        },
        "invLotUniqueId": {
          "description": "Task-level inventory tuple identifier (format ``{inventoryId}#{lotId|LOT}#{occurrence}``), available on ``task.inventory_information[i].inv_lot_unique_id``.",
          "title": "Invlotuniqueid",
          "type": "string"
        },
        "intervalRowKey": {
          "description": "Stable combination identity (format ``ROW...XROW...``), available on ``IntervalCombinationItem.interval_row_key``.",
          "title": "Intervalrowkey",
          "type": "string"
        }
      },
      "required": [
        "invLotUniqueId",
        "intervalRowKey"
      ],
      "title": "InventoryExclusion",
      "type": "object"
    },
    "OverrideAction": {
      "description": "Action to apply for a combination override.",
      "enum": [
        "skip",
        "unskip"
      ],
      "title": "OverrideAction",
      "type": "string"
    },
    "RuleCondition": {
      "description": "A single condition within an exclusion rule (\ud83e\uddea Beta).\n\nReferences a parameter group or data template, a parameter, a parameter row,\nand a comparison operator and threshold value.\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
      "properties": {
        "prgId": {
          "description": "Parameter group or data template ID (format ``PRG...`` or ``DAT...``).",
          "title": "Prgid",
          "type": "string"
        },
        "prmId": {
          "description": "Parameter ID (format ``PRM...``).",
          "title": "Prmid",
          "type": "string"
        },
        "rowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Parameter row ID within the workflow (format ``ROW...``). Required to distinguish parameters because a single Parameter ID can be repeated within a parameter group.",
          "title": "Rowid"
        },
        "operator": {
          "$ref": "#/$defs/RuleOperator",
          "description": "Comparison operator used to evaluate this condition."
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Threshold value to compare against.",
          "title": "Value"
        },
        "unitId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit ID for the threshold value (format ``UNI...``).",
          "title": "Unitid"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Display name of the parameter.",
          "title": "Name"
        }
      },
      "required": [
        "prgId",
        "prmId",
        "operator"
      ],
      "title": "RuleCondition",
      "type": "object"
    },
    "RuleOperator": {
      "description": "Comparison operator used to evaluate a rule condition against a parameter value.\n\nNote: Distinct from `parameter_groups.Operator` (which uses ``neq`` and has\n``between``) and `targets.ComparisonOperator` (which lacks ``ne`` and has\n``in_set``). Defined resource-specifically per AGENTS.md exact-match rule.",
      "enum": [
        "gt",
        "lt",
        "eq",
        "gte",
        "lte",
        "ne"
      ],
      "title": "RuleOperator",
      "type": "string"
    },
    "Status": {
      "description": "The status of a resource.\n\nAttributes\n----------\nACTIVE : str\n    The resource is fully operational and visible in normal operations.\nINACTIVE : str\n    The resource is hidden from normal operations and disabled from use.",
      "enum": [
        "active",
        "inactive"
      ],
      "title": "Status",
      "type": "string"
    },
    "WorkerJob": {
      "description": "A background worker job running on the Albert platform.",
      "properties": {
        "jobType": {
          "description": "The type of the job.",
          "title": "Jobtype",
          "type": "string"
        },
        "metadata": {
          "$ref": "#/$defs/WorkerJobMetadata",
          "description": "Metadata describing the job context."
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/Status"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The status of the job.",
          "title": "Status"
        },
        "state": {
          "$ref": "#/$defs/WorkerJobState",
          "description": "The current state of the job (e.g. inProgress, successful, failed)."
        },
        "stateMessage": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An optional message describing the current state or error.",
          "title": "Statemessage"
        },
        "albertId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Albert ID assigned to the job.",
          "title": "Albertid"
        },
        "created": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The timestamp when the job was created.",
          "title": "Created"
        },
        "modified": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The timestamp when the job was last modified.",
          "title": "Modified"
        },
        "Created": {
          "anyOf": [
            {
              "$ref": "#/$defs/AuditFields"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Audit fields for job creation."
        },
        "Updated": {
          "anyOf": [
            {
              "$ref": "#/$defs/AuditFields"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Audit fields for the last job update."
        },
        "Started": {
          "anyOf": [
            {
              "$ref": "#/$defs/AuditFields"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Audit fields for when the job started."
        },
        "Completed": {
          "anyOf": [
            {
              "$ref": "#/$defs/AuditFields"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Audit fields for when the job completed."
        }
      },
      "required": [
        "jobType",
        "metadata",
        "state"
      ],
      "title": "WorkerJob",
      "type": "object"
    },
    "WorkerJobMetadata": {
      "description": "Metadata describing the context of a worker job.",
      "properties": {
        "parentType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The entity type this job operates on (e.g. ``\"inventory\"``).",
          "title": "Parenttype"
        },
        "parentId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Albert ID of the entity this job is associated with.",
          "title": "Parentid"
        },
        "tableName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The database table name relevant to the job.",
          "title": "Tablename"
        },
        "mapping": {
          "anyOf": [
            {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Column or field mapping used by the job.",
          "title": "Mapping"
        },
        "namespace": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The file namespace for job inputs/outputs.",
          "title": "Namespace"
        },
        "s3InputKey": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The S3 key for the job's input file.",
          "title": "S3Inputkey"
        },
        "s3OutputKey": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The S3 key for the job's output file.",
          "title": "S3Outputkey"
        },
        "albertId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The parent Albert ID this job operates on (e.g. a task id for ``createChildWorkflows``). Distinct from [`WorkerJob.albert_id`][albert.resources.worker_jobs.WorkerJob.albert_id], which is the job's own id.",
          "title": "Albertid"
        },
        "blockId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The block this job is associated with (format ``BLK...``).",
          "title": "Blockid"
        },
        "s3Url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The S3 object key for an uploaded combinations file. Omitted when the job has no file.",
          "title": "S3Url"
        },
        "newWorkflowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The workflow id assigned to the block after this job.",
          "title": "Newworkflowid"
        },
        "oldWorkflowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The workflow id being replaced. Omitted on first-time generation; equal to ``new_workflow_id`` on a rules-only regenerate.",
          "title": "Oldworkflowid"
        }
      },
      "title": "WorkerJobMetadata",
      "type": "object"
    },
    "WorkerJobState": {
      "description": "Enumerated worker job states returned by the Albert platform.",
      "enum": [
        "inProgress",
        "successful",
        "failed",
        "cancelled",
        "submitted"
      ],
      "title": "WorkerJobState",
      "type": "string"
    }
  },
  "description": "Combination rules and overrides for a task block (\ud83e\uddea Beta).\n\nEncapsulates the rules and overrides that govern how interval combinations\nare evaluated and filtered on a task block:\n\n- **Rules** define parameter criteria evaluated with AND logic within each rule and\n  OR logic across rules (excluding matches in Exclude Mode, including in Include Mode).\n- **Overrides** pinpoint specific combinations for forced inclusion (``unskip``)\n  or exclusion (``skip``) and take precedence over rules.\n- **Inventory exclusions** mask specific inventory x combination pairs so they drop\n  out of property-data grids, exports, and data-completeness checks.\n\nReturned by [`get_block_rules`][albert.collections.tasks.TaskCollection.get_block_rules]\nand [`set_block_rules`][albert.collections.tasks.TaskCollection.set_block_rules].\n\n!!! warning \"Beta Feature!\"\n    Increased intervals combination support is currently in beta and behind a platform\n    feature flag. Please do not use in production or without explicit guidance from\n    Albert. You might otherwise have a bad experience. This feature currently falls\n    outside of the Albert support contract, but we'd love your feedback!",
  "properties": {
    "taskId": {
      "description": "The task ID (format ``TAS...``).",
      "title": "Taskid",
      "type": "string"
    },
    "blockId": {
      "description": "The block ID (format ``BLK...``).",
      "title": "Blockid",
      "type": "string"
    },
    "rules": {
      "description": "Combination rules configured on this block.",
      "items": {
        "$ref": "#/$defs/ExclusionRule"
      },
      "title": "Rules",
      "type": "array"
    },
    "overrides": {
      "description": "Combination overrides configured on this block.",
      "items": {
        "$ref": "#/$defs/CombinationOverride"
      },
      "title": "Overrides",
      "type": "array"
    },
    "inventoryExclusions": {
      "description": "Inventory x combination exclusions (\"masks\") configured on this block.",
      "items": {
        "$ref": "#/$defs/InventoryExclusion"
      },
      "title": "Inventoryexclusions",
      "type": "array"
    },
    "job": {
      "anyOf": [
        {
          "$ref": "#/$defs/WorkerJob"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Background worker job when combinations are regenerated during [`set_block_rules`][albert.collections.tasks.TaskCollection.set_block_rules]."
    }
  },
  "required": [
    "taskId",
    "blockId"
  ],
  "title": "BlockRules",
  "type": "object"
}

Fields:

Validators:

  • _unwrap_rules

task_id

task_id: str

The task ID (format TAS...).

block_id

block_id: str

The block ID (format BLK...).

rules

Combination rules configured on this block.

overrides

Combination overrides configured on this block.

inventory_exclusions

inventory_exclusions: list[InventoryExclusion]

Inventory x combination exclusions ("masks") configured on this block.

job

job: WorkerJob | None = None

Background worker job when combinations are regenerated during set_block_rules.

CombinationParameter

Bases: BaseAlbertModel

A single parameter within a generated combination parameter group.

Show JSON schema:
{
  "description": "A single parameter within a generated combination parameter group.",
  "properties": {
    "id": {
      "description": "Parameter ID (format ``PRM...``).",
      "title": "Id",
      "type": "string"
    },
    "prgPrmRowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The parameter sequence row ID within the group.",
      "title": "Prgprmrowid"
    },
    "rowId": {
      "description": "The parameter setpoint row ID from the workflow.",
      "title": "Rowid",
      "type": "string"
    },
    "category": {
      "default": "Normal",
      "description": "Category of the parameter (``\"Normal\"`` or ``\"Special\"``).",
      "title": "Category",
      "type": "string"
    },
    "shortName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Short name for the parameter, used for special parameters.",
      "title": "Shortname"
    },
    "required": {
      "default": false,
      "description": "Whether the parameter is required.",
      "title": "Required",
      "type": "boolean"
    },
    "intervalRowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The interval setpoint row ID (format ``ROW...``), or ``None`` if fixed.",
      "title": "Intervalrowid"
    },
    "name": {
      "description": "Display name of the parameter.",
      "title": "Name",
      "type": "string"
    },
    "value": {
      "default": null,
      "description": "Realized value for this combination.",
      "title": "Value"
    },
    "Unit": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit definition for the value, if any.",
      "title": "Unit"
    },
    "isInterval": {
      "default": false,
      "description": "Whether this parameter is intervalized in this combination.",
      "title": "Isinterval",
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "rowId",
    "name"
  ],
  "title": "CombinationParameter",
  "type": "object"
}

Fields:

id

id: str

Parameter ID (format PRM...).

prg_prm_row_id

prg_prm_row_id: str | None = None

The parameter sequence row ID within the group.

row_id

row_id: str

The parameter setpoint row ID from the workflow.

category

category: str = 'Normal'

Category of the parameter ("Normal" or "Special").

short_name

short_name: str | None = None

Short name for the parameter, used for special parameters.

required

required: bool = False

Whether the parameter is required.

interval_row_id

interval_row_id: str | None = None

The interval setpoint row ID (format ROW...), or None if fixed.

name

name: str

Display name of the parameter.

value

value: Any = None

Realized value for this combination.

unit

unit: dict[str, Any] | None = None

Unit definition for the value, if any.

is_interval

is_interval: bool = False

Whether this parameter is intervalized in this combination.

CombinationParameterGroup

Bases: BaseAlbertModel

A parameter group within a generated combination.

Show JSON schema:
{
  "$defs": {
    "CombinationParameter": {
      "description": "A single parameter within a generated combination parameter group.",
      "properties": {
        "id": {
          "description": "Parameter ID (format ``PRM...``).",
          "title": "Id",
          "type": "string"
        },
        "prgPrmRowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The parameter sequence row ID within the group.",
          "title": "Prgprmrowid"
        },
        "rowId": {
          "description": "The parameter setpoint row ID from the workflow.",
          "title": "Rowid",
          "type": "string"
        },
        "category": {
          "default": "Normal",
          "description": "Category of the parameter (``\"Normal\"`` or ``\"Special\"``).",
          "title": "Category",
          "type": "string"
        },
        "shortName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Short name for the parameter, used for special parameters.",
          "title": "Shortname"
        },
        "required": {
          "default": false,
          "description": "Whether the parameter is required.",
          "title": "Required",
          "type": "boolean"
        },
        "intervalRowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interval setpoint row ID (format ``ROW...``), or ``None`` if fixed.",
          "title": "Intervalrowid"
        },
        "name": {
          "description": "Display name of the parameter.",
          "title": "Name",
          "type": "string"
        },
        "value": {
          "default": null,
          "description": "Realized value for this combination.",
          "title": "Value"
        },
        "Unit": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit definition for the value, if any.",
          "title": "Unit"
        },
        "isInterval": {
          "default": false,
          "description": "Whether this parameter is intervalized in this combination.",
          "title": "Isinterval",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "rowId",
        "name"
      ],
      "title": "CombinationParameter",
      "type": "object"
    }
  },
  "description": "A parameter group within a generated combination.",
  "properties": {
    "id": {
      "description": "Parameter group ID (format ``PRG...`` or ``DAT...``).",
      "title": "Id",
      "type": "string"
    },
    "prgSequence": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Position sequence of the parameter group in the workflow.",
      "title": "Prgsequence"
    },
    "rowId": {
      "description": "The group setpoint row ID on the parent workflow.",
      "title": "Rowid",
      "type": "string"
    },
    "Parameters": {
      "description": "Parameters in this group for this combination.",
      "items": {
        "$ref": "#/$defs/CombinationParameter"
      },
      "title": "Parameters",
      "type": "array"
    }
  },
  "required": [
    "id",
    "rowId",
    "Parameters"
  ],
  "title": "CombinationParameterGroup",
  "type": "object"
}

Fields:

id

id: str

Parameter group ID (format PRG... or DAT...).

prg_sequence

prg_sequence: int | None = None

Position sequence of the parameter group in the workflow.

row_id

row_id: str

The group setpoint row ID on the parent workflow.

parameters

Parameters in this group for this combination.

CombinationLeaf

Bases: BaseAlbertModel

One realized combination containing its configured parameter groups.

Show JSON schema:
{
  "$defs": {
    "CombinationParameter": {
      "description": "A single parameter within a generated combination parameter group.",
      "properties": {
        "id": {
          "description": "Parameter ID (format ``PRM...``).",
          "title": "Id",
          "type": "string"
        },
        "prgPrmRowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The parameter sequence row ID within the group.",
          "title": "Prgprmrowid"
        },
        "rowId": {
          "description": "The parameter setpoint row ID from the workflow.",
          "title": "Rowid",
          "type": "string"
        },
        "category": {
          "default": "Normal",
          "description": "Category of the parameter (``\"Normal\"`` or ``\"Special\"``).",
          "title": "Category",
          "type": "string"
        },
        "shortName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Short name for the parameter, used for special parameters.",
          "title": "Shortname"
        },
        "required": {
          "default": false,
          "description": "Whether the parameter is required.",
          "title": "Required",
          "type": "boolean"
        },
        "intervalRowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interval setpoint row ID (format ``ROW...``), or ``None`` if fixed.",
          "title": "Intervalrowid"
        },
        "name": {
          "description": "Display name of the parameter.",
          "title": "Name",
          "type": "string"
        },
        "value": {
          "default": null,
          "description": "Realized value for this combination.",
          "title": "Value"
        },
        "Unit": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit definition for the value, if any.",
          "title": "Unit"
        },
        "isInterval": {
          "default": false,
          "description": "Whether this parameter is intervalized in this combination.",
          "title": "Isinterval",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "rowId",
        "name"
      ],
      "title": "CombinationParameter",
      "type": "object"
    },
    "CombinationParameterGroup": {
      "description": "A parameter group within a generated combination.",
      "properties": {
        "id": {
          "description": "Parameter group ID (format ``PRG...`` or ``DAT...``).",
          "title": "Id",
          "type": "string"
        },
        "prgSequence": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Position sequence of the parameter group in the workflow.",
          "title": "Prgsequence"
        },
        "rowId": {
          "description": "The group setpoint row ID on the parent workflow.",
          "title": "Rowid",
          "type": "string"
        },
        "Parameters": {
          "description": "Parameters in this group for this combination.",
          "items": {
            "$ref": "#/$defs/CombinationParameter"
          },
          "title": "Parameters",
          "type": "array"
        }
      },
      "required": [
        "id",
        "rowId",
        "Parameters"
      ],
      "title": "CombinationParameterGroup",
      "type": "object"
    }
  },
  "description": "One realized combination containing its configured parameter groups.",
  "properties": {
    "ParameterGroups": {
      "description": "The parameter groups defining this combination.",
      "items": {
        "$ref": "#/$defs/CombinationParameterGroup"
      },
      "title": "Parametergroups",
      "type": "array"
    }
  },
  "required": [
    "ParameterGroups"
  ],
  "title": "CombinationLeaf",
  "type": "object"
}

Fields:

parameter_groups

parameter_groups: list[CombinationParameterGroup]

The parameter groups defining this combination.

IntervalCombinationPayload

Bases: BaseAlbertModel

Payload containing generated combination definitions for a task block.

Show JSON schema:
{
  "$defs": {
    "CombinationLeaf": {
      "description": "One realized combination containing its configured parameter groups.",
      "properties": {
        "ParameterGroups": {
          "description": "The parameter groups defining this combination.",
          "items": {
            "$ref": "#/$defs/CombinationParameterGroup"
          },
          "title": "Parametergroups",
          "type": "array"
        }
      },
      "required": [
        "ParameterGroups"
      ],
      "title": "CombinationLeaf",
      "type": "object"
    },
    "CombinationParameter": {
      "description": "A single parameter within a generated combination parameter group.",
      "properties": {
        "id": {
          "description": "Parameter ID (format ``PRM...``).",
          "title": "Id",
          "type": "string"
        },
        "prgPrmRowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The parameter sequence row ID within the group.",
          "title": "Prgprmrowid"
        },
        "rowId": {
          "description": "The parameter setpoint row ID from the workflow.",
          "title": "Rowid",
          "type": "string"
        },
        "category": {
          "default": "Normal",
          "description": "Category of the parameter (``\"Normal\"`` or ``\"Special\"``).",
          "title": "Category",
          "type": "string"
        },
        "shortName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Short name for the parameter, used for special parameters.",
          "title": "Shortname"
        },
        "required": {
          "default": false,
          "description": "Whether the parameter is required.",
          "title": "Required",
          "type": "boolean"
        },
        "intervalRowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interval setpoint row ID (format ``ROW...``), or ``None`` if fixed.",
          "title": "Intervalrowid"
        },
        "name": {
          "description": "Display name of the parameter.",
          "title": "Name",
          "type": "string"
        },
        "value": {
          "default": null,
          "description": "Realized value for this combination.",
          "title": "Value"
        },
        "Unit": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit definition for the value, if any.",
          "title": "Unit"
        },
        "isInterval": {
          "default": false,
          "description": "Whether this parameter is intervalized in this combination.",
          "title": "Isinterval",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "rowId",
        "name"
      ],
      "title": "CombinationParameter",
      "type": "object"
    },
    "CombinationParameterGroup": {
      "description": "A parameter group within a generated combination.",
      "properties": {
        "id": {
          "description": "Parameter group ID (format ``PRG...`` or ``DAT...``).",
          "title": "Id",
          "type": "string"
        },
        "prgSequence": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Position sequence of the parameter group in the workflow.",
          "title": "Prgsequence"
        },
        "rowId": {
          "description": "The group setpoint row ID on the parent workflow.",
          "title": "Rowid",
          "type": "string"
        },
        "Parameters": {
          "description": "Parameters in this group for this combination.",
          "items": {
            "$ref": "#/$defs/CombinationParameter"
          },
          "title": "Parameters",
          "type": "array"
        }
      },
      "required": [
        "id",
        "rowId",
        "Parameters"
      ],
      "title": "CombinationParameterGroup",
      "type": "object"
    }
  },
  "description": "Payload containing generated combination definitions for a task block.",
  "properties": {
    "combinations": {
      "description": "The list of combination definitions.",
      "items": {
        "$ref": "#/$defs/CombinationLeaf"
      },
      "title": "Combinations",
      "type": "array"
    }
  },
  "required": [
    "combinations"
  ],
  "title": "IntervalCombinationPayload",
  "type": "object"
}

Fields:

combinations

combinations: list[CombinationLeaf]

The list of combination definitions.