This repository was archived by the owner on Oct 2, 2026. It is now read-only.
Repository navigation
Release v0.16.0 - #56
Merged
Merged
Conversation
Adds `pipe_io()`, the typed wrapper for `POST /v1/pipe-io`, which returns a method's pipe I/O contracts, input form and output form with no dry run, with the selector XOR enforced at request construction as the rest of the crate family does. `prepare_inputs` now reads its signature from that route and lets the server select the pipe, so the client-side default chain and the bundle-blueprint read are deleted; a bare `pipe_ref` is still refused before any request, and a `422` whose `error_type` is the runner's entry-lookup error becomes an `InputPreparationError` carrying the server's reason. It must not merge or release before the hosted API serves the route, since a published `prepare_inputs` on `/v1/pipe-io` fails against any API that lacks it. Closes L-260830-f5b65e Closes L-260921-e61f30 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01EWwzmAGtZvzvQqeC1SvzJ1 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds `pipe_io()`, the typed wrapper for `POST /v1/pipe-io`, and moves `prepare_inputs` onto that route so the server selects the pipe. - `pipe_io()` returns a method's pipe I/O contracts, input form and output form with no dry run, typed from `mthds.protocol`, with the selector XOR enforced at request construction. - `prepare_inputs` drops the client-side default chain and the bundle-blueprint read; a bare `pipe_ref` and an alias→`domain.pipe_code` ref naming a dependency package's pipe are each refused before any request, and a `422` whose `error_type` is the runner's entry-lookup error becomes an `InputPreparationError` whose message is the server's detail alone. - The artifacts e2e bundle now reads its declared document input (via an empty `{% if doc %}` block) because pipelex refuses a bundle whose template never reads a declared input. **Migration** - `prepare_inputs` needs a runner serving `/v1/pipe-io` (pipelex-api v0.33.1 or later) and raises `ApiResponseError` against one that does not. Do not merge or release before the hosted API serves the route. <sup>Written for commit e5b69f0. Summary will update on new commits.</sup> <a href="https://cubic.dev/pr/Pipelex/pipelex-sdk-python/pull/53?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
/rev — round 1, profile 3, bar open on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v0.16.0
Bumps version from
0.15.0to0.16.0. Promotesdev→main.Changelog
Added
pipe_io(), a method's inputs and outputs in one call:PipelexAPIClient.pipe_io(PipeIORequest(...))callsPOST /v1/pipe-ioand returns, with no dry run, the selected pipe'spipe_io_contracts,input_formandoutput_formtyped frommthds.protocol, beside the resolvedpipe_ref, the method'sdefault_pipe_ref,pending_signaturesandis_runnable(PipeIOValidReport, or theCrateInvalidReportverdict). It takesfiles,method_reformethod_idlikeresolve, pluspipe_ref,all_pipes(every pipe instead of one) andinclude_files(echo the closure's.mthdsfiles); a refused selection raisesApiResponseError.Changed
prepare_inputsreads its signature fromPOST /v1/pipe-io, which selects the pipe (Breaking): it needs an API that serves the route and raisesApiResponseErroragainst one that does not. The pipe is the server's choice — yourpipe_ref, else a package manifest'smain_pipe, else the closure's singlemain_pipedeclaration — so a method declaring no entry pipe or several now needspipe_refeven when it has a single pipe, and a package naming its entry pipe in its manifest alone no longer does. Apipe_refnaming a dependency package's pipe (alias->domain.pipe_code) is refused before any request, as a bare one already was. A selection the API refuses with the runner's entry-lookuperror_type(pipelex-apiv0.33.1 and later) raisesInputPreparationErrorwith the server's reason. The route runs no dry run, so a method whose dry run fails still prepares, but it refuses an address-based cross-package dependency thatvalidateloaded, so a closure carrying one no longer prepares.Closes L-261001-4135e7
🤖 Generated with Claude Code
Summary by cubic
Bumps the SDK to v0.16.0, releasing
pipe_io(), a new typed client method forPOST /v1/pipe-io, and movingprepare_inputsonto that route so the server selects the pipe.Breaking change
prepare_inputsnow needs an API serving/v1/pipe-io(pipelex-api v0.33.1+) and raisesApiResponseErroragainst one that does not; do not merge before the hosted API serves the route.pipe_refeven when it has a single pipe.pipe_refnaming a dependency package's pipe (alias->domain.pipe_code) is refused before any request, and a selection refused with the runner's entry-lookuperror_typeraisesInputPreparationErrorwith the server's reason.New features
pipe_io()returns a method's pipe I/O contracts, input form and output form with no dry run, typed frommthds.protocol, alongside the resolvedpipe_ref,default_pipe_ref,pending_signaturesandis_runnable.files,method_reformethod_idlikeresolve, pluspipe_ref,all_pipesandinclude_files; a refused selection raisesApiResponseError.Written for commit ad7e4f8. Summary will update on new commits.