Command reference
oko asks announcers
Reads and changes the products whose asks only announce where an answer is given — Tama's grant window, answered in the asking session's own window — so `oko asks ask` records their ask and hands it to its own delivery instead of standing on the channels while the answer arrives elsewhere.
Invocation#
oko asks announcers [add <product> | remove <product>]Inputs and options#
- Nothing to list them; `add <product>` names one (naming it again changes nothing); `remove <product>` takes it off, after which its asks are delivered before `oko asks ask` ends again.
- The register is `OKO_ASK_ANNOUNCERS`, else `ask-announcers.json` in Oko's folder. Example: `oko asks announcers add tama`.
Output and state effect#
- Prints `[{product, recordedAt}]`, the register after the change. Oko Desktop → Requests → Asks that only announce lists, names and removes the same products through the native API's asks actions announcers, add_announcer and remove_announcer; OkoKit decodes them as OkoAskAnnouncer.
- Real test: `tests/asks/announce/journey.rs` (`cargo test --test asks-announce`), the register in a home of its own and one announcer ask written, handed on and withdrawn as the signed-in person.
Refusals and safe exits#
- `oko asks announcers takes nothing, add <product> or remove <product>` and `oko asks announcers add requires the product whose asks only announce` (exit 2); `<product> is not an announcer; `oko asks announcers` lists them` (exit 1).
- For an announcer's ask: `ask <id> is recorded, but <folder> cannot be made for its delivery: <error>`, `… <file> cannot be written for its delivery: <error>`, `… this oko cannot name its own program to deliver it: <error>` and `… its delivery (<program>) could not start: <error>` (exit 1, the ask written).