Repository navigation
feat(omp): add native RPC client and wire types - #897
Draft
bandzalkin wants to merge 1 commit into
Draft
bandzalkin wants to merge 1 commit into
bandzalkin wants to merge 1 commit into
Conversation
bandzalkin
force-pushed
the
feat/omp-native-rpc-client-INT-1890
branch
from
October 21, 2026 15:35
78aa0de to
0c68d15
Compare
bandzalkin
added this pull request to stack #903
October 21, 2026 15:41
bandzalkin
force-pushed
the
feat/omp-native-rpc-client-INT-1890
branch
from
October 21, 2026 16:13
0c68d15 to
68580bc
Compare
bandzalkin
added a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: d099198 Source-Head: 68580bc Upstream-PR: band-ai#897
bandzalkin
force-pushed
the
feat/omp-native-rpc-client-INT-1890
branch
from
October 21, 2026 17:52
68580bc to
4b01955
Compare
The ACP bridge hides OMP's native lifecycle: sessions, model and thinking selection, host tool calls, permission dialogs and ask questions. This adds the transport a native adapter needs: OmpRpcClient (JSONL RPC over the omp process stdio, with process-tree reaping), typed wire frames, the native launch settings and SDK-owned MCP plugin projection in band.integrations.ompprocess, and the per-room session converter. The shared normalizer gains a namespace keyword so plugin-projected tool names map back to Band tools; omp_acp's spellings are unchanged.
bandzalkin
force-pushed
the
feat/omp-native-rpc-client-INT-1890
branch
from
October 21, 2026 17:56
4b01955 to
0b6c1e4
Compare
bandzalkin
added a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: 0b6c1e4 Upstream-PR: band-ai#897
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: 0b6c1e4 Upstream-PR: band-ai#897
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: 0b6c1e4 Upstream-PR: band-ai#897
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: 0b6c1e4 Upstream-PR: band-ai#897
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.
Why
The ACP bridge hides OMP's native lifecycle: sessions, model and thinking selection, host tool calls, permission dialogs and ask questions. A native adapter needs a transport that speaks OMP's JSONL RPC directly and a place for the process/MCP plumbing that does not change the ACP vocabulary
omp_acpdepends on.What
band.integrations.omprpc.OmpRpcClient: the persistent subprocess transport (RPC v2 negotiation, chunk reassembly, command correlation, host tool and UI callbacks, abort/EOF/kill shutdown with process-tree reaping viapsutil).band.integrations.ompwire: typed frames, events and content models.band.integrations.ompprocess: native launch settings and pin, provider environment, the SDK-owned MCP plugin overlay (.mcp.json, always-apply rule, startup receipt), and the plugin-namespaced tool-name normalizer.band.converters.omp: per-room native session files from task-event metadata.ompextra (psutil>=6), lockfile, converter registration and tests.band.integrations.ompgains a keyword-onlynamespacewhose default keeps today's behavior foromp_acp.Scope
Transport layer only; the adapter is the next PR of this stack. Nothing
omp_acpimports changes semantics. First PR of the native OMP stack (basemain).