[Fix] Keep Fast tools available across task events - #1439
Draft
daniel-lxs wants to merge 4 commits into
Draft
Conversation
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
ignore_eventfor platform events,retry_task_startfor eligible startup failures, and chat reactions for turns with an incoming message to react to.Why
Fast's action schema, prompt policy, runtime guard, and injected callbacks previously disagreed about whether an action was available. In particular, automatic delegated-task events rejected ordinary orchestration actions and did not receive the launcher used by normal Slack turns.
This change gives Fast one consistent operational model: the source of a turn changes its context and presentation, not its ordinary tools. Each action still applies its own argument, target, and permission validation.
Behavior
launch_task,send_task_message,cancel_task,call_integration,send_chat_replyignore_eventretry_task_startsend_chat_reaction_emojiPlatform events remain trusted internal task updates rather than new human instructions. Fast may ignore routine events, use ordinary tools when the event and conversation justify them, and produces at most one visible closeout for an automatic event.
Validation
pnpm lintpnpm check-typespnpm knip