slack-term 1.32.0 → 1.32.2
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 +2 -1
- package/SKILL.md +9 -2
- package/dist/cli.js +118 -118
- package/package.json +1 -1
- package/ts/ask.ts +106 -0
- package/ts/cli.ts +107 -6
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`
|
|
165
|
-
|
|
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
|