slack-term 1.32.1 → 1.32.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -116,7 +116,8 @@ RESUME=$(slack ask "@bob" "本番に出してよい?" "出してよい" "待っ
116
116
  # -> slack ask --waitFor='https://acme.slack.com/archives/C00000001/p1700000000000100'
117
117
  # Run it whenever you like: it re-reads the question from Slack, so nothing is
118
118
  # stored locally and any machine holding the link can collect. Same stdout/exit
119
- # contract as --wait, plus --timeout 0 = check once (exit 2 while still open),
119
+ # contract as --wait, plus --timeout 0 = check once (exit 2 while still open, 4 if
120
+ # somebody replied without choosing any of the offered options),
120
121
  # which is what a periodic monitor should use instead of parking on --wait.
121
122
  eval "$RESUME --timeout 0" && echo answered
122
123
  # A pressed pill is invisible to `slack tail` (it only sees `type: "message"`
package/SKILL.md CHANGED
@@ -161,9 +161,16 @@ without losing clicks. A reaction is durable state anyone can read back later.
161
161
  reactions and thread replies do (a channel carries unrelated traffic).
162
162
  - **Two pills pressed = no answer.** Changing your mind leaves both reactions in place, so
163
163
  `ask` says so in the thread once and keeps waiting rather than guessing.
164
- - **Exit codes** are the contract: `0` answered (the answer alone on stdout), `2` timed
165
- out, `3` transport/config failure. Everything human-facing goes to stderr, so
164
+ - **Exit codes** are the contract: `0` answered (the answer alone on stdout), `2` nobody
165
+ replied, `3` transport/config failure, `4` somebody replied but picked none of the
166
+ offered choices. Everything human-facing goes to stderr, so
166
167
  `ANS=$(slack ask … --wait)` is safe.
168
+ - **A reply that chooses nothing is not an answer.** When choices were offered, only a
169
+ reaction, the choice text, or its number counts. A reply like 「意味が分かりません」 or a
170
+ question back exits `4` with **stdout empty** — measured 2026-09-04, a clarifying
171
+ question was returned as `rc=0` and stored as the decision, which is what an automated
172
+ caller acts on. `2` and `4` need different reactions: one waits, the other answers a
173
+ person who is standing there.
167
174
 
168
175
  **Collecting an answer you did not block on.** Without `--wait`, stdout is a runnable
169
176
  `slack ask --waitFor='<permalink>'`. Run it any time — it re-reads the question from Slack