OptionalrevealAlso bring the user to the editor, ACROSS activities (TOOLS_ACTIVITY_SPEC §5.2). An app that owns the main pane (the Tools activity's runner sits where the editor would) cannot rely on the file simply becoming visible — the editor is not on screen — so this asks the host to switch to the activity that owns it.
This is the elevated editor:reveal capability, not editor:open: a frame
without it is refused forbidden for the whole call (the file is NOT opened —
never silently opened-without-moving). The host decides whether the user actually
moves: it needs a real user gesture (a click in your frame within the last few
seconds counts; a call on a timer or on run completion does not) and is
rate-limited. The promise resolves the same either way, so treat a resolved
reveal as "asked", not "moved", and keep a visible fallback control. Where the
host owns the editor activity is host state; nothing here can name it.
Options for openInEditor (R3-389).