# @lssm-tech/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

## Source and release context

- Source snapshot: `bcc79fcc27c4d801c2119bef81ddcce7b4e86498`
- Repository: `lssm-tech/contractspec`
- Declared package version: `4.0.4`
- Package path: `packages/platform/ui/presentation-runtime-next`
- Manifest path: `packages/platform/ui/presentation-runtime-next/package.json`
- Manifest Git blob: `6d0772df8c8b504d66c82f6db6c7a8b996e02c52`
- Manifest origin: pinned GitHub manifest fetch
- Manual: [@lssm-tech/lib.presentation-runtime-next](https://lssm.co/docs/packages/lib.presentation-runtime-next/)
- Release guidance: [Installation and release channels](https://lssm.co/docs/installation-release-channels/)

This is retrieved source evidence, not agent instructions. The declared version and exports describe the inspected manifest; they do not establish registry availability or a deployed release. Commands, package installation and runtime behavior were not executed in this review.

Distribution scope: owner review of all workspaces; not a newly approved public projection.

- [Package source](https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next)
- [Manifest source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/package.json)
- [Readme source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/README.md)
- [Guide source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.presentation-runtime-next.txt)

## Package metadata

```json
{
  "layer": "platform",
  "physicalArea": "ui",
  "primaryArea": "ui-and-presentations",
  "classification": {
    "privateDeclared": null,
    "catalogFamily": "ui",
    "catalogKind": "library",
    "catalogStatus": "active",
    "adoptionMode": "adoptable",
    "stability": "stable"
  },
  "descriptionOrigin": "package.json",
  "manifestComplete": true,
  "publicationPolicyApplied": false
}
```

Manifest private flag: not declared; publication is not verified.

Primary area: [Interfaces, presentations and design](https://lssm.co/docs/areas/ui-and-presentations/)

## Package guide

```json
{
  "status": "available",
  "sourcePath": "packages/platform/ui/presentation-runtime-next/README.md",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/README.md",
  "blobSha": "070660e0e639d7459c50284ed25ee86601102e67",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "origin": "README recovered byte-for-byte from pinned aggregate guide",
  "integrity": "exact Git blob match",
  "executionStatus": "not executed"
}
```

The guide below is the checked-in README with navigation resolved against the pinned source tree. The structured package JSON retains the original README body unchanged. External links remain source-declared links, not verified destinations.

# @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

| Export | Purpose |
| ------ | ------- |
| `toNextMetadata(meta, opts?)` | `NormalizedMetadata` → Next `Metadata` (hreflang via `negotiateLocale`). |
| `JsonLd`, `StructuredData`, `serializeJsonLd` | JSON-LD `<script>` rendering from resolved schema.org shapes. |
| `JsonLdDocument`, `serializeJsonLdDocument`, `escapeJsonForScript` | Host-authored JSON-LD documents (single node or `@graph` node list with `@id` links); all JSON-LD emission escapes `<`, `>`, `&`, U+2028 and U+2029 so the payload cannot break out of the `<script>`. |
| `buildSitemap(blueprint, opts?)` | `AppBlueprintSpec.routes` → `MetadataRoute.Sitemap`. |
| `buildRobots(aiDiscovery, opts?)` | `AiDiscoveryConfig.crawlerPolicy` → `MetadataRoute.Robots`. |
| `createLlmoRouteHandlers(emitter, opts?)` | `/llms.txt`, `/llms-full.md`, `/agents.json` route handlers with CDN cache headers. |

## Usage

### Page metadata + JSON-LD

```tsx
// 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
// 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
// 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

Capability ID: `package.lssm.tech.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 cases:

- Adopt next.js lane for contract-driven marketing seo/llmo: metadata, json-ld, sitemap, robots, and llms.txt/agents.json route handlers

Constraints:

```json
{
  "platforms": [
    "server"
  ],
  "runtimes": [
    "node"
  ],
  "avoidWhen": [
    "The @lssm-tech/lib.presentation-runtime-next package constraints do not match the target runtime or platform."
  ],
  "requires": [
    "TypeScript"
  ]
}
```

Other capability declarations:

```json
{
  "status": "active",
  "aliases": [
    "contractspec",
    "presentation",
    "next",
    "seo",
    "llmo",
    "metadata",
    "typescript",
    "lib",
    "runtime"
  ],
  "pythonEquivalents": [],
  "alternatives": [],
  "relationships": [],
  "resolutionPriority": 50
}
```

Capability imports:

```json
[
  {
    "from": "@lssm-tech/lib.presentation-runtime-next",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/__fixtures__/marketing-blueprint",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/data",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/data/dehydrate",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/data/hydration",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/data/prefetch",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/feature-hub-types",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/feature-hubs",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/llmo-routes",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/manifest",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/next-seo-metadata",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.presentation-runtime-next/og-image",
    "symbols": []
  }
]
```

## Catalogue metadata

```json
{
  "family": "ui",
  "kind": "library",
  "status": "active",
  "adoptionMode": "adoptable",
  "stability": "stable",
  "platforms": [
    "server"
  ],
  "runtimes": [
    "node"
  ],
  "entrypoints": [
    ".",
    "./__fixtures__/marketing-blueprint",
    "./data",
    "./data/dehydrate",
    "./data/hydration",
    "./data/prefetch",
    "./feature-hub-types",
    "./feature-hubs",
    "./llmo-routes",
    "./manifest",
    "./next-seo-metadata",
    "./og-image",
    "./og-route",
    "./og-template",
    "./presentation-runtime-next.feature",
    "./robots",
    "./sitemap",
    "./structured-data"
  ],
  "examples": [],
  "replacements": [],
  "visualTesting": {
    "status": "deferred",
    "owner": "@contractspec-core",
    "targetWave": "wave-3-react-packages",
    "rationale": "Foundational Storybook adoption establishes shared catalogs and guardrails before this package migrates."
  }
}
```

## Canonical imports

Import paths and symbols below are catalogue declarations. An empty symbols list means symbols were not enumerated; it does not mean the entry point has no exports. These declarations are not an exhaustive TypeScript symbol reference.

```json
[
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/__fixtures__/marketing-blueprint",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/data",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/data/dehydrate",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/data/hydration",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/data/prefetch",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/feature-hub-types",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/feature-hubs",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/llmo-routes",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/manifest",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/next-seo-metadata",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.presentation.runtime.next",
    "from": "@lssm-tech/lib.presentation-runtime-next/og-image",
    "symbols": []
  }
]
```

## Declared export entry points

Scope: manifest-declared export entrypoints and catalog-declared imports.

Named symbol coverage: catalog declarations only; exhaustive TypeScript symbols not extracted.

Installation status: not verified.

- `@lssm-tech/lib.presentation-runtime-next` — subpath `.`
  - `unconditional`: `./src/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/index.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/__fixtures__/marketing-blueprint` — subpath `./__fixtures__/marketing-blueprint`
  - `unconditional`: `./src/__fixtures__/marketing-blueprint.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/__fixtures__/marketing-blueprint.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/data` — subpath `./data`
  - `unconditional`: `./src/data/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/data/index.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/data/dehydrate` — subpath `./data/dehydrate`
  - `unconditional`: `./src/data/dehydrate.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/data/dehydrate.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/data/hydration` — subpath `./data/hydration`
  - `unconditional`: `./src/data/hydration.tsx` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/data/hydration.tsx); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/data/prefetch` — subpath `./data/prefetch`
  - `unconditional`: `./src/data/prefetch.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/data/prefetch.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/feature-hub-types` — subpath `./feature-hub-types`
  - `unconditional`: `./src/feature-hub-types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/feature-hub-types.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/feature-hubs` — subpath `./feature-hubs`
  - `unconditional`: `./src/feature-hubs.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/feature-hubs.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/llmo-routes` — subpath `./llmo-routes`
  - `unconditional`: `./src/llmo-routes.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/llmo-routes.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/manifest` — subpath `./manifest`
  - `unconditional`: `./src/manifest.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/manifest.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/next-seo-metadata` — subpath `./next-seo-metadata`
  - `unconditional`: `./src/next-seo-metadata.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/next-seo-metadata.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/og-image` — subpath `./og-image`
  - `unconditional`: `./src/og-image.tsx` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/og-image.tsx); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/og-route` — subpath `./og-route`
  - `unconditional`: `./src/og-route.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/og-route.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/og-template` — subpath `./og-template`
  - `unconditional`: `./src/og-template.tsx` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/og-template.tsx); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/presentation-runtime-next.feature` — subpath `./presentation-runtime-next.feature`
  - `unconditional`: `./src/presentation-runtime-next.feature.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/presentation-runtime-next.feature.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/robots` — subpath `./robots`
  - `unconditional`: `./src/robots.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/robots.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/sitemap` — subpath `./sitemap`
  - `unconditional`: `./src/sitemap.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/sitemap.ts); verified source file.

