slack-term 1.45.0 → 1.47.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 +3 -0
- package/SKILL.md +14 -3
- package/dist/cli.js +203 -202
- package/package.json +1 -1
- package/ts/botIntent.ts +1 -0
- package/ts/cli.ts +213 -8
- package/ts/relay.ts +171 -10
- package/ts/slack.ts +32 -0
- package/ts/slackTodos.ts +4 -3
- package/ts/stream.ts +2 -2
package/README.md
CHANGED
|
@@ -444,6 +444,9 @@ slack stream --grep '<@U00000001>' --replies-to self --json # + every reply in
|
|
|
444
444
|
when the relay is down it goes back to `--interval`. Both paths share one record of
|
|
445
445
|
what was printed, so a message is never printed twice. The relay is used only when
|
|
446
446
|
streaming as the bot (it rings for the bot's channels) and never with `--once`.
|
|
447
|
+
The connection is a WebSocket (the relay hibernates between bells, so an idle
|
|
448
|
+
connection costs next to nothing); against a relay deployed before that, it falls
|
|
449
|
+
back to Server-Sent Events. `SLACK_RELAY_TRANSPORT=websocket|sse` pins one.
|
|
447
450
|
- **Polling fallback** (no relay configured, `--as-user`, or `--no-relay`). The stream
|
|
448
451
|
prints a `WARNING: polling mode` line on stderr, pointing to the relay setup. It
|
|
449
452
|
polls every `--interval` (default `45s`), paced to stay inside Slack's rate limits:
|
package/SKILL.md
CHANGED
|
@@ -362,7 +362,7 @@ Reason flags stack independently of progress and of each other: ❗ `exclamation
|
|
|
362
362
|
`slack thread`/`slack read` before replying to avoid duplicates; consolidate multiple
|
|
363
363
|
points into one message.
|
|
364
364
|
|
|
365
|
-
### todos — Slack's To-dos tab
|
|
365
|
+
### todos — Slack's To-dos tab
|
|
366
366
|
|
|
367
367
|
Not `slack todo`: that tracks tasks as reactions. `slack todos` reads Slack's own
|
|
368
368
|
**personal** To-dos tab (the successor of "Later"), the list in the sidebar.
|
|
@@ -371,12 +371,23 @@ Not `slack todo`: that tracks tasks as reactions. `slack todos` reads Slack's ow
|
|
|
371
371
|
slack todos # open to-dos, soonest due first (OVERDUE marked)
|
|
372
372
|
slack todos --filter completed # also: saved (everything saved), archived
|
|
373
373
|
slack todos --json -n 20 # one object per item: due, done, permalink, text
|
|
374
|
+
|
|
375
|
+
# Writes — gated like send: the first run previews and prints a code, rerun with --code=<code>
|
|
376
|
+
slack todos add "<permalink>" --due 2026-11-01T18:00 # --saved: no checkbox
|
|
377
|
+
slack todos done "<permalink>" # --undo reopens it
|
|
378
|
+
slack todos edit "<permalink>" --due none # or --due <time>, --todo / --saved
|
|
379
|
+
slack todos rm "<permalink>" # removes the to-do; the message stays
|
|
374
380
|
```
|
|
375
381
|
|
|
382
|
+
A To-do always points at a message, so the target is a message permalink or
|
|
383
|
+
`#chan:<ts>`. `add` refuses a message that is already saved; `done`/`edit`/`rm`
|
|
384
|
+
refuse one that isn't (Slack's delete answers ok even when there is nothing to
|
|
385
|
+
delete, so the CLI checks first).
|
|
386
|
+
|
|
376
387
|
There is no public API: it uses the desktop client's internal `saved.list`, so
|
|
377
388
|
it needs the **xoxc session** (`slack auth login`) and shows only your own
|
|
378
|
-
to-dos. Bots can't see them.
|
|
379
|
-
|
|
389
|
+
to-dos. Bots can't see them. Writes use the internal `saved.add` /
|
|
390
|
+
`saved.update` / `saved.delete`. Slack can change these endpoints without notice.
|
|
380
391
|
|
|
381
392
|
## Output formatting
|
|
382
393
|
|