slack-term 1.43.0 → 1.44.0
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 +5 -0
- package/SKILL.md +13 -2
- package/dist/cli.js +208 -208
- package/package.json +1 -1
- package/ts/ask.ts +61 -4
- package/ts/cli.ts +185 -19
package/README.md
CHANGED
|
@@ -125,6 +125,11 @@ slack react "<permalink>" eyes --remove # take a reaction back
|
|
|
125
125
|
# one tap on an existing pill, no emoji picker. Same two-step confirm gate as send.
|
|
126
126
|
# A ❓ "その他 (other)" pill always follows the choices: pressing it means "none of
|
|
127
127
|
# these" and the answer comes as a reply (exit 5), not as the ❓ itself.
|
|
128
|
+
# --explain (or SLACK_TERM_ASK_EXPLAIN=1) adds an ℹ️ "説明して (explain)" pill after ❓:
|
|
129
|
+
# pressing it asks YOU to explain in the thread and is never an answer — the question
|
|
130
|
+
# stays open. --wait/--waitFor say so on stderr and may post ONE thread note (once per
|
|
131
|
+
# question) saying an explanation is coming; --explain-exit makes that exit 7.
|
|
132
|
+
# --pending only reports a ℹ️ press — it posts nothing.
|
|
128
133
|
# The instructions are posted in ja or en: --lang / SLACK_TERM_LANG, else the
|
|
129
134
|
# answerers' Slack locale, else the question's own language, else $LANG, else ja.
|
|
130
135
|
slack ask "@bob" "本番に出してよい?" "出してよい" "待って"
|
package/SKILL.md
CHANGED
|
@@ -178,6 +178,16 @@ without losing clicks. A reaction is durable state anyone can read back later.
|
|
|
178
178
|
(`1️⃣ … 2️⃣ … 3️⃣ … ❓ その他 — スレッドで返信`) and seeds it after the keycaps. Pressing it
|
|
179
179
|
is not an answer — `--wait` notes it on stderr and keeps waiting for the reply, which
|
|
180
180
|
arrives as free text (exit `5`).
|
|
181
|
+
- **ℹ️ is the "explain first" pill** — offered with `--explain` (or
|
|
182
|
+
`SLACK_TERM_ASK_EXPLAIN=1`; `--no-explain` overrides), listed under ❓ and seeded after
|
|
183
|
+
it. ❓ means "none fit, my answer follows"; ℹ️ means "I can't answer yet — explain".
|
|
184
|
+
It **never answers or closes** the question: no ✅, the pills stay. `--wait`/`--waitFor`
|
|
185
|
+
print who pressed it on stderr (`--json`: `explain: [user ids]`) and may post ONE thread
|
|
186
|
+
note per question saying an explanation is coming (the thread is the record — re-presses
|
|
187
|
+
and re-runs post nothing more). Then explain in the thread and keep collecting.
|
|
188
|
+
`--explain-exit` stops with exit `7` (stdout empty; `--json` `status: "explain"`) on the
|
|
189
|
+
run that posts that note, so a `--timeout 0` poller hears about it once. Only the
|
|
190
|
+
question's audience counts; bots and the asker are ignored.
|
|
181
191
|
- **The instructions are posted in `ja` or `en`.** `--lang` (or `SLACK_TERM_LANG`) decides;
|
|
182
192
|
otherwise the answerers' Slack locale when they all share one, else the language the
|
|
183
193
|
question is written in, else the system locale, else `ja`. The confirm gate prints the
|
|
@@ -187,7 +197,7 @@ without losing clicks. A reaction is durable state anyone can read back later.
|
|
|
187
197
|
- **Exit codes** are the contract: `0` answered (the answer alone on stdout), `2` nobody
|
|
188
198
|
replied, `3` transport/config failure, `4` a reply matched several choices (stdout
|
|
189
199
|
empty), `6` the question was **voided** (stop waiting), `5` a **free-text reply** that picked none of the offered choices — the reply
|
|
190
|
-
text is on stdout. Everything human-facing goes to stderr, so
|
|
200
|
+
text is on stdout. `7` (only with `--explain-exit`) — ℹ️ pressed, explain and collect again. Everything human-facing goes to stderr, so
|
|
191
201
|
`ANS=$(slack ask … --wait)` is safe.
|
|
192
202
|
- **A reply that chooses nothing is delivered, but is not a decision.** When choices were
|
|
193
203
|
offered, only a reaction, the choice text, or its number is a decision (`0`). A reply
|
|
@@ -254,7 +264,8 @@ an answer can be pressed and nobody ever hears about it.
|
|
|
254
264
|
collected, and lists the ones somebody answered — grouped by the asking session, with
|
|
255
265
|
the agent pid and whether it is still alive (pid running, started before the ask, same
|
|
256
266
|
CLI), and per item the exact `collect:` line to run (cursor included). It is read-only —
|
|
257
|
-
nothing is posted, edited, stamped or relayed
|
|
267
|
+
nothing is posted, edited, stamped or relayed (an ℹ️ explain request is reported on
|
|
268
|
+
stderr, but its thread note is left to `--wait`/`--waitFor`). Collecting is that `slack ask --waitFor=…`
|
|
258
269
|
line: an answer it hands over (exit 0) takes the ask off the list; a free-text reply it
|
|
259
270
|
hands over (exit 5) is not reported again, but a pill pressed after it is.
|
|
260
271
|
|