// @bun
var __require = import.meta.require;

// src/registry/factory.ts
import {
  OwnersEnum,
  StabilityEnum,
  TagsEnum
} from "@contractspec/lib.contracts/ownership";
function createComponentPresentation(opts) {
  const source = {
    type: "component",
    framework: "react",
    componentKey: opts.componentKey
  };
  return {
    meta: {
      key: opts.key,
      version: opts.version ?? "1.0.0",
      description: opts.description,
      goal: opts.goal,
      context: opts.context,
      stability: opts.stability ?? StabilityEnum.Stable,
      owners: opts.owners ?? [OwnersEnum.PlatformCore],
      tags: opts.tags ?? []
    },
    source,
    targets: opts.targets ?? ["react", "markdown"]
  };
}
function tagsFromPath(path) {
  return path.split("/").filter((segment) => segment.length > 0).map((segment) => segment);
}
var DOCS_GOAL = "Educate developers on ContractSpec usage and concepts";
var DOCS_CONTEXT = "Part of the ContractSpec documentation site, rendered on contractspec.io";
var MARKETING_GOAL = "Convert visitors into ContractSpec users and customers";
var MARKETING_CONTEXT = "Marketing content on contractspec.io, designed for conversion";
var DOCS_TAGS = [TagsEnum.Docs];
export {
  tagsFromPath,
  createComponentPresentation,
  MARKETING_GOAL,
  MARKETING_CONTEXT,
  DOCS_TAGS,
  DOCS_GOAL,
  DOCS_CONTEXT
};