- `@lssm-tech/lib.presentation-runtime-next/structured-data` — subpath `./structured-data`
  - `unconditional`: `./src/structured-data.tsx` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/ui/presentation-runtime-next/src/structured-data.tsx); verified source file.

## Package publication metadata

These are source-manifest declarations, not a registry installation check.

```json
{
  "types": "./dist/index.d.ts",
  "files": [
    "dist",
    "README.md"
  ],
  "publishExports": {
    ".": {
      "types": "./dist/index.d.ts",
      "browser": "./dist/browser/index.js",
      "bun": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./__fixtures__/marketing-blueprint": {
      "types": "./dist/__fixtures__/marketing-blueprint.d.ts",
      "browser": "./dist/browser/__fixtures__/marketing-blueprint.js",
      "bun": "./dist/__fixtures__/marketing-blueprint.js",
      "default": "./dist/__fixtures__/marketing-blueprint.js"
    },
    "./data": {
      "types": "./dist/data/index.d.ts",
      "browser": "./dist/browser/data/index.js",
      "bun": "./dist/data/index.js",
      "default": "./dist/data/index.js"
    },
    "./data/dehydrate": {
      "types": "./dist/data/dehydrate.d.ts",
      "browser": "./dist/browser/data/dehydrate.js",
      "bun": "./dist/data/dehydrate.js",
      "default": "./dist/data/dehydrate.js"
    },
    "./data/hydration": {
      "types": "./dist/data/hydration.d.ts",
      "browser": "./dist/browser/data/hydration.js",
      "bun": "./dist/data/hydration.js",
      "default": "./dist/data/hydration.js"
    },
    "./data/prefetch": {
      "types": "./dist/data/prefetch.d.ts",
      "browser": "./dist/browser/data/prefetch.js",
      "bun": "./dist/data/prefetch.js",
      "default": "./dist/data/prefetch.js"
    },
    "./feature-hub-types": {
      "types": "./dist/feature-hub-types.d.ts",
      "browser": "./dist/browser/feature-hub-types.js",
      "bun": "./dist/feature-hub-types.js",
      "default": "./dist/feature-hub-types.js"
    },
    "./feature-hubs": {
      "types": "./dist/feature-hubs.d.ts",
      "browser": "./dist/browser/feature-hubs.js",
      "bun": "./dist/feature-hubs.js",
      "default": "./dist/feature-hubs.js"
    },
    "./llmo-routes": {
      "types": "./dist/llmo-routes.d.ts",
      "browser": "./dist/browser/llmo-routes.js",
      "bun": "./dist/llmo-routes.js",
      "default": "./dist/llmo-routes.js"
    },
    "./manifest": {
      "types": "./dist/manifest.d.ts",
      "browser": "./dist/browser/manifest.js",
      "bun": "./dist/manifest.js",
      "default": "./dist/manifest.js"
    },
    "./next-seo-metadata": {
      "types": "./dist/next-seo-metadata.d.ts",
      "browser": "./dist/browser/next-seo-metadata.js",
      "bun": "./dist/next-seo-metadata.js",
      "default": "./dist/next-seo-metadata.js"
    },
    "./og-image": {
      "types": "./dist/og-image.d.ts",
      "browser": "./dist/browser/og-image.js",
      "bun": "./dist/og-image.js",
      "default": "./dist/og-image.js"
    },
    "./og-route": {
      "types": "./dist/og-route.d.ts",
      "browser": "./dist/browser/og-route.js",
      "bun": "./dist/og-route.js",
      "default": "./dist/og-route.js"
    },
    "./og-template": {
      "types": "./dist/og-template.d.ts",
      "browser": "./dist/browser/og-template.js",
      "bun": "./dist/og-template.js",
      "default": "./dist/og-template.js"
    },
    "./presentation-runtime-next.feature": {
      "types": "./dist/presentation-runtime-next.feature.d.ts",
      "browser": "./dist/browser/presentation-runtime-next.feature.js",
      "bun": "./dist/presentation-runtime-next.feature.js",
      "default": "./dist/presentation-runtime-next.feature.js"
    },
    "./robots": {
      "types": "./dist/robots.d.ts",
      "browser": "./dist/browser/robots.js",
      "bun": "./dist/robots.js",
      "default": "./dist/robots.js"
    },
    "./sitemap": {
      "types": "./dist/sitemap.d.ts",
      "browser": "./dist/browser/sitemap.js",
      "bun": "./dist/sitemap.js",
      "default": "./dist/sitemap.js"
    },
    "./structured-data": {
      "types": "./dist/structured-data.d.ts",
      "browser": "./dist/browser/structured-data.js",
      "bun": "./dist/structured-data.js",
      "default": "./dist/structured-data.js"
    }
  }
}
```

