Oko/Docs

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#

Command
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).

CLI reference#