You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add built-in plugin directory support
* Address built-in plugin directory feedback
Use a plain code fence for the single-language docs example and clear Go connection state when built-in plugin registration fails so reconnect can start cleanly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd609bcf-9f69-4d40-960b-dbd12e90158a
* Address .NET code scanning comments
Make the built-in plugin path validation filter explicit and avoid Path.Combine in the test paths flagged by code scanning.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd609bcf-9f69-4d40-960b-dbd12e90158a
---------
Copilot-Session: cd609bcf-9f69-4d40-960b-dbd12e90158a
Copy file name to clipboardExpand all lines: docs/features/plugin-directories.md
+35Lines changed: 35 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -240,6 +240,41 @@ let client = Client::start(
240
240
241
241
> The example above uses an stdio runtime connection — the default when the SDK bundles the CLI. If you connect to an external runtime via a URL (`forUri` / `ForUri`), pass `--plugin-dir` to the long-running CLI server when you start it; the SDK does not forward `--plugin-dir` to runtimes it didn't spawn.
242
242
243
+
## Trusted host-bundled plugin directories
244
+
245
+
Applications that ship their own trusted plugins can register them as a client startup option. The SDK sends the complete ordered set after connecting and verifying the protocol, before `start` returns or any session can be created. Paths must be absolute; leaving the option unset or empty makes no RPC call.
This is a trust boundary for plugins bundled and controlled by the host application. It is distinct from `--plugin-dir`, which is a CLI process launch argument for explicitly loading ordinary plugin directories. The startup option also works when connecting to an existing runtime because it is sent over JSON-RPC rather than forwarded as a process argument.
277
+
243
278
## What a plugin can contribute
244
279
245
280
Loading a plugin directory makes its extensions visible to every session created by the client. The runtime merges plugin-provided extensions with anything you register inline:
0 commit comments