Repository navigation
feat(integrations): discover native OMP model catalogs - #848
Closed
bandzalkin wants to merge 81 commits into
Closed
bandzalkin wants to merge 81 commits into
bandzalkin wants to merge 81 commits into
Conversation
Give the repeated tool-completion and privacy checks one helper, and name the ACP call record so activity identity is not a bare tuple. Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Oct 18, 2026
bandzalkin
force-pushed
the
feat/host-list-models-omp-refresh
branch
from
October 19, 2026 02:53
b55dd47 to
fbcc89f
Compare
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 19, 2026
Source-Base: 0d851ac Source-Head: fbcc89f Upstream-PR: band-ai#848
bandzalkin
force-pushed
the
feat/host-list-models-omp-refresh
branch
from
October 20, 2026 06:36
fbcc89f to
5d27cc3
Compare
bandzalkin
requested review from
AlexanderZ-Band and
amit-gazal-band
as code owners
October 20, 2026 06:36
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 20, 2026
Source-Base: d87d7c5 Source-Head: 5d27cc3 Upstream-PR: band-ai#848
…t-activity-detail-to-the-platform-INT-1744 Keep main's BackendTurns ownership of OpenCode cancellation and register the watcher as a turn worker so activity reporting outlives the handler. Reporter unit tests move to tests/runtime/workingreporter; main's workingstate package keeps the execution-level tests. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AgnNR4uiqD787Bg3yKdZpL
…detail-to-the-platform-INT-1744' into feat/python-sdk-report-activity-detail-to-the-platform-delivery-INT-1744 Port the startup-backlog claim-failure test edit to the split tests/runtime/execution package. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AgnNR4uiqD787Bg3yKdZpL
…detail-to-the-platform-delivery-INT-1744' into feat/python-sdk-report-activity-detail-to-the-platform-producers-INT-1744 Adopt main's agno and tool test layouts and carry the producer edits into them; keep the split CrewAI/Parlant coverage guards with main's new paths. Letta streams provider events through main's BackendTurns run, and the CrewAI flow tool activity wraps main's turn-owned tool execution. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AgnNR4uiqD787Bg3yKdZpL
It runs three collect-only subprocesses, which exceeded the default per-test timeout on Windows runners. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AgnNR4uiqD787Bg3yKdZpL
The restack merge resolved src/band/runtime/tools/agent.py to this branch's older lineage and dropped the activity observation the producer stack added: the class decorator reporting method calls and the model-tool wrapper around execute_tool_call. Native OMP work does not touch that surface; restore it from the prerequisite.
bandzalkin
added a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 20, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: 2dc539a Source-Head: deabb1e Upstream-PR: band-ai#848
Live capture on the platform showed the OMP hooks posting tool_call activity details even when Emit.TOOL_CALLS was off: the activity channel is separate from event narration, so the hook sites need the same gate the narration already had. I-01/I-02: with tool reporting off, no tool kind or name may reach the reporter. Tests now pin the gate directly (activity follows the switch) instead of the incorrect independence premise. Co-Authored-By: Claude <noreply@anthropic.com>
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: 41fb96e Source-Head: ce5f0fa Upstream-PR: band-ai#848
The mask wrapper was attached only when the flag was already off, so an adapter that binds its observer before the emit sync (codex's item/started path) kept reporting named tool_calls after the choice was turned off. The observer now always wraps and reads the live flag on every report; the hook site gates on the OMP branch remain as the second guard. Red-first test: observer bound with names on, choice flipped off mid-turn, tool report must arrive nameless. Co-Authored-By: Claude <noreply@anthropic.com>
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: 3098914 Source-Head: 26fd6bd Upstream-PR: band-ai#848
F-8 closure evidence: an observer bound at turn start now reads the gate flag at report time (d764959, covered by the flip-after-binding test), and a stale continuation report after the next turn takes activity ownership is fenced before it can name anything. The two guards seal R-02 for OMP background-yield continuations; no production change is required.
Contributor
Author
|
Closing: band-agent does not consume this; may be re-proposed per feature. |
bandzalkin
added a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
bandzalkin
added a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Select upstream band-ai#841 (activity producers, carrying band-ai#839/band-ai#840 via forward merges), band-ai#874 after 841 (tool-name emit gate with the I-08 name clamp), the host stack ahead of band-ai#763, band-ai#763 after 874 (native OMP with the tool/permission activity hooks and omp_acp retirement), and band-ai#854/band-ai#795/band-ai#848 after 763. Replayed from the branches' live heads.
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.
Summary
This lets hosts discover OMP's configured models before opening a Band room or running inference.
await adapter.probe_models(timeout_s=...)returns a canonicalModelCatalogfromomp models --json, with temporary native RPC discovery when the CLI route is unavailable, invalid or ambiguous.launchonly at a known command boundary; otherwise use the original command for RPC rather than risk changing the inventory.list_modelshook.cleanup_all()retry. Whole-adapter cleanup waits for probe and room teardown before reporting failures, and retiring native sessions receive no new work.Depends on #763. The shared host contracts are included here; #844 is not a prerequisite. Retain the adapter instance until cleanup settles. A catalog does not prove provider authentication or inference entitlement.
Validation
Regression coverage includes CLI/RPC fallback, launcher and native flag routing, metadata fidelity, installed-executable extension loading, cancellation, descendant custody and cleanup retry.