Capability providers¶
Status: Planned (v0.14 plugin host MVP) · ADR: 0005-capability-provider-plugin-model.md
Scope¶
Capability Provider is the plugin extensibility unit: a typed interface for reasoning, querying, AI, refactoring, diagnostics, import/export, and documentation generation. Third-party and first-party features register as providers — not raw VS Code commands.
Provider catalog¶
| Capability | Interface (conceptual) | Built-in today | Plugin target |
|---|---|---|---|
| Reasoning | ReasoningProvider |
Ontologos via LSP | v0.14 |
| Query | QueryProvider |
SQL/SPARQL LSP | v0.14 |
| Refactoring | RefactoringProvider |
LSP preview/apply | v0.14 |
| Diagnostics | DiagnosticsProvider |
ontocore-diagnostics |
v0.14 |
| AI | AIProvider |
— | v1.1+ |
| Import/Export | FormatProvider |
Turtle, OBO, ROBOT CLI | v0.14 |
| Documentation | DocsProvider |
ontocore docs |
v0.14 |
TypeScript interface sketch (planned)¶
interface CapabilityProvider {
id: string
version: string
capabilities: CapabilityKind[]
}
interface ReasoningProvider extends CapabilityProvider {
classify(profile: ReasonerProfile): Promise<ClassifyResult>
explain(entityIri: string): Promise<Explanation | null>
}
interface RefactoringProvider extends CapabilityProvider {
preview(op: RefactorOp): Promise<RefactorPreview>
apply(op: RefactorOp): Promise<ApplyResult>
}
Rust-side host: see design/PLUGIN_SPEC.md and ontocore/plugin-model.md.
Registration¶
interface CapabilityRegistry {
register(provider: CapabilityProvider): void
get<T extends CapabilityProvider>(kind: CapabilityKind, id?: string): T | undefined
list(kind: CapabilityKind): CapabilityProvider[]
}
OntoCore plugin host discovers providers from workspace config; OntoUI resolves UI contributions (inspector cards, commands) from provider metadata.
Permissions¶
Providers declare required permissions (read workspace, modify ontology, network, AI). User approves at install/enable time. See ui/PLUGIN_PLATFORM.md.
Links¶
Evolution¶
Unifies ui/PLUGIN_PLATFORM.md and design/PLUGIN_SPEC.md under Capability Provider terminology.