* perf(rpc): stop the dispatcher importing every RPC method by default
Callers pass the method list. A test that builds a dispatcher no longer loads
the full method registry, cutting the dispatcher's import graph from ~4k to
~550 modules.
* chore(lint): keep the RPC dispatcher and plugin RPC off the method registry
---------
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
* feat(plugins): let full-access workers act on workspaces, terminals and agents
Host API minor 3 adds worker-only rows: workspace.list (workspace:read),
workspace.open (workspace:write), terminal.create (terminal:send),
terminal.read (terminal:read, at most 2,000 lines) and agent.launch
(agent:launch). Each dispatches the runtime RPC method the orca CLI calls,
in process with the CLI's identity, so it runs on the host that owns the
workspace (local, WSL or SSH) and covers folder workspaces. The new
capabilities arrive in 1.4.248; typings, docs and skill references are
generated from the table.
* fix(plugins): make workspace host actions safe to revoke, cancel and target
- Each runtime effect re-checks the plugin's approval right before the
runtime acts (a dispatcher beforeInvoke hook, after its own waits), and a
worker's cancel or exit now aborts the call's signal through to the runtime.
- agent.launch starts the agent's CLI in a background terminal and returns
its handle at once; a prompt is delivered afterwards through the runtime's
own reuse-terminal path, so the host call never waits for the composer.
- workspace.list adds project-group folder workspaces and returns ids that
name their host (identity: keys), so twins on two hosts are never ambiguous.
- terminal.create passes presentation background; terminal.read counts a
runtime-limited read as truncated. workspace.open refuses folders as
unavailable until a window-side open lands.
* plugins: keep both API extensions and host-call tracking under the line limits after rebasing on the hooks
Worker-only status bar and workspace methods spread into PLUGIN_HOST_API through
one module, the in-flight host call map moves into PluginWorkerHostCalls, and
bindPluginRuntime builds the runtime RPC so main-process-plugins.ts keeps its
size; regenerated docs and typings.
Co-Authored-By: Claude <noreply@anthropic.com>
* chore(plugins): regenerate after rebasing on the editor recipe and shots
* chore(plugins): regenerate after rebasing on the plugin shot recipe
---------
Co-authored-by: Claude <noreply@anthropic.com>