π Smithery is now a part of Arcade.dev! Read more in our announcement here
Never throw for expected failures. Use Result<T, E> types with explicit error handling and workflow composition.
Result<T, E>
throw
asserts
createWorkflow
step
err
step.try()
E
string
any
ok
fn(args, deps)
step.try
step.fromResult
resilience
switch
result.error
Promise<T>
null
fn-args-deps
validation-boundary
api-design
observability