workstream
Workstream model for lane-level execution and integration state.
This package defines immutable workstream specifications, mutable runtime state for each workstream lane, and the workstream-level lifecycle runner with its I/O protocols.
Subpackages
core: Specs, runtime state, protocols, and runner. implementations: Concrete protocol implementations.
IntegrationAutoMerger
Bases: Protocol
Merge a workstream's integration PR on the hosting platform.
Source code in src/agentrelay/workstream/core/io.py
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | |
merge(workstream_runtime)
Merge the integration PR for this workstream.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime whose integration PR should be merged. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
IntegrationMergeResult |
IntegrationMergeResult
|
Pre-merge SHA for rollback support. |
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If the merge fails. |
Source code in src/agentrelay/workstream/core/io.py
143 144 145 146 147 148 149 150 151 152 153 154 155 156 | |
IntegrationMergeChecker
Bases: Protocol
Check whether a workstream's integration PR has been merged.
Source code in src/agentrelay/workstream/core/io.py
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | |
is_merged(workstream_runtime)
Check whether the integration PR for this workstream is merged.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime to check. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
IntegrationMergeCheckResult |
IntegrationMergeCheckResult
|
Merge status and pre-merge SHA |
IntegrationMergeCheckResult
|
(when merged, derived from the merge commit's first parent). |
Source code in src/agentrelay/workstream/core/io.py
124 125 126 127 128 129 130 131 132 133 134 135 136 | |
IntegrationMergeCheckResult
dataclass
Result from polling whether a workstream integration PR is merged.
Attributes:
| Name | Type | Description |
|---|---|---|
merged |
bool
|
Whether the integration PR has been merged. |
target_branch_before_merge |
Optional[str]
|
SHA of the target branch before the
merge commit. Populated when |
Source code in src/agentrelay/workstream/core/io.py
54 55 56 57 58 59 60 61 62 63 64 65 66 67 | |
IntegrationMergeResult
dataclass
Result from auto-merging a workstream integration PR.
Attributes:
| Name | Type | Description |
|---|---|---|
target_branch_before_merge |
str
|
SHA of the target branch immediately before the integration PR was merged. |
Source code in src/agentrelay/workstream/core/io.py
42 43 44 45 46 47 48 49 50 51 | |
IntegrationResult
dataclass
Result from workstream integration PR creation.
Attributes:
| Name | Type | Description |
|---|---|---|
skipped |
bool
|
True when the integration branch had no commits ahead of the target and the PR was skipped. |
target_branch_authoritative_sha |
Optional[str]
|
SHA of the target branch when
|
Source code in src/agentrelay/workstream/core/io.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
TaskPrProber
Bases: Protocol
Check and optionally merge an individual task PR.
Used by the resumption probe to normalize stale PR_CREATED tasks
left behind when the orchestrator was interrupted between PR creation
and merge. Kept behind a protocol so the probe module does not depend
directly on ops/gh, matching the pattern used by
:class:TaskMerger, :class:IntegrationMergeChecker, and
:class:IntegrationAutoMerger.
Source code in src/agentrelay/workstream/core/io.py
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | |
is_merged(pr_url)
Return whether the given task PR is already merged.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pr_url
|
str
|
URL of the task PR to check. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
bool
|
transient failures that should not crash the probe). |
Source code in src/agentrelay/workstream/core/io.py
171 172 173 174 175 176 177 178 179 180 181 | |
try_merge(pr_url)
Best-effort merge of the given task PR.
Unlike :meth:TaskMerger.merge_pr, this does not raise on failure.
A False return means "leave for manual review" — the caller
treats this as retry-eligible, not as an internal error.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pr_url
|
str
|
URL of the task PR to merge. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
Source code in src/agentrelay/workstream/core/io.py
183 184 185 186 187 188 189 190 191 192 193 194 195 196 | |
WorkstreamIntegrator
Bases: Protocol
Create integration PR for a workstream lane.
Source code in src/agentrelay/workstream/core/io.py
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
create_integration_pr(workstream_runtime)
Create a PR from the integration branch to the merge target.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime whose integration branch should be submitted as a PR. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
IntegrationResult |
IntegrationResult
|
Whether the PR was skipped (no commits ahead) |
IntegrationResult
|
and the authoritative target branch SHA when skipped. |
Source code in src/agentrelay/workstream/core/io.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
WorkstreamPreparer
Bases: Protocol
Provision workspace infrastructure for a workstream lane.
Source code in src/agentrelay/workstream/core/io.py
73 74 75 76 77 78 79 80 81 82 83 | |
prepare_workstream(workstream_runtime)
Provision worktree and integration branch for this workstream.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime to provision. |
required |
Source code in src/agentrelay/workstream/core/io.py
77 78 79 80 81 82 83 | |
WorkstreamTeardown
Bases: Protocol
Clean up workstream workspace infrastructure.
Source code in src/agentrelay/workstream/core/io.py
106 107 108 109 110 111 112 113 114 115 116 117 | |
teardown_workstream(workstream_runtime)
Delete worktree and integration branch for this workstream.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime whose resources should be cleaned up. |
required |
Source code in src/agentrelay/workstream/core/io.py
110 111 112 113 114 115 116 117 | |
StandardWorkstreamRunner
dataclass
Standard workstream lifecycle runner.
Drives workstream-level operations (prepare, integrate, teardown) by delegating to per-step protocol implementations. The orchestrator calls these methods at appropriate scheduling points.
Attributes:
| Name | Type | Description |
|---|---|---|
_preparer |
WorkstreamPreparer
|
Provision worktree and integration branch. |
_integrator |
WorkstreamIntegrator
|
Create integration PR. |
_teardown |
WorkstreamTeardown
|
Clean up worktree and integration branch. |
Source code in src/agentrelay/workstream/core/runner.py
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | |
prepare(workstream_runtime)
Provision workspace infrastructure for a workstream.
Creates the worktree and integration branch. Transitions from
PENDING to ACTIVE on success, or FAILED on error.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime to provision. |
required |
Source code in src/agentrelay/workstream/core/runner.py
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | |
integrate(workstream_runtime)
Create the integration PR for the workstream.
Transitions to PR_CREATED on success, or FAILED on error.
When the integration PR is skipped (no commits ahead), stores the
authoritative target branch SHA on the runtime artifacts.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime to integrate. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
WorkstreamRunResult |
WorkstreamRunResult
|
Snapshot of state after the operation. |
Source code in src/agentrelay/workstream/core/runner.py
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | |
teardown(workstream_runtime)
Clean up workstream workspace infrastructure.
Deletes the worktree and integration branch. Failures are recorded as concerns rather than changing workstream status.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime to tear down. |
required |
Source code in src/agentrelay/workstream/core/runner.py
139 140 141 142 143 144 145 146 147 148 149 150 151 | |
WorkstreamRunner
Bases: Protocol
Protocol for the workstream runner boundary used by Orchestrator.
Different lifecycle variants (standard, dry-run) are different classes satisfying this protocol. The orchestrator does not know or care about internal step structure.
Source code in src/agentrelay/workstream/core/runner.py
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | |
prepare(workstream_runtime)
Provision workspace infrastructure for a workstream.
Source code in src/agentrelay/workstream/core/runner.py
66 67 68 | |
integrate(workstream_runtime)
Create the integration PR for the workstream.
Source code in src/agentrelay/workstream/core/runner.py
70 71 72 | |
teardown(workstream_runtime)
Clean up workstream workspace infrastructure.
Source code in src/agentrelay/workstream/core/runner.py
74 75 76 | |
WorkstreamRunResult
dataclass
Snapshot of workstream state after a lifecycle operation.
Attributes:
| Name | Type | Description |
|---|---|---|
workstream_id |
str
|
Workstream identifier. |
status |
WorkstreamStatus
|
Current workstream status after the operation. |
error |
Optional[str]
|
Error message if the operation failed, or |
Source code in src/agentrelay/workstream/core/runner.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |
from_runtime(runtime)
classmethod
Build a result snapshot from the current workstream runtime state.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
runtime
|
WorkstreamRuntime
|
Workstream runtime to snapshot. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
WorkstreamRunResult |
WorkstreamRunResult
|
Snapshot of workstream ID, status, and error. |
Source code in src/agentrelay/workstream/core/runner.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |
TaskSummary
dataclass
Per-task summary included in integration PR body.
Attributes:
| Name | Type | Description |
|---|---|---|
task_id |
str
|
Unique task identifier. |
description |
Optional[str]
|
Human-readable task description, or |
role |
Optional[str]
|
Agent role value string (e.g. |
pr_url |
Optional[str]
|
URL of the task's pull request, or |
concerns |
tuple[str, ...]
|
Design concerns recorded by the agent. |
ops_concerns |
tuple[str, ...]
|
Operational concerns recorded by the agent. |
summary_text |
Optional[str]
|
Content of the agent's |
Source code in src/agentrelay/workstream/core/runtime.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | |
WorkstreamArtifacts
dataclass
Outputs and observations produced while advancing a workstream.
Attributes:
| Name | Type | Description |
|---|---|---|
merge_pr_url |
Optional[str]
|
URL of the workstream integration PR, or |
concerns |
list[str]
|
List of notable observations or concerns for this lane. |
task_summaries |
list[TaskSummary]
|
Per-task summaries for integration PR body. |
target_branch_before_any_merge |
Optional[str]
|
SHA of the target branch before any merge related to this workstream. Populated from whichever authority path detected the merge (integrator for skipped workstreams, auto-merger, or polled merge checker). |
Source code in src/agentrelay/workstream/core/runtime.py
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | |
WorkstreamRuntime
dataclass
Mutable runtime envelope for a :class:WorkstreamSpec.
Attributes:
| Name | Type | Description |
|---|---|---|
spec |
WorkstreamSpec
|
Immutable workstream specification for this lane. |
state |
WorkstreamState
|
Mutable lane operational state. |
artifacts |
WorkstreamArtifacts
|
Mutable lane output artifacts. |
Source code in src/agentrelay/workstream/core/runtime.py
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | |
status
property
Current workstream status, derived from signal files on disk.
Falls back to PENDING if no signal directory has been set,
unless an error has been recorded (indicating failure before
provisioning), in which case FAILED is returned.
mark_pending()
Write the pending signal file.
Source code in src/agentrelay/workstream/core/runtime.py
181 182 183 | |
mark_active()
Write the active signal file.
Source code in src/agentrelay/workstream/core/runtime.py
185 186 187 | |
mark_merge_ready()
Write the merge_ready signal file.
Source code in src/agentrelay/workstream/core/runtime.py
189 190 191 | |
mark_pr_created(pr_url)
Write the pr_created signal file with the PR URL.
Source code in src/agentrelay/workstream/core/runtime.py
193 194 195 196 | |
mark_merged()
Write the merged signal file.
Source code in src/agentrelay/workstream/core/runtime.py
198 199 200 | |
mark_failed(error)
Write the failed signal file with the error message.
If signal_dir is not set (workstream was never prepared),
only the in-memory error is recorded without writing to disk.
Source code in src/agentrelay/workstream/core/runtime.py
202 203 204 205 206 207 208 209 210 | |
mark_reset()
Write the reset signal file.
Source code in src/agentrelay/workstream/core/runtime.py
212 213 214 | |
WorkstreamState
dataclass
Mutable operational state of a workstream lane.
Attributes:
| Name | Type | Description |
|---|---|---|
signal_dir |
Optional[Path]
|
Path to the workstream signal directory for status files,
or |
worktree_path |
Optional[Path]
|
Filesystem path to the worktree used for this lane, or
|
branch_name |
Optional[str]
|
Primary branch name used for this lane, or |
error |
Optional[str]
|
Error message if lane execution failed, else |
Source code in src/agentrelay/workstream/core/runtime.py
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | |
WorkstreamStatus
Bases: str, Enum
Execution state of a workstream during orchestration.
Attributes:
| Name | Type | Description |
|---|---|---|
PENDING |
Workstream has not started provisioning/execution. |
|
ACTIVE |
Workstream is currently active (for example has running tasks). |
|
MERGE_READY |
All tasks completed; workstream is ready for integration. |
|
PR_CREATED |
Integration PR has been created, awaiting merge. |
|
MERGED |
Integration PR has been merged into the target branch. |
|
FAILED |
Workstream execution failed. |
|
RESET |
Workstream was reset via |
Source code in src/agentrelay/workstream/core/runtime.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
WorkstreamSpec
dataclass
Immutable specification for a task workstream.
A workstream models a branch/worktree execution lane that one or more tasks can target. Parent/child workstream relationships are defined at the spec level and validated by graph-building layers.
Attributes:
| Name | Type | Description |
|---|---|---|
id |
str
|
Unique workstream identifier within a task graph. |
parent_workstream_id |
Optional[str]
|
Optional parent workstream ID for hierarchical
stream topologies (for example |
base_branch |
str
|
Branch name used as the base when creating workstream
integration branches or worktrees. Defaults to |
merge_target_branch |
str
|
Branch name the workstream ultimately merges into.
Defaults to |
auto_merge |
bool
|
When |
Source code in src/agentrelay/workstream/core/workstream.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
GhIntegrationAutoMerger
dataclass
Merge a workstream's integration PR via GitHub CLI.
Captures the target branch SHA before merging for rollback support.
Reads the merge PR URL from workstream artifacts and delegates
to :func:~agentrelay.ops.gh.pr_merge.
Source code in src/agentrelay/workstream/implementations/integration_auto_merger.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | |
merge(workstream_runtime)
Merge the integration PR for this workstream.
Returns:
| Name | Type | Description |
|---|---|---|
IntegrationMergeResult |
IntegrationMergeResult
|
Pre-merge SHA of the target branch. |
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If no integration PR URL is available. |
CalledProcessError
|
If the |
Source code in src/agentrelay/workstream/implementations/integration_auto_merger.py
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | |
GhIntegrationMergeChecker
dataclass
Check integration PR merge status via GitHub CLI.
Reads the merge PR URL from workstream artifacts and delegates
to :func:~agentrelay.ops.gh.pr_is_merged. When a merge is detected,
derives the pre-merge target branch SHA from the merge commit's first
parent via :func:~agentrelay.ops.gh.pr_merge_commit_sha and
:func:~agentrelay.ops.git.rev_parse.
Source code in src/agentrelay/workstream/implementations/integration_merge_checker.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | |
is_merged(workstream_runtime)
Check whether the workstream's integration PR is merged on GitHub.
When the PR is merged, attempts to derive the pre-merge target
branch SHA from the merge commit's first parent. Gracefully
degrades to target_branch_before_merge=None if the merge
commit cannot be determined.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime to check. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
IntegrationMergeCheckResult |
IntegrationMergeCheckResult
|
Merge status and pre-merge SHA. |
Source code in src/agentrelay/workstream/implementations/integration_merge_checker.py
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | |
GhTaskPrProber
dataclass
Probe task PR merge state via the GitHub CLI.
Stateless thin wrapper over :func:agentrelay.ops.gh.pr_is_merged and
:func:agentrelay.ops.gh.pr_merge. Used by the resumption probe to
normalize stale PR_CREATED tasks without depending directly on the
ops/gh module, matching the protocol-isolation pattern used by
:class:GhTaskMerger, :class:GhIntegrationMergeChecker, and
:class:GhIntegrationAutoMerger.
Source code in src/agentrelay/workstream/implementations/task_pr_prober.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
is_merged(pr_url)
Return whether the given task PR is already merged.
Delegates to :func:agentrelay.ops.gh.pr_is_merged, which returns
False on subprocess failure rather than raising — safe for use
in the probe's normalization path.
Source code in src/agentrelay/workstream/implementations/task_pr_prober.py
27 28 29 30 31 32 33 34 | |
try_merge(pr_url)
Best-effort merge of the given task PR.
Wraps :func:agentrelay.ops.gh.pr_merge in a try/except so merge
failures (conflicts, branch protection, transient network errors)
return False instead of propagating a CalledProcessError.
The probe treats False as retry-eligible FAILED, not as an
internal error.
Source code in src/agentrelay/workstream/implementations/task_pr_prober.py
36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
GhWorkstreamIntegrator
dataclass
Create the workstream integration PR via GitHub CLI.
Creates a pull request from the workstream's integration branch into
its merge_target_branch. Does NOT merge the PR — that is left
for human review (or a future agent-merge step).
Source code in src/agentrelay/workstream/implementations/workstream_integrator.py
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | |
create_integration_pr(workstream_runtime)
Create a PR from the integration branch to the merge target.
When the integration branch has no commits ahead of the target,
the PR is skipped and the workstream transitions directly to
MERGED. In this case, the integrator is the authoritative
source for the target branch SHA (nothing changed).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime whose integration branch should be submitted as a PR. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
IntegrationResult |
IntegrationResult
|
Whether the PR was skipped and the |
IntegrationResult
|
authoritative target branch SHA when skipped. |
Source code in src/agentrelay/workstream/implementations/workstream_integrator.py
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | |
GitWorkstreamPreparer
dataclass
Provision a worktree and integration branch for a workstream lane.
Creates a git worktree rooted at
<repo_path>/.worktrees/<graph_name>/<workstream_id> with a new
integration branch
agentrelay/<graph_name>/<workstream_id>/integration off the
workstream's base_branch. Pushes the integration branch to origin
so that task PRs can target it.
Source code in src/agentrelay/workstream/implementations/workstream_preparer.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | |
prepare_workstream(workstream_runtime)
Provision worktree and integration branch for this workstream.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime to provision. |
required |
Source code in src/agentrelay/workstream/implementations/workstream_preparer.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | |
GitWorkstreamTeardown
dataclass
Clean up workstream worktree and integration branch.
Performs best-effort cleanup: removes the worktree directory, deletes the local integration branch, and deletes the remote integration branch. Errors during any step are silently caught so that subsequent cleanup steps still execute.
Source code in src/agentrelay/workstream/implementations/workstream_teardown.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
teardown_workstream(workstream_runtime)
Delete worktree and integration branch for this workstream.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
workstream_runtime
|
WorkstreamRuntime
|
Workstream runtime whose resources should be cleaned up. |
required |
Source code in src/agentrelay/workstream/implementations/workstream_teardown.py
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |