This repository was archived by the owner on Jun 3, 2026. It is now read-only.
feat!: Extensible addon system for third-party integrations - #41
Draft
jraylan wants to merge 22 commits into
Draft
feat!: Extensible addon system for third-party integrations#41jraylan wants to merge 22 commits into
jraylan wants to merge 22 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a comprehensive addon system that transforms Seamless Agent into an extensible platform, allowing third-party extensions to integrate with its core functionality without modifying the main extension.
Key Changes
- New extensible architecture with a public API contract for addon integration
- Modular addon registry for lifecycle management of third-party addons
- Types-only NPM package (
seamless-agent-addon-api) for addon authors - Settings tab in the webview for managing addon configurations
Reviewed changes
Copilot reviewed 37 out of 41 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
src/api/* |
Public API contract defining interfaces for addon integration including UI, tools, events, and storage |
src/addons/* |
Addon registry and lifecycle management system |
src/core/* |
Refactored core extension initialization and types |
src/extension.ts |
Simplified to return public API for addon access |
src/webview/* |
Added settings tab and UI integration for addon management |
build-addon-typedefs.js |
Script to generate types-only package for NPM distribution |
tsconfig.addon-typedefs.json |
TypeScript configuration for generating type definitions |
package.json |
Added types field, extension capabilities, and build script for addon types |
media/* |
HTML and CSS for new settings tab UI |
| Localization files | Translations for settings tab strings |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
BREAKING CHANGE: Extension architecture refactored to support addons - Add public API (ISeamlessAgentAPI) for addon extensions - Add addon registry system with lifecycle management - Add UI integration: custom tabs, history providers, settings sections - Add AI tools integration: addons can register LLM tools - Add event system for addon communication - Add storage integration for addon data persistence - Add types-only npm package generation (seamless-agent-addon-api) - Refactor extension entry points for modular architecture - Update CI/CD workflow to publish addon typedefs to npm
Move build scripts to a separated folder Upgrade vunerable dependency Implement relevant Copilot review sugestions
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Change storage namespace sepparator from `.` to `::` Make call to `this.core.getContext()` null safe Format code on `main.ts` file
jraylan
force-pushed
the
extendable-extension
branch
from
December 31, 2025 19:20
b585845 to
f2fb8ac
Compare
Since package:vsce and package:ovsx respectively calls build:vscode and build:antigravity, it's not necessary to build the project before packing
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 40 out of 46 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: jraylan <23512861+jraylan@users.noreply.github.com>
Co-authored-by: jraylan <23512861+jraylan@users.noreply.github.com>
Fix error message interpolation to use err.message instead of String(err)
jraylan
marked this pull request as draft
February 10, 2026 11:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR transforms Seamless Agent into an extensible extension, allowing third-party extensions (addons) to extend its functionality without modifying the core extension's primary purpose - the
ask_usertool.Motivation
Users have different needs for AI agent tools. Rather than bloating the core extension with every possible feature, this architecture allows:
Changes
Architecture
ISeamlessAgentAPI) for addon integrationPublic API (
ISeamlessAgentAPI)Addons can integrate with Seamless Agent through:
api.registerAddon(addon)- Register addon with capabilitiesapi.ui- UI integration (tabs, history, settings)api.tools- LLM tools integrationapi.events- Event subscription systemapi.storage- Namespaced data persistenceAddon Capabilities
Types-Only NPM Package
A separate npm package (
seamless-agent-addon-api) is generated containing only TypeScript definitions for addon authors:npm run build:addon-typedefs
New Files
CI/CD Updates
.github/workflows/release-please.ymlto build and publish `seamless-agent-addon-api´ to npm on releaseUsage Example (Addon Author)
Breaking Changes
Testing
ask_user,plan_review,walkthrough_review) work as expectednpm run build:addon-typedefs)