Interval Combinations (🧪 Beta)
albert.resources.interval_combinations
Attributes:
| Name | Type | Description |
|---|---|---|
Rule |
Alias for |
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
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(str | None) -
name(str | None) -
interval_barcode(str | None) -
interval_row_key(str | None)
RuleOperator
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 |
|
OverrideAction
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
|
|
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(ParameterGroupId | DataTemplateId | str) -
parameter_id(ParameterId) -
row_id(RowId | None) -
operator(RuleOperator) -
value(str | float | int | None) -
unit_id(UnitId | None) -
name(str | None)
parameter_group_id
parameter_group_id: ParameterGroupId | DataTemplateId | str
Parameter group or data template ID (format PRG... or DAT...).
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.
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(str | None) -
name(str | None) -
conditions(list[RuleCondition])
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
unskipoverride 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:
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(str | None) -
inv_lot_unique_id(str) -
interval_row_key(str)
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:
-
task_id(str) -
block_id(str) -
rules(list[ExclusionRule]) -
overrides(list[CombinationOverride]) -
inventory_exclusions(list[InventoryExclusion]) -
job(WorkerJob | None)
Validators:
-
_unwrap_rules
inventory_exclusions
inventory_exclusions: list[InventoryExclusion]
Inventory x combination exclusions ("masks") configured on this block.
job
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(str) -
prg_prm_row_id(str | None) -
row_id(str) -
category(str) -
short_name(str | None) -
required(bool) -
interval_row_id(str | None) -
name(str) -
value(Any) -
unit(dict[str, Any] | None) -
is_interval(bool)
interval_row_id
interval_row_id: str | None = None
The interval setpoint row ID (format ROW...), or None if fixed.
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(str) -
prg_sequence(int | None) -
row_id(str) -
parameters(list[CombinationParameter])
prg_sequence
prg_sequence: int | None = None
Position sequence of the parameter group in the workflow.
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: