Skip to content

feat(channel): support lifecycle channel startup control#218

Merged
frostming merged 2 commits into
mainfrom
lifecycle-channels
May 25, 2026
Merged

feat(channel): support lifecycle channel startup control#218
frostming merged 2 commits into
mainfrom
lifecycle-channels

Conversation

@PsiACE
Copy link
Copy Markdown
Collaborator

@PsiACE PsiACE commented May 24, 2026

Summary

Channels are enabled by the following rules:

  • Interfaces are enabled only if explicitly included.
  • Lifecycles are always enabled unless explicitly excluded.
  • Regular channels depend on the values of include and exclude.
  • support !channel exclusions in enabled_channels / --enable-channel

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 24, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
bub 457e6cf Commit Preview URL

Branch Preview URL
May 25 2026, 09:46 AM

@PsiACE
Copy link
Copy Markdown
Collaborator Author

PsiACE commented May 24, 2026

Previously, bub-mcp only registered remote tools after its lifecycle channel was started, which meant commands like bub chat did not naturally expose MCP tools. This change allows to mark bub-mcp an auto-start lifecycle channel so MCP tools are mounted by default in channel runtimes, while adding exclusions such as !mcp.lifecycle for debugging or for intentionally disabling MCP services.

@frostming
Copy link
Copy Markdown
Collaborator

frostming commented May 25, 2026

The property names start_with_channels and role are a bit cryptic, making it hard to understand what they are supposed to do. Alternatively, using channels to manage lifetime is purely a matter of convenience; it's not obvious from the class name that they are meant to handle this.

My suggestion is to subclass Channel as Lifecycle and Interface(names can be discussed), and make those properties hidden from users.

Signed-off-by: Chojan Shang <psiace@apache.org>
@PsiACE PsiACE force-pushed the lifecycle-channels branch from ea3e589 to c4bab45 Compare May 25, 2026 09:13
@PsiACE PsiACE requested a review from frostming May 25, 2026 09:17
Comment thread src/bub/channels/manager.py
Co-authored-by: Frost Ming <me@frostming.com>
@frostming frostming merged commit 10fa015 into main May 25, 2026
6 checks passed
@PsiACE PsiACE deleted the lifecycle-channels branch May 25, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants