Repository navigation
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bub | fd824a0 | Commit Preview URL Branch Preview URL |
Oct 10 2026, 05:16 AM |
PsiACE
force-pushed
the
refactor/republic-provider-migration
branch
from
October 9, 2026 16:48
c40a64d to
fbdbb03
Compare
PsiACE
force-pushed
the
refactor/republic-provider-migration
branch
2 times, most recently
from
October 9, 2026 17:12
50b6c6d to
4f5ba07
Compare
PsiACE
force-pushed
the
refactor/republic-provider-migration
branch
from
October 9, 2026 17:21
4f5ba07 to
2426720
Compare
frostming
reviewed
Oct 10, 2026
| "typer>=0.24.1", | ||
| "authlib>=1.7.2", | ||
| "any-llm-sdk[anthropic]>=1.22.1", | ||
| "republic @ git+https://github.com/bubbuild/republic.git@449debdfed5b45dffb4744091db84fbbeb0704b7", |
Collaborator
There was a problem hiding this comment.
We can cut a preview release before we process this.
Member
Author
There was a problem hiding this comment.
😘 and we should give bub a new release
frostming
reviewed
Oct 10, 2026
| "mistral": "Mistral AI", | ||
| "deepseek": "DeepSeek", | ||
| "custom": "Other provider (SDK provider name)", | ||
| "custom": "Other registered Republic provider", |
Collaborator
There was a problem hiding this comment.
Add magpie since republic natively supports it.
frostming
reviewed
Oct 10, 2026
| result = close() | ||
| if inspect.isawaitable(result): | ||
| await result | ||
| client = republic.get_provider(provider, **client_args) |
Collaborator
There was a problem hiding this comment.
use an async context manager, it is landed in republic lately
This branch has not been deployed
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.
Builtin model requests use Republic for provider authentication, message encoding and streaming. Bub owns turn orchestration, hooks, tool execution and tape storage, and converts its persisted messages into Republic messages at the request boundary.
The builtin contract uses text/media blocks with kind, MIME type and URL, flat Republic tool-call fields, and native token usage fields. Reasoning, opaque provider data and tool metadata survive tape reload and replay for the same provider/model. Named endpoints keep independent credentials. The runtime consumes a Republic stream directly and reads completed outcomes from
Stream.response. Partial event data supports hook errors and cancellation traces. Fallback applies before a stream opens; incomplete streams raise an error before tool execution. Republic owns stream completion. Model and stream contexts close owned HTTP clients on completion, failure and cancellation while preserving caller-supplied clients.ChatGPT plan access uses
codex:<model>andbub login codex, with Codex CLI file credentials,--device-auth, and an optional credential directory.openai:<model>uses API credentials. Provider names and protocol defaults follow Republic; onboarding includes Magpie and savesapi_format: chatfor Chat Completions services. Provider options and chat options pass directly to Republic. Bub supplies the tools, runtime token limit and session reasoning chat option. Provider-specific fields go inextra_body; Republic deep-merges provider defaults with request extras and applies explicit wire fields last.English and Chinese documentation describe the current commands, settings and message contracts. Agent and channel tests use isolated fixtures; provider tests verify native fields and actual HTTP requests. Behavior coverage includes hooks, tool handlers, subprocess login, stream outcomes, credential isolation, cancellation and persisted replay, including replay in a fresh process.
Uses the published Republic 0.6.0a1 preview from PyPI, including native audio input and the
republic.tool(...)message API.Validation:
make check: lock validation, all-file prek and mypy passed (56 source files).uv buildpassed.