We have discussed this in side channel, but I wanted to capture in the issue so it's available for others to followup on.
I have proposed that we replace await/ok, await/error, await/* custom promise pipelining operators with combination of general ucan/await that can work with jq like selectors that are been introduces into UCAN spec here https://github.com/ucan-wg/delegation/issues/5
Expectation is that selectors will behave as described in the table, if task selector result in output marked as ⛔️ (per table in the linked issue) failure supposed to propagate. Otherwise arguments supposed to substituted with the output of the selector.
Here is a proposed syntax for invocation spec
type Await union {
AwaitOperand "ucan/await"
} representation keyed
type AwaitOperand struct {
selector String
source Any
} representation tuple
We have discussed this in side channel, but I wanted to capture in the issue so it's available for others to followup on.
I have proposed that we replace
await/ok
,await/error
,await/*
custom promise pipelining operators with combination of generalucan/await
that can work with jq like selectors that are been introduces into UCAN spec here https://github.com/ucan-wg/delegation/issues/5Expectation is that selectors will behave as described in the table, if task selector result in output marked as ⛔️ (per table in the linked issue) failure supposed to propagate. Otherwise arguments supposed to substituted with the output of the selector.
Here is a proposed syntax for invocation spec
here is example from the spec