ObjectStackObjectStack

Plugin Registry

Plugin Registry protocol schemas

Plugin Registry Protocol

Defines the schema for the plugin discovery and registry system.

This enables plugins from different vendors to be discovered, validated,

and composed together in the ObjectStack ecosystem.

Source: packages/spec/src/kernel/plugin-registry.zod.ts

TypeScript Usage

import { PluginInstallConfig, PluginQualityMetrics, PluginRegistryEntry, PluginSearchFilters, PluginStatistics, PluginVendor } from '@objectstack/spec/kernel';
import type { PluginInstallConfig, PluginQualityMetrics, PluginRegistryEntry, PluginSearchFilters, PluginStatistics, PluginVendor } from '@objectstack/spec/kernel';

// Validate data
const result = PluginInstallConfig.parse(data);

PluginInstallConfig

Properties

PropertyTypeRequiredDescription
pluginIdstring
versionstringoptionalDefaults to latest
configRecord<string, any>optional
autoUpdatebooleanoptional
optionsObjectoptional

PluginQualityMetrics

Properties

PropertyTypeRequiredDescription
testCoveragenumberoptional
documentationScorenumberoptional
codeQualitynumberoptional
securityScanObjectoptional
conformanceTestsObject[]optional

PluginRegistryEntry

Properties

PropertyTypeRequiredDescription
idstringPlugin identifier (reverse domain notation)
versionstring
namestring
descriptionstringoptional
readmestringoptional
categoryEnum<'data' | 'integration' | 'ui' | 'analytics' | 'security' | 'automation' | 'ai' | 'utility' | 'driver' | 'gateway' | 'adapter'>optional
tagsstring[]optional
vendorObject
capabilitiesObjectoptional
compatibilityObjectoptional
linksObjectoptional
mediaObjectoptional
qualityObjectoptional
statisticsObjectoptional
licensestringoptionalSPDX license identifier
pricingObjectoptional
publishedAtstringoptional
updatedAtstringoptional
deprecatedboolean
deprecationMessagestringoptional
replacedBystringoptionalPlugin ID that replaces this one
flagsObjectoptional

PluginSearchFilters

Properties

PropertyTypeRequiredDescription
querystringoptional
categorystring[]optional
tagsstring[]optional
trustLevelEnum<'official' | 'verified' | 'community' | 'unverified'>[]optional
implementsProtocolsstring[]optional
pricingModelEnum<'free' | 'freemium' | 'paid' | 'enterprise'>[]optional
minRatingnumberoptional
sortByEnum<'relevance' | 'downloads' | 'rating' | 'updated' | 'name'>optional
sortOrderEnum<'asc' | 'desc'>optional
pageintegeroptional
limitintegeroptional

PluginStatistics

Properties

PropertyTypeRequiredDescription
downloadsinteger
downloadsLastMonthinteger
activeInstallationsinteger
ratingsObjectoptional
starsintegeroptional
dependentsinteger

PluginVendor

Properties

PropertyTypeRequiredDescription
idstringVendor identifier (reverse domain)
namestring
websitestringoptional
emailstringoptional
verifiedbooleanWhether vendor is verified by ObjectStack
trustLevelEnum<'official' | 'verified' | 'community' | 'unverified'>

On this page