Skip to content

feat(lib): Expose Agent Plugin resolution to other hosts - #201

Draft
sentry-junior[bot] wants to merge 3 commits into
mainfrom
feat/lib-plugin-resolution
Draft

sentry-junior[bot] wants to merge 3 commits into
mainfrom
feat/lib-plugin-resolution

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Other hosts can now resolve Agent Plugins through @sentry/dotagents-lib without importing private CLI files. The public API returns the validated bundle and source commit, and exposes manifest, MCP, and marketplace parsing. The dotagents CLI continues to own installation, provenance, target selection, and client config. Junior can use this for its skill-only plugin work in getsentry/junior#1444; Junior still needs to persist selected bundles and connect their skills to its loader.

This is rebased on 3.3.0, including the root marketplace fix. Named discoverPlugins calls now return only matches. The CLI checks the full catalog when a requested name misses, preserving its plugin-first error instead of adding a bundled skill. verify-pack installs the library alone and exercises its public resolver and skill discovery before installing the CLI package.

Verified 1,161 tests, lint, typecheck, build, package verification, and 11 real plugin lifecycles in Docker. The combined plugin smoke script still hits the existing Copilot enabled-state assertion reproduced on unchanged main.

@vercel

vercel Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
dotagents Ready Ready Preview Oct 2, 2026 4:48pm UTC

Request Review

Comment thread packages/dotagents-lib/src/plugins/resolver.ts Outdated
Expose plugin manifest validation, source discovery, and resolution from
@sentry/dotagents-lib so hosts other than the dotagents CLI can consume
Agent Plugins without importing private CLI modules.

The lib now owns plugins/schema, discovery, resolvePlugin, and
installed-bundle loading. The CLI keeps install, provenance markers,
lockfile entries, target selection, compatibility warnings, and runtime
writers. resolvePlugin in the CLI is a thin wrapper that adds targets
and compatibility warnings to the lib result.

No CLI behavior change.

Co-Authored-By: Greg Pstrucha <greg.pstrucha@sentry.io>
@gricha
gricha force-pushed the feat/lib-plugin-resolution branch from 0d8a076 to feebc91 Compare October 2, 2026 06:53
@gricha gricha changed the title feat(lib): Move Agent Plugin resolution into dotagents-lib feat(lib): Expose Agent Plugin resolution to other hosts Oct 2, 2026
Comment thread packages/dotagents-lib/src/plugins/resolver.ts Outdated
When a plugin directory and a symlink alias resolve to the same path,
dedupe kept whichever readdir returned first. Within one origin, keep the
physical directory, then the lower path, so candidate paths are stable.

This branch was successfully deployed

1 active deployment
Preview — 16b1ae0d Deployed Oct 2, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant