A plugin web view can open a read-only editor tab that streams a process's output, with plugin-defined toggles, Find, wrap, zoom and Clear. The process is authorised in the backend against the exact granted `process:<program>` and its pinned executable, output is bounded, and the stream survives tab switches but ends when the tab closes, the plugin is disabled or the window closes. Adds a web-log test fixture and docs. Verified on macOS; Windows/Linux not run. Co-authored-by: dengliu <[email protected]>
1.2 KiB
Rust plugin SDK
The Rust API is documented by cargo doc. Web pages shipped alongside a Rust
component use window.openidea rather than Rust imports.
API 1.3 adds capability-gated interactive PTYs to that web bridge. Declare
engines.openidea = "^1.3" and process:<program> in plugin.toml, then send
pty-spawn, pty-input, pty-resize and pty-kill JSON strings using
openidea.postMessage. Consume pty-data and acknowledge its sequence using
pty-ack; handle pty-exit and pty-error through openidea.onMessage.
See the protocol, permission and resource limits and the minimal fixture. The frame cannot access IPC directly. Its sessions belong to that frame and end with its view or plugin. There is no new WIT import for this API.
API 1.3 also adds open-log-tab to the web bridge: a generic read-only editor
tab streams output from a granted process, with plugin-defined argument toggles.
It uses the same backend authorization and bounded PTY transport. See the
protocol and lifecycle
and the built fixture.