/** * @name premium/manifest-builder * @description Template generator for custom premium plugin manifests. * * Produces a data-only `PremiumPluginManifest` from a simplified request, * filling in sensible defaults for pricing, delivery, and JSON schemas. * The generated template is meant to be customized by plugin authors before * production use — it never writes files, loads code, or embeds secrets. * * @flow * 1. MCP tool `sap_premium_build_manifest_template` receives a request * with plugin id, capability id, type, and optional overrides. * 2. → `buildPremiumPluginManifestTemplate(request)` generates a full manifest * with default pricing/delivery/schema based on capability type. * 3. The agent returns the manifest JSON to the caller for review/customization. * 4. The caller can then validate it with `validatePremiumPluginManifest`. * * @module premium/manifest-builder */ import type { PremiumCapabilityType, PremiumPluginManifest } from './types.js'; /** * @name PremiumManifestTemplateRequest * @description Simplified request for generating a premium plugin manifest template. * * Only `pluginId`, `capabilityId`, and `capabilityType` are required. All other * fields have sensible defaults and can be overridden by the caller. * * @property pluginId - Unique plugin id (lowercase, dots/dashes allowed). * @property capabilityId - Unique capability id within the plugin. * @property capabilityType - `stream`, `webhook`, or `tool`. * @property title - Optional human-readable label (defaults applied). * @property description - Optional agent-facing description (defaults applied). * @property publisher - Optional publisher name (defaults to 'Custom Publisher'). * @property visibility - Optional visibility (defaults to 'private'). * @property unitPriceUsd - Optional price per unit in USD (defaults to 0.01). * @property providerEnv - Optional env var names for provider readiness. * * @usedBy `premium-tools.ts` → MCP tool `sap_premium_build_manifest_template`. */ export interface PremiumManifestTemplateRequest { pluginId: string; capabilityId: string; capabilityType: PremiumCapabilityType; title?: string; description?: string; publisher?: string; visibility?: 'public' | 'private' | 'enterprise'; unitPriceUsd?: number; providerEnv?: string[]; } /** * @name buildPremiumPluginManifestTemplate * @description Build a data-only premium plugin manifest template from a simplified request. * * It never writes files, loads code, or embeds provider secrets. The generated * manifest uses default schemas, pricing, and delivery contracts that are * sensible starting points but should be customized before production use. * * @param request - Template request with required plugin/capability ids and type. * @returns A complete `PremiumPluginManifest` with one capability. * * @usedBy `premium-tools.ts` → MCP tool `sap_premium_build_manifest_template`. */ export declare function buildPremiumPluginManifestTemplate(request: PremiumManifestTemplateRequest): PremiumPluginManifest; //# sourceMappingURL=manifest-builder.d.ts.map