slack-term 1.41.1 → 1.42.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 +9 -0
- package/SKILL.md +12 -0
- package/dist/cli.js +210 -203
- package/package.json +1 -1
- package/ts/cli.ts +362 -112
- package/ts/sentlog.ts +106 -2
- package/ts/slack.ts +3 -2
package/README.md
CHANGED
|
@@ -139,6 +139,9 @@ ANS=$(slack ask "@bob" "本番に出してよい?" "出してよい" "待って"
|
|
|
139
139
|
slack ask "#eng" "@alice この PR 出してよい?" "出す" "待つ" # only alice's answer counts
|
|
140
140
|
slack ask "#eng" "@here 誰か見れる?" "見る" "あとで" # anyone in #eng; real broadcast
|
|
141
141
|
# (In a 1:1 DM the other party counts automatically — no tag needed.)
|
|
142
|
+
# A tag that resolves to no one (no match, ambiguous, or the user list could not be read)
|
|
143
|
+
# refuses the ask rather than dropping that answerer. With --as-bot, @tags and an
|
|
144
|
+
# @user destination resolve with the bot token (it needs users:read).
|
|
142
145
|
#
|
|
143
146
|
# With no choices the question asks for a free-text reply and the reply is the answer.
|
|
144
147
|
# In a DM a plain reply counts; in a channel only reactions and thread replies do.
|
|
@@ -170,6 +173,12 @@ eval "$RESUME --timeout 0" && echo answered
|
|
|
170
173
|
# A pressed pill is invisible to `slack tail` (it only sees `type: "message"`
|
|
171
174
|
# events and drops `message_changed`), so this is the only way to hear about an
|
|
172
175
|
# answer to a question you did not block on.
|
|
176
|
+
#
|
|
177
|
+
# Answered but never collected? Asks from THIS machine (local sent-log) whose pill was
|
|
178
|
+
# pressed, or that got a reply, while nobody was waiting — grouped by the asking
|
|
179
|
+
# session, with whether that agent is still alive and the --waitFor line that
|
|
180
|
+
# collects each. Read-only: collecting (that line) is what takes it off the list.
|
|
181
|
+
slack ask --pending # last 7 days; --since 2h, --channel, --json
|
|
173
182
|
|
|
174
183
|
# Who sent what: every send/ask/poll/edit is logged locally with its sender —
|
|
175
184
|
# pid, cwd, git branch, agent CLI and session id — and the same attribution rides
|
package/SKILL.md
CHANGED
|
@@ -160,6 +160,9 @@ without losing clicks. A reaction is durable state anyone can read back later.
|
|
|
160
160
|
whole channel). Only their reaction/reply is taken as the answer; an unaddressed
|
|
161
161
|
question is refused (exit 3) rather than let the first bystander decide it. In a 1:1 DM
|
|
162
162
|
the other party counts automatically.
|
|
163
|
+
A tag that resolves to no one (no match / ambiguous / user list unreadable) refuses the
|
|
164
|
+
ask (exit 3) — use `<@USERID>` to be explicit. With `--as-bot`, tags and an `@user`
|
|
165
|
+
destination resolve with the bot token (so the bot needs `users:read`).
|
|
163
166
|
- **Answer paths**: a pill, or free text. In a DM a plain reply counts; in a channel only
|
|
164
167
|
reactions and thread replies do (a channel carries unrelated traffic).
|
|
165
168
|
- **❓ is the standing "other" choice.** Every question with choices lists it last
|
|
@@ -237,6 +240,15 @@ This path is not optional convenience — **a pressed pill is invisible to `slac
|
|
|
237
240
|
which only sees `type: "message"` events and drops `message_changed`. Without `--waitFor`
|
|
238
241
|
an answer can be pressed and nobody ever hears about it.
|
|
239
242
|
|
|
243
|
+
**Answered, never collected.** `slack ask --pending` (`--since 7d` default, `--channel`,
|
|
244
|
+
`--json`) checks every ask in this machine's sent-log that no `--wait`/`--waitFor` has
|
|
245
|
+
collected, and lists the ones somebody answered — grouped by the asking session, with
|
|
246
|
+
the agent pid and whether it is still alive (pid running, started before the ask, same
|
|
247
|
+
CLI), and per item the exact `collect:` line to run (cursor included). It is read-only —
|
|
248
|
+
nothing is posted, edited, stamped or relayed. Collecting is that `slack ask --waitFor=…`
|
|
249
|
+
line: an answer it hands over (exit 0) takes the ask off the list; a free-text reply it
|
|
250
|
+
hands over (exit 5) is not reported again, but a pill pressed after it is.
|
|
251
|
+
|
|
240
252
|
### sent — what did I post, and which session posted it
|
|
241
253
|
|
|
242
254
|
Every `send`/`ask`/`poll`/`edit` is logged locally (`~/.config/slack-cli/sent.sqlite`)
|