library Package manifest v4.0.4
lib.presentation-runtime-next Next.js lane for contract-driven marketing SEO/LLMO: metadata, JSON-LD, sitemap, robots, and llms.txt/agents.json route handlers
@lssm-tech/lib.presentation-runtime-nextCopy name
Source, release and verification context Source snapshot bcc79fcc · Declared package version 4.0.4. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.
Package source ↗ Manifest ↗ server node
USED BY 3 workspace packages →
THIS PACKAGE lib.presentation-runtime-next platform
→
DEPENDS ON 15 distinct packages
Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.
Dependencies Used by 3 import paths 18
7 declarations · first 6 shown SELECT TO INSPECT
◇ lib.contracts-library workspace:^ › ◇ lib.contracts-runtime-client-react workspace:^ › ◇ lib.contracts-runtime-core workspace:^ › ◇ lib.contracts-spec-core workspace:^ › ◇ lib.surface-runtime workspace:^ › ◇ lib.translation-runtime workspace:^ ›
Show 1 more ↓ Runtime DEPENDENCY lib.contracts-library Reusable contract library and registry primitives for ContractSpec applications.
Declared range workspace:^
Area core contracts
Layer platform Read the package manual ↗
The selected source relationships above remain readable. The complete import and dependency references are below.
Guide Capabilities Imports Dependencies Scripts @lssm-tech/lib.presentation-runtime-next
Next.js lane for contract-driven marketing SEO / LLMO . It maps the framework-neutral metadata produced by
@lssm-tech/lib.presentation-runtime-core/marketing into Next.js primitives and serves AI-discovery artifacts.
This is the only presentation-runtime package allowed to import next.
presentation-runtime-core and presentation-runtime-react stay Next-free.
Adapters
Usage
Page metadata + JSON-LD
tsx Copy code
// app/pricing/page.tsx
import type { Metadata } from 'next';
import { transformAppConfigSeo } from '@lssm-tech/lib.presentation-runtime-core/marketing';
import { toNextMetadata, StructuredData } from '@lssm-tech/lib.presentation-runtime-next';
import { resolvedAppConfig } from '@/app-config';
const normalized = transformAppConfigSeo(resolvedAppConfig, { routePath: '/pricing' });
export const metadata: Metadata = toNextMetadata(normalized);
export default function PricingPage() {
return (
<>
<StructuredData metadata={normalized} />
{/* … */}
</>
);
}
sitemap + robots
ts Copy code
// app/sitemap.ts
import { buildSitemap } from '@lssm-tech/lib.presentation-runtime-next';
import { blueprint } from '@/app-config';
export default function sitemap() {
return buildSitemap(blueprint, { supportedLocales: ['en', 'fr'], defaultLocale: 'en' });
}
// app/robots.ts
import { buildRobots } from '@lssm-tech/lib.presentation-runtime-next';
import { blueprint } from '@/app-config';
export default function robots() {
return buildRobots(blueprint.aiDiscovery, {
baseUrl: 'https://contractspec.dev',
sitemapUrl: 'https://contractspec.dev/sitemap.xml',
});
}
LLMO route handlers (ISR + CDN cache)
ts Copy code
// app/llms.txt/route.ts
import { createLlmoRouteHandlers } from '@lssm-tech/lib.presentation-runtime-next';
import { llmoEmitter } from '@/app-config'; // @lssm-tech/lib.content-gen LlmoEmitter
// Next.js segment config must be statically analyzable; keep this literal in the route file.
export const revalidate = 3600;
export const GET = createLlmoRouteHandlers(llmoEmitter).llmsTxt;
The LlmoEmitter contract is declared structurally in ./llmo-routes so the concrete @lssm-tech/lib.content-gen emitter is injected by the app.
Declared capabilities. Lib Presentation Runtime Next Next.js lane for contract-driven marketing SEO/LLMO: metadata, JSON-LD, sitemap, robots, and llms.txt/agents.json route handlers
Use it to Adopt next.js lane for contract-driven marketing seo/llmo: metadata, json-ld, sitemap, robots, and llms.txt/agents.json route handlers Requires Choose another boundary when The @lssm-tech/lib.presentation-runtime-next package constraints do not match the target runtime or platform. @lssm-tech/lib.presentation-runtime-next
@lssm-tech/lib.presentation-runtime-next/__fixtures__/marketing-blueprint
@lssm-tech/lib.presentation-runtime-next/data
@lssm-tech/lib.presentation-runtime-next/data/dehydrate
@lssm-tech/lib.presentation-runtime-next/data/hydration
@lssm-tech/lib.presentation-runtime-next/data/prefetch
@lssm-tech/lib.presentation-runtime-next/feature-hub-types
@lssm-tech/lib.presentation-runtime-next/feature-hubs
@lssm-tech/lib.presentation-runtime-next/llmo-routes
@lssm-tech/lib.presentation-runtime-next/manifest
@lssm-tech/lib.presentation-runtime-next/next-seo-metadata
@lssm-tech/lib.presentation-runtime-next/og-image
Imports and export paths. 18 entries These are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.
Find an import or subpath 18 imports
@lssm-tech/lib.presentation-runtime-nextCopy path @lssm-tech/lib.presentation-runtime-next/__fixtures__/marketing-blueprintCopy path @lssm-tech/lib.presentation-runtime-next/dataCopy path @lssm-tech/lib.presentation-runtime-next/data/dehydrateCopy path @lssm-tech/lib.presentation-runtime-next/data/hydrationCopy path @lssm-tech/lib.presentation-runtime-next/data/prefetchCopy path @lssm-tech/lib.presentation-runtime-next/feature-hub-typesCopy path @lssm-tech/lib.presentation-runtime-next/feature-hubsCopy path @lssm-tech/lib.presentation-runtime-next/llmo-routesCopy path @lssm-tech/lib.presentation-runtime-next/manifestCopy path @lssm-tech/lib.presentation-runtime-next/next-seo-metadataCopy path @lssm-tech/lib.presentation-runtime-next/og-imageCopy path @lssm-tech/lib.presentation-runtime-next/og-routeCopy path @lssm-tech/lib.presentation-runtime-next/og-templateCopy path @lssm-tech/lib.presentation-runtime-next/presentation-runtime-next.featureCopy path @lssm-tech/lib.presentation-runtime-next/robotsCopy path @lssm-tech/lib.presentation-runtime-next/sitemapCopy path @lssm-tech/lib.presentation-runtime-next/structured-dataCopy path Show more imports No export paths match this search.
Dependencies and related packages. Runtime dependencies 7
server-only ^0.0.1 Peer dependencies 3
next catalog:
react catalog: Development dependencies 8
happy-dom catalog:testing
next catalog:
react catalog:
react-dom catalog:
typescript catalog: Package scripts. Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.
publish:pkg bun publish --tolerate-republish --ignore-scripts --verbose
publish:pkg:canary bun publish:pkg --tag canary
build contractspec-bun-build build
build:bundle contractspec-bun-build transpile
build:types contractspec-bun-build types
clean rimraf dist .turbo
dev contractspec-bun-build dev
lint bun run lint:fix
lint:fix node ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .
lint:check node ../../../../scripts/biome.cjs check .
test bun test --pass-with-no-tests
prebuild contractspec-bun-build prebuild
typecheck tsgo --noEmit -p tsconfig.json