@seamless-agent/addon
v0.1.20
Published
Type definitions for Seamless Agent addon extensions
Maintainers
Readme
Seamless Agent — Addon API (Types Only)
This package contains type definitions only (TypeScript) for addon authors to integrate with the Seamless Agent extension.
Tip: always use
import type { ... }to ensure nothing is imported at runtime.
API
Este diretório contém o contrato público (interfaces) consumido por extensões addon.
Como um addon obtém a API do Seamless Agent
No activate() do seu addon, obtenha a extensão e chame activate() para receber o objeto de API:
- Extensão:
jraylan.seamless-agent - API:
ISeamlessAgentAPI
Exemplo (addon)
- Busque a extensão pelo ID
- Ative-a para obter a API
- Registre o addon com
registerAddon()
Recomendação: use
import type { ISeamlessAgentAPI, IAddon } from '...';(tipos) e mantenha a integração em runtime viavscode.extensions.getExtension(...).activate().
O que a API oferece
UI
- Tabs:
api.ui.registerTab(tab)permite criar novas abas no webview do Seamless Agent. - Histórico:
api.ui.registerHistoryProvider(provider)permite injetar itens/tipos adicionais no histórico. - Settings:
api.ui.registerSettingsSection(section)permite adicionar seções de configuração na aba Settings do webview.
Tools (LLM)
- Defina ferramentas em
addon.ai.tools(verIAddonTool). - O Seamless Agent expõe e executa essas ferramentas no contexto do agente.
Storage
api.storagefornece persistência (namespaced) para o addon armazenar preferências e dados.
Events
api.eventspermite observar eventos do Seamless Agent (ex.: refresh de UI, tool executada, etc.).
Compatibilidade
A API expõe api.version. Addons devem validar a versão para garantir compatibilidade.
Importante (types-only)
Este repositório gera um pacote separado (para NPM) contendo somente typedefs para uso por addons. Evite depender de implementações deste diretório no runtime do addon.
Addons
Este diretório contém o sistema de addons do Seamless Agent (registro, lifecycle e utilitários).
Para autores de addons
Em geral, você não precisa importar nada daqui no seu addon.
Use a API pública exposta pela extensão Seamless Agent (ver src/api).
Para contribuidores do Seamless Agent
registry.ts: Registro central de addons (AddonRegistry) que mantém estado de ativação, tabs, settings e tools.types.ts: Aliases/re-exports de tipos do contrato público, para manter compatibilidade interna.
Responsabilidades
O AddonRegistry agrega e organiza:
- Tabs registradas pelos addons
- Seções de Settings registradas pelos addons
- Providers de histórico
- Tools expostas pelos addons
O runtime do Seamless Agent usa o registry para alimentar a UI e a execução de ferramentas.
