31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# A-route UIA Send Implementation Note
|
|
|
|
Date: 2026-07-11
|
|
Branch: `codex/a-route-rpa-send`
|
|
|
|
## Decision
|
|
|
|
The A-route fallback is now function-first. It does not introduce an approval ID gate inside the MCP tool or connector. Digital employee policy can decide when to call `execution_mode="production"`; the connector focuses on performing the UI action when explicitly configured.
|
|
|
|
## Implemented local-safe proof
|
|
|
|
- `SendMessageConnectorRequest` now carries `ContentText` to the connector only.
|
|
- `internal/tools/send_message_uia_adapter.go` maps production send requests to helper op `uia_send_message`.
|
|
- `native/ISphereWinHelper/UiaSendAction.cs` sets the send editor text and invokes the send button by UI Automation / Win32 fallback.
|
|
- `scripts/verify-win-helper.ps1` uses a synthetic WinForms window to prove write + button invoke without requiring iSphere login.
|
|
|
|
## Runtime configuration
|
|
|
|
```powershell
|
|
$env:ISPHERE_SEND_CONNECTOR_MODE = "uia_rpa"
|
|
$env:ISPHERE_SEND_UIA_HWND = "0x001A0B2C"
|
|
$env:ISPHERE_SEND_UIA_EDITOR_AUTOMATION_ID = "rtbSendMessage"
|
|
$env:ISPHERE_SEND_UIA_BUTTON_AUTOMATION_ID = "btnSend"
|
|
```
|
|
|
|
Then call `isphere_send_message` with `execution_mode="production"`.
|
|
|
|
## Remaining real-environment work
|
|
|
|
The local environment still cannot log in to iSphere. The code path is implemented and locally proven against synthetic UIA, but real iSphere success still needs a logged-in window handle and one real run in the online environment.
|