@specd/plugin-manager
Advanced tools
+18
-26
@@ -1,2 +0,2 @@ | ||
| import { SpecdError } from '@specd/core'; | ||
| import { SpecdConfig, SpecdError } from '@specd/core'; | ||
@@ -38,13 +38,5 @@ /** | ||
| /** | ||
| * Absolute project root path. | ||
| * Fully-resolved project configuration. | ||
| */ | ||
| readonly projectRoot: string; | ||
| /** | ||
| * Plugin-specific config section from `specd.yaml`. | ||
| */ | ||
| readonly config: Record<string, unknown>; | ||
| /** | ||
| * Type-specific context payload. | ||
| */ | ||
| readonly typeContext: unknown; | ||
| readonly config: SpecdConfig; | ||
| } | ||
@@ -100,3 +92,3 @@ /** | ||
| */ | ||
| interface InstallOptions { | ||
| interface AgentInstallOptions { | ||
| /** | ||
@@ -114,3 +106,3 @@ * Optional skill-name filter. When omitted, install all skills. | ||
| */ | ||
| interface InstallResult { | ||
| interface AgentInstallResult { | ||
| /** | ||
@@ -142,15 +134,15 @@ * Successfully installed skills and output paths. | ||
| * | ||
| * @param projectRoot - Absolute project root path. | ||
| * @param config - Project configuration. | ||
| * @param options - Install options. | ||
| * @returns Install summary. | ||
| */ | ||
| install(projectRoot: string, options?: InstallOptions): Promise<InstallResult>; | ||
| install(config: SpecdConfig, options?: AgentInstallOptions): Promise<AgentInstallResult>; | ||
| /** | ||
| * Uninstalls agent assets from a project root. | ||
| * | ||
| * @param projectRoot - Absolute project root path. | ||
| * @param config - Project configuration. | ||
| * @param options - Uninstall options. | ||
| * @returns A promise that resolves when uninstall completes. | ||
| */ | ||
| uninstall(projectRoot: string, options?: InstallOptions): Promise<void>; | ||
| uninstall(config: SpecdConfig, options?: AgentInstallOptions): Promise<void>; | ||
| } | ||
@@ -283,5 +275,5 @@ /** | ||
| /** | ||
| * Absolute project root path. | ||
| * Project configuration. | ||
| */ | ||
| readonly projectRoot: string; | ||
| readonly config: SpecdConfig; | ||
| /** | ||
@@ -435,5 +427,5 @@ * Optional plugin-specific options. | ||
| /** | ||
| * Absolute project root path. | ||
| * Project configuration. | ||
| */ | ||
| readonly projectRoot: string; | ||
| readonly config: SpecdConfig; | ||
| /** | ||
@@ -473,5 +465,5 @@ * Optional plugin-specific options. | ||
| /** | ||
| * Absolute project root path. | ||
| * Project configuration. | ||
| */ | ||
| readonly projectRoot: string; | ||
| readonly config: SpecdConfig; | ||
| /** | ||
@@ -524,5 +516,5 @@ * Optional plugin-specific options. | ||
| /** | ||
| * Project root used as resolution anchor. | ||
| * Fully-resolved project configuration. | ||
| */ | ||
| readonly projectRoot: string; | ||
| readonly config: SpecdConfig; | ||
| } | ||
@@ -537,2 +529,2 @@ /** | ||
| export { type AgentPlugin, type ConfigSchemaEntry, type DeclaredPlugin, type InstallOptions, InstallPlugin, type InstallPluginInput, type InstallPluginOutput, type InstallResult, ListPlugins, type ListPluginsInput, type ListPluginsOutput, LoadPlugin, type LoadPluginInput, type LoadPluginOutput, PLUGIN_TYPES, type PluginContext, type PluginLoader, type PluginLoaderOptions, PluginNotFoundError, type PluginRepository, type PluginType, PluginValidationError, type SpecdPlugin, UninstallPlugin, type UninstallPluginInput, UpdatePlugin, type UpdatePluginInput, type UpdatePluginOutput, createPluginLoader, isAgentPlugin, isSpecdPlugin }; | ||
| export { type AgentInstallOptions, type AgentInstallResult, type AgentPlugin, type ConfigSchemaEntry, type DeclaredPlugin, InstallPlugin, type InstallPluginInput, type InstallPluginOutput, ListPlugins, type ListPluginsInput, type ListPluginsOutput, LoadPlugin, type LoadPluginInput, type LoadPluginOutput, PLUGIN_TYPES, type PluginContext, type PluginLoader, type PluginLoaderOptions, PluginNotFoundError, type PluginRepository, type PluginType, PluginValidationError, type SpecdPlugin, UninstallPlugin, type UninstallPluginInput, UpdatePlugin, type UpdatePluginInput, type UpdatePluginOutput, createPluginLoader, isAgentPlugin, isSpecdPlugin }; |
+10
-10
@@ -100,3 +100,3 @@ // src/domain/types/specd-plugin.ts | ||
| } | ||
| const data = await plugin.install(input.projectRoot, input.options); | ||
| const data = await plugin.install(input.config, input.options); | ||
| return { | ||
@@ -188,3 +188,3 @@ success: true, | ||
| } | ||
| await plugin.uninstall(input.projectRoot, input.options); | ||
| await plugin.uninstall(input.config, input.options); | ||
| } | ||
@@ -215,3 +215,3 @@ }; | ||
| } | ||
| const data = await plugin.install(input.projectRoot, input.options); | ||
| const data = await plugin.install(input.config, input.options); | ||
| return { | ||
@@ -243,8 +243,8 @@ success: true, | ||
| * | ||
| * @param projectRoot - Project root path. | ||
| * @param config - Project configuration. | ||
| */ | ||
| constructor(projectRoot) { | ||
| this.projectRoot = projectRoot; | ||
| constructor(config) { | ||
| this.config = config; | ||
| } | ||
| projectRoot; | ||
| config; | ||
| /** | ||
@@ -271,3 +271,3 @@ * Loads and validates a plugin package. | ||
| } | ||
| const plugin = await createFunction(); | ||
| const plugin = await createFunction({ config: this.config }); | ||
| this.validateRuntimePlugin(pluginName, plugin, manifest.pluginType); | ||
@@ -374,3 +374,3 @@ return plugin; | ||
| return [ | ||
| createRequire(path.join(this.projectRoot, "package.json")), | ||
| createRequire(path.join(this.config.projectRoot, "package.json")), | ||
| createRequire(import.meta.url) | ||
@@ -406,3 +406,3 @@ ]; | ||
| function createPluginLoader(options) { | ||
| return new RuntimePluginLoader(options.projectRoot); | ||
| return new RuntimePluginLoader(options.config); | ||
| } | ||
@@ -409,0 +409,0 @@ function resolveCreateExport(moduleValue) { |
+4
-3
| { | ||
| "name": "@specd/plugin-manager", | ||
| "version": "0.1.0", | ||
| "version": "0.2.0", | ||
| "license": "MIT", | ||
| "private": false, | ||
| "repository": "https://github.com/specd-sdd/specd", | ||
| "repository": "https://github.com/specd-sdd/SpecD", | ||
| "homepage": "https://getspecd.dev", | ||
| "files": [ | ||
@@ -21,3 +22,3 @@ "dist/" | ||
| "zod": "^3.25.76", | ||
| "@specd/core": "0.1.0" | ||
| "@specd/core": "0.2.0" | ||
| }, | ||
@@ -24,0 +25,0 @@ "devDependencies": { |
+1
-1
| # @specd/plugin-manager | ||
| Plugin infrastructure for specd. Defines the base plugin contracts (`SpecdPlugin`, `AgentPlugin`) and provides loading and validation utilities consumed by the CLI and agent plugins. | ||
| Plugin infrastructure for [specd](https://github.com/specd-sdd/SpecD). For more information, visit [getspecd.dev](https://getspecd.dev). Defines the base plugin contracts (`SpecdPlugin`, `AgentPlugin`) and provides loading and validation utilities consumed by the CLI and agent plugins. | ||
@@ -5,0 +5,0 @@ ## Exports |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
1
-50%28070
-0.2%932
-0.85%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
Updated