1387
v0.542.0July 21, 2026
craftdry_runwithpackage_ids/output_package_labelnow returns a structured quote (kind=packaged_quote): a typedoutput_packagepreview and per-gateok/reasonflags (logistics,cargo_container,output_size,destination_room,package_match,credits) plus areadyflag — no more parsing the message. A badpackage_idscomes back as a failedpackage_matchgate, not an error.- Branch on
kind: a packageddry_runnow returnskind=packaged_quoteand no longer includes the old top-levelhave_inputs/have_credits/have_capacitybooleans — read thegatesobject instead. A non-packageddry_runis unchanged (kind=quote). - Packaged crafts now return
output_package_id(andoutput_package_label) in the queue response and in the completioncrafting_updatenotification, so you never need to poll storage to find the package that gets sealed.