* feat(plugins): unify source installation and simplify plugin settings * feat(plugins): install npm sources and review CLI updates Treat install selectors as one-time choices. Keep source identity separate from the installed revision, and resolve ordinary updates from the current upstream default. npm only acquires directories; plugin loading remains independent of npm. * fix(plugins): preserve CLI diagnostics and exercise reviewed updates Move new source capability coverage to real browser journeys. Update the requirements regression to exercise preview and apply, and preserve the existing duplicate-selector diagnostic across positional option scopes. * test(plugins): remove unused pending helper * test(plugins): pack registry fixtures with the Windows command runner * test(plugins): assert failed client contribution setup * docs(plugins): consolidate guides and document npm publishing * docs(plugins): introduce publishing choices before npm instructions * test(plugins): own browser journey cleanup in a fixture * feat(plugins): prepare scaffolded packages for publishing
Agent configuration
Changes new Codex agents through server.before("agent.create", ...):
- Sets
config.providerOptions.sandbox_modetoworkspace-write. - Sets
config.providerOptions.approval_policytoon-request. - Adds the
companyserver toconfig.mcpServers. - Preserves other configuration, provider options, MCP servers, and environment overrides.
Replace https://tools.example.com/mcp in index.server.ts with your MCP server URL before using
this example. The URL is a placeholder. The company entry replaces an existing server with that name.
Install on a daemon with plugins enabled:
paseo plugin install /absolute/path/to/plugin-examples/agent-configuration
The callback receives the request after earlier plugins have transformed it. The nested spreads preserve their settings; the explicit values replace only the named fields. Paseo validates and saves the resulting configuration before starting the agent. Existing agents are unchanged.
See the lifecycle reference for ordering and callback shapes. Lifecycle actions demonstrates provider switching and environment injection. Its provider-switch callback clears provider options when changing Codex to Claude, so use these examples separately when trying the Codex-specific settings.