-
Notifications
You must be signed in to change notification settings - Fork 0
feat: add file handling, Slack Assistant support, and comprehensive MCP OAuth system #83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…CP OAuth system - Add file upload/download API routes with streaming support and worker authentication - Implement Slack Assistant integration with native UI support and suggested prompts - Create custom show_to_user tool for workers to share files via Slack - Add comprehensive MCP OAuth system with automatic discovery and dynamic client registration - Refactor CLI package with simplified init and MCP server management - Add example configurations for MCP OAuth and custom Peerbot setups - Simplify DevContainer configuration for faster setup - Update documentation with comprehensive OAuth setup guides This enables workers to handle files, integrates with Slack's Assistant UI, and provides a robust OAuth system for MCP servers with multiple authentication patterns.
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // Determine if this is a new conversation | ||
| const isNewConversation = !context.threadTs || !existingSession; | ||
| // A conversation is new only if this message is the ROOT of the thread (messageTs === threadTs) | ||
| // OR if there's no thread_ts at all (first message in a channel/DM) | ||
| const isNewConversation = | ||
| context.messageTs === normalizedThreadTs && !existingSession; | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New conversation detection ignores first replies in threads
The new logic now treats a request as a fresh conversation only when messageTs === normalizedThreadTs. This fails for the common case where a user first summons the bot by replying inside an existing Slack thread: thread_ts points to the root message, messageTs is different, and no prior session exists, so isNewConversation becomes false. The code then enqueues a follow‑up payload without ever deploying a worker, leaving the user message unhandled. The previous implementation simply checked !existingSession, which correctly bootstrapped a worker for first replies. Consider restoring the !existingSession guard so that the first message in any thread (root or reply) triggers deployment.
Useful? React with 👍 / 👎.
| "peerbot": "./bin/peerbot.js" | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CLI package points to missing executable
The package manifest still declares a CLI entry at ./bin/peerbot.js, but this commit removes the bin directory entirely—there is no source or build output that produces that file. Installing or invoking @peerbot/cli will fail with “Cannot find module …/bin/peerbot.js” because the binary cannot be resolved. Update the bin field to point at a real script (e.g., dist/index.js) or restore a generated CLI entry before publishing.
Useful? React with 👍 / 👎.
Description
This PR introduces major new capabilities to Peerbot including file handling, Slack Assistant integration, and a comprehensive MCP OAuth authentication system.
Type of Change
Key Features Added
File Handling System
Slack Assistant Integration
Custom Tools for Workers
MCP OAuth Enhancements
CLI Improvements
Testing
Documentation Updates
This PR significantly expands Peerbot's capabilities, making it a more complete solution for AI-powered Slack interactions with proper file handling and extensive third-party integrations through MCP.