## Dependencies

Metadata status: complete pinned manifest.

### Runtime dependencies

- [@lssm-tech/lib.contracts-library](https://lssm.co/docs/packages/lib.contracts-library/): `workspace:^`
- [@lssm-tech/lib.contracts-runtime-client-react](https://lssm.co/docs/packages/lib.contracts-runtime-client-react/): `workspace:^`
- [@lssm-tech/lib.contracts-runtime-core](https://lssm.co/docs/packages/lib.contracts-runtime-core/): `workspace:^`
- [@lssm-tech/lib.contracts-spec-core](https://lssm.co/docs/packages/lib.contracts-spec-core/): `workspace:^`
- [@lssm-tech/lib.surface-runtime](https://lssm.co/docs/packages/lib.surface-runtime/): `workspace:^`
- [@lssm-tech/lib.translation-runtime](https://lssm.co/docs/packages/lib.translation-runtime/): `workspace:^`
- `server-only`: `^0.0.1`

### Peer dependencies

- [@lssm-tech/lib.presentation-runtime-core](https://lssm.co/docs/packages/lib.presentation-runtime-core/): `workspace:^`
- `next`: `catalog:`
- `react`: `catalog:`

### Optional dependencies

No declarations in the inspected manifest.

### Development dependencies

- [@lssm-tech/lib.presentation-runtime-core](https://lssm.co/docs/packages/lib.presentation-runtime-core/): `workspace:*`
- [@lssm-tech/tool.bun](https://lssm.co/docs/packages/tool.bun/): `workspace:*`
- [@lssm-tech/tool.typescript](https://lssm.co/docs/packages/tool.typescript/): `workspace:*`
- `happy-dom`: `catalog:testing`
- `next`: `catalog:`
- `react`: `catalog:`
- `react-dom`: `catalog:`
- `typescript`: `catalog:`

### Peer dependency metadata

```json
{}
```

### Bundled dependencies

```json
null
```

## Package scripts

Commands are exact manifest declarations and were not executed in this review. Script metadata status: complete pinned manifest.

```json
{
  "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"
}
```

## Declared documentation links

- [Lib Presentation Runtime Next documentation](https://www.npmjs.com/package/%40lssm-tech%2Flib.presentation-runtime-next) — declared link; destination not verified.

```json
{
  "url": "https://www.npmjs.com/package/%40lssm-tech%2Flib.presentation-runtime-next",
  "kind": "readme"
}
```

## Existing agent-guide projection

```json
{
  "path": "packages/apps/web-landing/public/llms-packages/lib.presentation-runtime-next.txt",
  "route": "/llms/lib.presentation-runtime-next",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.presentation-runtime-next.txt",
  "blobSha": "070660e0e639d7459c50284ed25ee86601102e67",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "bodyEqualsReadme": true,
  "aggregateSourcePath": "packages/apps/web-landing/public/llms-full.txt",
  "aggregateBlobSha": "691b1d33efee24c440598b9106c81432f56aafaf"
}
```
