feat: add b-route send adapter shell

This commit is contained in:
zhaoyilun
2026-07-10 20:40:18 +08:00
parent b08b0e01bd
commit 713917d929
5 changed files with 178 additions and 7 deletions

View File

@@ -296,7 +296,7 @@ git push gitea main
- Produces: `func NewBRouteSendMessageConnector(config BRouteSendAdapterConfig) SendMessageConnector`.
- In this round, accepted modes are `disabled` and `dry_run_contract`; any other mode returns `broute_mode_blocked`.
- [ ] **Step 1: Write disabled-mode test**
- [x] **Step 1: Write disabled-mode test**
```go
func TestBRouteSendMessageConnectorDisabledMode(t *testing.T) {
@@ -309,15 +309,15 @@ func TestBRouteSendMessageConnectorDisabledMode(t *testing.T) {
}
```
- [ ] **Step 2: Write dry-run contract test**
- [x] **Step 2: Write dry-run contract test**
Add `TestBRouteSendMessageConnectorDryRunContract` asserting no external process starts and result contains `ConnectorMode="broute-dry-run-contract"` and `Accepted=false`.
- [ ] **Step 3: Implement adapter shell**
- [x] **Step 3: Implement adapter shell**
Implement a connector that validates request fields and returns contract-shaped blocked/dry-run results only. Do not call `Start-Process`, do not load DLLs, do not click/type.
- [ ] **Step 4: Verify and commit**
- [x] **Step 4: Verify and commit**
```powershell
git diff --check
@@ -332,6 +332,14 @@ git push gitea main
**Acceptance gate:** B-route contract exists; no real send entrypoint is invoked.
**R6i Result:**
- Added `internal/tools/send_message_broute_adapter.go` with `BRouteSendAdapterConfig` and `NewBRouteSendMessageConnector`.
- Added disabled-mode and dry-run-contract tests.
- `disabled` returns `broute_mode_blocked`; `dry_run_contract` validates request shape and returns `broute_dry_run_only`.
- The adapter shell does not start a sidecar, load DLLs, click/type UI, replay network traffic, or upload files.
- Production `isphere_send_message` remains blocked in the default MCP runtime.
---
### R6j: Online sandbox-send recording package v2