Package exports
Supported package import paths, execution environments, and focused guides.
This page is generated by pnpm api-docs:generate; do not edit it directly.
packages/content/package.json is the source of truth for import paths and
declaration targets. The generator requires a purpose, execution environment,
and focused guide for every manifest export, so an unclassified new subpath
fails pnpm api-docs:check.
Public TypeScript declarations at each subpath define its complete symbol-level
API. For example, the data-source declaration exposes
createContentDataSourceError and ContentDataSourceErrorCode as well as
the adapter interfaces and limits. See the
data-source adapter guide for their use.
Package subpaths
A stable subpath follows semver: a breaking change needs a major version, a changelog note, and a migration path. An experimental subpath can change in a minor version; the changelog records each change.
| Import | Stability | Environment | Purpose | Types | Guide |
|---|---|---|---|---|---|
@lupinum/ginko-content | Stable | Nuxt module setup | Module registration and content configuration helpers | ./dist/module.d.mts | Quickstart |
@lupinum/ginko-content/config | Stable | Build time | Collection, schema, and source configuration | ./dist/config.d.mts | Content config |
@lupinum/ginko-content/server | Stable | Nitro / H3 | Server queries, sitemap reads, and cache helpers | ./dist/public/server.d.ts | Server API |
@lupinum/ginko-content/provider | Stable | Nitro / H3 | Runtime content-provider contract and binder | ./dist/public/provider.d.ts | Providers |
@lupinum/ginko-content/data-source | Stable | Framework-free | Bounded backend adapter contract and stable errors | ./dist/public/data-source.d.ts | Data-source adapters |
@lupinum/ginko-content/client | Stable | Vue SSR / browser | Client query functions, page/search composables, and derivations | ./dist/public/client.d.ts | Query API |
@lupinum/ginko-content/navigation | Stable | Framework-free | Navigation-tree traversal and path helpers | ./dist/public/navigation.d.ts | Navigation |
@lupinum/ginko-content/agent | Experimental | Framework-free | Agent-readable Markdown serialization and index rendering | ./dist/public/agent.d.ts | Agent-readable output |
@lupinum/ginko-content/agent-registry | Experimental | Build time | Agent component-serializer registry definitions | ./dist/public/agent-registry.d.ts | Agent-readable output |
@lupinum/ginko-content/agent-paths | Experimental | Framework-free | Canonical agent and raw-content route paths | ./dist/public/agent-paths.d.ts | Agent-readable output |
@lupinum/ginko-content/cms-contract | Stable | Framework-free | Resolved CMS contract, schema inspection, MDC, hashing, and safety | ./dist/cms-contract/index.d.ts | Data-source adapters |
@lupinum/ginko-content/cms-contract/node | Stable | Node | Read the canonical resolved Content contract artifact | ./dist/cms-contract-node/index.d.ts | Data-source adapters |
@lupinum/ginko-content/body-renderer | Experimental | Vue SSR / browser | Validated Markdown body renderer with explicit policy and component selection | ./dist/runtime/app/components/body-renderer.d.ts | Components |
@lupinum/ginko-content/portability | Stable | Framework-free | Portable document, manifest, asset, and validation codecs | ./dist/portability/index.d.ts | Portable reads and writes |
@lupinum/ginko-content/portability/node | Stable | Node | Bounded portable-directory filesystem I/O | ./dist/portability-node/index.d.ts | Portable reads and writes |
@lupinum/ginko-content/testing/provider-fixture | Experimental | Vitest / Node | Reusable provider-contract fixture data | ./dist/testing/provider-fixture.d.ts | Provider contract |
@lupinum/ginko-content/testing/provider-contract | Experimental | Vitest / Node | Executable provider conformance suite | ./dist/testing/provider-contract.d.ts | Provider contract |
@lupinum/ginko-content/testing/data-source-contract | Experimental | Vitest / Node | Executable data-source and binder conformance suite | ./dist/testing/data-source-contract.d.ts | Adapter evidence |
@lupinum/ginko-content/testing/portability-contract | Experimental | Vitest / Node | Executable portable-directory conformance suite | ./dist/testing/portability-contract.d.ts | Portable reads and writes |
@lupinum/ginko-content/transformers | Stable | Build time | Custom content-transformer definition helper | ./dist/runtime/transformers/define.d.ts | Module options |
@lupinum/ginko-content/agent-docs | Stable | Local Markdown file | Documentation snapshot for the installed package version; resolve and read, do not import | — | Use a coding agent |
CMS contract exports
@lupinum/ginko-content/cms-contract is stable and runs without Node, Nuxt,
Nitro, or h3. A test follows its module graph and fails on any such import.
Editors and CMS integrations use these groups:
| Group | Exports |
|---|---|
| Parse and serialize | parseMdcDocument, serializeMdcDocument, projectMdcDocument, parseMdcBody, AngleComponentSyntaxError, MdcSerializationError |
| Editing document types | MdcDocument, MdcNode, MdcElementNode, MdcCommentNode, MdcElementProps, MdcSerializationIssueCode, ParseMdcDocumentOptions, SerializeMdcDocumentOptions, ParseMdcBodyOptions, ParseMdcBodyResult |
| Heading ids | slugifyHeading, createHeadingIdGenerator, headingSlugText |
| Body validation | validatePublicMarkdownAst, validateStoredPortableMarkdownAst, assertPublicMarkdownAst, classifyPortableMarkdownElement |
| URL and name rules | isSafePublicLinkUrl, isSafePublicMarkdownUrl, isStoredPortableAssetIdentity, isValidPortableComponentName, canonicalizePortableComponentName |
| Component policy | assertPortableComponentPolicy, assertPortableComponentPolicyV2, PortableComponentPolicy, PortableComponentPolicyV1, PortableComponentPolicyV2 |
| Limits and media | PORTABLE_CONTENT_LIMITS, CONTENT_MANAGED_MEDIA_TYPES, ContentManagedMediaType |
| Resolved contract | buildResolvedContentContract, assertResolvedContentContract, assertResolvedContentContractV1, assertResolvedContentContractV2, RESOLVED_CONTENT_CONTRACT_VERSION_V1, RESOLVED_CONTENT_CONTRACT_VERSION_V2 |
assertPortableComponentPolicy validates the current policy version, 2.
assertPortableComponentPolicyV2 is the same function under a
version-pinned name. RESOLVED_CONTENT_CONTRACT_VERSION equals
RESOLVED_CONTENT_CONTRACT_VERSION_V1; prefer the explicit name.
isSafePublicLinkUrl accepts https:, http:, mailto:, tel:,
same-site paths, fragments, and $ Content references. Media sources accept
only https: and same-site paths. Use the same functions in editor fields and
server validation.