Patch Changes
- 6c433f4: Expose thread-scoped cancellation in Slack message and interaction contexts, plus target-addressed cancellation in
onEvent, so authored Slack handlers can stop or replace in-flight turns. - 835f076: Emit an initial NDJSON whitespace byte when opening a session event stream so clients and proxies receive the response body before the first durable event.
- f36f143: Added
thread.listParticipants()for Slack thread routing based on the unique human participants in first-appearance order. - eb92ee3: Allow
session.send()andsession.stream()callers to disable automatic stream reconnection withstreamReconnectPolicy: { reconnect: false }, so relays and proxies can own cursor recovery and retry policy. - 4133ffc: Slack thread helpers now reuse messages loaded within the same inbound handler, while overlapping
thread.refresh()calls share one request and failed refreshes preserve the last successful snapshot. - ee72db8: Messages posted by the installed Slack app are now ignored before reaching message hooks to prevent self-reply loops.
- bd4397b: Fixed Slack
threadContextwithsince: "last-agent-reply"so only replies from the installed app move the context boundary. Replies from other bots remain part of the incremental thread context, are labeledbotinstead ofagentin the injected transcript, and their file uploads are now eligible for mention attachment lookback. - 64dbe2b: Add actionable authored-module evaluation errors that identify installed packages and distinguish extensionless ESM from missing package output while preserving the original failure as the cause.