Skip to content

Commit a141c76

Browse files
authored
Merge pull request #805 from Pipelex/release/v0.23.4
Release v0.23.4
2 parents 53a767b + 22a8ed8 commit a141c76

4 files changed

Lines changed: 19 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## [v0.23.4] - 2026-04-02
4+
5+
### Changed
6+
7+
- **Pipe spec output alias**: Removed `output_type` alias from `parse_pipe_spec`, keeping only `output_concept` as the single alias for the `output` field. Simplified the alias resolution logic accordingly.
8+
39
## [v0.23.3] - 2026-04-02
410

511
### Changed

pipelex/builder/operations/pipe_ops.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
# Aliases that agents may use instead of "pipe_code". First found is promoted when canonical key is absent; extras are dropped.
2929
_PIPE_CODE_ALIASES = ("pipe", "the_pipe_code", "code", "name", "pipe_name", "pipe_ref")
3030

31-
# Aliases that agents may use instead of "output".
32-
_OUTPUT_ALIASES = ("output_concept", "output_type")
31+
# Alias that agents may use instead of "output".
32+
_OUTPUT_ALIAS = "output_concept"
3333

3434

3535
def _normalize_sub_pipe_dict(data: dict[str, Any]) -> None:
@@ -110,19 +110,17 @@ def parse_pipe_spec(pipe_type: str, spec_data: dict[str, Any]) -> PipeSpec:
110110
else:
111111
spec_data.pop("expression")
112112

113-
# Accept output aliases (e.g. "output_concept", "output_type") → promote to "output".
114-
# When both "output" and an alias coexist, try the alias value first (agents often put
113+
# Accept "output_concept" as an alias for "output".
114+
# When both "output" and the alias coexist, try the alias value first (agents often put
115115
# the correct concept name in the alias), falling back to the original "output" value.
116116
output_fallback: Any | None = None
117-
for alias in _OUTPUT_ALIASES:
118-
if alias in spec_data:
119-
alias_value = spec_data.pop(alias)
120-
if "output" not in spec_data:
121-
spec_data["output"] = alias_value
122-
else:
123-
output_fallback = spec_data["output"]
124-
spec_data["output"] = alias_value
125-
break
117+
if _OUTPUT_ALIAS in spec_data:
118+
alias_value = spec_data.pop(_OUTPUT_ALIAS)
119+
if "output" not in spec_data:
120+
spec_data["output"] = alias_value
121+
else:
122+
output_fallback = spec_data["output"]
123+
spec_data["output"] = alias_value
126124

127125
# Accept output as dict → extract the concept string
128126
# Agents sometimes structure the output like inputs (as a dict).

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "pipelex"
3-
version = "0.23.3"
3+
version = "0.23.4"
44
description = "Execute composable AI methods declared in the MTHDS open standard"
55
authors = [{ name = "Evotis S.A.S.", email = "oss@pipelex.com" }]
66
maintainers = [{ name = "Pipelex staff", email = "oss@pipelex.com" }]

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)