fix: add channel status filtering (#80706)

Summary:
- Add `openclaw channels status --channel <name>` filtering through CLI, gateway protocol, and fallback status rendering.
- Document the BlueBubbles-to-iMessage cutover path so operators can probe iMessage without starting both monitors.
- Refresh generated Swift protocol model for the new optional channel status parameter.

Verification:
- `pnpm test src/gateway/server-methods/channels.status.test.ts src/commands/channels.status.command-flow.test.ts src/cli/program/routes.test.ts -- --reporter=verbose`
- `CI=true pnpm check:docs`
- `pnpm protocol:check`
- `git diff --check`
- `node scripts/check-changelog-attributions.mjs`
- CI head `45b27e3866`: focused/docs/protocol shards green locally; GitHub broad/scanner jobs queued for runners at merge attempt time; `Real behavior proof` failure is the maintainer-ignorable external-real-proof complaint.
This commit is contained in:
Omar Shahine
2026-05-11 10:44:54 -07:00
committed by GitHub
parent dca801c6c4
commit efc8641393
18 changed files with 265 additions and 31 deletions

View File

@@ -257,10 +257,15 @@ export function parseChannelsListRouteArgs(argv: string[]) {
export function parseChannelsStatusRouteArgs(argv: string[]) {
const timeout = parseOptionalFlagValue(argv, "--timeout");
const channel = parseOptionalFlagValue(argv, "--channel");
if (!timeout.ok) {
return null;
}
if (!channel.ok) {
return null;
}
return {
channel: channel.value,
json: hasFlag(argv, "--json"),
probe: hasFlag(argv, "--probe"),
timeout: timeout.value,

View File

@@ -138,12 +138,14 @@ describe("program routes", () => {
"status",
"--json",
"--probe",
"--channel",
"imsg",
"--timeout",
"5000",
]),
).resolves.toBe(true);
expect(channelsStatusCommandMock).toHaveBeenCalledWith(
{ json: true, probe: true, timeout: "5000" },
{ channel: "imsg", json: true, probe: true, timeout: "5000" },
defaultRuntime,
);
});