From 2fe6a17a2306e3bd1e4223362da8df34229daeb8 Mon Sep 17 00:00:00 2001 From: Kaylee <65376239+KayleeWilliams@users.noreply.github.com> Date: Sat, 9 May 2026 20:32:19 -0700 Subject: [PATCH 1/4] Add agent readability site support --- apps/example/package.json | 6 +- apps/example/scripts/llm-generate.ts | 40 +- .../src/generated/agent-readability.json | 402 ++++++++++ apps/example/src/generated/docs-nav.json | 12 +- .../src/generated/docs-search-content.json | 2 +- .../src/generated/docs-search-index.json | 2 +- apps/example/src/lib/docs-head.ts | 65 ++ apps/example/src/routeTree.gen.ts | 22 + .../src/routes/docs/authoring/components.tsx | 2 + .../src/routes/docs/authoring/frontmatter.tsx | 2 + .../routes/docs/build/bundle-package-docs.tsx | 2 + .../routes/docs/build/connect-docs-site.tsx | 2 + .../docs/build/optimize-docs-for-agents.tsx | 14 + .../src/routes/docs/build/validate-in-ci.tsx | 2 + apps/example/src/routes/docs/how-it-works.tsx | 2 + apps/example/src/routes/docs/index.tsx | 2 + apps/example/src/routes/docs/methodology.tsx | 2 + apps/example/src/routes/docs/quickstart.tsx | 2 + .../example/src/routes/docs/reference/cli.tsx | 2 + .../src/routes/docs/reference/convert.tsx | 2 + .../src/routes/docs/reference/lint.tsx | 2 + .../example/src/routes/docs/reference/llm.tsx | 2 + .../src/routes/docs/reference/remark.tsx | 2 + .../src/routes/docs/reference/search.tsx | 2 + apps/example/src/routes/index.tsx | 18 +- apps/example/tests/e2e/smoke.e2e.ts | 138 +++- apps/example/tsconfig.json | 1 + apps/example/vite.config.ts | 208 +++-- docs/build/connect-docs-site.mdx | 116 ++- docs/build/optimize-docs-for-agents.mdx | 240 ++++++ docs/docs.config.ts | 1 + docs/how-it-works.mdx | 19 +- docs/index.mdx | 6 +- docs/quickstart.mdx | 20 +- docs/reference/cli.mdx | 19 +- docs/reference/llm.mdx | 156 +++- packages/leadtype/package.json | 4 + packages/leadtype/src/cli.test.ts | 17 +- packages/leadtype/src/cli/generate.ts | 18 +- packages/leadtype/src/index.ts | 4 + .../src/internal/package-surface.test.ts | 1 + packages/leadtype/src/llm/index.ts | 28 + packages/leadtype/src/llm/llm.test.ts | 296 +++++++ packages/leadtype/src/llm/llm.ts | 755 +++++++++++++++++- packages/leadtype/src/llm/readability.ts | 417 ++++++++++ packages/leadtype/src/search/node.ts | 4 + packages/leadtype/tsup.config.ts | 1 + 47 files changed, 2891 insertions(+), 191 deletions(-) create mode 100644 apps/example/src/generated/agent-readability.json create mode 100644 apps/example/src/lib/docs-head.ts create mode 100644 apps/example/src/routes/docs/build/optimize-docs-for-agents.tsx create mode 100644 docs/build/optimize-docs-for-agents.mdx create mode 100644 packages/leadtype/src/llm/readability.ts diff --git a/apps/example/package.json b/apps/example/package.json index 17c0e26..4f943de 100644 --- a/apps/example/package.json +++ b/apps/example/package.json @@ -4,11 +4,11 @@ "private": true, "type": "module", "scripts": { - "dev": "bun run --filter leadtype build && bun run pipeline:convert && PORTLESS_PORT=1355 PORTLESS_HTTPS=0 portless run vite dev", - "build": "bun run --filter leadtype build && bun run pipeline:convert && vite build", + "dev": "bun run --filter leadtype build && bun run pipeline:build && PORTLESS_PORT=1355 PORTLESS_HTTPS=0 portless run vite dev", + "build": "bun run --filter leadtype build && bun run pipeline:build && vite build", "preview": "PORTLESS_PORT=1355 PORTLESS_HTTPS=0 portless run vite preview", "check-types": "tsgo --noEmit", - "test:e2e": "bun run --filter leadtype build && playwright test", + "test:e2e": "bun run --filter leadtype build && bun run pipeline:build && playwright test", "convert": "bun run pipeline:convert", "llm": "bun run pipeline:llm", "setup:real": "bun run pipeline:setup-real", diff --git a/apps/example/scripts/llm-generate.ts b/apps/example/scripts/llm-generate.ts index d53c02a..b0cbd36 100644 --- a/apps/example/scripts/llm-generate.ts +++ b/apps/example/scripts/llm-generate.ts @@ -11,8 +11,12 @@ import { mkdir, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; import { + generateAgentReadabilityArtifacts, generateLLMFullContextFiles, generateLlmsTxt, + renderRobotsTxt, + renderSitemapMarkdown, + renderSitemapXml, resolveDocsNavigation, } from "leadtype/llm"; import docsConfig from "../../../docs/docs.config"; @@ -48,6 +52,16 @@ await generateLLMFullContextFiles({ groups: docsConfig.groups, }); +const agentReadability = await generateAgentReadabilityArtifacts({ + outDir, + baseUrl, + product: { + name: docsConfig.product.name, + summary: docsConfig.product.summary, + }, + groups: docsConfig.groups, +}); + // Build the runtime sidebar manifest. Doing this in the build pipeline keeps // the docs.config.ts as the single source of truth: the same call resolves // frontmatter membership for the LLM bundles AND for the in-app sidebar. @@ -71,5 +85,29 @@ await writeFile( join(generatedDir, "docs-nav.json"), `${JSON.stringify(navigation, null, 2)}\n` ); +await writeFile( + join(generatedDir, "agent-readability.json"), + `${JSON.stringify(agentReadability.manifest, null, 2)}\n` +); + +await writeFile( + join(outDir, "sitemap.xml"), + renderSitemapXml(agentReadability.manifest.pages) +); +await writeFile( + join(outDir, "sitemap.md"), + renderSitemapMarkdown({ + product: { name: docsConfig.product.name }, + navigation: agentReadability.manifest.navigation, + pages: agentReadability.manifest.pages, + }) +); +await writeFile( + join(outDir, "robots.txt"), + renderRobotsTxt({ + baseUrl, + sitemapUrlPath: "/sitemap.xml", + }) +); -process.stdout.write("LLM files + nav manifest generated\n"); +process.stdout.write("LLM files + agent readability manifests generated\n"); diff --git a/apps/example/src/generated/agent-readability.json b/apps/example/src/generated/agent-readability.json new file mode 100644 index 0000000..cffddf2 --- /dev/null +++ b/apps/example/src/generated/agent-readability.json @@ -0,0 +1,402 @@ +{ + "version": 1, + "generatedAt": "2026-05-10T01:26:20.748Z", + "baseUrl": "https://docs.example.com", + "product": { + "name": "Leadtype", + "summary": "A docs pipeline that turns one MDX source into a website, agent-readable bundles, and a search index." + }, + "pages": [ + { + "title": "Leadtype", + "description": "One MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.", + "urlPath": "/docs", + "absoluteUrl": "https://docs.example.com/docs", + "markdownUrlPath": "/docs/index.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/index.md", + "relativePath": "index", + "groups": [ + "get-started" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Components", + "description": "MDX components the pipeline knows how to flatten into agent-readable markdown.", + "urlPath": "/docs/authoring/components", + "absoluteUrl": "https://docs.example.com/docs/authoring/components", + "markdownUrlPath": "/docs/authoring/components.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/authoring/components.md", + "relativePath": "authoring/components", + "groups": [ + "authoring" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Frontmatter", + "description": "Required fields, group semantics, and how authored MDX becomes a navigation tree.", + "urlPath": "/docs/authoring/frontmatter", + "absoluteUrl": "https://docs.example.com/docs/authoring/frontmatter", + "markdownUrlPath": "/docs/authoring/frontmatter.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/authoring/frontmatter.md", + "relativePath": "authoring/frontmatter", + "groups": [ + "authoring" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Bundle docs into a package", + "description": "Ship agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.", + "urlPath": "/docs/build/bundle-package-docs", + "absoluteUrl": "https://docs.example.com/docs/build/bundle-package-docs", + "markdownUrlPath": "/docs/build/bundle-package-docs.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/build/bundle-package-docs.md", + "relativePath": "build/bundle-package-docs", + "groups": [ + "build" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Connect a docs site", + "description": "Wire leadtype into a docs app build so humans, agents, and search use one source.", + "urlPath": "/docs/build/connect-docs-site", + "absoluteUrl": "https://docs.example.com/docs/build/connect-docs-site", + "markdownUrlPath": "/docs/build/connect-docs-site.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/build/connect-docs-site.md", + "relativePath": "build/connect-docs-site", + "groups": [ + "build" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Optimize docs for agents", + "description": "Set up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.", + "urlPath": "/docs/build/optimize-docs-for-agents", + "absoluteUrl": "https://docs.example.com/docs/build/optimize-docs-for-agents", + "markdownUrlPath": "/docs/build/optimize-docs-for-agents.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/build/optimize-docs-for-agents.md", + "relativePath": "build/optimize-docs-for-agents", + "groups": [ + "build" + ], + "lastModified": "2026-05-10T01:26:20.700Z" + }, + { + "title": "Validate in CI", + "description": "Run leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.", + "urlPath": "/docs/build/validate-in-ci", + "absoluteUrl": "https://docs.example.com/docs/build/validate-in-ci", + "markdownUrlPath": "/docs/build/validate-in-ci.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/build/validate-in-ci.md", + "relativePath": "build/validate-in-ci", + "groups": [ + "build" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "How it works", + "description": "The mental model: one MDX source, a remark pipeline, two output modes, three audiences.", + "urlPath": "/docs/how-it-works", + "absoluteUrl": "https://docs.example.com/docs/how-it-works", + "markdownUrlPath": "/docs/how-it-works.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/how-it-works.md", + "relativePath": "how-it-works", + "groups": [ + "get-started" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Methodology", + "description": "How leadtype differs from Fumadocs, Starlight, and Mintlify.", + "urlPath": "/docs/methodology", + "absoluteUrl": "https://docs.example.com/docs/methodology", + "markdownUrlPath": "/docs/methodology.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/methodology.md", + "relativePath": "methodology", + "groups": [ + "get-started" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Quickstart", + "description": "Install leadtype, run it against a docs folder, and inspect the artifacts it produces.", + "urlPath": "/docs/quickstart", + "absoluteUrl": "https://docs.example.com/docs/quickstart", + "markdownUrlPath": "/docs/quickstart.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/quickstart.md", + "relativePath": "quickstart", + "groups": [ + "get-started" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "CLI", + "description": "leadtype generate and leadtype lint — flags, exit codes, and JSON output.", + "urlPath": "/docs/reference/cli", + "absoluteUrl": "https://docs.example.com/docs/reference/cli", + "markdownUrlPath": "/docs/reference/cli.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/reference/cli.md", + "relativePath": "reference/cli", + "groups": [ + "reference" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Convert", + "description": "MDX-to-markdown conversion APIs from leadtype/convert.", + "urlPath": "/docs/reference/convert", + "absoluteUrl": "https://docs.example.com/docs/reference/convert", + "markdownUrlPath": "/docs/reference/convert.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/reference/convert.md", + "relativePath": "reference/convert", + "groups": [ + "reference" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Lint rules", + "description": "Schema, link, and navigation checks. CLI and library API.", + "urlPath": "/docs/reference/lint", + "absoluteUrl": "https://docs.example.com/docs/reference/lint", + "markdownUrlPath": "/docs/reference/lint.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/reference/lint.md", + "relativePath": "reference/lint", + "groups": [ + "reference" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "LLM bundles", + "description": "Generate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.", + "urlPath": "/docs/reference/llm", + "absoluteUrl": "https://docs.example.com/docs/reference/llm", + "markdownUrlPath": "/docs/reference/llm.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/reference/llm.md", + "relativePath": "reference/llm", + "groups": [ + "reference" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Remark plugins", + "description": "The default plugin stack that flattens MDX components into markdown.", + "urlPath": "/docs/reference/remark", + "absoluteUrl": "https://docs.example.com/docs/reference/remark", + "markdownUrlPath": "/docs/reference/remark.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/reference/remark.md", + "relativePath": "reference/remark", + "groups": [ + "reference" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + }, + { + "title": "Search", + "description": "Static search index, runtime helpers, and source-grounded answer streaming.", + "urlPath": "/docs/reference/search", + "absoluteUrl": "https://docs.example.com/docs/reference/search", + "markdownUrlPath": "/docs/reference/search.md", + "markdownAbsoluteUrl": "https://docs.example.com/docs/reference/search.md", + "relativePath": "reference/search", + "groups": [ + "reference" + ], + "lastModified": "2026-05-09T22:38:26.000Z" + } + ], + "navigation": { + "groups": [ + { + "slug": "get-started", + "segmentPath": [ + "get-started" + ], + "title": "Get Started", + "description": "What leadtype is, how it fits together, and the five-minute happy path.", + "pages": [ + { + "urlPath": "/docs", + "title": "Leadtype", + "description": "One MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.", + "groups": [ + "get-started" + ] + }, + { + "urlPath": "/docs/how-it-works", + "title": "How it works", + "description": "The mental model: one MDX source, a remark pipeline, two output modes, three audiences.", + "groups": [ + "get-started" + ] + }, + { + "urlPath": "/docs/methodology", + "title": "Methodology", + "description": "How leadtype differs from Fumadocs, Starlight, and Mintlify.", + "groups": [ + "get-started" + ] + }, + { + "urlPath": "/docs/quickstart", + "title": "Quickstart", + "description": "Install leadtype, run it against a docs folder, and inspect the artifacts it produces.", + "groups": [ + "get-started" + ] + } + ], + "children": [] + }, + { + "slug": "authoring", + "segmentPath": [ + "authoring" + ], + "title": "Authoring", + "description": "The content contract: frontmatter, groups, and the MDX components the pipeline can flatten.", + "pages": [ + { + "urlPath": "/docs/authoring/components", + "title": "Components", + "description": "MDX components the pipeline knows how to flatten into agent-readable markdown.", + "groups": [ + "authoring" + ] + }, + { + "urlPath": "/docs/authoring/frontmatter", + "title": "Frontmatter", + "description": "Required fields, group semantics, and how authored MDX becomes a navigation tree.", + "groups": [ + "authoring" + ] + } + ], + "children": [] + }, + { + "slug": "build", + "segmentPath": [ + "build" + ], + "title": "Build", + "description": "Two journeys: ship docs inside an npm package, or wire leadtype into a docs site.", + "pages": [ + { + "urlPath": "/docs/build/bundle-package-docs", + "title": "Bundle docs into a package", + "description": "Ship agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.", + "groups": [ + "build" + ] + }, + { + "urlPath": "/docs/build/connect-docs-site", + "title": "Connect a docs site", + "description": "Wire leadtype into a docs app build so humans, agents, and search use one source.", + "groups": [ + "build" + ] + }, + { + "urlPath": "/docs/build/optimize-docs-for-agents", + "title": "Optimize docs for agents", + "description": "Set up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.", + "groups": [ + "build" + ] + }, + { + "urlPath": "/docs/build/validate-in-ci", + "title": "Validate in CI", + "description": "Run leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.", + "groups": [ + "build" + ] + } + ], + "children": [] + }, + { + "slug": "reference", + "segmentPath": [ + "reference" + ], + "title": "Reference", + "description": "CLI flags, conversion APIs, remark plugins, LLM bundles, search, and lint rules.", + "pages": [ + { + "urlPath": "/docs/reference/cli", + "title": "CLI", + "description": "leadtype generate and leadtype lint — flags, exit codes, and JSON output.", + "groups": [ + "reference" + ] + }, + { + "urlPath": "/docs/reference/convert", + "title": "Convert", + "description": "MDX-to-markdown conversion APIs from leadtype/convert.", + "groups": [ + "reference" + ] + }, + { + "urlPath": "/docs/reference/lint", + "title": "Lint rules", + "description": "Schema, link, and navigation checks. CLI and library API.", + "groups": [ + "reference" + ] + }, + { + "urlPath": "/docs/reference/llm", + "title": "LLM bundles", + "description": "Generate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.", + "groups": [ + "reference" + ] + }, + { + "urlPath": "/docs/reference/remark", + "title": "Remark plugins", + "description": "The default plugin stack that flattens MDX components into markdown.", + "groups": [ + "reference" + ] + }, + { + "urlPath": "/docs/reference/search", + "title": "Search", + "description": "Static search index, runtime helpers, and source-grounded answer streaming.", + "groups": [ + "reference" + ] + } + ], + "children": [] + } + ], + "ungrouped": [], + "unknown": [] + }, + "files": { + "robotsTxt": "/docs/robots.txt", + "sitemapMd": "/docs/sitemap.md", + "sitemapXml": "/docs/sitemap.xml" + } +} diff --git a/apps/example/src/generated/docs-nav.json b/apps/example/src/generated/docs-nav.json index 76eb21f..62fb431 100644 --- a/apps/example/src/generated/docs-nav.json +++ b/apps/example/src/generated/docs-nav.json @@ -35,7 +35,7 @@ { "urlPath": "/docs/quickstart", "title": "Quickstart", - "description": "Install leadtype, run it against a docs folder, and inspect the four artifacts it produces.", + "description": "Install leadtype, run it against a docs folder, and inspect the artifacts it produces.", "groups": [ "get-started" ] @@ -89,7 +89,15 @@ { "urlPath": "/docs/build/connect-docs-site", "title": "Connect a docs site", - "description": "Wire leadtype into a docs app build so it serves humans, agents, and search from one source.", + "description": "Wire leadtype into a docs app build so humans, agents, and search use one source.", + "groups": [ + "build" + ] + }, + { + "urlPath": "/docs/build/optimize-docs-for-agents", + "title": "Optimize docs for agents", + "description": "Set up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.", "groups": [ "build" ] diff --git a/apps/example/src/generated/docs-search-content.json b/apps/example/src/generated/docs-search-content.json index 0bc5e3d..efeb373 100644 --- a/apps/example/src/generated/docs-search-content.json +++ b/apps/example/src/generated/docs-search-content.json @@ -1 +1 @@ -{"version":2,"generatedAt":"2026-05-09T06:52:24.592Z","chunks":["Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nLeadtype does not ship UI components. Your docs app owns runtime rendering, styling, and accessibility — it only has to honor a small naming contract so the remark pipeline can flatten each component into markdown for agents, search, and llms-full/ .txt bundles.","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nWhy flatten at all?\n\nInteractive MDX components like Body content goes here. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCards\n\nA grid of short, linked entry points. Flattens to a bullet list of links. Convert Remark Search\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nSteps\n\nNumbered walkthroughs. Flattens to an ordered list with bold step titles. 1. Author docs in MDX Use the components in this list as authoring affordances. 2. Run the conversion leadtype generate writes flattened markdown to public/docs/ . 3. Serve both formats HTML for humans, .md for agents — same URL, content negotiated by the Accept header.\n\n```tsx Use the components in this list. `leadtype generate` writes flattened markdown. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTabs\n\nGroup equivalent content. Flattens to bold headings followed by content so agents do not need a JSX-aware renderer to read every variant. tanstack-start Use a Vite middleware dev/preview and a Nitro middleware prod to negotiate the Accept header. next-js Wire content negotiation in middleware.ts and serve .md from a route handler. vite A configureServer middleware is enough for static deployments where .md files live in public/ .\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCommandTabs\n\nPackage-manager-aware install or run commands. Flattens to a markdown table with one row per manager. Use mode=\"install\" when command is a package name, mode=\"run\" when command is a CLI name, and mode=\"create\" for starter commands. Use the commands prop for exact per-manager overrides. Package manager Command -- -- npm npm install leadtype pnpm pnpm add leadtype yarn yarn add leadtype bun bun add leadtype Package manager Command -- -- npm npx leadtype lint pnpm pnpm dlx leadtype lint yarn yarn dlx leadtype lint bun bunx leadtype lint\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nAccordion\n\nCollapsible details for secondary content. Flattening ignores open/closed state and emits every item — accordions are not a place to hide content from agents. When should I use accordions? Use them for supporting details, troubleshooting notes, and optional reference material. Closed content is still flattened by the remark pipeline. Are accordions a good place to hide content from LLMs? No. Conversion ignores the open/closed state and emits everything inside.\n\n```tsx Use them for supporting details and optional reference material. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTopicSwitcher\n\nNavigation across equivalent docs topics — frameworks, SDKs, runtimes, deployment targets, product areas. Reader-facing only; it does not automatically read LLM topic config. Framework React — React integration Vue — Vue integration Svelte — Svelte integration\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTypeTable and ExtractedTypeTable\n\nTypeTable is for explicit prop or type rows you already know. ExtractedTypeTable reads a TypeScript file at conversion time and extracts the table from a named type — keep its path stable. Property Type Description Default Required -- -- -- -- -- title string Heading rendered above the callout body. - ✅ Required variant CalloutVariant Visual treatment for the callout. info Optional deprecated \\ \\ boolean\\ \\ deprecated Marks the row as deprecated. false Optional\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nExample\n\nData-driven preview and source examples. The host component receives code as data; add file loaders or dynamic imports outside leadtype when an example needs app-specific behavior.\n\n```tsx The host app owns styling and runtime components while leadtype owns conversion. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nMermaid\n\nDiagrams authored as plain text. Renders client-side as interactive SVG. Flattening preserves the source as a fenced mermaid block so other tools can render the diagram from the markdown copy.\n\n```tsx |remark| Markdown Markdown -->|llms.txt| Agents`} /> ``` ```mermaid `graph LR MDX -->|remark| Markdown Markdown -->|search index| API Markdown -->|llms.txt| Agents` ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nGuidelines\n\nKeep runtime components in your docs app. Leadtype stays out of UI. Keep component names stable. Renaming resolver page1 --> resolver page2 --> resolver page3 --> resolver resolver --> nav resolver --> llms resolver --> full` ```","Frontmatter\n\nRequired fields, group semantics, and how authored MDX becomes a navigation tree.\n\nFrontmatter\n\nHow groups become a nav tree\n\nNested groups\n\nDeclare children in the config to build deeper trees A page sets group bundle-package-docs and lands in that nested slot. Only leaf groups no children get an llms-full/ cli cli --> bundle bundle --> publish publish --> install install --> consume` ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhy AGENTS.md, not llms.txt?\n\nllms.txt is a website convention — a file at /llms.txt with absolute URLs that an agent fetches over HTTP. Inside an npm tarball it's the wrong shape every link points at a hosted URL the agent may not be able to reach, and no major coding agent looks for node modules/ 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } await generateAgentsMd({ srcDir: REPO_ROOT, outDir: PACKAGE_ROOT, product: docsConfig.product, groups: docsConfig.groups, }); ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nVerify before publishing\n\nnpm pack --dry-run should list AGENTS.md docs/ / .md If AGENTS.md is missing, check files in package.json . If .md files are missing, check the --include / --exclude filters.\n\n```bash npx leadtype generate --bundle --src . --out packages/my-package cd packages/my-package && npm pack --dry-run ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nTell consuming projects to use the bundle\n\nAGENTS.md inside your tarball is auto-discovered by agents working in your published package — but for a project that depends on your package, the agent's working directory is the consumer's repo, not yours. You need to point them at the bundled docs. Recommend this snippet in your README so consumers add it to their own root AGENTS.md This is the same pattern Next.js uses to point agents at node modules/next/dist/docs/ .\n\n```md # When working with the `` library, read the bundled docs in `node_modules//AGENTS.md` first — they're version-matched to the installed package and stay accurate as the library updates. ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhen to use this\n\nUse this when agents should understand the package from the installed dependency itself — coding agents that don't have web access, IDE assistants, CLI tools, or air-gapped environments. Don't use this if your only goal is a public docs website. For that, see Connect a docs site. You can use both — they read the same source MDX, just emit different shapes.","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhat's next\n\nCLI reference LLM bundles Lint in CI","Connect a docs site\n\nWire leadtype into a docs app build so it serves humans, agents, and search from one source.\n\nConnect a docs site\n\nUse this path when you run a docs site or want to . Leadtype runs before your build to convert MDX, generate the navigation, build the search index, and produce agent-readable bundles. Your site framework — TanStack Start, Next.js, Astro, anything — handles routing and rendering.","Connect a docs site\n\nWire leadtype into a docs app build so it serves humans, agents, and search from one source.\n\nConnect a docs site\n\nThe flow\n\n\\` reads TypeScript files at conversion time. // Pass basePath so the component can resolve relative paths. const typeTablePlugin: NonNullable< MdxToMarkdownOptions[\"remarkPlugins\"] >[number] = [remarkTypeTableToMarkdown, { basePath: repoRoot }]; await convertAllMdx({ srcDir, outDir, remarkPlugins: [ remarkInclude, ...defaultRemarkPlugins.filter((p) => p !== remarkTypeTableToMarkdown), typeTablePlugin, ], enrichFrontmatterFromGit: true, }); ```","Connect a docs site\n\nWire leadtype into a docs app build so it serves humans, agents, and search from one source.\n\nConnect a docs site\n\nConfigure the product and groups\n\nAuthor docs/docs.config.ts once and let every stage read from it Pages declare group in frontmatter. The config declares the tree. The two together produce the navigation manifest, the llms.txt sections, and the lint check that catches typos. See Frontmatter for the resolution rules.\n\n```ts import { defineDocsConfig } from \"leadtype\"; export default defineDocsConfig({ product: { name: \"my-docs\", summary: \"Short product summary.\", bullets: [\"What it does in one bullet.\", \"Another bullet.\"], bestStartingPoints: [{ urlPath: \"/docs\" }, { urlPath: \"/docs/quickstart\" }], }, groups: [ { slug: \"get-started\", title: \"Get Started\" }, { slug: \"guides\", title: \"Guides\" }, ], }); ```","Connect a docs site\n\nWire leadtype into a docs app build so it serves humans, agents, and search from one source.\n\nConnect a docs site\n\nServe markdown to agents\n\nDrop a content-negotiation middleware in front of your static /docs/ .md files so agents can fetch markdown from the same URL humans visit. A complete vite plugin in \\ 50 lines Browsers send text/html, / and get HTML. Agents send Accept text/markdown and get the converted .md . Same URL, two formats. ⚠️ Warning Set charset=utf-8 Many static handlers serve .md files as Content-Type text/markdown with no charset, which makes browsers fall back to Latin-1 and render UTF-8 characters box-drawing, em dashes, smart quotes as mojibake. Always send Content-Type text/markdown; charset=utf-8 — that's what forceUtf8OnTextResponses above does by patching setHeader. For Next.js, wire the same rewriteToMarkdown logic in middleware.ts and serve .md from a route handler that sets Content-Type text/markdown; charset=utf-8 . For Cloudflare Pages, use a middleware Worker. In every case, set the charset explicitly.\n\n```ts import type { PluginOption } from \"vite\"; function rewriteToMarkdown( url: string, accept: string | undefined ): string | null { if (!accept) return null; const pathname = url.split(\"?\")[0] ?? url; if (pathname.endsWith(\".md\")) return null; if (!(pathname === \"/docs\" || pathname.startsWith(\"/docs/\"))) return null; if (!/text\\/(markdown|plain)/i.test(accept)) return null; // Browsers send `text/html,*/*` — never serve markdown to them. if (/text\\/html/i.test(accept) && !/text\\/(markdown|plain)\\s*;?\\s*q=/i.test(accept)) { return null; } const target = pathname === \"/docs\" ? \"/docs/index.md\" : `${pathname.replace(/\\/$/, \"\")}.md`; return target + (url.length > pathname.length ? url.slice(pathname.length) : \"\"); } function forceUtf8OnTextResponses(res: { setHeader: (n: string, v: string | number | string[]) => unknown }) { const original = res.setHeader.bind(res); res.setHeader = (name, value) => { if ( typeof name === \"string\" && name.toLowerCase() === \"content-type\" && typeof value === \"string\" && /^text\\/(markdown|plain)/i.test(value) && !/charset=/i.test(value) ) { return original(name, `${value}; charset=utf-8`); } return original(name, value); }; } export function","Connect a docs site\n\nWire leadtype into a docs app build so it serves humans, agents, and search from one source.\n\nConnect a docs site\n\nServe markdown to agents\n\ndown|plain)/i.test(value) && !/charset=/i.test(value) ) { return original(name, `${value}; charset=utf-8`); } return original(name, value); }; } export function markdownNegotiation(): PluginOption { const middleware = (req: any, res: any, next: () => void) => { if (!req.url) return next(); forceUtf8OnTextResponses(res); const accept = Array.isArray(req.headers.accept) ? req.headers.accept.join(\",\") : req.headers.accept; const rewritten = rewriteToMarkdown(req.url, accept); if (rewritten) req.url = rewritten; next(); }; return { name: \"leadtype:markdown-negotiation\", configureServer: (s) => s.middlewares.use(middleware), configurePreviewServer: (s) => s.middlewares.use(middleware), }; } ```","Connect a docs site\n\nWire leadtype into a docs app build so it serves humans, agents, and search from one source.\n\nConnect a docs site\n\nConnect a remote source\n\nWhen the docs source lives in a different repo from the docs site Run lint first so missing or malformed frontmatter fails before the converter writes anything. Use --format github in CI to get inline annotations on the PR. Use --json on generate so automation can read the resolved groups and search index stats. This is the shape we expect for orgs hosting one docs UI for multiple package repos the source lives next to the code it documents, the docs app pulls it in at build time. See Bundle docs into a package if the package should also ship docs inside its npm tarball.\n\n```bash git clone --depth 1 https://github.com/acme/package-a .docs-src/package-a npx leadtype lint .docs-src/package-a/docs --format github --error-unknown npx leadtype generate --src .docs-src/package-a --out public --json npm run build ```","Connect a docs site\n\nWire leadtype into a docs app build so it serves humans, agents, and search from one source.\n\nConnect a docs site\n\nVerify\n\nAfter a clean build public/docs/index.md — the converted home page. public/llms.txt — the routing index. Should mention every group from your config. public/docs/llms-full/ lint-report.json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nLocal pre-push hook\n\nCatch issues before they reach CI by running lint in a husky pre-push hook Keep it under a second by limiting the scan to changed files when you have many pages. The CLI accepts repeated --ignore globs to skip stale or generated paths.\n\n```bash #!/usr/bin/env sh npx leadtype lint docs --max-warnings 0 ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nRun before generate\n\nWhen leadtype lint and leadtype generate both run in the same job, lint first Generate fails noisily on unknown groups or broken includes. Lint fails specifically on content schema problems with file/line context — much easier to debug.\n\n```bash npx leadtype lint docs --error-unknown npx leadtype generate --src . --out public --json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nWhat to fix first\n\nWhen CI fails on a lot of violations, fix them in this order 1. parse-error — frontmatter is broken; nothing else can validate. 2. schema — missing or wrong-typed required fields. 3. unresolved-placeholder — content bug, not a config bug. 4. invalid-link and cross-framework-link — usually a stale link after a docs move. 5. unknown-field — last; either delete the field or extend the schema.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nLeadtype takes one input — a folder of MDX — and produces every shape your docs need to take. This page names every piece so the rest of the docs make sense.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe pipeline\n\nThe remark stack is what turns interactive MDX components into agent-readable markdown. JSX gets flattened — a fm fm --> remark fm --> groups remark --> md md --> site_idx md --> search groups --> site_idx groups --> agents_md groups --> nav` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nTwo output modes\n\nleadtype generate has two modes that read the same source and emit different shapes Property Type Description Default Required -- -- -- -- -- Site mode default leadtype generate --out public Writes llms.txt, docs/llms-full/\\ .txt, docs/search-index.json, and docs/\\ .md to a public/ directory your docs website serves. Links use absolute URLs set with --base-url . This is what you wire into a vite/Next/Astro build. - Optional Bundle mode leadtype generate --bundle --out packages/foo Writes AGENTS.md at the package root and docs/\\ .md beneath it, both with relative paths. Skips llms.txt, llms-full, and the search index — those are website-only. Designed for npm tarballs that ship docs alongside the published code. - Optional","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe artifacts\n\nProperty Type Description Default Required -- -- -- -- -- Markdown .md docs/\\ human site_out -- \"absolute URLs\" --> http_agent site_out -- \"search-index.json\" --> search_ui bundle_out -- \"AGENTS.md auto-discovery\" --> offline_agent` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nVocabulary\n\nA few terms you will see throughout the docs. Property Type Description Default Required -- -- -- -- -- flatten verb Convert an interactive MDX component into a portable markdown equivalent. A \\ site_run src --> bundle_run site_run --> site_out bundle_run --> bundle_out site_out --> humans site_out --> http_agents site_out --> search bundle_out --> offline_agents` ```","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nChoose your path\n\nMost teams arrive here for one of two reasons. Pick the journey that matches yours — each is a single page that takes you from zero to running. Build a docs site Ship docs in your package","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nWhat you get\n\n1. Write once Author MDX with familiar components — Callout , Tabs , Steps , Mermaid , TypeTable , and others. Add group in frontmatter to place pages in the navigation tree. 2. Run \\ leadtype generate\\ For a website converts MDX to markdown, builds llms.txt plus topic bundles, generates a search index, resolves navigation. With --bundle emits AGENTS.md plus per-topic .md files for agents reading from node modules/ . 3. Serve all of it Humans get HTML. HTTP agents get markdown via content negotiation or fetch llms.txt . Coding agents working in a project that depends on your package auto-discover AGENTS.md from node modules/ [options] ```","CLI\n\nleadtype generate and leadtype lint — flags, exit codes, and JSON output.\n\nCLI\n\ngenerate\n\nConvert MDX, then either produce website artifacts default or a package bundle --bundle . Flag Default Description -- -- -- --src ; summary: { filesScanned: number; errors: number; warnings: number; }; }; ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nDocs frontmatter\n\nField Required Type -- -- -- title Yes non-empty string description No string icon No string deprecated No boolean deprecatedReason No string experimental No boolean canary No boolean new No boolean draft No boolean tags No string array group No string or string array availableIn No array of framework, url?, title? full No boolean lastModified and lastAuthor are produced by the converter when --enrich-git is set. Don't author them.","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nChangelog frontmatter\n\nField Required Type -- -- -- title Yes non-empty string version Yes SemVer string date Yes ISO-8601 or parseable date description No string icon No string type No release , improvement , retired , or deprecation tags No string array canary No boolean authors No string or string array draft No boolean","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nmeta.json\n\nField Required Type -- -- -- pages Yes string array title No non-empty string root No boolean icon No string defaultOpen No boolean nav.sidebar No section or combined nav.label No string nav.mode No string","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nCustom schemas\n\nPass a Valibot schema to extend or replace the defaults Once you provide a custom schema, unknown-field warnings apply to that schema. Add --error-unknown in CI to keep your contract strict.\n\n```ts import * as v from \"valibot\"; import { lintDocs } from \"leadtype/lint\"; const customFrontmatter = v.object({ title: v.pipe(v.string(), v.minLength(1)), audience: v.picklist([\"beginner\", \"advanced\"]), }); await lintDocs({ srcDir: \"docs\", schemas: { frontmatter: customFrontmatter }, }); ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nPractical guidance\n\nRun lint before leadtype generate so content errors fail fast. Use --format github in GitHub Actions and --format json in any other CI. Treat unresolved-placeholder as a content bug first — usually a missing entry in availableIn or a stale URL template. After a docs move, lint and run meta.json updates together; they drift at the same time. For wiring lint into pipelines, see Validate in CI.","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nThe leadtype/llm entry point produces three flavors of agent-facing index, all derived from the same docs source generateLlmsTxt — for hosted websites. Emits the /llms.txt convention with absolute URLs. generateLLMFullContextFiles — full-content topic bundles. Pairs with generateLlmsTxt . generateAgentsMd — for npm-bundled docs. Emits an AGENTS.md index with relative ./docs/ A library that does one thing well. - Helper that handles the boring parts. - Type-safe by default. - Works in any runtime. ## Best Starting Points - [Documentation](https://docs.example.com/docs) - [Quickstart](https://docs.example.com/docs/quickstart) ## Get Started Five-minute happy path and the mental model. - [Quickstart](https://docs.example.com/docs/quickstart): Install and run the pipeline. - [How it works](https://docs.example.com/docs/how-it-works): The mental model. ## Reference CLI flags and conversion APIs. - [CLI](https://docs.example.com/docs/reference/cli): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTypical sequence\n\ngenerateLLMFullContextFiles reads from A library that does one thing well. These docs ship inside the package so coding agents can read them offline. Open the topic file you need from the list below — paths are relative to this file. ## Get Started - [Quickstart](./docs/quickstart.md): Install and run the pipeline. - [How it works](./docs/how-it-works.md): The mental model. ## Reference - [CLI](./docs/reference/cli.md): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nresolveDocsNavigation\n\nSame group-resolution logic the LLM bundles use, but returns the navigation manifest as a plain object — useful for driving a sidebar UI Write the result to src/generated/docs-nav.json and import it from your sidebar component Now your sidebar can import a static manifest with the same group tree the LLM bundles use.\n\n```ts const navigation = await resolveDocsNavigation({ srcDir: \".\", baseUrl: \"https://docs.example.com\", groups: docsConfig.groups, }); if (navigation.unknown.length > 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } ``` ```ts import { mkdir, writeFile } from \"node:fs/promises\"; await mkdir(\"src/generated\", { recursive: true }); await writeFile( \"src/generated/docs-nav.json\", `${JSON.stringify(navigation, null, 2)}\\n` ); ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTopic design\n\nThe groups you pass to these APIs come from docs.config.ts . Two principles Prefer narrow leaves over one giant bundle. A leaf with 5 pages produces a focused llms-full file an agent can load quickly. A single catch-all leaf with 50 pages produces something most agents will truncate. Write group descriptions for routing, not flavor text. Agents read those descriptions to decide which bundle to load. \"How to install and run\" beats \"Welcome to our guides!\"","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nBase URL precedence\n\nPass baseUrl explicitly, or use environment variables for layered fallback The package-specific LEADTYPE AGENT BASE URL lets each package override an org-wide default. BASE URL covers most CI/deployment platforms, and a final hardcoded fallback keeps local builds working without env setup.\n\n```ts const baseUrl = process.env.LEADTYPE_AGENT_BASE_URL || process.env.BASE_URL || process.env.PORTLESS_URL || \"https://docs.example.com\"; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nThe remark stack is what turns interactive MDX into agent-readable markdown. Imports get stripped first, placeholders get resolved, then each named component is flattened into a markdown equivalent. Order matters.\n\n```ts import { defaultRemarkPlugins, remarkInclude, remarkTypeTableToMarkdown, } from \"leadtype/remark\"; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nThe default stack\n\ndefaultRemarkPlugins runs the stack in this order 1. remarkRemoveImports — strip MDX import and export statements. 2. remarkRemoveJsxComments — strip / ... / JSX comments. 3. remarkResolveDocPlaceholders — replace framework and similar placeholders in URLs. 4. remarkSectionToMarkdown — flatten
ri --> rj --> rd --> rs --> rc --> rcd --> rdt --> rm --> rct --> rst --> rt --> rtt --> ra --> rts --> re --> out` ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nWhy order matters\n\nImports must go before placeholder resolution, because some placeholders read from imported modules. Placeholder resolution must go before component flatteners, because flatteners assume URLs are final strings, not template literals. The component flatteners run last so each one sees a clean tree. Don't reorder casually. If you need a custom plugin to run before a flattener for example, to transform a custom component into one of the contracted names , insert it after remarkResolveDocPlaceholders and before the flattener you want to feed.","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nOptional plugins\n\nremarkInclude\n\nAdd this when the source docs use include tags or partial composition Place it before the default stack so included content expands before any flattener sees it.\n\n```ts remarkPlugins: [remarkInclude, ...defaultRemarkPlugins]; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nOptional plugins\n\nremarkTypeTableToMarkdown with basePath\n\n p !== remarkTypeTableToMarkdown), [remarkTypeTableToMarkdown, { basePath: process.cwd() }], ]; ``` ```mdx ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nPlugin selection rules\n\nUse defaultRemarkPlugins for any agent-facing or LLM output. Add remarkInclude when docs are composed from shared fragments. Use individual plugins only when you intentionally want to omit a flattener e.g. you don't use /docs/search-index.json /docs/search-content.json ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nRuntime search\n\nThe runtime is edge-safe — no Node APIs, works on Vercel, Cloudflare, and anywhere else Results include heading paths, hash URLs, and snippets ready for a search UI.\n\n```ts import { searchDocs, type DocsSearchIndex, type DocsSearchContentStore, } from \"leadtype/search\"; import indexJson from \"../public/docs/search-index.json\"; import contentJson from \"../public/docs/search-content.json\"; const results = searchDocs( indexJson as DocsSearchIndex, \"tabs install\", { content: contentJson as DocsSearchContentStore } ); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nReading docs at runtime\n\nThe same index doubles as a virtual filesystem. Three readers, picked by what you have Use readDocsContentFile when you need the entire page for context links . Use readDocsContentChunk when a search result already named the right heading.\n\n```ts import { listDocsContentFiles, readDocsContentFile, readDocsContentChunk, } from \"leadtype/search\"; const allFiles = listDocsContentFiles(index); const wholePage = readDocsContentFile(index, \"guides/quickstart\", content); const oneChunk = readDocsContentChunk(index, \"chunk-0\", content); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nSource-grounded answers\n\ncreateAnswerContext turns a query plus retrieved chunks into a system and prompt you pass to any model The system message instructs the model to answer only from the retrieved context, cite sources with 1 -style references, and say so when the context is insufficient.\n\n```ts import { createAnswerContext } from \"leadtype/search\"; const context = createAnswerContext(index, \"how do I run lint?\", { content, productName: \"My Library\", }); // → { system, prompt, sources } ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nStreaming via provider entry points\n\nThree thin wrappers around createAnswerContext that stream a Response and surface sources separately. Use one matching your runtime response is a plain text Response. sources is metadata for citation links — display it separately, don't embed it in the streamed answer. For TanStack, pass an explicit adapter . For Cloudflare, build one with createCloudflareDocsAdapter provider, model, options binding env.AI.gateway \"docs\" .\n\n```ts import { streamDocsAnswer } from \"leadtype/search/vercel\"; // Vercel AI SDK / AI Gateway import { streamDocsAnswer } from \"leadtype/search/tanstack\"; // TanStack AI import { streamDocsAnswer } from \"leadtype/search/cloudflare\"; // Cloudflare AI Gateway / Workers AI ``` ```ts const { response, sources } = streamDocsAnswer({ index, content, query, model: \"openai/gpt-5.5\", productName: \"My Library\", }); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nBash tool adapters\n\nWhen you want an agent to explore docs with shell commands instead of receiving pre-selected chunks The adapter exposes a read-only virtual /docs filesystem with ls , cat , find , grep , and rg . Network commands, code execution, and writes are disabled. TanStack and Cloudflare expose createDocsBashTools plural over the same filesystem.\n\n```ts import { createDocsBashTool } from \"leadtype/search/vercel\"; const { tools, instructions } = await createDocsBashTool(index, content); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nAbuse guards\n\nReusable utilities for the request path Helper Purpose -- -- validateDocsQuery Trim and cap query text. readJsonWithLimit Reject oversized JSON bodies before parse. getClientIdentifier Read common proxy IP headers. createMemoryRateLimiter Implements RateLimiter for demos. The in-memory limiter is fine for demos. Production apps should adapt the RateLimiter interface to a shared store — Redis, Vercel KV, Cloudflare KV, or Durable Objects.","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nWhen to add embeddings\n\nStart with the local index. It is static, cheap, edge-safe, and fast for exact API names, config keys, error messages, and paths. Add embeddings only when Users search with vocabulary that doesn't match the docs e.g. \"make it faster\" matching a \"performance optimization\" page . Your docs grow past tens of thousands of chunks and the cold-start memory hit becomes noticeable. Even then, keep the lexical index for exact matches and layer embeddings on top — they're complementary, not replacements."]} +{"version":2,"generatedAt":"2026-05-10T01:26:20.793Z","chunks":["Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nLeadtype does not ship UI components. Your docs app owns runtime rendering, styling, and accessibility — it only has to honor a small naming contract so the remark pipeline can flatten each component into markdown for agents, search, and llms-full/ .txt bundles.","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nWhy flatten at all?\n\nInteractive MDX components like Body content goes here. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCards\n\nA grid of short, linked entry points. Flattens to a bullet list of links. Convert Remark Search\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nSteps\n\nNumbered walkthroughs. Flattens to an ordered list with bold step titles. 1. Author docs in MDX Use the components in this list as authoring affordances. 2. Run the conversion leadtype generate writes flattened markdown to public/docs/ . 3. Serve both formats HTML for humans, .md for agents — same URL, content negotiated by the Accept header.\n\n```tsx Use the components in this list. `leadtype generate` writes flattened markdown. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTabs\n\nGroup equivalent content. Flattens to bold headings followed by content so agents do not need a JSX-aware renderer to read every variant. tanstack-start Use a Vite middleware dev/preview and a Nitro middleware prod to negotiate the Accept header. next-js Wire content negotiation in middleware.ts and serve .md from a route handler. vite A configureServer middleware is enough for static deployments where .md files live in public/ .\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCommandTabs\n\nPackage-manager-aware install or run commands. Flattens to a markdown table with one row per manager. Use mode=\"install\" when command is a package name, mode=\"run\" when command is a CLI name, and mode=\"create\" for starter commands. Use the commands prop for exact per-manager overrides. Package manager Command -- -- npm npm install leadtype pnpm pnpm add leadtype yarn yarn add leadtype bun bun add leadtype Package manager Command -- -- npm npx leadtype lint pnpm pnpm dlx leadtype lint yarn yarn dlx leadtype lint bun bunx leadtype lint\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nAccordion\n\nCollapsible details for secondary content. Flattening ignores open/closed state and emits every item — accordions are not a place to hide content from agents. When should I use accordions? Use them for supporting details, troubleshooting notes, and optional reference material. Closed content is still flattened by the remark pipeline. Are accordions a good place to hide content from LLMs? No. Conversion ignores the open/closed state and emits everything inside.\n\n```tsx Use them for supporting details and optional reference material. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTopicSwitcher\n\nNavigation across equivalent docs topics — frameworks, SDKs, runtimes, deployment targets, product areas. Reader-facing only; it does not automatically read LLM topic config. Framework React — React integration Vue — Vue integration Svelte — Svelte integration\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTypeTable and ExtractedTypeTable\n\nTypeTable is for explicit prop or type rows you already know. ExtractedTypeTable reads a TypeScript file at conversion time and extracts the table from a named type — keep its path stable. Property Type Description Default Required -- -- -- -- -- title string Heading rendered above the callout body. - ✅ Required variant CalloutVariant Visual treatment for the callout. info Optional deprecated \\ \\ boolean\\ \\ deprecated Marks the row as deprecated. false Optional\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nExample\n\nData-driven preview and source examples. The host component receives code as data; add file loaders or dynamic imports outside leadtype when an example needs app-specific behavior.\n\n```tsx The host app owns styling and runtime components while leadtype owns conversion. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nMermaid\n\nDiagrams authored as plain text. Renders client-side as interactive SVG. Flattening preserves the source as a fenced mermaid block so other tools can render the diagram from the markdown copy.\n\n```tsx |remark| Markdown Markdown -->|llms.txt| Agents`} /> ``` ```mermaid `graph LR MDX -->|remark| Markdown Markdown -->|search index| API Markdown -->|llms.txt| Agents` ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nGuidelines\n\nKeep runtime components in your docs app. Leadtype stays out of UI. Keep component names stable. Renaming resolver page1 --> resolver page2 --> resolver page3 --> resolver resolver --> nav resolver --> llms resolver --> full` ```","Frontmatter\n\nRequired fields, group semantics, and how authored MDX becomes a navigation tree.\n\nFrontmatter\n\nHow groups become a nav tree\n\nNested groups\n\nDeclare children in the config to build deeper trees A page sets group bundle-package-docs and lands in that nested slot. Only leaf groups no children get an llms-full/ cli cli --> bundle bundle --> publish publish --> install install --> consume` ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhy AGENTS.md, not llms.txt?\n\nllms.txt is a website convention — a file at /llms.txt with absolute URLs that an agent fetches over HTTP. Inside an npm tarball it's the wrong shape every link points at a hosted URL the agent may not be able to reach, and no major coding agent looks for node modules/ 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } await generateAgentsMd({ srcDir: REPO_ROOT, outDir: PACKAGE_ROOT, product: docsConfig.product, groups: docsConfig.groups, }); ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nVerify before publishing\n\nnpm pack --dry-run should list AGENTS.md docs/ / .md If AGENTS.md is missing, check files in package.json . If .md files are missing, check the --include / --exclude filters.\n\n```bash npx leadtype generate --bundle --src . --out packages/my-package cd packages/my-package && npm pack --dry-run ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nTell consuming projects to use the bundle\n\nAGENTS.md inside your tarball is auto-discovered by agents working in your published package — but for a project that depends on your package, the agent's working directory is the consumer's repo, not yours. You need to point them at the bundled docs. Recommend this snippet in your README so consumers add it to their own root AGENTS.md This is the same pattern Next.js uses to point agents at node modules/next/dist/docs/ .\n\n```md # When working with the `` library, read the bundled docs in `node_modules//AGENTS.md` first — they're version-matched to the installed package and stay accurate as the library updates. ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhen to use this\n\nUse this when agents should understand the package from the installed dependency itself — coding agents that don't have web access, IDE assistants, CLI tools, or air-gapped environments. Don't use this if your only goal is a public docs website. For that, see Connect a docs site. You can use both — they read the same source MDX, just emit different shapes.","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhat's next\n\nCLI reference LLM bundles Lint in CI","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nUse this path when you run a docs site or want to . Leadtype runs before your build to convert MDX, generate navigation data, build the search index, and produce agent-readable artifacts. Your site framework — TanStack Start, Next.js, Astro, anything — handles routing and rendering.","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nThe flow\n\n\\` reads TypeScript files at conversion time. // Pass basePath so the component can resolve relative paths. const typeTablePlugin: NonNullable< MdxToMarkdownOptions[\"remarkPlugins\"] >[number] = [remarkTypeTableToMarkdown, { basePath: repoRoot }]; await convertAllMdx({ srcDir, outDir, remarkPlugins: [ remarkInclude, ...defaultRemarkPlugins.filter((p) => p !== remarkTypeTableToMarkdown), typeTablePlugin, ], enrichFrontmatterFromGit: true, }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConfigure the product and groups\n\nAuthor docs/docs.config.ts once and let every stage read from it Pages declare group in frontmatter. The config declares the tree. The two together produce the navigation manifest, the llms.txt sections, and the lint check that catches typos. See Frontmatter for the resolution rules.\n\n```ts import { defineDocsConfig } from \"leadtype\"; export default defineDocsConfig({ product: { name: \"my-docs\", summary: \"Short product summary.\", bullets: [\"What it does in one bullet.\", \"Another bullet.\"], bestStartingPoints: [{ urlPath: \"/docs\" }, { urlPath: \"/docs/quickstart\" }], }, groups: [ { slug: \"get-started\", title: \"Get Started\" }, { slug: \"guides\", title: \"Guides\" }, ], }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nMake the site agent-readable\n\nAfter generation, wire the runtime pieces into your docs app Serve root discovery files /llms.txt , /sitemap.xml , /sitemap.md , and /robots.txt . Keep docs-scoped discovery files available under /docs/ . Add JSON-LD, canonical links, and markdown alternate links to docs HTML pages. Return markdown for Accept text/markdown , known AI user agents, and direct .md URLs. Preserve canonical url and last updated frontmatter in markdown responses. Leadtype provides leadtype/llm/readability so you do not have to hand-roll request detection, frontmatter aliases, missing-page markdown, or JSON-LD escaping. The full setup guide is Optimize docs for agents. The core request hook looks like this in any framework Put it before your HTML docs route. Normal browsers continue to receive HTML; agent-oriented requests receive the generated markdown with Content-Type text/markdown; charset=utf-8 .\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readGeneratedFile(`public/${target.filePath}`); }, }); if (response) { return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConnect a remote source\n\nWhen the docs source lives in a different repo from the docs site Run lint first so missing or malformed frontmatter fails before the converter writes anything. Use --format github in CI to get inline annotations on the PR. Use --json on generate so automation can read the resolved groups and search index stats. This is the shape we expect for orgs hosting one docs UI for multiple package repos the source lives next to the code it documents, the docs app pulls it in at build time. See Bundle docs into a package if the package should also ship docs inside its npm tarball.\n\n```bash git clone --depth 1 https://github.com/acme/package-a .docs-src/package-a npx leadtype lint .docs-src/package-a/docs --format github --error-unknown npx leadtype generate --src .docs-src/package-a --out public --json npm run build ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nVerify\n\nAfter a clean build public/docs/index.md — the converted home page. public/llms.txt — the routing index. Should mention every group from your config. public/docs/llms-full/ public/sitemap.xml public/docs/sitemap.md -> public/sitemap.md public/docs/robots.txt -> public/robots.txt ``` ```ts import { generateAgentReadabilityArtifacts, renderRobotsTxt, renderSitemapMarkdown, renderSitemapXml, } from \"leadtype/llm\"; const docs = await generateAgentReadabilityArtifacts({ outDir: \"public\", baseUrl: \"https://docs.example.com\", product: docsConfig.product, groups: docsConfig.groups, }); const pages = [ ...marketingPages, ...blogPages, ...docs.manifest.pages, ]; await writeFile(\"public/sitemap.xml\", renderSitemapXml(pages)); await writeFile( \"public/sitemap.md\", renderSitemapMarkdown({ product: docsConfig.product, navigation: docs.manifest.navigation, pages, }) ); await writeFile( \"public/robots.txt\", renderRobotsTxt({ baseUrl: \"https://docs.example.com\" }) ); ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n3. Add JSON-LD to docs pages\n\nUse the manifest entry for the current page and render Schema.org JSON-LD into the HTML head Use renderJsonLd page, manifest if your framework has a typed metadata API. Use renderJsonLdScript page, manifest if your framework expects an HTML string. Also add canonical and markdown alternate links The JSON-LD gives agents the page title, description, canonical URL, last modified date, and breadcrumbs without scraping your rendered layout.\n\n```ts import agentManifest from \"../public/docs/agent-readability.json\"; import { renderJsonLd, renderJsonLdScript } from \"leadtype/llm/readability\"; const page = agentManifest.pages.find( (entry) => entry.urlPath === \"/docs/quickstart\" ); if (page) { const jsonLd = renderJsonLd(page, agentManifest); const script = renderJsonLdScript(page, agentManifest); } ``` ```html ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\nUse createAgentMarkdownResponse from request middleware or route handlers. It handles Accept text/markdown and Accept text/plain . Known AI user-agent headers. Direct .md URLs such as /docs/quickstart.md . canonical url and last updated frontmatter aliases. 200 markdown responses for missing docs pages, so agents do not discard the body. Content-Type text/markdown; charset=utf-8 . The framework-neutral shape is Put that logic wherever your framework can intercept docs requests Framework/runtime Where it usually goes -- -- Next.js Route handler or middleware plus a file reader for generated markdown. TanStack Start Server handler before HTML rendering. Astro Endpoint or middleware. Vite dev/preview Plugin middleware. Cloudflare Workers/Pages Worker middleware. Express/Hono/Fastify Middleware before the docs HTML route. Do not rewrite llms.txt , sitemap.xml , sitemap.md , robots.txt , or agent-readability.json to page markdown. The helper leaves those artifact paths alone.\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; export async function handleRequest(request: Request): Promise { const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readGeneratedFile(`public/${target.filePath}`); }, }); if (!response) { return null; } return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n5. Verify locally\n\nStart the docs site, then check the URLs agents use Expected results llms.txt links point to existing .md URLs. Both root and docs-scoped sitemaps resolve. Markdown responses use Content-Type text/markdown; charset=utf-8 . Markdown frontmatter contains canonical url and last updated . HTML pages contain one application/ld+json script. Missing docs pages return a markdown body for agent-oriented requests. Then run the Vercel Agent Readability audit against the docs entry point If the audit reports broken links from llms.txt , check whether your generated URLs use the production --base-url while your local audit expects localhost . For local dev, serve root and docs-scoped sitemap/robots files from the current request origin, or run the audit against a preview URL that matches --base-url .\n\n```bash curl http://localhost:5173/llms.txt curl http://localhost:5173/sitemap.xml curl http://localhost:5173/sitemap.md curl http://localhost:5173/docs/sitemap.xml curl -I -H \"Accept: text/markdown\" http://localhost:5173/docs/quickstart curl http://localhost:5173/docs/quickstart.md curl -H \"User-Agent: ChatGPT-User\" http://localhost:5173/docs/quickstart ``` ```bash npx @vercel/agent-readability audit http://localhost:5173/docs ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\nMinimal checklist\n\nGenerate llms.txt , markdown mirrors, llms-full , sitemap, robots, and agent-readability.json . Serve root-level /sitemap.xml , /sitemap.md , and /robots.txt . Keep docs-scoped /docs/sitemap.xml , /docs/sitemap.md , and /docs/robots.txt . Add JSON-LD to every docs HTML page. Add canonical and markdown alternate links to every docs HTML page. Return markdown for agent Accept headers, AI user agents, and .md URLs. Include canonical url and last updated in markdown frontmatter. Return markdown bodies for missing docs pages requested by agents.","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nleadtype lint reads source MDX, runs the schema and link checks, and exits non-zero on errors. Wire it into CI so docs PRs fail fast on the same rules that would otherwise blow up leadtype generate later in the pipeline.","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nWhat it catches\n\nMissing or wrong-typed frontmatter fields schema rule . Top-level frontmatter fields not in the schema unknown-field . Frontmatter or meta.json that doesn't parse parse-error . Internal /docs/... links pointing at routes that don't exist invalid-link . Unresolved framework placeholders left in URLs unresolved-placeholder . Cross-framework links from a framework-scoped page to a different framework's docs cross-framework-link . See Lint reference for the full rule list and how to extend the schema.","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nGitHub Actions\n\nUse --format github so violations render as inline annotations on the PR --error-unknown upgrades unknown-field warnings to errors — strict mode. --max-warnings 0 makes any remaining warning fail the job.\n\n```yaml name: Lint docs on: pull_request: paths: - \"docs/**\" - \"**/*.mdx\" jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 - run: bun install - run: npx leadtype lint docs --format github --error-unknown --max-warnings 0 ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nOther CI providers\n\nUse --format json for any CI that doesn't speak the GitHub annotations format The JSON output includes per-file violations and summary counts. Pipe it into your provider's reporter, post a PR comment, or upload as an artifact.\n\n```bash npx leadtype lint docs --format json --error-unknown > lint-report.json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nLocal pre-push hook\n\nCatch issues before they reach CI by running lint in a husky pre-push hook Keep it under a second by limiting the scan to changed files when you have many pages. The CLI accepts repeated --ignore globs to skip stale or generated paths.\n\n```bash #!/usr/bin/env sh npx leadtype lint docs --max-warnings 0 ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nRun before generate\n\nWhen leadtype lint and leadtype generate both run in the same job, lint first Generate fails noisily on unknown groups or broken includes. Lint fails specifically on content schema problems with file/line context — much easier to debug.\n\n```bash npx leadtype lint docs --error-unknown npx leadtype generate --src . --out public --json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nWhat to fix first\n\nWhen CI fails on a lot of violations, fix them in this order 1. parse-error — frontmatter is broken; nothing else can validate. 2. schema — missing or wrong-typed required fields. 3. unresolved-placeholder — content bug, not a config bug. 4. invalid-link and cross-framework-link — usually a stale link after a docs move. 5. unknown-field — last; either delete the field or extend the schema.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nLeadtype takes one input — a folder of MDX — and produces every shape your docs need to take. This page names every piece so the rest of the docs make sense.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe pipeline\n\nThe remark stack is what turns interactive MDX components into agent-readable markdown. JSX gets flattened — a fm fm --> remark fm --> groups remark --> md md --> site_idx md --> search groups --> site_idx groups --> agents_md groups --> nav` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nTwo output modes\n\nleadtype generate has two modes that read the same source and emit different shapes Property Type Description Default Required -- -- -- -- -- Site mode default leadtype generate --out public Writes llms.txt, docs/llms-full/\\ .txt, docs/search-index.json, docs/sitemap.xml, docs/sitemap.md, docs/robots.txt, agent-readability.json, and docs/\\ .md to a public/ directory your docs website serves. This is what you wire into a Vite, Next.js, Astro, or TanStack Start build. - Optional Bundle mode leadtype generate --bundle --out packages/foo Writes AGENTS.md at the package root and docs/\\ .md beneath it, both with relative paths. Skips llms.txt, llms-full, search, sitemap, robots, and Agent Readability files — those are website-only. Designed for npm tarballs that ship docs alongside the published code. - Optional","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe artifacts\n\nProperty Type Description Default Required -- -- -- -- -- Markdown .md docs/\\ human site_out -- \"absolute URLs\" --> http_agent site_out -- \"search-index.json\" --> search_ui bundle_out -- \"AGENTS.md auto-discovery\" --> offline_agent` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nVocabulary\n\nA few terms you will see throughout the docs. Property Type Description Default Required -- -- -- -- -- flatten verb Convert an interactive MDX component into a portable markdown equivalent. A \\ site_run src --> bundle_run site_run --> site_out bundle_run --> bundle_out site_out --> humans site_out --> http_agents site_out --> search bundle_out --> offline_agents` ```","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nChoose your path\n\nMost teams arrive here for one of two reasons. Pick the journey that matches yours — each is a single page that takes you from zero to running. Build a docs site Ship docs in your package","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nWhat you get\n\n1. Write once Author MDX with familiar components — Callout , Tabs , Steps , Mermaid , TypeTable , and others. Add group in frontmatter to place pages in the navigation tree. 2. Run \\ leadtype generate\\ For a website converts MDX to markdown, builds llms.txt plus topic bundles, generates a search index, writes Agent Readability discovery files, and resolves navigation. With --bundle emits AGENTS.md plus per-topic .md files for agents reading from node modules/ . 3. Serve all of it Humans get HTML. HTTP agents get markdown via content negotiation or fetch llms.txt . Coding agents working in a project that depends on your package auto-discover AGENTS.md from node modules/ [options] ```","CLI\n\nleadtype generate and leadtype lint — flags, exit codes, and JSON output.\n\nCLI\n\ngenerate\n\nConvert MDX, then either produce website artifacts default or a package bundle --bundle . Flag Default Description -- -- -- --src ; summary: { filesScanned: number; errors: number; warnings: number; }; }; ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nDocs frontmatter\n\nField Required Type -- -- -- title Yes non-empty string description No string icon No string deprecated No boolean deprecatedReason No string experimental No boolean canary No boolean new No boolean draft No boolean tags No string array group No string or string array availableIn No array of framework, url?, title? full No boolean lastModified and lastAuthor are produced by the converter when --enrich-git is set. Don't author them.","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nChangelog frontmatter\n\nField Required Type -- -- -- title Yes non-empty string version Yes SemVer string date Yes ISO-8601 or parseable date description No string icon No string type No release , improvement , retired , or deprecation tags No string array canary No boolean authors No string or string array draft No boolean","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nmeta.json\n\nField Required Type -- -- -- pages Yes string array title No non-empty string root No boolean icon No string defaultOpen No boolean nav.sidebar No section or combined nav.label No string nav.mode No string","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nCustom schemas\n\nPass a Valibot schema to extend or replace the defaults Once you provide a custom schema, unknown-field warnings apply to that schema. Add --error-unknown in CI to keep your contract strict.\n\n```ts import * as v from \"valibot\"; import { lintDocs } from \"leadtype/lint\"; const customFrontmatter = v.object({ title: v.pipe(v.string(), v.minLength(1)), audience: v.picklist([\"beginner\", \"advanced\"]), }); await lintDocs({ srcDir: \"docs\", schemas: { frontmatter: customFrontmatter }, }); ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nPractical guidance\n\nRun lint before leadtype generate so content errors fail fast. Use --format github in GitHub Actions and --format json in any other CI. Treat unresolved-placeholder as a content bug first — usually a missing entry in availableIn or a stale URL template. After a docs move, lint and run meta.json updates together; they drift at the same time. For wiring lint into pipelines, see Validate in CI.","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nThe leadtype/llm entry point produces four flavors of agent-facing output, all derived from the same docs source generateLlmsTxt — for hosted websites. Emits the /llms.txt convention with root-relative markdown mirror links. generateLLMFullContextFiles — full-content topic bundles. Pairs with generateLlmsTxt . generateAgentReadabilityArtifacts — docs-scoped sitemap.xml , sitemap.md , robots.txt , and JSON manifest data that a host app can merge into site-level files. generateAgentsMd — for npm-bundled docs. Emits an AGENTS.md index with relative ./docs/ A library that does one thing well. - Helper that handles the boring parts. - Type-safe by default. - Works in any runtime. ## Best Starting Points - [Documentation](/docs/index.md) - [Quickstart](/docs/quickstart.md) ## Get Started Five-minute happy path and the mental model. - [Quickstart](/docs/quickstart.md): Install and run the pipeline. - [How it works](/docs/how-it-works.md): The mental model. ## Reference CLI flags and conversion APIs. - [CLI](/docs/reference/cli.md): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTypical sequence\n\ngenerateLLMFullContextFiles and generateAgentReadabilityArtifacts read from entry.urlPath === \"/docs/quickstart\"); if (page) { const jsonLd = renderJsonLd(page, manifest); const scriptTag = renderJsonLdScript(page, manifest); } ``` ```ts const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readFileSync(`public/${target.filePath}`, \"utf8\"); }, }); if (response) { return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nAgent readability helpers\n\nt for -- -- renderJsonLd Return a Schema.org object for framework metadata APIs. renderJsonLdScript Return an escaped `; +} + +export function createAgentMarkdownResponse( + config: CreateAgentMarkdownResponseConfig +): AgentMarkdownResponse | null { + const pathname = normalizeUrlPath(config.urlPath); + if (!readableMethod(config.method)) { + return null; + } + + const accept = getHeaderValue(config.headers, "accept"); + const userAgent = getHeaderValue(config.headers, "user-agent"); + const wantsMarkdown = + acceptsMarkdownHeader(accept) || isAgentUserAgent(userAgent); + const target = resolveMarkdownMirrorTarget(pathname); + + if (target && (wantsMarkdown || pathname.endsWith(".md"))) { + const page = config.manifest.pages.find( + (entry) => entry.urlPath === target.urlPath + ); + const canonicalUrl = + page?.absoluteUrl ?? + toAbsoluteUrl(target.urlPath, config.manifest.baseUrl); + const markdown = config.readMarkdownFile(target); + const body = markdown + ? enrichMarkdownFrontmatter(markdown, { + canonicalUrl, + lastUpdated: page?.lastModified, + }) + : renderMissingMarkdown({ + urlPath: target.urlPath, + canonicalUrl, + lastUpdated: config.now, + }); + return { + status: 200, + headers: createMarkdownResponseHeaders({ + canonicalUrl, + includeUserAgentVary: isAgentUserAgent(userAgent), + }), + body: config.method === "HEAD" ? "" : body, + found: Boolean(markdown), + target, + }; + } + + if (wantsMarkdown && !isAgentReadabilityArtifactPath(pathname)) { + const canonicalUrl = toAbsoluteUrl( + pathname, + config.requestOrigin + ? normalizeBaseUrl(config.requestOrigin) + : config.manifest.baseUrl + ); + return { + status: 200, + headers: createMarkdownResponseHeaders({ + canonicalUrl, + includeUserAgentVary: isAgentUserAgent(userAgent), + }), + body: + config.method === "HEAD" + ? "" + : renderMissingMarkdown({ + urlPath: pathname, + canonicalUrl, + lastUpdated: config.now, + }), + found: false, + }; + } + + return null; +} + function normalizeGroupValue(raw: unknown): string[] { if (typeof raw === "string") { const trimmed = raw.trim(); @@ -272,12 +758,12 @@ function normalizeGroupValue(raw: unknown): string[] { type RenderedLink = { title: string; - absoluteUrl: string; + url: string; description: string; }; function renderLink(link: RenderedLink): string { - return `- [${link.title}](${link.absoluteUrl}): ${link.description}`; + return `- [${link.title}](${link.url}): ${link.description}`; } function pageToRenderedLink(doc: SourceDoc): RenderedLink { @@ -291,14 +777,13 @@ function pageToRenderedLink(doc: SourceDoc): RenderedLink { return { title, description, - absoluteUrl: doc.absoluteUrl, + url: toMarkdownUrlPath(doc.urlPath), }; } function resolveCuratedLink( link: CuratedLink, - sourceDocs: Map, - baseUrl: string + sourceDocs: Map ): RenderedLink { const sourceDoc = sourceDocs.get(link.urlPath); const title = @@ -315,7 +800,7 @@ function resolveCuratedLink( return { title, description: description || `Entry point for ${title} documentation.`, - absoluteUrl: toAbsoluteUrl(sourceDoc?.urlPath ?? link.urlPath, baseUrl), + url: toMarkdownUrlPath(sourceDoc?.urlPath ?? link.urlPath), }; } @@ -413,6 +898,7 @@ async function readMarkdownDocs( .relative(docsDir, filePath) .replace(WINDOWS_PATH_PATTERN, "/"); const raw = await readFile(filePath, "utf-8"); + const fileStat = await stat(filePath); const parsed = matter(raw); const title = String(parsed.data.title ?? "").trim() || @@ -432,11 +918,14 @@ async function readMarkdownDocs( relativePath: relativePath.replace(MD_ONLY_EXTENSION_PATTERN, ""), groups, content: parsed.content.trim(), + lastModified: readLastModified(parsed.data, fileStat.mtime), }; }) ); - return docs.sort((left, right) => left.urlPath.localeCompare(right.urlPath)); + return docs + .filter((doc) => !GENERATED_MARKDOWN_FILES.has(`${doc.relativePath}.md`)) + .sort((left, right) => left.urlPath.localeCompare(right.urlPath)); } type GroupMembership = { @@ -513,12 +1002,11 @@ function pagesUnderGroup( function renderProductSummary( product: ProductInfo, - sourceDocs: Map, - baseUrl: string + sourceDocs: Map ): string { const startingPoints = product.bestStartingPoints ?? []; const links = startingPoints.map((link) => - resolveCuratedLink(link, sourceDocs, baseUrl) + resolveCuratedLink(link, sourceDocs) ); const sections: string[] = [`# ${product.name}`, "", `> ${product.summary}`]; @@ -700,7 +1188,7 @@ function renderLeafGroupDocument( ); const links = groupPages.map((doc) => ({ title: doc.title, - absoluteUrl: doc.absoluteUrl, + url: doc.absoluteUrl, description: doc.description || `Entry point for ${doc.title} documentation.`, })); @@ -771,7 +1259,7 @@ export async function generateLlmsTxt(config: LlmsTxtConfig): Promise { await mkdir(path.join(outDir, DOCS_DIRNAME), { recursive: true }); await writeFile( path.join(outDir, "llms.txt"), - renderProductSummary(config.product, sourceDocs, baseUrl) + renderProductSummary(config.product, sourceDocs) ); if (resolved.length > 0) { @@ -821,6 +1309,247 @@ export async function generateLLMFullContextFiles( await writeGroupTree(resolved, config.product, markdownDocs, llmsFullDir); } +function escapeXml(value: string): string { + return value.replace(/[<>&'"]/g, (character) => { + switch (character) { + case "<": + return "<"; + case ">": + return ">"; + case "&": + return "&"; + case "'": + return "'"; + case '"': + return """; + default: + return character; + } + }); +} + +function toAgentReadabilityPage( + doc: MarkdownDoc, + baseUrl: string +): AgentReadabilityPage { + const markdownUrlPath = toMarkdownUrlPath(doc.urlPath); + return { + title: doc.title, + description: doc.description, + urlPath: doc.urlPath, + absoluteUrl: doc.absoluteUrl, + markdownUrlPath, + markdownAbsoluteUrl: toAbsoluteUrl(markdownUrlPath, baseUrl), + relativePath: doc.relativePath, + groups: [...doc.groups], + lastModified: doc.lastModified, + }; +} + +export function renderSitemapXml(pages: AgentReadabilityPage[]): string { + const urls = pages + .map( + (page) => ` + ${escapeXml(page.absoluteUrl)} + ${escapeXml(page.lastModified)} + ` + ) + .join("\n"); + + return ` + +${urls} + +`; +} + +function renderSitemapGroup( + group: DocsNavigationGroup, + pagesByPath: Map, + depth = 2 +): string[] { + const lines = [`${"#".repeat(depth)} ${group.title}`]; + if (group.description) { + lines.push("", group.description); + } + + const links: string[] = []; + for (const page of group.pages) { + const readablePage = pagesByPath.get(page.urlPath); + if (!readablePage) { + continue; + } + const description = readablePage.description + ? `: ${readablePage.description}` + : ""; + links.push( + `- [${readablePage.title}](${readablePage.urlPath})${description}` + ); + } + + if (links.length > 0) { + lines.push("", ...links); + } + + for (const child of group.children) { + lines.push("", ...renderSitemapGroup(child, pagesByPath, depth + 1)); + } + + return lines; +} + +export function renderSitemapMarkdown( + config: RenderSitemapMarkdownConfig +): string { + const pagesByPath = new Map(config.pages.map((page) => [page.urlPath, page])); + const lines = [ + "# Sitemap", + "", + `Structured documentation sitemap for ${config.product.name}.`, + ]; + + for (const group of config.navigation.groups) { + lines.push("", ...renderSitemapGroup(group, pagesByPath)); + } + + if (config.navigation.ungrouped.length > 0) { + lines.push("", "## Other", ""); + for (const page of config.navigation.ungrouped) { + const readablePage = pagesByPath.get(page.urlPath); + if (!readablePage) { + continue; + } + const description = readablePage.description + ? `: ${readablePage.description}` + : ""; + lines.push( + `- [${readablePage.title}](${readablePage.urlPath})${description}` + ); + } + } + + return `${lines.join("\n")}\n`; +} + +export function renderRobotsTxt(config: RenderRobotsTxtConfig): string { + const baseUrl = config.baseUrl + ? normalizeBaseUrl(config.baseUrl) + : normalizeBaseUrl(undefined); + const sitemapUrl = toAbsoluteUrl( + config.sitemapUrlPath ?? "/sitemap.xml", + baseUrl + ); + const allowPaths = config.allowPaths ?? [ + "/", + "/docs/", + "/llms.txt", + "/docs/llms.txt", + "/sitemap.xml", + "/sitemap.md", + ]; + const userAgents = config.userAgents ?? AI_CRAWLER_USER_AGENTS; + const lines = ["User-agent: *"]; + for (const allowPath of allowPaths) { + lines.push(`Allow: ${allowPath}`); + } + lines.push(""); + + for (const userAgent of userAgents) { + lines.push(`User-agent: ${userAgent}`); + for (const allowPath of allowPaths) { + lines.push(`Allow: ${allowPath}`); + } + lines.push(""); + } + + lines.push(`Sitemap: ${sitemapUrl}`, ""); + return lines.join("\n"); +} + +function buildNavigationFromMarkdownDocs( + docs: MarkdownDoc[], + resolved: ResolvedGroup[] +): DocsNavigation { + const membership = buildGroupMembership(docs, resolved); + return { + groups: resolved.map((group) => buildNavigationGroup(group, membership)), + ungrouped: membership.ungrouped.map(pageView), + unknown: membership.unknown.map(({ page, slug }) => ({ + urlPath: page.urlPath, + slug, + })), + }; +} + +/** + * Generate docs-scoped Vercel Agent Readability discovery artifacts. These + * files are intentionally written under `/docs/` so host apps can merge them + * with blog, marketing, changelog, or product pages before serving root-level + * `/sitemap.xml`, `/sitemap.md`, and `/robots.txt`. + */ +export async function generateAgentReadabilityArtifacts( + config: AgentReadabilityConfig +): Promise { + const outDir = path.resolve(config.outDir); + const docsDir = path.join(outDir, DOCS_DIRNAME); + const baseUrl = normalizeBaseUrl(config.baseUrl); + const markdownDocs = await readMarkdownDocs(outDir, baseUrl); + + if (markdownDocs.length === 0) { + throw new Error( + `generateAgentReadabilityArtifacts found no markdown under "${docsDir}". Run convertAllMdx first, or check that config.outDir matches.` + ); + } + + const resolved = resolveGroups(config.groups); + const navigation = buildNavigationFromMarkdownDocs(markdownDocs, resolved); + const pages = markdownDocs.map((doc) => toAgentReadabilityPage(doc, baseUrl)); + const manifest: AgentReadabilityManifest = { + version: 1, + generatedAt: new Date().toISOString(), + baseUrl, + product: config.product, + pages, + navigation, + files: { + robotsTxt: `/docs/${ROBOTS_FILE}`, + sitemapMd: `/docs/${SITEMAP_MARKDOWN_FILE}`, + sitemapXml: `/docs/${SITEMAP_XML_FILE}`, + }, + }; + + const files = { + manifest: path.join(docsDir, AGENT_READABILITY_MANIFEST_FILE), + robotsTxt: path.join(docsDir, ROBOTS_FILE), + sitemapMd: path.join(docsDir, SITEMAP_MARKDOWN_FILE), + sitemapXml: path.join(docsDir, SITEMAP_XML_FILE), + }; + + await mkdir(docsDir, { recursive: true }); + await writeFile(files.sitemapXml, renderSitemapXml(pages)); + await writeFile( + files.sitemapMd, + renderSitemapMarkdown({ + product: config.product, + navigation, + pages, + }) + ); + await writeFile( + files.robotsTxt, + renderRobotsTxt({ + baseUrl, + sitemapUrlPath: "/docs/sitemap.xml", + }) + ); + await writeFile(files.manifest, `${JSON.stringify(manifest, null, 2)}\n`); + + return { + files, + manifest, + }; +} + /* ---------------- AGENTS.md (offline package bundle) -------------------- */ export type AgentsMdConfig = { diff --git a/packages/leadtype/src/llm/readability.ts b/packages/leadtype/src/llm/readability.ts new file mode 100644 index 0000000..141c7dc --- /dev/null +++ b/packages/leadtype/src/llm/readability.ts @@ -0,0 +1,417 @@ +import type { AgentReadabilityManifest, AgentReadabilityPage } from "./llm"; + +export type { AgentReadabilityManifest, AgentReadabilityPage } from "./llm"; + +const DOCS_DIRNAME = "docs"; +const MD_ONLY_EXTENSION_PATTERN = /\.md$/; +const TRAILING_SLASH_PATTERN = /\/$/; +const TRAILING_SLASHES_PATTERN = /\/+$/; +const MARKDOWN_ACCEPT_PATTERN = /text\/(markdown|plain)/i; +const HTML_ACCEPT_PATTERN = /text\/html/i; +const MARKDOWN_Q_PATTERN = /text\/(markdown|plain)\s*;?\s*q=/i; +const FRONTMATTER_BLOCK_PATTERN = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/; +const YAML_QUOTE_PATTERN = /["\\]/g; +const SCRIPT_JSON_ESCAPE_PATTERN = /[<>&\u2028\u2029]/g; +const QUERY_OR_HASH_PATTERN = /[?#]/; +const ROOT_AGENT_ARTIFACT_PATTERN = + /^\/(?:llms\.txt|robots\.txt|sitemap\.(?:md|xml))$/; +const DOCS_AGENT_ARTIFACT_PATTERN = + /^\/docs\/(?:agent-readability\.json|llms(?:-full)?\.txt|llms-full\/.+\.txt|robots\.txt|search-(?:content|index)\.json|sitemap\.(?:md|xml))$/; +const AI_USER_AGENT_PATTERN = + /\b(anthropic-ai|claude-web|claudebot|ccbot|chatgpt-user|gptbot|google-extended|oai-searchbot|perplexitybot)\b/i; + +export type JsonLdValue = Record; + +export type MarkdownMirrorTarget = { + /** Canonical HTML route, e.g. `/docs/quickstart`. */ + urlPath: string; + /** Markdown mirror route, e.g. `/docs/quickstart.md`. */ + markdownUrlPath: string; + /** Path under a generated output directory, e.g. `docs/quickstart.md`. */ + filePath: string; + /** Relative document key without extension, e.g. `quickstart`. */ + relativePath: string; +}; + +export type AgentRequestHeaders = Record; + +export type MarkdownResponseHeadersConfig = { + canonicalUrl: string; + includeUserAgentVary?: boolean; +}; + +export type EnrichMarkdownFrontmatterConfig = { + canonicalUrl: string; + lastUpdated?: string | Date; +}; + +export type RenderMissingMarkdownConfig = { + urlPath: string; + canonicalUrl: string; + lastUpdated?: string | Date; +}; + +export type AgentMarkdownResponse = { + status: 200; + headers: Record; + body: string; + found: boolean; + target?: MarkdownMirrorTarget; +}; + +export type CreateAgentMarkdownResponseConfig = { + urlPath: string; + method?: string; + headers?: AgentRequestHeaders; + manifest: AgentReadabilityManifest; + readMarkdownFile: (target: MarkdownMirrorTarget) => string | null | undefined; + requestOrigin?: string; + now?: Date; +}; + +function normalizeDate(value: unknown): string | undefined { + if (value instanceof Date) { + return Number.isNaN(value.getTime()) ? undefined : value.toISOString(); + } + if (typeof value === "string" || typeof value === "number") { + const date = new Date(value); + return Number.isNaN(date.getTime()) ? undefined : date.toISOString(); + } + return; +} + +function normalizeBaseUrl(baseUrl: string): string { + return baseUrl.replace(TRAILING_SLASHES_PATTERN, ""); +} + +function toAbsoluteUrl(urlPath: string, baseUrl: string): string { + if (urlPath.startsWith("http://") || urlPath.startsWith("https://")) { + return urlPath; + } + return `${baseUrl}${urlPath}`; +} + +function normalizeUrlPath(input: string): string { + try { + const pathname = new URL(input, "http://leadtype.local").pathname; + return pathname.startsWith("/") ? pathname : `/${pathname}`; + } catch { + const [pathname = "/"] = input.split(QUERY_OR_HASH_PATTERN, 1); + return pathname.startsWith("/") ? pathname : `/${pathname}`; + } +} + +function toYamlScalar(value: string): string { + return `"${value.replace(YAML_QUOTE_PATTERN, "\\$&")}"`; +} + +function frontmatterHasField(frontmatter: string, names: string[]): boolean { + return names.some((name) => + new RegExp(`^${name}\\s*:`, "m").test(frontmatter) + ); +} + +function readFrontmatterField( + frontmatter: string, + names: string[] +): string | null { + for (const name of names) { + const match = frontmatter.match( + new RegExp(`^${name}\\s*:\\s*['"]?([^'"\\n]+)['"]?\\s*$`, "m") + ); + if (match?.[1]) { + return match[1].trim(); + } + } + return null; +} + +function getHeaderValue( + headers: AgentRequestHeaders | undefined, + name: string +): string | undefined { + if (!headers) { + return; + } + const lowerName = name.toLowerCase(); + for (const [key, value] of Object.entries(headers)) { + if (key.toLowerCase() !== lowerName) { + continue; + } + return Array.isArray(value) ? value.join(",") : value; + } + return; +} + +function readableMethod(method: string | undefined): boolean { + return method === undefined || method === "GET" || method === "HEAD"; +} + +function jsonScriptEscape(value: string): string { + return value.replace(SCRIPT_JSON_ESCAPE_PATTERN, (character) => { + switch (character) { + case "<": + return "\\u003c"; + case ">": + return "\\u003e"; + case "&": + return "\\u0026"; + case "\u2028": + return "\\u2028"; + case "\u2029": + return "\\u2029"; + default: + return character; + } + }); +} + +function jsonLdPageDescription( + page: AgentReadabilityPage, + manifest: AgentReadabilityManifest +): string { + return ( + page.description || + `${page.title} documentation for ${manifest.product.name}.` + ); +} + +export function isAgentUserAgent(userAgent: string | undefined): boolean { + return Boolean(userAgent && AI_USER_AGENT_PATTERN.test(userAgent)); +} + +export function acceptsMarkdownHeader(accept: string | undefined): boolean { + if (!(accept && MARKDOWN_ACCEPT_PATTERN.test(accept))) { + return false; + } + return !( + HTML_ACCEPT_PATTERN.test(accept) && !MARKDOWN_Q_PATTERN.test(accept) + ); +} + +export function isAgentReadabilityArtifactPath(urlPath: string): boolean { + const pathname = normalizeUrlPath(urlPath); + return ( + ROOT_AGENT_ARTIFACT_PATTERN.test(pathname) || + DOCS_AGENT_ARTIFACT_PATTERN.test(pathname) + ); +} + +export function resolveMarkdownMirrorTarget( + urlPath: string +): MarkdownMirrorTarget | null { + const pathname = normalizeUrlPath(urlPath).replace( + TRAILING_SLASH_PATTERN, + "" + ); + + if (isAgentReadabilityArtifactPath(pathname)) { + return null; + } + + if ( + pathname === "/docs" || + pathname === "/docs.md" || + pathname === "/docs/index.md" + ) { + return { + urlPath: "/docs", + markdownUrlPath: "/docs/index.md", + filePath: `${DOCS_DIRNAME}/index.md`, + relativePath: "index", + }; + } + + if (!pathname.startsWith("/docs/")) { + return null; + } + + const withoutExtension = pathname.replace(MD_ONLY_EXTENSION_PATTERN, ""); + const relativePath = withoutExtension.slice("/docs/".length); + if (!(relativePath && !relativePath.split("/").includes(".."))) { + return null; + } + + return { + urlPath: withoutExtension, + markdownUrlPath: `${withoutExtension}.md`, + filePath: `${DOCS_DIRNAME}/${relativePath}.md`, + relativePath, + }; +} + +export function createMarkdownResponseHeaders( + config: MarkdownResponseHeadersConfig +): Record { + return { + "Content-Type": "text/markdown; charset=utf-8", + Vary: config.includeUserAgentVary ? "Accept, User-Agent" : "Accept", + Link: `<${config.canonicalUrl}>; rel="canonical"`, + }; +} + +export function enrichMarkdownFrontmatter( + markdown: string, + config: EnrichMarkdownFrontmatterConfig +): string { + const match = markdown.match(FRONTMATTER_BLOCK_PATTERN); + if (!match) { + return markdown; + } + + const frontmatter = match[1] ?? ""; + const aliases: string[] = []; + + if (!frontmatterHasField(frontmatter, ["canonical_url", "canonical"])) { + aliases.push(`canonical_url: ${toYamlScalar(config.canonicalUrl)}`); + } + + if (!frontmatterHasField(frontmatter, ["last_updated", "lastmod", "date"])) { + const lastUpdated = + normalizeDate(config.lastUpdated) ?? + readFrontmatterField(frontmatter, [ + "lastModified", + "lastUpdated", + "last_modified", + ]) ?? + new Date().toISOString(); + aliases.push(`last_updated: ${toYamlScalar(lastUpdated)}`); + } + + if (aliases.length === 0) { + return markdown; + } + + const body = markdown.slice(match[0].length); + return `---\n${frontmatter.trimEnd()}\n${aliases.join("\n")}\n---\n${body}`; +} + +export function renderMissingMarkdown( + config: RenderMissingMarkdownConfig +): string { + const lastUpdated = + normalizeDate(config.lastUpdated) ?? new Date().toISOString(); + return `--- +title: "Page not found" +description: ${toYamlScalar(`No documentation page exists at ${config.urlPath}.`)} +canonical_url: ${toYamlScalar(config.canonicalUrl)} +last_updated: ${toYamlScalar(lastUpdated)} +--- +# Page not found + +No documentation page exists at \`${config.urlPath}\`. + +Use [/llms.txt](/llms.txt) or [/sitemap.md](/sitemap.md) to find available pages. +`; +} + +export function renderJsonLd( + page: AgentReadabilityPage, + manifest: AgentReadabilityManifest +): JsonLdValue { + return { + "@context": "https://schema.org", + "@type": "TechArticle", + headline: page.title, + description: jsonLdPageDescription(page, manifest), + url: page.absoluteUrl, + dateModified: page.lastModified, + breadcrumb: { + "@type": "BreadcrumbList", + itemListElement: [ + { + "@type": "ListItem", + position: 1, + name: "Docs", + item: `${manifest.baseUrl}/docs`, + }, + { + "@type": "ListItem", + position: 2, + name: page.title, + item: page.absoluteUrl, + }, + ], + }, + }; +} + +export function renderJsonLdScript( + page: AgentReadabilityPage, + manifest: AgentReadabilityManifest +): string { + const json = jsonScriptEscape(JSON.stringify(renderJsonLd(page, manifest))); + return ``; +} + +export function createAgentMarkdownResponse( + config: CreateAgentMarkdownResponseConfig +): AgentMarkdownResponse | null { + const pathname = normalizeUrlPath(config.urlPath); + if (!readableMethod(config.method)) { + return null; + } + + const accept = getHeaderValue(config.headers, "accept"); + const userAgent = getHeaderValue(config.headers, "user-agent"); + const wantsMarkdown = + acceptsMarkdownHeader(accept) || isAgentUserAgent(userAgent); + const target = resolveMarkdownMirrorTarget(pathname); + + if (target && (wantsMarkdown || pathname.endsWith(".md"))) { + const page = config.manifest.pages.find( + (entry) => entry.urlPath === target.urlPath + ); + const canonicalUrl = + page?.absoluteUrl ?? + toAbsoluteUrl(target.urlPath, config.manifest.baseUrl); + const markdown = config.readMarkdownFile(target); + const body = markdown + ? enrichMarkdownFrontmatter(markdown, { + canonicalUrl, + lastUpdated: page?.lastModified, + }) + : renderMissingMarkdown({ + urlPath: target.urlPath, + canonicalUrl, + lastUpdated: config.now, + }); + return { + status: 200, + headers: createMarkdownResponseHeaders({ + canonicalUrl, + includeUserAgentVary: isAgentUserAgent(userAgent), + }), + body: config.method === "HEAD" ? "" : body, + found: Boolean(markdown), + target, + }; + } + + if (wantsMarkdown && !isAgentReadabilityArtifactPath(pathname)) { + const canonicalUrl = toAbsoluteUrl( + pathname, + config.requestOrigin + ? normalizeBaseUrl(config.requestOrigin) + : config.manifest.baseUrl + ); + return { + status: 200, + headers: createMarkdownResponseHeaders({ + canonicalUrl, + includeUserAgentVary: isAgentUserAgent(userAgent), + }), + body: + config.method === "HEAD" + ? "" + : renderMissingMarkdown({ + urlPath: pathname, + canonicalUrl, + lastUpdated: config.now, + }), + found: false, + }; + } + + return null; +} diff --git a/packages/leadtype/src/search/node.ts b/packages/leadtype/src/search/node.ts index 61963b7..b03b332 100644 --- a/packages/leadtype/src/search/node.ts +++ b/packages/leadtype/src/search/node.ts @@ -9,6 +9,7 @@ import { } from "./search"; const DOCS_DIRNAME = "docs"; +const GENERATED_MARKDOWN_FILES = new Set(["sitemap.md"]); const DEFAULT_OUTPUT_FILE = "search-index.json"; const DEFAULT_CONTENT_OUTPUT_FILE = "search-content.json"; const WARN_INDEX_BYTES = 5 * 1024 * 1024; @@ -146,6 +147,9 @@ async function readMarkdownDocs( const relativePath = path .relative(docsDir, filePath) .replace(WINDOWS_PATH_PATTERN, "/"); + if (GENERATED_MARKDOWN_FILES.has(relativePath)) { + continue; + } const raw = await readFile(filePath, "utf-8"); const parsed = matter(raw); const title = diff --git a/packages/leadtype/tsup.config.ts b/packages/leadtype/tsup.config.ts index 4de5f75..bcb9c9a 100644 --- a/packages/leadtype/tsup.config.ts +++ b/packages/leadtype/tsup.config.ts @@ -6,6 +6,7 @@ export default defineConfig({ "remark/index": "src/remark/index.ts", "convert/index": "src/convert/index.ts", "llm/index": "src/llm/index.ts", + "llm/readability": "src/llm/readability.ts", "search/index": "src/search/index.ts", "search/node-index": "src/search/node-index.ts", "search/ai-index": "src/search/ai-index.ts", From 667a9075d2ab8870a8a14c573a27aac4e8dabf80 Mon Sep 17 00:00:00 2001 From: Kaylee <65376239+KayleeWilliams@users.noreply.github.com> Date: Sat, 9 May 2026 22:16:57 -0700 Subject: [PATCH 2/4] Harden agent-readability runtime: edge-safe APIs, runtime sitemap rebase, dogfooded via nitro - readability.ts becomes the source of truth (drops ~200 lines of duplication with llm.ts); fixes /llms-full.txt being shadowed by the missing-page handler - createAgentMarkdownResponse is now async + returns Web Response; supports async readMarkdownFile so edge runtimes (CF Workers, Vercel Edge) can plug in - Adds createSitemapXmlResponse / createSitemapMarkdownResponse / createRobotsTxtResponse runtime regenerators that rebase to the live origin, and createDocsHead for canonical/alternate/og/json-ld metadata - Tightens AI UA list, q-value parsing on Accept, CRLF in frontmatter; adds configurable userAgentPattern, Cache-Control defaults, manifest version guard - llms-full.txt routing files use root-relative URLs so they're origin-agnostic - apps/example: server/middleware/agent-readability.ts handles every artifact path + markdown content negotiation in dev/preview/prod via nitro+h3, replacing the 200-line dev-only Vite plugin --- apps/example/scripts/llm-generate.ts | 34 +- .../server/middleware/agent-readability.ts | 66 ++ .../example/server/utils/agent-readability.ts | 41 ++ .../src/generated/agent-readability.json | 16 +- .../src/generated/docs-search-content.json | 2 +- .../src/generated/docs-search-index.json | 2 +- apps/example/src/lib/docs-head.ts | 65 +- apps/example/tests/e2e/smoke.e2e.ts | 12 + apps/example/tsconfig.json | 4 + apps/example/vite.config.ts | 217 +----- docs/build/optimize-docs-for-agents.mdx | 158 +++-- docs/reference/llm.mdx | 131 +++- packages/leadtype/src/llm/index.ts | 53 +- packages/leadtype/src/llm/llm.test.ts | 368 +++++++++- packages/leadtype/src/llm/llm.ts | 617 +---------------- packages/leadtype/src/llm/readability.ts | 644 ++++++++++++++++-- 16 files changed, 1321 insertions(+), 1109 deletions(-) create mode 100644 apps/example/server/middleware/agent-readability.ts create mode 100644 apps/example/server/utils/agent-readability.ts diff --git a/apps/example/scripts/llm-generate.ts b/apps/example/scripts/llm-generate.ts index b0cbd36..3098686 100644 --- a/apps/example/scripts/llm-generate.ts +++ b/apps/example/scripts/llm-generate.ts @@ -7,16 +7,13 @@ * consumers. */ -import { mkdir, writeFile } from "node:fs/promises"; +import { mkdir, rm, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; import { generateAgentReadabilityArtifacts, generateLLMFullContextFiles, generateLlmsTxt, - renderRobotsTxt, - renderSitemapMarkdown, - renderSitemapXml, resolveDocsNavigation, } from "leadtype/llm"; import docsConfig from "../../../docs/docs.config"; @@ -90,24 +87,17 @@ await writeFile( `${JSON.stringify(agentReadability.manifest, null, 2)}\n` ); -await writeFile( - join(outDir, "sitemap.xml"), - renderSitemapXml(agentReadability.manifest.pages) -); -await writeFile( - join(outDir, "sitemap.md"), - renderSitemapMarkdown({ - product: { name: docsConfig.product.name }, - navigation: agentReadability.manifest.navigation, - pages: agentReadability.manifest.pages, - }) -); -await writeFile( - join(outDir, "robots.txt"), - renderRobotsTxt({ - baseUrl, - sitemapUrlPath: "/sitemap.xml", - }) +// Static copies would be served by Vite/nitro before the middleware runs, +// so the live origin would never make it into / Sitemap:. +await Promise.all( + [ + join(outDir, "sitemap.xml"), + join(outDir, "sitemap.md"), + join(outDir, "robots.txt"), + join(outDir, "docs", "sitemap.xml"), + join(outDir, "docs", "sitemap.md"), + join(outDir, "docs", "robots.txt"), + ].map((file) => rm(file, { force: true })) ); process.stdout.write("LLM files + agent readability manifests generated\n"); diff --git a/apps/example/server/middleware/agent-readability.ts b/apps/example/server/middleware/agent-readability.ts new file mode 100644 index 0000000..3f5c072 --- /dev/null +++ b/apps/example/server/middleware/agent-readability.ts @@ -0,0 +1,66 @@ +import { + createAgentMarkdownResponse, + createRobotsTxtResponse, + createSitemapMarkdownResponse, + createSitemapXmlResponse, +} from "leadtype/llm/readability"; +import { + defineEventHandler, + getHeaders, + getMethod, + getRequestURL, +} from "nitro/h3"; +import { + agentReadabilityManifest, + getRequestOrigin, + readMarkdownFile, +} from "../utils/agent-readability"; + +export default defineEventHandler(async (event) => { + const method = getMethod(event); + if (method !== "GET" && method !== "HEAD") { + return; + } + + const url = getRequestURL(event); + const requestOrigin = getRequestOrigin(event); + const pathname = url.pathname; + + switch (pathname) { + case "/sitemap.xml": + case "/docs/sitemap.xml": + return createSitemapXmlResponse({ + manifest: agentReadabilityManifest, + requestOrigin, + }); + case "/sitemap.md": + case "/docs/sitemap.md": + return createSitemapMarkdownResponse({ + manifest: agentReadabilityManifest, + requestOrigin, + }); + case "/robots.txt": + return createRobotsTxtResponse({ + manifest: agentReadabilityManifest, + requestOrigin, + }); + case "/docs/robots.txt": + return createRobotsTxtResponse({ + manifest: agentReadabilityManifest, + requestOrigin, + sitemapUrlPath: "/docs/sitemap.xml", + }); + default: + break; + } + + const response = await createAgentMarkdownResponse({ + urlPath: pathname, + method, + headers: getHeaders(event), + manifest: agentReadabilityManifest, + readMarkdownFile, + requestOrigin, + }); + return response ?? undefined; +}); diff --git a/apps/example/server/utils/agent-readability.ts b/apps/example/server/utils/agent-readability.ts new file mode 100644 index 0000000..a448aed --- /dev/null +++ b/apps/example/server/utils/agent-readability.ts @@ -0,0 +1,41 @@ +import { readFileSync } from "node:fs"; +import { join } from "node:path"; +import type { + AgentReadabilityManifest, + MarkdownMirrorTarget, +} from "leadtype/llm/readability"; +import { + getHeader, + getRequestProtocol, + getRequestURL, + type H3Event, +} from "nitro/h3"; +import manifestJson from "../../src/generated/agent-readability.json" with { + type: "json", +}; + +export const agentReadabilityManifest = + manifestJson as AgentReadabilityManifest; + +export function getRequestOrigin(event: H3Event): string | undefined { + const forwardedHost = getHeader(event, "x-forwarded-host") + ?.split(",")[0] + ?.trim(); + const forwardedProto = getHeader(event, "x-forwarded-proto") + ?.split(",")[0] + ?.trim(); + if (forwardedHost) { + const protocol = forwardedProto || getRequestProtocol(event) || "http"; + return `${protocol}://${forwardedHost}`; + } + const url = getRequestURL(event); + return url.origin; +} + +export function readMarkdownFile(target: MarkdownMirrorTarget): string | null { + try { + return readFileSync(join(process.cwd(), "public", target.filePath), "utf8"); + } catch { + return null; + } +} diff --git a/apps/example/src/generated/agent-readability.json b/apps/example/src/generated/agent-readability.json index cffddf2..f9c1b72 100644 --- a/apps/example/src/generated/agent-readability.json +++ b/apps/example/src/generated/agent-readability.json @@ -1,6 +1,6 @@ { "version": 1, - "generatedAt": "2026-05-10T01:26:20.748Z", + "generatedAt": "2026-05-10T04:49:30.872Z", "baseUrl": "https://docs.example.com", "product": { "name": "Leadtype", @@ -18,7 +18,7 @@ "groups": [ "get-started" ], - "lastModified": "2026-05-09T22:38:26.000Z" + "lastModified": "2026-05-10T03:32:19.000Z" }, { "title": "Components", @@ -70,7 +70,7 @@ "groups": [ "build" ], - "lastModified": "2026-05-09T22:38:26.000Z" + "lastModified": "2026-05-10T03:32:19.000Z" }, { "title": "Optimize docs for agents", @@ -83,7 +83,7 @@ "groups": [ "build" ], - "lastModified": "2026-05-10T01:26:20.700Z" + "lastModified": "2026-05-10T03:32:19.000Z" }, { "title": "Validate in CI", @@ -109,7 +109,7 @@ "groups": [ "get-started" ], - "lastModified": "2026-05-09T22:38:26.000Z" + "lastModified": "2026-05-10T03:32:19.000Z" }, { "title": "Methodology", @@ -135,7 +135,7 @@ "groups": [ "get-started" ], - "lastModified": "2026-05-09T22:38:26.000Z" + "lastModified": "2026-05-10T03:32:19.000Z" }, { "title": "CLI", @@ -148,7 +148,7 @@ "groups": [ "reference" ], - "lastModified": "2026-05-09T22:38:26.000Z" + "lastModified": "2026-05-10T03:32:19.000Z" }, { "title": "Convert", @@ -187,7 +187,7 @@ "groups": [ "reference" ], - "lastModified": "2026-05-09T22:38:26.000Z" + "lastModified": "2026-05-10T03:32:19.000Z" }, { "title": "Remark plugins", diff --git a/apps/example/src/generated/docs-search-content.json b/apps/example/src/generated/docs-search-content.json index efeb373..76ceabb 100644 --- a/apps/example/src/generated/docs-search-content.json +++ b/apps/example/src/generated/docs-search-content.json @@ -1 +1 @@ -{"version":2,"generatedAt":"2026-05-10T01:26:20.793Z","chunks":["Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nLeadtype does not ship UI components. Your docs app owns runtime rendering, styling, and accessibility — it only has to honor a small naming contract so the remark pipeline can flatten each component into markdown for agents, search, and llms-full/ .txt bundles.","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nWhy flatten at all?\n\nInteractive MDX components like Body content goes here. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCards\n\nA grid of short, linked entry points. Flattens to a bullet list of links. Convert Remark Search\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nSteps\n\nNumbered walkthroughs. Flattens to an ordered list with bold step titles. 1. Author docs in MDX Use the components in this list as authoring affordances. 2. Run the conversion leadtype generate writes flattened markdown to public/docs/ . 3. Serve both formats HTML for humans, .md for agents — same URL, content negotiated by the Accept header.\n\n```tsx Use the components in this list. `leadtype generate` writes flattened markdown. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTabs\n\nGroup equivalent content. Flattens to bold headings followed by content so agents do not need a JSX-aware renderer to read every variant. tanstack-start Use a Vite middleware dev/preview and a Nitro middleware prod to negotiate the Accept header. next-js Wire content negotiation in middleware.ts and serve .md from a route handler. vite A configureServer middleware is enough for static deployments where .md files live in public/ .\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCommandTabs\n\nPackage-manager-aware install or run commands. Flattens to a markdown table with one row per manager. Use mode=\"install\" when command is a package name, mode=\"run\" when command is a CLI name, and mode=\"create\" for starter commands. Use the commands prop for exact per-manager overrides. Package manager Command -- -- npm npm install leadtype pnpm pnpm add leadtype yarn yarn add leadtype bun bun add leadtype Package manager Command -- -- npm npx leadtype lint pnpm pnpm dlx leadtype lint yarn yarn dlx leadtype lint bun bunx leadtype lint\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nAccordion\n\nCollapsible details for secondary content. Flattening ignores open/closed state and emits every item — accordions are not a place to hide content from agents. When should I use accordions? Use them for supporting details, troubleshooting notes, and optional reference material. Closed content is still flattened by the remark pipeline. Are accordions a good place to hide content from LLMs? No. Conversion ignores the open/closed state and emits everything inside.\n\n```tsx Use them for supporting details and optional reference material. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTopicSwitcher\n\nNavigation across equivalent docs topics — frameworks, SDKs, runtimes, deployment targets, product areas. Reader-facing only; it does not automatically read LLM topic config. Framework React — React integration Vue — Vue integration Svelte — Svelte integration\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTypeTable and ExtractedTypeTable\n\nTypeTable is for explicit prop or type rows you already know. ExtractedTypeTable reads a TypeScript file at conversion time and extracts the table from a named type — keep its path stable. Property Type Description Default Required -- -- -- -- -- title string Heading rendered above the callout body. - ✅ Required variant CalloutVariant Visual treatment for the callout. info Optional deprecated \\ \\ boolean\\ \\ deprecated Marks the row as deprecated. false Optional\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nExample\n\nData-driven preview and source examples. The host component receives code as data; add file loaders or dynamic imports outside leadtype when an example needs app-specific behavior.\n\n```tsx The host app owns styling and runtime components while leadtype owns conversion. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nMermaid\n\nDiagrams authored as plain text. Renders client-side as interactive SVG. Flattening preserves the source as a fenced mermaid block so other tools can render the diagram from the markdown copy.\n\n```tsx |remark| Markdown Markdown -->|llms.txt| Agents`} /> ``` ```mermaid `graph LR MDX -->|remark| Markdown Markdown -->|search index| API Markdown -->|llms.txt| Agents` ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nGuidelines\n\nKeep runtime components in your docs app. Leadtype stays out of UI. Keep component names stable. Renaming resolver page1 --> resolver page2 --> resolver page3 --> resolver resolver --> nav resolver --> llms resolver --> full` ```","Frontmatter\n\nRequired fields, group semantics, and how authored MDX becomes a navigation tree.\n\nFrontmatter\n\nHow groups become a nav tree\n\nNested groups\n\nDeclare children in the config to build deeper trees A page sets group bundle-package-docs and lands in that nested slot. Only leaf groups no children get an llms-full/ cli cli --> bundle bundle --> publish publish --> install install --> consume` ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhy AGENTS.md, not llms.txt?\n\nllms.txt is a website convention — a file at /llms.txt with absolute URLs that an agent fetches over HTTP. Inside an npm tarball it's the wrong shape every link points at a hosted URL the agent may not be able to reach, and no major coding agent looks for node modules/ 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } await generateAgentsMd({ srcDir: REPO_ROOT, outDir: PACKAGE_ROOT, product: docsConfig.product, groups: docsConfig.groups, }); ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nVerify before publishing\n\nnpm pack --dry-run should list AGENTS.md docs/ / .md If AGENTS.md is missing, check files in package.json . If .md files are missing, check the --include / --exclude filters.\n\n```bash npx leadtype generate --bundle --src . --out packages/my-package cd packages/my-package && npm pack --dry-run ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nTell consuming projects to use the bundle\n\nAGENTS.md inside your tarball is auto-discovered by agents working in your published package — but for a project that depends on your package, the agent's working directory is the consumer's repo, not yours. You need to point them at the bundled docs. Recommend this snippet in your README so consumers add it to their own root AGENTS.md This is the same pattern Next.js uses to point agents at node modules/next/dist/docs/ .\n\n```md # When working with the `` library, read the bundled docs in `node_modules//AGENTS.md` first — they're version-matched to the installed package and stay accurate as the library updates. ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhen to use this\n\nUse this when agents should understand the package from the installed dependency itself — coding agents that don't have web access, IDE assistants, CLI tools, or air-gapped environments. Don't use this if your only goal is a public docs website. For that, see Connect a docs site. You can use both — they read the same source MDX, just emit different shapes.","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhat's next\n\nCLI reference LLM bundles Lint in CI","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nUse this path when you run a docs site or want to . Leadtype runs before your build to convert MDX, generate navigation data, build the search index, and produce agent-readable artifacts. Your site framework — TanStack Start, Next.js, Astro, anything — handles routing and rendering.","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nThe flow\n\n\\` reads TypeScript files at conversion time. // Pass basePath so the component can resolve relative paths. const typeTablePlugin: NonNullable< MdxToMarkdownOptions[\"remarkPlugins\"] >[number] = [remarkTypeTableToMarkdown, { basePath: repoRoot }]; await convertAllMdx({ srcDir, outDir, remarkPlugins: [ remarkInclude, ...defaultRemarkPlugins.filter((p) => p !== remarkTypeTableToMarkdown), typeTablePlugin, ], enrichFrontmatterFromGit: true, }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConfigure the product and groups\n\nAuthor docs/docs.config.ts once and let every stage read from it Pages declare group in frontmatter. The config declares the tree. The two together produce the navigation manifest, the llms.txt sections, and the lint check that catches typos. See Frontmatter for the resolution rules.\n\n```ts import { defineDocsConfig } from \"leadtype\"; export default defineDocsConfig({ product: { name: \"my-docs\", summary: \"Short product summary.\", bullets: [\"What it does in one bullet.\", \"Another bullet.\"], bestStartingPoints: [{ urlPath: \"/docs\" }, { urlPath: \"/docs/quickstart\" }], }, groups: [ { slug: \"get-started\", title: \"Get Started\" }, { slug: \"guides\", title: \"Guides\" }, ], }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nMake the site agent-readable\n\nAfter generation, wire the runtime pieces into your docs app Serve root discovery files /llms.txt , /sitemap.xml , /sitemap.md , and /robots.txt . Keep docs-scoped discovery files available under /docs/ . Add JSON-LD, canonical links, and markdown alternate links to docs HTML pages. Return markdown for Accept text/markdown , known AI user agents, and direct .md URLs. Preserve canonical url and last updated frontmatter in markdown responses. Leadtype provides leadtype/llm/readability so you do not have to hand-roll request detection, frontmatter aliases, missing-page markdown, or JSON-LD escaping. The full setup guide is Optimize docs for agents. The core request hook looks like this in any framework Put it before your HTML docs route. Normal browsers continue to receive HTML; agent-oriented requests receive the generated markdown with Content-Type text/markdown; charset=utf-8 .\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readGeneratedFile(`public/${target.filePath}`); }, }); if (response) { return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConnect a remote source\n\nWhen the docs source lives in a different repo from the docs site Run lint first so missing or malformed frontmatter fails before the converter writes anything. Use --format github in CI to get inline annotations on the PR. Use --json on generate so automation can read the resolved groups and search index stats. This is the shape we expect for orgs hosting one docs UI for multiple package repos the source lives next to the code it documents, the docs app pulls it in at build time. See Bundle docs into a package if the package should also ship docs inside its npm tarball.\n\n```bash git clone --depth 1 https://github.com/acme/package-a .docs-src/package-a npx leadtype lint .docs-src/package-a/docs --format github --error-unknown npx leadtype generate --src .docs-src/package-a --out public --json npm run build ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nVerify\n\nAfter a clean build public/docs/index.md — the converted home page. public/llms.txt — the routing index. Should mention every group from your config. public/docs/llms-full/ public/sitemap.xml public/docs/sitemap.md -> public/sitemap.md public/docs/robots.txt -> public/robots.txt ``` ```ts import { generateAgentReadabilityArtifacts, renderRobotsTxt, renderSitemapMarkdown, renderSitemapXml, } from \"leadtype/llm\"; const docs = await generateAgentReadabilityArtifacts({ outDir: \"public\", baseUrl: \"https://docs.example.com\", product: docsConfig.product, groups: docsConfig.groups, }); const pages = [ ...marketingPages, ...blogPages, ...docs.manifest.pages, ]; await writeFile(\"public/sitemap.xml\", renderSitemapXml(pages)); await writeFile( \"public/sitemap.md\", renderSitemapMarkdown({ product: docsConfig.product, navigation: docs.manifest.navigation, pages, }) ); await writeFile( \"public/robots.txt\", renderRobotsTxt({ baseUrl: \"https://docs.example.com\" }) ); ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n3. Add JSON-LD to docs pages\n\nUse the manifest entry for the current page and render Schema.org JSON-LD into the HTML head Use renderJsonLd page, manifest if your framework has a typed metadata API. Use renderJsonLdScript page, manifest if your framework expects an HTML string. Also add canonical and markdown alternate links The JSON-LD gives agents the page title, description, canonical URL, last modified date, and breadcrumbs without scraping your rendered layout.\n\n```ts import agentManifest from \"../public/docs/agent-readability.json\"; import { renderJsonLd, renderJsonLdScript } from \"leadtype/llm/readability\"; const page = agentManifest.pages.find( (entry) => entry.urlPath === \"/docs/quickstart\" ); if (page) { const jsonLd = renderJsonLd(page, agentManifest); const script = renderJsonLdScript(page, agentManifest); } ``` ```html ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\nUse createAgentMarkdownResponse from request middleware or route handlers. It handles Accept text/markdown and Accept text/plain . Known AI user-agent headers. Direct .md URLs such as /docs/quickstart.md . canonical url and last updated frontmatter aliases. 200 markdown responses for missing docs pages, so agents do not discard the body. Content-Type text/markdown; charset=utf-8 . The framework-neutral shape is Put that logic wherever your framework can intercept docs requests Framework/runtime Where it usually goes -- -- Next.js Route handler or middleware plus a file reader for generated markdown. TanStack Start Server handler before HTML rendering. Astro Endpoint or middleware. Vite dev/preview Plugin middleware. Cloudflare Workers/Pages Worker middleware. Express/Hono/Fastify Middleware before the docs HTML route. Do not rewrite llms.txt , sitemap.xml , sitemap.md , robots.txt , or agent-readability.json to page markdown. The helper leaves those artifact paths alone.\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; export async function handleRequest(request: Request): Promise { const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readGeneratedFile(`public/${target.filePath}`); }, }); if (!response) { return null; } return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n5. Verify locally\n\nStart the docs site, then check the URLs agents use Expected results llms.txt links point to existing .md URLs. Both root and docs-scoped sitemaps resolve. Markdown responses use Content-Type text/markdown; charset=utf-8 . Markdown frontmatter contains canonical url and last updated . HTML pages contain one application/ld+json script. Missing docs pages return a markdown body for agent-oriented requests. Then run the Vercel Agent Readability audit against the docs entry point If the audit reports broken links from llms.txt , check whether your generated URLs use the production --base-url while your local audit expects localhost . For local dev, serve root and docs-scoped sitemap/robots files from the current request origin, or run the audit against a preview URL that matches --base-url .\n\n```bash curl http://localhost:5173/llms.txt curl http://localhost:5173/sitemap.xml curl http://localhost:5173/sitemap.md curl http://localhost:5173/docs/sitemap.xml curl -I -H \"Accept: text/markdown\" http://localhost:5173/docs/quickstart curl http://localhost:5173/docs/quickstart.md curl -H \"User-Agent: ChatGPT-User\" http://localhost:5173/docs/quickstart ``` ```bash npx @vercel/agent-readability audit http://localhost:5173/docs ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\nMinimal checklist\n\nGenerate llms.txt , markdown mirrors, llms-full , sitemap, robots, and agent-readability.json . Serve root-level /sitemap.xml , /sitemap.md , and /robots.txt . Keep docs-scoped /docs/sitemap.xml , /docs/sitemap.md , and /docs/robots.txt . Add JSON-LD to every docs HTML page. Add canonical and markdown alternate links to every docs HTML page. Return markdown for agent Accept headers, AI user agents, and .md URLs. Include canonical url and last updated in markdown frontmatter. Return markdown bodies for missing docs pages requested by agents.","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nleadtype lint reads source MDX, runs the schema and link checks, and exits non-zero on errors. Wire it into CI so docs PRs fail fast on the same rules that would otherwise blow up leadtype generate later in the pipeline.","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nWhat it catches\n\nMissing or wrong-typed frontmatter fields schema rule . Top-level frontmatter fields not in the schema unknown-field . Frontmatter or meta.json that doesn't parse parse-error . Internal /docs/... links pointing at routes that don't exist invalid-link . Unresolved framework placeholders left in URLs unresolved-placeholder . Cross-framework links from a framework-scoped page to a different framework's docs cross-framework-link . See Lint reference for the full rule list and how to extend the schema.","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nGitHub Actions\n\nUse --format github so violations render as inline annotations on the PR --error-unknown upgrades unknown-field warnings to errors — strict mode. --max-warnings 0 makes any remaining warning fail the job.\n\n```yaml name: Lint docs on: pull_request: paths: - \"docs/**\" - \"**/*.mdx\" jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 - run: bun install - run: npx leadtype lint docs --format github --error-unknown --max-warnings 0 ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nOther CI providers\n\nUse --format json for any CI that doesn't speak the GitHub annotations format The JSON output includes per-file violations and summary counts. Pipe it into your provider's reporter, post a PR comment, or upload as an artifact.\n\n```bash npx leadtype lint docs --format json --error-unknown > lint-report.json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nLocal pre-push hook\n\nCatch issues before they reach CI by running lint in a husky pre-push hook Keep it under a second by limiting the scan to changed files when you have many pages. The CLI accepts repeated --ignore globs to skip stale or generated paths.\n\n```bash #!/usr/bin/env sh npx leadtype lint docs --max-warnings 0 ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nRun before generate\n\nWhen leadtype lint and leadtype generate both run in the same job, lint first Generate fails noisily on unknown groups or broken includes. Lint fails specifically on content schema problems with file/line context — much easier to debug.\n\n```bash npx leadtype lint docs --error-unknown npx leadtype generate --src . --out public --json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nWhat to fix first\n\nWhen CI fails on a lot of violations, fix them in this order 1. parse-error — frontmatter is broken; nothing else can validate. 2. schema — missing or wrong-typed required fields. 3. unresolved-placeholder — content bug, not a config bug. 4. invalid-link and cross-framework-link — usually a stale link after a docs move. 5. unknown-field — last; either delete the field or extend the schema.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nLeadtype takes one input — a folder of MDX — and produces every shape your docs need to take. This page names every piece so the rest of the docs make sense.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe pipeline\n\nThe remark stack is what turns interactive MDX components into agent-readable markdown. JSX gets flattened — a fm fm --> remark fm --> groups remark --> md md --> site_idx md --> search groups --> site_idx groups --> agents_md groups --> nav` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nTwo output modes\n\nleadtype generate has two modes that read the same source and emit different shapes Property Type Description Default Required -- -- -- -- -- Site mode default leadtype generate --out public Writes llms.txt, docs/llms-full/\\ .txt, docs/search-index.json, docs/sitemap.xml, docs/sitemap.md, docs/robots.txt, agent-readability.json, and docs/\\ .md to a public/ directory your docs website serves. This is what you wire into a Vite, Next.js, Astro, or TanStack Start build. - Optional Bundle mode leadtype generate --bundle --out packages/foo Writes AGENTS.md at the package root and docs/\\ .md beneath it, both with relative paths. Skips llms.txt, llms-full, search, sitemap, robots, and Agent Readability files — those are website-only. Designed for npm tarballs that ship docs alongside the published code. - Optional","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe artifacts\n\nProperty Type Description Default Required -- -- -- -- -- Markdown .md docs/\\ human site_out -- \"absolute URLs\" --> http_agent site_out -- \"search-index.json\" --> search_ui bundle_out -- \"AGENTS.md auto-discovery\" --> offline_agent` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nVocabulary\n\nA few terms you will see throughout the docs. Property Type Description Default Required -- -- -- -- -- flatten verb Convert an interactive MDX component into a portable markdown equivalent. A \\ site_run src --> bundle_run site_run --> site_out bundle_run --> bundle_out site_out --> humans site_out --> http_agents site_out --> search bundle_out --> offline_agents` ```","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nChoose your path\n\nMost teams arrive here for one of two reasons. Pick the journey that matches yours — each is a single page that takes you from zero to running. Build a docs site Ship docs in your package","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nWhat you get\n\n1. Write once Author MDX with familiar components — Callout , Tabs , Steps , Mermaid , TypeTable , and others. Add group in frontmatter to place pages in the navigation tree. 2. Run \\ leadtype generate\\ For a website converts MDX to markdown, builds llms.txt plus topic bundles, generates a search index, writes Agent Readability discovery files, and resolves navigation. With --bundle emits AGENTS.md plus per-topic .md files for agents reading from node modules/ . 3. Serve all of it Humans get HTML. HTTP agents get markdown via content negotiation or fetch llms.txt . Coding agents working in a project that depends on your package auto-discover AGENTS.md from node modules/ [options] ```","CLI\n\nleadtype generate and leadtype lint — flags, exit codes, and JSON output.\n\nCLI\n\ngenerate\n\nConvert MDX, then either produce website artifacts default or a package bundle --bundle . Flag Default Description -- -- -- --src ; summary: { filesScanned: number; errors: number; warnings: number; }; }; ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nDocs frontmatter\n\nField Required Type -- -- -- title Yes non-empty string description No string icon No string deprecated No boolean deprecatedReason No string experimental No boolean canary No boolean new No boolean draft No boolean tags No string array group No string or string array availableIn No array of framework, url?, title? full No boolean lastModified and lastAuthor are produced by the converter when --enrich-git is set. Don't author them.","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nChangelog frontmatter\n\nField Required Type -- -- -- title Yes non-empty string version Yes SemVer string date Yes ISO-8601 or parseable date description No string icon No string type No release , improvement , retired , or deprecation tags No string array canary No boolean authors No string or string array draft No boolean","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nmeta.json\n\nField Required Type -- -- -- pages Yes string array title No non-empty string root No boolean icon No string defaultOpen No boolean nav.sidebar No section or combined nav.label No string nav.mode No string","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nCustom schemas\n\nPass a Valibot schema to extend or replace the defaults Once you provide a custom schema, unknown-field warnings apply to that schema. Add --error-unknown in CI to keep your contract strict.\n\n```ts import * as v from \"valibot\"; import { lintDocs } from \"leadtype/lint\"; const customFrontmatter = v.object({ title: v.pipe(v.string(), v.minLength(1)), audience: v.picklist([\"beginner\", \"advanced\"]), }); await lintDocs({ srcDir: \"docs\", schemas: { frontmatter: customFrontmatter }, }); ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nPractical guidance\n\nRun lint before leadtype generate so content errors fail fast. Use --format github in GitHub Actions and --format json in any other CI. Treat unresolved-placeholder as a content bug first — usually a missing entry in availableIn or a stale URL template. After a docs move, lint and run meta.json updates together; they drift at the same time. For wiring lint into pipelines, see Validate in CI.","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nThe leadtype/llm entry point produces four flavors of agent-facing output, all derived from the same docs source generateLlmsTxt — for hosted websites. Emits the /llms.txt convention with root-relative markdown mirror links. generateLLMFullContextFiles — full-content topic bundles. Pairs with generateLlmsTxt . generateAgentReadabilityArtifacts — docs-scoped sitemap.xml , sitemap.md , robots.txt , and JSON manifest data that a host app can merge into site-level files. generateAgentsMd — for npm-bundled docs. Emits an AGENTS.md index with relative ./docs/ A library that does one thing well. - Helper that handles the boring parts. - Type-safe by default. - Works in any runtime. ## Best Starting Points - [Documentation](/docs/index.md) - [Quickstart](/docs/quickstart.md) ## Get Started Five-minute happy path and the mental model. - [Quickstart](/docs/quickstart.md): Install and run the pipeline. - [How it works](/docs/how-it-works.md): The mental model. ## Reference CLI flags and conversion APIs. - [CLI](/docs/reference/cli.md): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTypical sequence\n\ngenerateLLMFullContextFiles and generateAgentReadabilityArtifacts read from entry.urlPath === \"/docs/quickstart\"); if (page) { const jsonLd = renderJsonLd(page, manifest); const scriptTag = renderJsonLdScript(page, manifest); } ``` ```ts const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readFileSync(`public/${target.filePath}`, \"utf8\"); }, }); if (response) { return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nAgent readability helpers\n\nt for -- -- renderJsonLd Return a Schema.org object for framework metadata APIs. renderJsonLdScript Return an escaped `; -} - -export function createAgentMarkdownResponse( - config: CreateAgentMarkdownResponseConfig -): AgentMarkdownResponse | null { - const pathname = normalizeUrlPath(config.urlPath); - if (!readableMethod(config.method)) { - return null; - } - - const accept = getHeaderValue(config.headers, "accept"); - const userAgent = getHeaderValue(config.headers, "user-agent"); - const wantsMarkdown = - acceptsMarkdownHeader(accept) || isAgentUserAgent(userAgent); - const target = resolveMarkdownMirrorTarget(pathname); - - if (target && (wantsMarkdown || pathname.endsWith(".md"))) { - const page = config.manifest.pages.find( - (entry) => entry.urlPath === target.urlPath - ); - const canonicalUrl = - page?.absoluteUrl ?? - toAbsoluteUrl(target.urlPath, config.manifest.baseUrl); - const markdown = config.readMarkdownFile(target); - const body = markdown - ? enrichMarkdownFrontmatter(markdown, { - canonicalUrl, - lastUpdated: page?.lastModified, - }) - : renderMissingMarkdown({ - urlPath: target.urlPath, - canonicalUrl, - lastUpdated: config.now, - }); - return { - status: 200, - headers: createMarkdownResponseHeaders({ - canonicalUrl, - includeUserAgentVary: isAgentUserAgent(userAgent), - }), - body: config.method === "HEAD" ? "" : body, - found: Boolean(markdown), - target, - }; - } - - if (wantsMarkdown && !isAgentReadabilityArtifactPath(pathname)) { - const canonicalUrl = toAbsoluteUrl( - pathname, - config.requestOrigin - ? normalizeBaseUrl(config.requestOrigin) - : config.manifest.baseUrl - ); - return { - status: 200, - headers: createMarkdownResponseHeaders({ - canonicalUrl, - includeUserAgentVary: isAgentUserAgent(userAgent), - }), - body: - config.method === "HEAD" - ? "" - : renderMissingMarkdown({ - urlPath: pathname, - canonicalUrl, - lastUpdated: config.now, - }), - found: false, - }; - } - - return null; -} - function normalizeGroupValue(raw: unknown): string[] { if (typeof raw === "string") { const trimmed = raw.trim(); @@ -1155,7 +742,6 @@ function renderGroupSubRouter( function renderRootFullRouter( product: Pick, - baseUrl: string, hasDocsSummary: boolean ): string { const lines = [ @@ -1165,15 +751,15 @@ function renderRootFullRouter( "", "## Recommended Flow", "", - `- [Product Summary](${toAbsoluteUrl("/llms.txt", baseUrl)}): Short product-oriented overview of ${product.name}.`, + `- [Product Summary](/llms.txt): Short product-oriented overview of ${product.name}.`, ]; if (hasDocsSummary) { lines.push( - `- [Documentation Summary](${toAbsoluteUrl("/docs/llms.txt", baseUrl)}): Curated docs map for implementation work.` + "- [Documentation Summary](/docs/llms.txt): Curated docs map for implementation work." ); } lines.push( - `- [Documentation Full Router](${toAbsoluteUrl("/docs/llms-full.txt", baseUrl)}): Topic-specific deep-context files.` + "- [Documentation Full Router](/docs/llms-full.txt): Topic-specific deep-context files." ); return lines.join("\n"); } @@ -1299,7 +885,7 @@ export async function generateLLMFullContextFiles( await mkdir(llmsFullDir, { recursive: true }); await writeFile( path.join(outDir, "llms-full.txt"), - renderRootFullRouter(config.product, baseUrl, hasDocsSummary) + renderRootFullRouter(config.product, hasDocsSummary) ); await writeFile( path.join(outDir, DOCS_DIRNAME, "llms-full.txt"), @@ -1309,25 +895,6 @@ export async function generateLLMFullContextFiles( await writeGroupTree(resolved, config.product, markdownDocs, llmsFullDir); } -function escapeXml(value: string): string { - return value.replace(/[<>&'"]/g, (character) => { - switch (character) { - case "<": - return "<"; - case ">": - return ">"; - case "&": - return "&"; - case "'": - return "'"; - case '"': - return """; - default: - return character; - } - }); -} - function toAgentReadabilityPage( doc: MarkdownDoc, baseUrl: string @@ -1346,126 +913,6 @@ function toAgentReadabilityPage( }; } -export function renderSitemapXml(pages: AgentReadabilityPage[]): string { - const urls = pages - .map( - (page) => ` - ${escapeXml(page.absoluteUrl)} - ${escapeXml(page.lastModified)} - ` - ) - .join("\n"); - - return ` - -${urls} - -`; -} - -function renderSitemapGroup( - group: DocsNavigationGroup, - pagesByPath: Map, - depth = 2 -): string[] { - const lines = [`${"#".repeat(depth)} ${group.title}`]; - if (group.description) { - lines.push("", group.description); - } - - const links: string[] = []; - for (const page of group.pages) { - const readablePage = pagesByPath.get(page.urlPath); - if (!readablePage) { - continue; - } - const description = readablePage.description - ? `: ${readablePage.description}` - : ""; - links.push( - `- [${readablePage.title}](${readablePage.urlPath})${description}` - ); - } - - if (links.length > 0) { - lines.push("", ...links); - } - - for (const child of group.children) { - lines.push("", ...renderSitemapGroup(child, pagesByPath, depth + 1)); - } - - return lines; -} - -export function renderSitemapMarkdown( - config: RenderSitemapMarkdownConfig -): string { - const pagesByPath = new Map(config.pages.map((page) => [page.urlPath, page])); - const lines = [ - "# Sitemap", - "", - `Structured documentation sitemap for ${config.product.name}.`, - ]; - - for (const group of config.navigation.groups) { - lines.push("", ...renderSitemapGroup(group, pagesByPath)); - } - - if (config.navigation.ungrouped.length > 0) { - lines.push("", "## Other", ""); - for (const page of config.navigation.ungrouped) { - const readablePage = pagesByPath.get(page.urlPath); - if (!readablePage) { - continue; - } - const description = readablePage.description - ? `: ${readablePage.description}` - : ""; - lines.push( - `- [${readablePage.title}](${readablePage.urlPath})${description}` - ); - } - } - - return `${lines.join("\n")}\n`; -} - -export function renderRobotsTxt(config: RenderRobotsTxtConfig): string { - const baseUrl = config.baseUrl - ? normalizeBaseUrl(config.baseUrl) - : normalizeBaseUrl(undefined); - const sitemapUrl = toAbsoluteUrl( - config.sitemapUrlPath ?? "/sitemap.xml", - baseUrl - ); - const allowPaths = config.allowPaths ?? [ - "/", - "/docs/", - "/llms.txt", - "/docs/llms.txt", - "/sitemap.xml", - "/sitemap.md", - ]; - const userAgents = config.userAgents ?? AI_CRAWLER_USER_AGENTS; - const lines = ["User-agent: *"]; - for (const allowPath of allowPaths) { - lines.push(`Allow: ${allowPath}`); - } - lines.push(""); - - for (const userAgent of userAgents) { - lines.push(`User-agent: ${userAgent}`); - for (const allowPath of allowPaths) { - lines.push(`Allow: ${allowPath}`); - } - lines.push(""); - } - - lines.push(`Sitemap: ${sitemapUrl}`, ""); - return lines.join("\n"); -} - function buildNavigationFromMarkdownDocs( docs: MarkdownDoc[], resolved: ResolvedGroup[] @@ -1678,36 +1125,6 @@ export async function generateAgentsMd( /* ---------------- Navigation manifest ----------------------------------- */ -export type DocsNavigationPage = { - urlPath: string; - title: string; - description: string; - /** All group slugs the page declared (normalized). */ - groups: string[]; -}; - -export type DocsNavigationGroup = { - slug: string; - segmentPath: string[]; - title: string; - description?: string; - pages: DocsNavigationPage[]; - children: DocsNavigationGroup[]; -}; - -export type DocsNavigation = { - groups: DocsNavigationGroup[]; - ungrouped: DocsNavigationPage[]; - /** Pages that named a group slug not present in the config. */ - unknown: { urlPath: string; slug: string }[]; -}; - -export type ResolveDocsNavigationConfig = { - srcDir: string; - baseUrl?: string; - groups: DocsGroup[]; -}; - function pageView(doc: SourceDoc): DocsNavigationPage { return { urlPath: doc.urlPath, diff --git a/packages/leadtype/src/llm/readability.ts b/packages/leadtype/src/llm/readability.ts index 141c7dc..d557ae3 100644 --- a/packages/leadtype/src/llm/readability.ts +++ b/packages/leadtype/src/llm/readability.ts @@ -1,6 +1,10 @@ -import type { AgentReadabilityManifest, AgentReadabilityPage } from "./llm"; - -export type { AgentReadabilityManifest, AgentReadabilityPage } from "./llm"; +/** + * Runtime-side primitives for the Vercel Agent Readability spec. Build-time + * generation lives in `./llm`; this module is the entry point for any + * framework's request middleware. It is fs-free, edge-runtime safe, and + * returns Web `Response` objects so it works in Node, Bun, Vercel Edge, + * Cloudflare Workers, Hono, Astro, Nuxt, Vite middleware, etc. + */ const DOCS_DIRNAME = "docs"; const MD_ONLY_EXTENSION_PATTERN = /\.md$/; @@ -8,20 +12,90 @@ const TRAILING_SLASH_PATTERN = /\/$/; const TRAILING_SLASHES_PATTERN = /\/+$/; const MARKDOWN_ACCEPT_PATTERN = /text\/(markdown|plain)/i; const HTML_ACCEPT_PATTERN = /text\/html/i; -const MARKDOWN_Q_PATTERN = /text\/(markdown|plain)\s*;?\s*q=/i; const FRONTMATTER_BLOCK_PATTERN = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/; const YAML_QUOTE_PATTERN = /["\\]/g; const SCRIPT_JSON_ESCAPE_PATTERN = /[<>&\u2028\u2029]/g; const QUERY_OR_HASH_PATTERN = /[?#]/; const ROOT_AGENT_ARTIFACT_PATTERN = - /^\/(?:llms\.txt|robots\.txt|sitemap\.(?:md|xml))$/; + /^\/(?:llms(?:-full)?\.txt|robots\.txt|sitemap\.(?:md|xml))$/; const DOCS_AGENT_ARTIFACT_PATTERN = /^\/docs\/(?:agent-readability\.json|llms(?:-full)?\.txt|llms-full\/.+\.txt|robots\.txt|search-(?:content|index)\.json|sitemap\.(?:md|xml))$/; const AI_USER_AGENT_PATTERN = - /\b(anthropic-ai|claude-web|claudebot|ccbot|chatgpt-user|gptbot|google-extended|oai-searchbot|perplexitybot)\b/i; + /\b(amazonbot|anthropic-ai|applebot|bingbot|bytespider|ccbot|chatgpt-user|claude-web|claudebot|google-extended|gptbot|metaexternalagent|meta-externalagent|mistralbot|oai-searchbot|perplexitybot|youbot)\b/i; +const DEFAULT_AI_CRAWLER_USER_AGENTS = [ + "GPTBot", + "ChatGPT-User", + "OAI-SearchBot", + "ClaudeBot", + "Claude-Web", + "anthropic-ai", + "CCBot", + "Google-Extended", + "AmazonBot", + "Bingbot", + "MetaExternalAgent", + "ByteSpider", + "PerplexityBot", + "MistralBot", + "AppleBot", + "YouBot", +] as const; +const DEFAULT_CACHE_CONTROL = "public, max-age=300, must-revalidate"; +const SUPPORTED_MANIFEST_VERSION = 1; +const XML_ESCAPE_PATTERN = /[<>&'"]/g; export type JsonLdValue = Record; +export type AgentReadabilityPage = { + title: string; + description: string; + urlPath: string; + absoluteUrl: string; + markdownUrlPath: string; + markdownAbsoluteUrl: string; + relativePath: string; + groups: string[]; + lastModified: string; +}; + +export type DocsNavigationPage = { + urlPath: string; + title: string; + description: string; + /** All group slugs the page declared (normalized). */ + groups: string[]; +}; + +export type DocsNavigationGroup = { + slug: string; + segmentPath: string[]; + title: string; + description?: string; + pages: DocsNavigationPage[]; + children: DocsNavigationGroup[]; +}; + +export type DocsNavigation = { + groups: DocsNavigationGroup[]; + ungrouped: DocsNavigationPage[]; + /** Pages that named a group slug not present in the config. */ + unknown: { urlPath: string; slug: string }[]; +}; + +export type AgentReadabilityManifest = { + version: 1; + generatedAt: string; + baseUrl: string; + product: { name: string; summary: string }; + pages: AgentReadabilityPage[]; + navigation: DocsNavigation; + files: { + robotsTxt: string; + sitemapMd: string; + sitemapXml: string; + }; +}; + export type MarkdownMirrorTarget = { /** Canonical HTML route, e.g. `/docs/quickstart`. */ urlPath: string; @@ -38,6 +112,8 @@ export type AgentRequestHeaders = Record; export type MarkdownResponseHeadersConfig = { canonicalUrl: string; includeUserAgentVary?: boolean; + /** Override Cache-Control. Pass `null` to omit the header. */ + cacheControl?: string | null; }; export type EnrichMarkdownFrontmatterConfig = { @@ -51,24 +127,91 @@ export type RenderMissingMarkdownConfig = { lastUpdated?: string | Date; }; -export type AgentMarkdownResponse = { - status: 200; - headers: Record; - body: string; - found: boolean; - target?: MarkdownMirrorTarget; -}; - export type CreateAgentMarkdownResponseConfig = { urlPath: string; method?: string; headers?: AgentRequestHeaders; manifest: AgentReadabilityManifest; - readMarkdownFile: (target: MarkdownMirrorTarget) => string | null | undefined; + readMarkdownFile: ( + target: MarkdownMirrorTarget + ) => string | null | undefined | Promise; requestOrigin?: string; now?: Date; + /** Override the default AI user-agent regex. */ + userAgentPattern?: RegExp; + /** Override Cache-Control. Pass `null` to omit. */ + cacheControl?: string | null; +}; + +export type AgentArtifactResponseConfig = { + manifest: AgentReadabilityManifest; + /** Live request origin, e.g. "http://localhost:5173". Falls back to manifest.baseUrl. */ + requestOrigin?: string; + /** Optional: merge non-docs pages into the sitemap. Defaults to manifest.pages. */ + pages?: AgentReadabilityPage[]; + /** Override Cache-Control. Pass `null` to omit. */ + cacheControl?: string | null; }; +export type CreateSitemapMarkdownResponseConfig = + AgentArtifactResponseConfig & { + /** Optional override for the navigation tree. Defaults to manifest.navigation. */ + navigation?: DocsNavigation; + /** Override product name displayed in the heading. Defaults to manifest.product.name. */ + productName?: string; + }; + +export type CreateRobotsTxtResponseConfig = { + manifest?: AgentReadabilityManifest; + /** Live request origin. Falls back to manifest.baseUrl when manifest is provided. */ + requestOrigin?: string; + /** Path of the sitemap relative to origin. Default: "/sitemap.xml". */ + sitemapUrlPath?: string; + /** Allow paths under the User-agent directives. */ + allowPaths?: string[]; + /** Override the AI crawler User-agent list. */ + userAgents?: readonly string[]; + /** Override Cache-Control. Pass `null` to omit. */ + cacheControl?: string | null; +}; + +export type DocsHeadEntry = Record; + +export type DocsHead = { + meta: DocsHeadEntry[]; + links: DocsHeadEntry[]; +}; + +export type CreateDocsHeadConfig = { + urlPath: string; + manifest: AgentReadabilityManifest; + /** Key under which the JSON-LD payload is embedded in `meta`. Default: "script:ld+json" (TanStack Router). */ + jsonLdMetaKey?: string; +}; + +export type RenderSitemapMarkdownConfig = { + product: { name: string }; + navigation: DocsNavigation; + pages: AgentReadabilityPage[]; +}; + +export type RenderRobotsTxtConfig = { + baseUrl?: string; + sitemapUrlPath?: string; + allowPaths?: string[]; + userAgents?: readonly string[]; +}; + +/* ----------------------- internal helpers ------------------------------ */ + +function assertManifestVersion(manifest: { version: number }): void { + if (manifest.version !== SUPPORTED_MANIFEST_VERSION) { + throw new Error( + `leadtype: agent-readability manifest version ${manifest.version} is not supported (expected ${SUPPORTED_MANIFEST_VERSION}). Regenerate the manifest with the matching leadtype version.` + ); + } +} + function normalizeDate(value: unknown): string | undefined { if (value instanceof Date) { return Number.isNaN(value.getTime()) ? undefined : value.toISOString(); @@ -80,15 +223,15 @@ function normalizeDate(value: unknown): string | undefined { return; } -function normalizeBaseUrl(baseUrl: string): string { - return baseUrl.replace(TRAILING_SLASHES_PATTERN, ""); +function stripTrailingSlashes(value: string): string { + return value.replace(TRAILING_SLASHES_PATTERN, ""); } function toAbsoluteUrl(urlPath: string, baseUrl: string): string { if (urlPath.startsWith("http://") || urlPath.startsWith("https://")) { return urlPath; } - return `${baseUrl}${urlPath}`; + return `${stripTrailingSlashes(baseUrl)}${urlPath}`; } function normalizeUrlPath(input: string): string { @@ -116,8 +259,9 @@ function readFrontmatterField( names: string[] ): string | null { for (const name of names) { + // Match through end of line, tolerating either LF or CRLF terminators. const match = frontmatter.match( - new RegExp(`^${name}\\s*:\\s*['"]?([^'"\\n]+)['"]?\\s*$`, "m") + new RegExp(`^${name}\\s*:\\s*['"]?([^'"\\r\\n]+)['"]?\\s*$`, "m") ); if (match?.[1]) { return match[1].trim(); @@ -156,9 +300,9 @@ function jsonScriptEscape(value: string): string { return "\\u003e"; case "&": return "\\u0026"; - case "\u2028": + case "
": return "\\u2028"; - case "\u2029": + case "
": return "\\u2029"; default: return character; @@ -166,6 +310,25 @@ function jsonScriptEscape(value: string): string { }); } +function escapeXml(value: string): string { + return value.replace(XML_ESCAPE_PATTERN, (character) => { + switch (character) { + case "<": + return "<"; + case ">": + return ">"; + case "&": + return "&"; + case "'": + return "'"; + case '"': + return """; + default: + return character; + } + }); +} + function jsonLdPageDescription( page: AgentReadabilityPage, manifest: AgentReadabilityManifest @@ -176,17 +339,74 @@ function jsonLdPageDescription( ); } -export function isAgentUserAgent(userAgent: string | undefined): boolean { - return Boolean(userAgent && AI_USER_AGENT_PATTERN.test(userAgent)); +/** + * Parse the q-value of a single `Accept`-header media-type segment. + * Defaults to 1 when no `q=` parameter is present. + */ +function parseQValue(segment: string): number { + const match = segment.match(/;\s*q\s*=\s*(\d(?:\.\d+)?)/i); + if (!match?.[1]) { + return 1; + } + const parsed = Number.parseFloat(match[1]); + if (Number.isNaN(parsed)) { + return 1; + } + return Math.min(1, Math.max(0, parsed)); +} + +function effectiveAcceptQValues(accept: string): { + markdown: number; + html: number; +} { + let markdown = 0; + let html = 0; + for (const rawSegment of accept.split(",")) { + const segment = rawSegment.trim(); + if (!segment) { + continue; + } + const q = parseQValue(segment); + if (MARKDOWN_ACCEPT_PATTERN.test(segment) && q > markdown) { + markdown = q; + } + if (HTML_ACCEPT_PATTERN.test(segment) && q > html) { + html = q; + } + } + return { markdown, html }; +} + +/* ----------------------- public predicates ----------------------------- */ + +export function isAgentUserAgent( + userAgent: string | undefined, + pattern: RegExp = AI_USER_AGENT_PATTERN +): boolean { + return Boolean(userAgent && pattern.test(userAgent)); } +/** + * Detect whether a request prefers markdown over HTML. + * + * The bias is intentional: when an Accept header contains both `text/html` and + * `text/markdown` with no q-values, browsers (which always send `text/html` in + * the list) get HTML and explicit agents that include markdown still win when + * they set `q=` lower for HTML. To force markdown for an agent that lists html + * implicitly, prefer the AI user-agent path or pass `Accept: text/markdown`. + */ export function acceptsMarkdownHeader(accept: string | undefined): boolean { - if (!(accept && MARKDOWN_ACCEPT_PATTERN.test(accept))) { + if (!accept) { return false; } - return !( - HTML_ACCEPT_PATTERN.test(accept) && !MARKDOWN_Q_PATTERN.test(accept) - ); + const { markdown, html } = effectiveAcceptQValues(accept); + if (markdown <= 0) { + return false; + } + if (html <= 0) { + return true; + } + return markdown > html; } export function isAgentReadabilityArtifactPath(urlPath: string): boolean { @@ -240,14 +460,24 @@ export function resolveMarkdownMirrorTarget( }; } +/* ----------------------- markdown response builders -------------------- */ + export function createMarkdownResponseHeaders( config: MarkdownResponseHeadersConfig ): Record { - return { + const headers: Record = { "Content-Type": "text/markdown; charset=utf-8", Vary: config.includeUserAgentVary ? "Accept, User-Agent" : "Accept", Link: `<${config.canonicalUrl}>; rel="canonical"`, }; + const cacheControl = + config.cacheControl === undefined + ? DEFAULT_CACHE_CONTROL + : config.cacheControl; + if (cacheControl !== null) { + headers["Cache-Control"] = cacheControl; + } + return headers; } export function enrichMarkdownFrontmatter( @@ -305,10 +535,13 @@ Use [/llms.txt](/llms.txt) or [/sitemap.md](/sitemap.md) to find available pages `; } +/* ----------------------- JSON-LD helpers ------------------------------- */ + export function renderJsonLd( page: AgentReadabilityPage, manifest: AgentReadabilityManifest ): JsonLdValue { + assertManifestVersion(manifest); return { "@context": "https://schema.org", "@type": "TechArticle", @@ -344,9 +577,13 @@ export function renderJsonLdScript( return ``; } -export function createAgentMarkdownResponse( +/* ----------------------- markdown content negotiation ------------------ */ + +export async function createAgentMarkdownResponse( config: CreateAgentMarkdownResponseConfig -): AgentMarkdownResponse | null { +): Promise { + assertManifestVersion(config.manifest); + const pathname = normalizeUrlPath(config.urlPath); if (!readableMethod(config.method)) { return null; @@ -354,9 +591,10 @@ export function createAgentMarkdownResponse( const accept = getHeaderValue(config.headers, "accept"); const userAgent = getHeaderValue(config.headers, "user-agent"); - const wantsMarkdown = - acceptsMarkdownHeader(accept) || isAgentUserAgent(userAgent); + const matchesAgentUa = isAgentUserAgent(userAgent, config.userAgentPattern); + const wantsMarkdown = acceptsMarkdownHeader(accept) || matchesAgentUa; const target = resolveMarkdownMirrorTarget(pathname); + const isHead = config.method === "HEAD"; if (target && (wantsMarkdown || pathname.endsWith(".md"))) { const page = config.manifest.pages.find( @@ -365,7 +603,7 @@ export function createAgentMarkdownResponse( const canonicalUrl = page?.absoluteUrl ?? toAbsoluteUrl(target.urlPath, config.manifest.baseUrl); - const markdown = config.readMarkdownFile(target); + const markdown = await config.readMarkdownFile(target); const body = markdown ? enrichMarkdownFrontmatter(markdown, { canonicalUrl, @@ -376,42 +614,336 @@ export function createAgentMarkdownResponse( canonicalUrl, lastUpdated: config.now, }); - return { + return new Response(isHead ? null : body, { status: 200, headers: createMarkdownResponseHeaders({ canonicalUrl, - includeUserAgentVary: isAgentUserAgent(userAgent), + includeUserAgentVary: matchesAgentUa, + cacheControl: config.cacheControl, }), - body: config.method === "HEAD" ? "" : body, - found: Boolean(markdown), - target, - }; + }); } if (wantsMarkdown && !isAgentReadabilityArtifactPath(pathname)) { const canonicalUrl = toAbsoluteUrl( pathname, config.requestOrigin - ? normalizeBaseUrl(config.requestOrigin) + ? stripTrailingSlashes(config.requestOrigin) : config.manifest.baseUrl ); - return { - status: 200, - headers: createMarkdownResponseHeaders({ - canonicalUrl, - includeUserAgentVary: isAgentUserAgent(userAgent), - }), - body: - config.method === "HEAD" - ? "" - : renderMissingMarkdown({ - urlPath: pathname, - canonicalUrl, - lastUpdated: config.now, - }), - found: false, - }; + return new Response( + isHead + ? null + : renderMissingMarkdown({ + urlPath: pathname, + canonicalUrl, + lastUpdated: config.now, + }), + { + status: 200, + headers: createMarkdownResponseHeaders({ + canonicalUrl, + includeUserAgentVary: matchesAgentUa, + cacheControl: config.cacheControl, + }), + } + ); } return null; } + +/* ----------------------- pure renderers (sitemap/robots) --------------- */ + +export function renderSitemapXml(pages: AgentReadabilityPage[]): string { + const urls = pages + .map( + (page) => ` + ${escapeXml(page.absoluteUrl)} + ${escapeXml(page.lastModified)} + ` + ) + .join("\n"); + + return ` + +${urls} + +`; +} + +function renderSitemapGroup( + group: DocsNavigationGroup, + pagesByPath: Map, + depth = 2 +): string[] { + const lines = [`${"#".repeat(depth)} ${group.title}`]; + if (group.description) { + lines.push("", group.description); + } + + const links: string[] = []; + for (const page of group.pages) { + const readablePage = pagesByPath.get(page.urlPath); + if (!readablePage) { + continue; + } + const description = readablePage.description + ? `: ${readablePage.description}` + : ""; + links.push( + `- [${readablePage.title}](${readablePage.urlPath})${description}` + ); + } + + if (links.length > 0) { + lines.push("", ...links); + } + + for (const child of group.children) { + lines.push("", ...renderSitemapGroup(child, pagesByPath, depth + 1)); + } + + return lines; +} + +export function renderSitemapMarkdown( + config: RenderSitemapMarkdownConfig +): string { + const pagesByPath = new Map(config.pages.map((page) => [page.urlPath, page])); + const lines = [ + "# Sitemap", + "", + `Structured documentation sitemap for ${config.product.name}.`, + ]; + + for (const group of config.navigation.groups) { + lines.push("", ...renderSitemapGroup(group, pagesByPath)); + } + + if (config.navigation.ungrouped.length > 0) { + lines.push("", "## Other", ""); + for (const page of config.navigation.ungrouped) { + const readablePage = pagesByPath.get(page.urlPath); + if (!readablePage) { + continue; + } + const description = readablePage.description + ? `: ${readablePage.description}` + : ""; + lines.push( + `- [${readablePage.title}](${readablePage.urlPath})${description}` + ); + } + } + + return `${lines.join("\n")}\n`; +} + +export function renderRobotsTxt(config: RenderRobotsTxtConfig): string { + const baseUrl = stripTrailingSlashes(config.baseUrl ?? ""); + const sitemapPath = config.sitemapUrlPath ?? "/sitemap.xml"; + const sitemapUrl = baseUrl ? `${baseUrl}${sitemapPath}` : sitemapPath; + const allowPaths = config.allowPaths ?? [ + "/", + "/docs/", + "/llms.txt", + "/docs/llms.txt", + "/sitemap.xml", + "/sitemap.md", + ]; + const userAgents = config.userAgents ?? DEFAULT_AI_CRAWLER_USER_AGENTS; + const lines = ["User-agent: *"]; + for (const allowPath of allowPaths) { + lines.push(`Allow: ${allowPath}`); + } + lines.push(""); + + for (const userAgent of userAgents) { + lines.push(`User-agent: ${userAgent}`); + for (const allowPath of allowPaths) { + lines.push(`Allow: ${allowPath}`); + } + lines.push(""); + } + + lines.push(`Sitemap: ${sitemapUrl}`, ""); + return lines.join("\n"); +} + +/* ----------------------- runtime regenerator helpers ------------------- */ + +function rebasePage( + page: AgentReadabilityPage, + fromBase: string, + toBase: string +): AgentReadabilityPage { + if (fromBase === toBase) { + return page; + } + const swap = (value: string): string => + value.startsWith(fromBase) + ? `${toBase}${value.slice(fromBase.length)}` + : value; + return { + ...page, + absoluteUrl: swap(page.absoluteUrl), + markdownAbsoluteUrl: swap(page.markdownAbsoluteUrl), + }; +} + +function attachCacheControl( + headers: Record, + cacheControl: string | null | undefined +): Record { + const value = + cacheControl === undefined ? DEFAULT_CACHE_CONTROL : cacheControl; + if (value === null) { + return headers; + } + return { ...headers, "Cache-Control": value }; +} + +function resolveEffectiveBase( + manifest: AgentReadabilityManifest, + requestOrigin: string | undefined +): string { + return requestOrigin + ? stripTrailingSlashes(requestOrigin) + : stripTrailingSlashes(manifest.baseUrl); +} + +export function createSitemapXmlResponse( + config: AgentArtifactResponseConfig +): Response { + assertManifestVersion(config.manifest); + const fromBase = stripTrailingSlashes(config.manifest.baseUrl); + const toBase = resolveEffectiveBase(config.manifest, config.requestOrigin); + const sourcePages = config.pages ?? config.manifest.pages; + const rebased = sourcePages.map((page) => rebasePage(page, fromBase, toBase)); + return new Response(renderSitemapXml(rebased), { + status: 200, + headers: attachCacheControl( + { + "Content-Type": "application/xml; charset=utf-8", + }, + config.cacheControl + ), + }); +} + +export function createSitemapMarkdownResponse( + config: CreateSitemapMarkdownResponseConfig +): Response { + assertManifestVersion(config.manifest); + const fromBase = stripTrailingSlashes(config.manifest.baseUrl); + const toBase = resolveEffectiveBase(config.manifest, config.requestOrigin); + const sourcePages = config.pages ?? config.manifest.pages; + const rebased = sourcePages.map((page) => rebasePage(page, fromBase, toBase)); + return new Response( + renderSitemapMarkdown({ + product: { name: config.productName ?? config.manifest.product.name }, + navigation: config.navigation ?? config.manifest.navigation, + pages: rebased, + }), + { + status: 200, + headers: attachCacheControl( + { + "Content-Type": "text/markdown; charset=utf-8", + }, + config.cacheControl + ), + } + ); +} + +export function createRobotsTxtResponse( + config: CreateRobotsTxtResponseConfig +): Response { + if (config.manifest) { + assertManifestVersion(config.manifest); + } + let baseUrl = ""; + if (config.manifest) { + baseUrl = resolveEffectiveBase(config.manifest, config.requestOrigin); + } else if (config.requestOrigin) { + baseUrl = stripTrailingSlashes(config.requestOrigin); + } + return new Response( + renderRobotsTxt({ + baseUrl, + sitemapUrlPath: config.sitemapUrlPath, + allowPaths: config.allowPaths, + userAgents: config.userAgents, + }), + { + status: 200, + headers: attachCacheControl( + { "Content-Type": "text/plain; charset=utf-8" }, + config.cacheControl + ), + } + ); +} + +/* ----------------------- head metadata helper -------------------------- */ + +const DEFAULT_JSON_LD_META_KEY = "script:ld+json"; + +function pageTitle( + page: AgentReadabilityPage, + manifest: AgentReadabilityManifest +): string { + return `${page.title} | ${manifest.product.name}`; +} + +function pageDescription( + page: AgentReadabilityPage, + manifest: AgentReadabilityManifest +): string { + return ( + page.description || + `${page.title} documentation for ${manifest.product.name}.` + ); +} + +/** + * Build the head metadata for a docs page from the agent-readability manifest. + * Returns a framework-neutral `{ meta, links }` shape: `meta` entries are + * objects suitable for TanStack Router / Next.js Metadata-style head APIs; + * `links` entries are link descriptors (canonical + alternate text/markdown). + * + * If the page is not present in the manifest, both arrays are empty so the + * caller can fall back to its own metadata. + */ +export function createDocsHead(config: CreateDocsHeadConfig): DocsHead { + assertManifestVersion(config.manifest); + const page = config.manifest.pages.find( + (entry) => entry.urlPath === config.urlPath + ); + if (!page) { + return { meta: [], links: [] }; + } + + const title = pageTitle(page, config.manifest); + const description = pageDescription(page, config.manifest); + const jsonLdKey = config.jsonLdMetaKey ?? DEFAULT_JSON_LD_META_KEY; + return { + meta: [ + { title }, + { name: "description", content: description }, + { property: "og:title", content: title }, + { property: "og:description", content: description }, + { [jsonLdKey]: renderJsonLd(page, config.manifest) }, + ], + links: [ + { rel: "canonical", href: page.absoluteUrl }, + { + rel: "alternate", + type: "text/markdown", + href: page.markdownAbsoluteUrl, + }, + ], + }; +} From 7ecbdbbededadd281a53bef3787b8b7b93d6b06e Mon Sep 17 00:00:00 2001 From: Kaylee <65376239+KayleeWilliams@users.noreply.github.com> Date: Sat, 9 May 2026 23:01:08 -0700 Subject: [PATCH 3/4] Update agent readability sitemap support --- apps/example/server/utils/agent-readability.ts | 17 ++++++++++++----- .../src/generated/agent-readability.json | 6 +++--- .../src/generated/docs-search-content.json | 2 +- .../src/generated/docs-search-index.json | 2 +- apps/example/src/lib/docs-head.ts | 5 ++++- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/apps/example/server/utils/agent-readability.ts b/apps/example/server/utils/agent-readability.ts index a448aed..91b004c 100644 --- a/apps/example/server/utils/agent-readability.ts +++ b/apps/example/server/utils/agent-readability.ts @@ -1,4 +1,4 @@ -import { readFileSync } from "node:fs"; +import { readFile } from "node:fs/promises"; import { join } from "node:path"; import type { AgentReadabilityManifest, @@ -14,8 +14,10 @@ import manifestJson from "../../src/generated/agent-readability.json" with { type: "json", }; -export const agentReadabilityManifest = - manifestJson as AgentReadabilityManifest; +export const agentReadabilityManifest: AgentReadabilityManifest = { + ...manifestJson, + version: 1, +}; export function getRequestOrigin(event: H3Event): string | undefined { const forwardedHost = getHeader(event, "x-forwarded-host") @@ -32,9 +34,14 @@ export function getRequestOrigin(event: H3Event): string | undefined { return url.origin; } -export function readMarkdownFile(target: MarkdownMirrorTarget): string | null { +export async function readMarkdownFile( + target: MarkdownMirrorTarget +): Promise { try { - return readFileSync(join(process.cwd(), "public", target.filePath), "utf8"); + return await readFile( + join(process.cwd(), "public", target.filePath), + "utf8" + ); } catch { return null; } diff --git a/apps/example/src/generated/agent-readability.json b/apps/example/src/generated/agent-readability.json index f9c1b72..0b4bdc0 100644 --- a/apps/example/src/generated/agent-readability.json +++ b/apps/example/src/generated/agent-readability.json @@ -1,6 +1,6 @@ { "version": 1, - "generatedAt": "2026-05-10T04:49:30.872Z", + "generatedAt": "2026-05-10T05:57:49.145Z", "baseUrl": "https://docs.example.com", "product": { "name": "Leadtype", @@ -83,7 +83,7 @@ "groups": [ "build" ], - "lastModified": "2026-05-10T03:32:19.000Z" + "lastModified": "2026-05-10T05:16:57.000Z" }, { "title": "Validate in CI", @@ -187,7 +187,7 @@ "groups": [ "reference" ], - "lastModified": "2026-05-10T03:32:19.000Z" + "lastModified": "2026-05-10T05:16:57.000Z" }, { "title": "Remark plugins", diff --git a/apps/example/src/generated/docs-search-content.json b/apps/example/src/generated/docs-search-content.json index 76ceabb..8a3caa9 100644 --- a/apps/example/src/generated/docs-search-content.json +++ b/apps/example/src/generated/docs-search-content.json @@ -1 +1 @@ -{"version":2,"generatedAt":"2026-05-10T04:47:38.140Z","chunks":["Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nLeadtype does not ship UI components. Your docs app owns runtime rendering, styling, and accessibility — it only has to honor a small naming contract so the remark pipeline can flatten each component into markdown for agents, search, and llms-full/ .txt bundles.","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nWhy flatten at all?\n\nInteractive MDX components like Body content goes here. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCards\n\nA grid of short, linked entry points. Flattens to a bullet list of links. Convert Remark Search\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nSteps\n\nNumbered walkthroughs. Flattens to an ordered list with bold step titles. 1. Author docs in MDX Use the components in this list as authoring affordances. 2. Run the conversion leadtype generate writes flattened markdown to public/docs/ . 3. Serve both formats HTML for humans, .md for agents — same URL, content negotiated by the Accept header.\n\n```tsx Use the components in this list. `leadtype generate` writes flattened markdown. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTabs\n\nGroup equivalent content. Flattens to bold headings followed by content so agents do not need a JSX-aware renderer to read every variant. tanstack-start Use a Vite middleware dev/preview and a Nitro middleware prod to negotiate the Accept header. next-js Wire content negotiation in middleware.ts and serve .md from a route handler. vite A configureServer middleware is enough for static deployments where .md files live in public/ .\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCommandTabs\n\nPackage-manager-aware install or run commands. Flattens to a markdown table with one row per manager. Use mode=\"install\" when command is a package name, mode=\"run\" when command is a CLI name, and mode=\"create\" for starter commands. Use the commands prop for exact per-manager overrides. Package manager Command -- -- npm npm install leadtype pnpm pnpm add leadtype yarn yarn add leadtype bun bun add leadtype Package manager Command -- -- npm npx leadtype lint pnpm pnpm dlx leadtype lint yarn yarn dlx leadtype lint bun bunx leadtype lint\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nAccordion\n\nCollapsible details for secondary content. Flattening ignores open/closed state and emits every item — accordions are not a place to hide content from agents. When should I use accordions? Use them for supporting details, troubleshooting notes, and optional reference material. Closed content is still flattened by the remark pipeline. Are accordions a good place to hide content from LLMs? No. Conversion ignores the open/closed state and emits everything inside.\n\n```tsx Use them for supporting details and optional reference material. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTopicSwitcher\n\nNavigation across equivalent docs topics — frameworks, SDKs, runtimes, deployment targets, product areas. Reader-facing only; it does not automatically read LLM topic config. Framework React — React integration Vue — Vue integration Svelte — Svelte integration\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTypeTable and ExtractedTypeTable\n\nTypeTable is for explicit prop or type rows you already know. ExtractedTypeTable reads a TypeScript file at conversion time and extracts the table from a named type — keep its path stable. Property Type Description Default Required -- -- -- -- -- title string Heading rendered above the callout body. - ✅ Required variant CalloutVariant Visual treatment for the callout. info Optional deprecated \\ \\ boolean\\ \\ deprecated Marks the row as deprecated. false Optional\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nExample\n\nData-driven preview and source examples. The host component receives code as data; add file loaders or dynamic imports outside leadtype when an example needs app-specific behavior.\n\n```tsx The host app owns styling and runtime components while leadtype owns conversion. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nMermaid\n\nDiagrams authored as plain text. Renders client-side as interactive SVG. Flattening preserves the source as a fenced mermaid block so other tools can render the diagram from the markdown copy.\n\n```tsx |remark| Markdown Markdown -->|llms.txt| Agents`} /> ``` ```mermaid `graph LR MDX -->|remark| Markdown Markdown -->|search index| API Markdown -->|llms.txt| Agents` ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nGuidelines\n\nKeep runtime components in your docs app. Leadtype stays out of UI. Keep component names stable. Renaming resolver page1 --> resolver page2 --> resolver page3 --> resolver resolver --> nav resolver --> llms resolver --> full` ```","Frontmatter\n\nRequired fields, group semantics, and how authored MDX becomes a navigation tree.\n\nFrontmatter\n\nHow groups become a nav tree\n\nNested groups\n\nDeclare children in the config to build deeper trees A page sets group bundle-package-docs and lands in that nested slot. Only leaf groups no children get an llms-full/ cli cli --> bundle bundle --> publish publish --> install install --> consume` ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhy AGENTS.md, not llms.txt?\n\nllms.txt is a website convention — a file at /llms.txt with absolute URLs that an agent fetches over HTTP. Inside an npm tarball it's the wrong shape every link points at a hosted URL the agent may not be able to reach, and no major coding agent looks for node modules/ 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } await generateAgentsMd({ srcDir: REPO_ROOT, outDir: PACKAGE_ROOT, product: docsConfig.product, groups: docsConfig.groups, }); ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nVerify before publishing\n\nnpm pack --dry-run should list AGENTS.md docs/ / .md If AGENTS.md is missing, check files in package.json . If .md files are missing, check the --include / --exclude filters.\n\n```bash npx leadtype generate --bundle --src . --out packages/my-package cd packages/my-package && npm pack --dry-run ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nTell consuming projects to use the bundle\n\nAGENTS.md inside your tarball is auto-discovered by agents working in your published package — but for a project that depends on your package, the agent's working directory is the consumer's repo, not yours. You need to point them at the bundled docs. Recommend this snippet in your README so consumers add it to their own root AGENTS.md This is the same pattern Next.js uses to point agents at node modules/next/dist/docs/ .\n\n```md # When working with the `` library, read the bundled docs in `node_modules//AGENTS.md` first — they're version-matched to the installed package and stay accurate as the library updates. ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhen to use this\n\nUse this when agents should understand the package from the installed dependency itself — coding agents that don't have web access, IDE assistants, CLI tools, or air-gapped environments. Don't use this if your only goal is a public docs website. For that, see Connect a docs site. You can use both — they read the same source MDX, just emit different shapes.","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhat's next\n\nCLI reference LLM bundles Lint in CI","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nUse this path when you run a docs site or want to . Leadtype runs before your build to convert MDX, generate navigation data, build the search index, and produce agent-readable artifacts. Your site framework — TanStack Start, Next.js, Astro, anything — handles routing and rendering.","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nThe flow\n\n\\` reads TypeScript files at conversion time. // Pass basePath so the component can resolve relative paths. const typeTablePlugin: NonNullable< MdxToMarkdownOptions[\"remarkPlugins\"] >[number] = [remarkTypeTableToMarkdown, { basePath: repoRoot }]; await convertAllMdx({ srcDir, outDir, remarkPlugins: [ remarkInclude, ...defaultRemarkPlugins.filter((p) => p !== remarkTypeTableToMarkdown), typeTablePlugin, ], enrichFrontmatterFromGit: true, }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConfigure the product and groups\n\nAuthor docs/docs.config.ts once and let every stage read from it Pages declare group in frontmatter. The config declares the tree. The two together produce the navigation manifest, the llms.txt sections, and the lint check that catches typos. See Frontmatter for the resolution rules.\n\n```ts import { defineDocsConfig } from \"leadtype\"; export default defineDocsConfig({ product: { name: \"my-docs\", summary: \"Short product summary.\", bullets: [\"What it does in one bullet.\", \"Another bullet.\"], bestStartingPoints: [{ urlPath: \"/docs\" }, { urlPath: \"/docs/quickstart\" }], }, groups: [ { slug: \"get-started\", title: \"Get Started\" }, { slug: \"guides\", title: \"Guides\" }, ], }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nMake the site agent-readable\n\nAfter generation, wire the runtime pieces into your docs app Serve root discovery files /llms.txt , /sitemap.xml , /sitemap.md , and /robots.txt . Keep docs-scoped discovery files available under /docs/ . Add JSON-LD, canonical links, and markdown alternate links to docs HTML pages. Return markdown for Accept text/markdown , known AI user agents, and direct .md URLs. Preserve canonical url and last updated frontmatter in markdown responses. Leadtype provides leadtype/llm/readability so you do not have to hand-roll request detection, frontmatter aliases, missing-page markdown, or JSON-LD escaping. The full setup guide is Optimize docs for agents. The core request hook looks like this in any framework Put it before your HTML docs route. Normal browsers continue to receive HTML; agent-oriented requests receive the generated markdown with Content-Type text/markdown; charset=utf-8 .\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readGeneratedFile(`public/${target.filePath}`); }, }); if (response) { return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConnect a remote source\n\nWhen the docs source lives in a different repo from the docs site Run lint first so missing or malformed frontmatter fails before the converter writes anything. Use --format github in CI to get inline annotations on the PR. Use --json on generate so automation can read the resolved groups and search index stats. This is the shape we expect for orgs hosting one docs UI for multiple package repos the source lives next to the code it documents, the docs app pulls it in at build time. See Bundle docs into a package if the package should also ship docs inside its npm tarball.\n\n```bash git clone --depth 1 https://github.com/acme/package-a .docs-src/package-a npx leadtype lint .docs-src/package-a/docs --format github --error-unknown npx leadtype generate --src .docs-src/package-a --out public --json npm run build ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nVerify\n\nAfter a clean build public/docs/index.md — the converted home page. public/llms.txt — the routing index. Should mention every group from your config. public/docs/llms-full/ entry.urlPath === \"/docs/quickstart\" ); if (page) { const jsonLd = renderJsonLd(page, agentManifest); const script = renderJsonLdScript(page, agentManifest); } ``` ```html ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\nUse createAgentMarkdownResponse from request middleware or route handlers. It returns a Web Response or null when the path is not an agent-oriented markdown request and handles Accept text/markdown and Accept text/plain content negotiation q-values respected . Known AI user-agent headers GPTBot, ClaudeBot, Bingbot, AmazonBot, MetaExternalAgent, PerplexityBot, MistralBot, AppleBot, ByteSpider, YouBot, … . Direct .md URLs such as /docs/quickstart.md . canonical url and last updated frontmatter aliases injected automatically. 200 markdown responses for missing docs pages, so agents do not discard the body. Content-Type text/markdown; charset=utf-8 , Vary Accept , User-Agent , Link <… ; rel=\"canonical\" , Cache-Control public, max-age=300, must-revalidate . readMarkdownFile may be sync or async, so the same code works on Node, Bun, Vercel Edge, Cloudflare Workers, and other edge runtimes Put that logic wherever your framework can intercept docs requests before its HTML route Framework/runtime Where it usually goes -- -- Next.js middleware.ts Edge or a catch-all route handler before the docs page. TanStack Start Vite plugin middleware configureServer before the SSR handler.\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; export async function handleRequest(request: Request): Promise { return createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, async readMarkdownFile(target) { // Node/Bun: read from disk. // Cloudflare: fetch from KV / R2 / asset binding. // Vercel Edge: fetch from the deployment's static asset URL. return await readGeneratedFile(`public/${target.filePath}`); }, }); } ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\n- -- Next.js middleware.ts Edge or a catch-all route handler before the docs page. TanStack Start Vite plugin middleware configureServer before the SSR handler. Astro An endpoint at pages/docs/ ...slug .md.ts or astro middleware . Nuxt server/middleware/agent-readability.ts h3 . Cloudflare Workers/Pages Worker fetch handler with KV/R2 asset binding for the markdown reader. Express/Hono/Fastify Middleware before the docs HTML route. Do not rewrite llms.txt , sitemap.xml , sitemap.md , robots.txt , llms-full.txt , or agent-readability.json to page markdown. The helper leaves those artifact paths alone.","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\nServe sitemap.xml and robots.txt with the live origin\n\nsitemap.xml 's lint-report.json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nLocal pre-push hook\n\nCatch issues before they reach CI by running lint in a husky pre-push hook Keep it under a second by limiting the scan to changed files when you have many pages. The CLI accepts repeated --ignore globs to skip stale or generated paths.\n\n```bash #!/usr/bin/env sh npx leadtype lint docs --max-warnings 0 ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nRun before generate\n\nWhen leadtype lint and leadtype generate both run in the same job, lint first Generate fails noisily on unknown groups or broken includes. Lint fails specifically on content schema problems with file/line context — much easier to debug.\n\n```bash npx leadtype lint docs --error-unknown npx leadtype generate --src . --out public --json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nWhat to fix first\n\nWhen CI fails on a lot of violations, fix them in this order 1. parse-error — frontmatter is broken; nothing else can validate. 2. schema — missing or wrong-typed required fields. 3. unresolved-placeholder — content bug, not a config bug. 4. invalid-link and cross-framework-link — usually a stale link after a docs move. 5. unknown-field — last; either delete the field or extend the schema.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nLeadtype takes one input — a folder of MDX — and produces every shape your docs need to take. This page names every piece so the rest of the docs make sense.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe pipeline\n\nThe remark stack is what turns interactive MDX components into agent-readable markdown. JSX gets flattened — a fm fm --> remark fm --> groups remark --> md md --> site_idx md --> search groups --> site_idx groups --> agents_md groups --> nav` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nTwo output modes\n\nleadtype generate has two modes that read the same source and emit different shapes Property Type Description Default Required -- -- -- -- -- Site mode default leadtype generate --out public Writes llms.txt, docs/llms-full/\\ .txt, docs/search-index.json, docs/sitemap.xml, docs/sitemap.md, docs/robots.txt, agent-readability.json, and docs/\\ .md to a public/ directory your docs website serves. This is what you wire into a Vite, Next.js, Astro, or TanStack Start build. - Optional Bundle mode leadtype generate --bundle --out packages/foo Writes AGENTS.md at the package root and docs/\\ .md beneath it, both with relative paths. Skips llms.txt, llms-full, search, sitemap, robots, and Agent Readability files — those are website-only. Designed for npm tarballs that ship docs alongside the published code. - Optional","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe artifacts\n\nProperty Type Description Default Required -- -- -- -- -- Markdown .md docs/\\ human site_out -- \"absolute URLs\" --> http_agent site_out -- \"search-index.json\" --> search_ui bundle_out -- \"AGENTS.md auto-discovery\" --> offline_agent` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nVocabulary\n\nA few terms you will see throughout the docs. Property Type Description Default Required -- -- -- -- -- flatten verb Convert an interactive MDX component into a portable markdown equivalent. A \\ site_run src --> bundle_run site_run --> site_out bundle_run --> bundle_out site_out --> humans site_out --> http_agents site_out --> search bundle_out --> offline_agents` ```","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nChoose your path\n\nMost teams arrive here for one of two reasons. Pick the journey that matches yours — each is a single page that takes you from zero to running. Build a docs site Ship docs in your package","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nWhat you get\n\n1. Write once Author MDX with familiar components — Callout , Tabs , Steps , Mermaid , TypeTable , and others. Add group in frontmatter to place pages in the navigation tree. 2. Run \\ leadtype generate\\ For a website converts MDX to markdown, builds llms.txt plus topic bundles, generates a search index, writes Agent Readability discovery files, and resolves navigation. With --bundle emits AGENTS.md plus per-topic .md files for agents reading from node modules/ . 3. Serve all of it Humans get HTML. HTTP agents get markdown via content negotiation or fetch llms.txt . Coding agents working in a project that depends on your package auto-discover AGENTS.md from node modules/ [options] ```","CLI\n\nleadtype generate and leadtype lint — flags, exit codes, and JSON output.\n\nCLI\n\ngenerate\n\nConvert MDX, then either produce website artifacts default or a package bundle --bundle . Flag Default Description -- -- -- --src ; summary: { filesScanned: number; errors: number; warnings: number; }; }; ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nDocs frontmatter\n\nField Required Type -- -- -- title Yes non-empty string description No string icon No string deprecated No boolean deprecatedReason No string experimental No boolean canary No boolean new No boolean draft No boolean tags No string array group No string or string array availableIn No array of framework, url?, title? full No boolean lastModified and lastAuthor are produced by the converter when --enrich-git is set. Don't author them.","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nChangelog frontmatter\n\nField Required Type -- -- -- title Yes non-empty string version Yes SemVer string date Yes ISO-8601 or parseable date description No string icon No string type No release , improvement , retired , or deprecation tags No string array canary No boolean authors No string or string array draft No boolean","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nmeta.json\n\nField Required Type -- -- -- pages Yes string array title No non-empty string root No boolean icon No string defaultOpen No boolean nav.sidebar No section or combined nav.label No string nav.mode No string","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nCustom schemas\n\nPass a Valibot schema to extend or replace the defaults Once you provide a custom schema, unknown-field warnings apply to that schema. Add --error-unknown in CI to keep your contract strict.\n\n```ts import * as v from \"valibot\"; import { lintDocs } from \"leadtype/lint\"; const customFrontmatter = v.object({ title: v.pipe(v.string(), v.minLength(1)), audience: v.picklist([\"beginner\", \"advanced\"]), }); await lintDocs({ srcDir: \"docs\", schemas: { frontmatter: customFrontmatter }, }); ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nPractical guidance\n\nRun lint before leadtype generate so content errors fail fast. Use --format github in GitHub Actions and --format json in any other CI. Treat unresolved-placeholder as a content bug first — usually a missing entry in availableIn or a stale URL template. After a docs move, lint and run meta.json updates together; they drift at the same time. For wiring lint into pipelines, see Validate in CI.","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nThe leadtype/llm entry point produces four flavors of agent-facing output, all derived from the same docs source generateLlmsTxt — for hosted websites. Emits the /llms.txt convention with root-relative markdown mirror links. generateLLMFullContextFiles — full-content topic bundles. Pairs with generateLlmsTxt . generateAgentReadabilityArtifacts — docs-scoped sitemap.xml , sitemap.md , robots.txt , and JSON manifest data that a host app can merge into site-level files. generateAgentsMd — for npm-bundled docs. Emits an AGENTS.md index with relative ./docs/ A library that does one thing well. - Helper that handles the boring parts. - Type-safe by default. - Works in any runtime. ## Best Starting Points - [Documentation](/docs/index.md) - [Quickstart](/docs/quickstart.md) ## Get Started Five-minute happy path and the mental model. - [Quickstart](/docs/quickstart.md): Install and run the pipeline. - [How it works](/docs/how-it-works.md): The mental model. ## Reference CLI flags and conversion APIs. - [CLI](/docs/reference/cli.md): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTypical sequence\n\ngenerateLLMFullContextFiles and generateAgentReadabilityArtifacts read from A library that does one thing well. These docs ship inside the package so coding agents can read them offline. Open the topic file you need from the list below — paths are relative to this file. ## Get Started - [Quickstart](./docs/quickstart.md): Install and run the pipeline. - [How it works](./docs/how-it-works.md): The mental model. ## Reference - [CLI](./docs/reference/cli.md): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nresolveDocsNavigation\n\nSame group-resolution logic the LLM bundles use, but returns the navigation manifest as a plain object — useful for driving a sidebar UI Write the result to src/generated/docs-nav.json and import it from your sidebar component Now your sidebar can import a static manifest with the same group tree the LLM bundles use.\n\n```ts const navigation = await resolveDocsNavigation({ srcDir: \".\", baseUrl: \"https://docs.example.com\", groups: docsConfig.groups, }); if (navigation.unknown.length > 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } ``` ```ts import { mkdir, writeFile } from \"node:fs/promises\"; await mkdir(\"src/generated\", { recursive: true }); await writeFile( \"src/generated/docs-nav.json\", `${JSON.stringify(navigation, null, 2)}\\n` ); ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTopic design\n\nThe groups you pass to these APIs come from docs.config.ts . Two principles Prefer narrow leaves over one giant bundle. A leaf with 5 pages produces a focused llms-full file an agent can load quickly. A single catch-all leaf with 50 pages produces something most agents will truncate. Write group descriptions for routing, not flavor text. Agents read those descriptions to decide which bundle to load. \"How to install and run\" beats \"Welcome to our guides!\"","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nBase URL precedence\n\nPass baseUrl explicitly, or use environment variables for layered fallback The package-specific LEADTYPE AGENT BASE URL lets each package override an org-wide default. BASE URL covers most CI/deployment platforms, and a final hardcoded fallback keeps local builds working without env setup.\n\n```ts const baseUrl = process.env.LEADTYPE_AGENT_BASE_URL || process.env.BASE_URL || process.env.PORTLESS_URL || \"https://docs.example.com\"; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nThe remark stack is what turns interactive MDX into agent-readable markdown. Imports get stripped first, placeholders get resolved, then each named component is flattened into a markdown equivalent. Order matters.\n\n```ts import { defaultRemarkPlugins, remarkInclude, remarkTypeTableToMarkdown, } from \"leadtype/remark\"; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nThe default stack\n\ndefaultRemarkPlugins runs the stack in this order 1. remarkRemoveImports — strip MDX import and export statements. 2. remarkRemoveJsxComments — strip / ... / JSX comments. 3. remarkResolveDocPlaceholders — replace framework and similar placeholders in URLs. 4. remarkSectionToMarkdown — flatten
ri --> rj --> rd --> rs --> rc --> rcd --> rdt --> rm --> rct --> rst --> rt --> rtt --> ra --> rts --> re --> out` ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nWhy order matters\n\nImports must go before placeholder resolution, because some placeholders read from imported modules. Placeholder resolution must go before component flatteners, because flatteners assume URLs are final strings, not template literals. The component flatteners run last so each one sees a clean tree. Don't reorder casually. If you need a custom plugin to run before a flattener for example, to transform a custom component into one of the contracted names , insert it after remarkResolveDocPlaceholders and before the flattener you want to feed.","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nOptional plugins\n\nremarkInclude\n\nAdd this when the source docs use include tags or partial composition Place it before the default stack so included content expands before any flattener sees it.\n\n```ts remarkPlugins: [remarkInclude, ...defaultRemarkPlugins]; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nOptional plugins\n\nremarkTypeTableToMarkdown with basePath\n\n p !== remarkTypeTableToMarkdown), [remarkTypeTableToMarkdown, { basePath: process.cwd() }], ]; ``` ```mdx ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nPlugin selection rules\n\nUse defaultRemarkPlugins for any agent-facing or LLM output. Add remarkInclude when docs are composed from shared fragments. Use individual plugins only when you intentionally want to omit a flattener e.g. you don't use /docs/search-index.json /docs/search-content.json ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nRuntime search\n\nThe runtime is edge-safe — no Node APIs, works on Vercel, Cloudflare, and anywhere else Results include heading paths, hash URLs, and snippets ready for a search UI.\n\n```ts import { searchDocs, type DocsSearchIndex, type DocsSearchContentStore, } from \"leadtype/search\"; import indexJson from \"../public/docs/search-index.json\"; import contentJson from \"../public/docs/search-content.json\"; const results = searchDocs( indexJson as DocsSearchIndex, \"tabs install\", { content: contentJson as DocsSearchContentStore } ); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nReading docs at runtime\n\nThe same index doubles as a virtual filesystem. Three readers, picked by what you have Use readDocsContentFile when you need the entire page for context links . Use readDocsContentChunk when a search result already named the right heading.\n\n```ts import { listDocsContentFiles, readDocsContentFile, readDocsContentChunk, } from \"leadtype/search\"; const allFiles = listDocsContentFiles(index); const wholePage = readDocsContentFile(index, \"guides/quickstart\", content); const oneChunk = readDocsContentChunk(index, \"chunk-0\", content); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nSource-grounded answers\n\ncreateAnswerContext turns a query plus retrieved chunks into a system and prompt you pass to any model The system message instructs the model to answer only from the retrieved context, cite sources with 1 -style references, and say so when the context is insufficient.\n\n```ts import { createAnswerContext } from \"leadtype/search\"; const context = createAnswerContext(index, \"how do I run lint?\", { content, productName: \"My Library\", }); // → { system, prompt, sources } ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nStreaming via provider entry points\n\nThree thin wrappers around createAnswerContext that stream a Response and surface sources separately. Use one matching your runtime response is a plain text Response. sources is metadata for citation links — display it separately, don't embed it in the streamed answer. For TanStack, pass an explicit adapter . For Cloudflare, build one with createCloudflareDocsAdapter provider, model, options binding env.AI.gateway \"docs\" .\n\n```ts import { streamDocsAnswer } from \"leadtype/search/vercel\"; // Vercel AI SDK / AI Gateway import { streamDocsAnswer } from \"leadtype/search/tanstack\"; // TanStack AI import { streamDocsAnswer } from \"leadtype/search/cloudflare\"; // Cloudflare AI Gateway / Workers AI ``` ```ts const { response, sources } = streamDocsAnswer({ index, content, query, model: \"openai/gpt-5.5\", productName: \"My Library\", }); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nBash tool adapters\n\nWhen you want an agent to explore docs with shell commands instead of receiving pre-selected chunks The adapter exposes a read-only virtual /docs filesystem with ls , cat , find , grep , and rg . Network commands, code execution, and writes are disabled. TanStack and Cloudflare expose createDocsBashTools plural over the same filesystem.\n\n```ts import { createDocsBashTool } from \"leadtype/search/vercel\"; const { tools, instructions } = await createDocsBashTool(index, content); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nAbuse guards\n\nReusable utilities for the request path Helper Purpose -- -- validateDocsQuery Trim and cap query text. readJsonWithLimit Reject oversized JSON bodies before parse. getClientIdentifier Read common proxy IP headers. createMemoryRateLimiter Implements RateLimiter for demos. The in-memory limiter is fine for demos. Production apps should adapt the RateLimiter interface to a shared store — Redis, Vercel KV, Cloudflare KV, or Durable Objects.","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nWhen to add embeddings\n\nStart with the local index. It is static, cheap, edge-safe, and fast for exact API names, config keys, error messages, and paths. Add embeddings only when Users search with vocabulary that doesn't match the docs e.g. \"make it faster\" matching a \"performance optimization\" page . Your docs grow past tens of thousands of chunks and the cold-start memory hit becomes noticeable. Even then, keep the lexical index for exact matches and layer embeddings on top — they're complementary, not replacements."]} +{"version":2,"generatedAt":"2026-05-10T05:57:49.209Z","chunks":["Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nLeadtype does not ship UI components. Your docs app owns runtime rendering, styling, and accessibility — it only has to honor a small naming contract so the remark pipeline can flatten each component into markdown for agents, search, and llms-full/ .txt bundles.","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nWhy flatten at all?\n\nInteractive MDX components like Body content goes here. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCards\n\nA grid of short, linked entry points. Flattens to a bullet list of links. Convert Remark Search\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nSteps\n\nNumbered walkthroughs. Flattens to an ordered list with bold step titles. 1. Author docs in MDX Use the components in this list as authoring affordances. 2. Run the conversion leadtype generate writes flattened markdown to public/docs/ . 3. Serve both formats HTML for humans, .md for agents — same URL, content negotiated by the Accept header.\n\n```tsx Use the components in this list. `leadtype generate` writes flattened markdown. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTabs\n\nGroup equivalent content. Flattens to bold headings followed by content so agents do not need a JSX-aware renderer to read every variant. tanstack-start Use a Vite middleware dev/preview and a Nitro middleware prod to negotiate the Accept header. next-js Wire content negotiation in middleware.ts and serve .md from a route handler. vite A configureServer middleware is enough for static deployments where .md files live in public/ .\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nCommandTabs\n\nPackage-manager-aware install or run commands. Flattens to a markdown table with one row per manager. Use mode=\"install\" when command is a package name, mode=\"run\" when command is a CLI name, and mode=\"create\" for starter commands. Use the commands prop for exact per-manager overrides. Package manager Command -- -- npm npm install leadtype pnpm pnpm add leadtype yarn yarn add leadtype bun bun add leadtype Package manager Command -- -- npm npx leadtype lint pnpm pnpm dlx leadtype lint yarn yarn dlx leadtype lint bun bunx leadtype lint\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nAccordion\n\nCollapsible details for secondary content. Flattening ignores open/closed state and emits every item — accordions are not a place to hide content from agents. When should I use accordions? Use them for supporting details, troubleshooting notes, and optional reference material. Closed content is still flattened by the remark pipeline. Are accordions a good place to hide content from LLMs? No. Conversion ignores the open/closed state and emits everything inside.\n\n```tsx Use them for supporting details and optional reference material. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTopicSwitcher\n\nNavigation across equivalent docs topics — frameworks, SDKs, runtimes, deployment targets, product areas. Reader-facing only; it does not automatically read LLM topic config. Framework React — React integration Vue — Vue integration Svelte — Svelte integration\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nTypeTable and ExtractedTypeTable\n\nTypeTable is for explicit prop or type rows you already know. ExtractedTypeTable reads a TypeScript file at conversion time and extracts the table from a named type — keep its path stable. Property Type Description Default Required -- -- -- -- -- title string Heading rendered above the callout body. - ✅ Required variant CalloutVariant Visual treatment for the callout. info Optional deprecated \\ \\ boolean\\ \\ deprecated Marks the row as deprecated. false Optional\n\n```tsx ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nExample\n\nData-driven preview and source examples. The host component receives code as data; add file loaders or dynamic imports outside leadtype when an example needs app-specific behavior.\n\n```tsx The host app owns styling and runtime components while leadtype owns conversion. ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nComponent reference\n\nMermaid\n\nDiagrams authored as plain text. Renders client-side as interactive SVG. Flattening preserves the source as a fenced mermaid block so other tools can render the diagram from the markdown copy.\n\n```tsx |remark| Markdown Markdown -->|llms.txt| Agents`} /> ``` ```mermaid `graph LR MDX -->|remark| Markdown Markdown -->|search index| API Markdown -->|llms.txt| Agents` ```","Components\n\nMDX components the pipeline knows how to flatten into agent-readable markdown.\n\nComponents\n\nGuidelines\n\nKeep runtime components in your docs app. Leadtype stays out of UI. Keep component names stable. Renaming resolver page1 --> resolver page2 --> resolver page3 --> resolver resolver --> nav resolver --> llms resolver --> full` ```","Frontmatter\n\nRequired fields, group semantics, and how authored MDX becomes a navigation tree.\n\nFrontmatter\n\nHow groups become a nav tree\n\nNested groups\n\nDeclare children in the config to build deeper trees A page sets group bundle-package-docs and lands in that nested slot. Only leaf groups no children get an llms-full/ cli cli --> bundle bundle --> publish publish --> install install --> consume` ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhy AGENTS.md, not llms.txt?\n\nllms.txt is a website convention — a file at /llms.txt with absolute URLs that an agent fetches over HTTP. Inside an npm tarball it's the wrong shape every link points at a hosted URL the agent may not be able to reach, and no major coding agent looks for node modules/ 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } await generateAgentsMd({ srcDir: REPO_ROOT, outDir: PACKAGE_ROOT, product: docsConfig.product, groups: docsConfig.groups, }); ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nVerify before publishing\n\nnpm pack --dry-run should list AGENTS.md docs/ / .md If AGENTS.md is missing, check files in package.json . If .md files are missing, check the --include / --exclude filters.\n\n```bash npx leadtype generate --bundle --src . --out packages/my-package cd packages/my-package && npm pack --dry-run ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nTell consuming projects to use the bundle\n\nAGENTS.md inside your tarball is auto-discovered by agents working in your published package — but for a project that depends on your package, the agent's working directory is the consumer's repo, not yours. You need to point them at the bundled docs. Recommend this snippet in your README so consumers add it to their own root AGENTS.md This is the same pattern Next.js uses to point agents at node modules/next/dist/docs/ .\n\n```md # When working with the `` library, read the bundled docs in `node_modules//AGENTS.md` first — they're version-matched to the installed package and stay accurate as the library updates. ```","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhen to use this\n\nUse this when agents should understand the package from the installed dependency itself — coding agents that don't have web access, IDE assistants, CLI tools, or air-gapped environments. Don't use this if your only goal is a public docs website. For that, see Connect a docs site. You can use both — they read the same source MDX, just emit different shapes.","Bundle docs into a package\n\nShip agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.\n\nBundle docs into a package\n\nWhat's next\n\nCLI reference LLM bundles Lint in CI","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nUse this path when you run a docs site or want to . Leadtype runs before your build to convert MDX, generate navigation data, build the search index, and produce agent-readable artifacts. Your site framework — TanStack Start, Next.js, Astro, anything — handles routing and rendering.","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nThe flow\n\n\\` reads TypeScript files at conversion time. // Pass basePath so the component can resolve relative paths. const typeTablePlugin: NonNullable< MdxToMarkdownOptions[\"remarkPlugins\"] >[number] = [remarkTypeTableToMarkdown, { basePath: repoRoot }]; await convertAllMdx({ srcDir, outDir, remarkPlugins: [ remarkInclude, ...defaultRemarkPlugins.filter((p) => p !== remarkTypeTableToMarkdown), typeTablePlugin, ], enrichFrontmatterFromGit: true, }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConfigure the product and groups\n\nAuthor docs/docs.config.ts once and let every stage read from it Pages declare group in frontmatter. The config declares the tree. The two together produce the navigation manifest, the llms.txt sections, and the lint check that catches typos. See Frontmatter for the resolution rules.\n\n```ts import { defineDocsConfig } from \"leadtype\"; export default defineDocsConfig({ product: { name: \"my-docs\", summary: \"Short product summary.\", bullets: [\"What it does in one bullet.\", \"Another bullet.\"], bestStartingPoints: [{ urlPath: \"/docs\" }, { urlPath: \"/docs/quickstart\" }], }, groups: [ { slug: \"get-started\", title: \"Get Started\" }, { slug: \"guides\", title: \"Guides\" }, ], }); ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nMake the site agent-readable\n\nAfter generation, wire the runtime pieces into your docs app Serve root discovery files /llms.txt , /sitemap.xml , /sitemap.md , and /robots.txt . Keep docs-scoped discovery files available under /docs/ . Add JSON-LD, canonical links, and markdown alternate links to docs HTML pages. Return markdown for Accept text/markdown , known AI user agents, and direct .md URLs. Preserve canonical url and last updated frontmatter in markdown responses. Leadtype provides leadtype/llm/readability so you do not have to hand-roll request detection, frontmatter aliases, missing-page markdown, or JSON-LD escaping. The full setup guide is Optimize docs for agents. The core request hook looks like this in any framework Put it before your HTML docs route. Normal browsers continue to receive HTML; agent-oriented requests receive the generated markdown with Content-Type text/markdown; charset=utf-8 .\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; const response = createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, readMarkdownFile(target) { return readGeneratedFile(`public/${target.filePath}`); }, }); if (response) { return new Response(response.body, { status: response.status, headers: response.headers, }); } ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nConnect a remote source\n\nWhen the docs source lives in a different repo from the docs site Run lint first so missing or malformed frontmatter fails before the converter writes anything. Use --format github in CI to get inline annotations on the PR. Use --json on generate so automation can read the resolved groups and search index stats. This is the shape we expect for orgs hosting one docs UI for multiple package repos the source lives next to the code it documents, the docs app pulls it in at build time. See Bundle docs into a package if the package should also ship docs inside its npm tarball.\n\n```bash git clone --depth 1 https://github.com/acme/package-a .docs-src/package-a npx leadtype lint .docs-src/package-a/docs --format github --error-unknown npx leadtype generate --src .docs-src/package-a --out public --json npm run build ```","Connect a docs site\n\nWire leadtype into a docs app build so humans, agents, and search use one source.\n\nConnect a docs site\n\nVerify\n\nAfter a clean build public/docs/index.md — the converted home page. public/llms.txt — the routing index. Should mention every group from your config. public/docs/llms-full/ entry.urlPath === \"/docs/quickstart\" ); if (page) { const jsonLd = renderJsonLd(page, agentManifest); const script = renderJsonLdScript(page, agentManifest); } ``` ```html ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\nUse createAgentMarkdownResponse from request middleware or route handlers. It returns a Web Response or null when the path is not an agent-oriented markdown request and handles Accept text/markdown and Accept text/plain content negotiation q-values respected . Known AI user-agent headers GPTBot, ClaudeBot, Bingbot, AmazonBot, MetaExternalAgent, PerplexityBot, MistralBot, AppleBot, ByteSpider, YouBot, … . Direct .md URLs such as /docs/quickstart.md . canonical url and last updated frontmatter aliases injected automatically. 200 markdown responses for missing docs pages, so agents do not discard the body. Content-Type text/markdown; charset=utf-8 , Vary Accept , User-Agent , Link <… ; rel=\"canonical\" , Cache-Control public, max-age=300, must-revalidate . readMarkdownFile may be sync or async, so the same code works on Node, Bun, Vercel Edge, Cloudflare Workers, and other edge runtimes Put that logic wherever your framework can intercept docs requests before its HTML route Framework/runtime Where it usually goes -- -- TanStack Start / nitro server/middleware/agent-readability.ts h3 .\n\n```ts import manifest from \"../public/docs/agent-readability.json\"; import { createAgentMarkdownResponse } from \"leadtype/llm/readability\"; export async function handleRequest(request: Request): Promise { return createAgentMarkdownResponse({ urlPath: request.url, method: request.method, headers: Object.fromEntries(request.headers), manifest, requestOrigin: new URL(request.url).origin, async readMarkdownFile(target) { // Node/Bun: read from disk. // Cloudflare: fetch from KV / R2 / asset binding. // Vercel Edge: fetch from the deployment's static asset URL. return await readGeneratedFile(`public/${target.filePath}`); }, }); } ```","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\nn intercept docs requests before its HTML route Framework/runtime Where it usually goes -- -- TanStack Start / nitro server/middleware/agent-readability.ts h3 . One middleware handles both the markdown response and the sitemap/robots regenerators — runs in dev, preview, and prod. See apps/example/server/middleware/agent-readability.ts for the canonical reference. Nuxt server/middleware/agent-readability.ts h3 — same shape as the TanStack Start example. Next.js middleware.ts Edge or a catch-all route handler before the docs page. Astro An endpoint at pages/docs/ ...slug .md.ts or astro middleware . Cloudflare Workers/Pages Worker fetch handler with KV/R2 asset binding for the markdown reader. Express/Hono/Fastify Middleware before the docs HTML route. Tip if you keep static sitemap.xml / sitemap.md / robots.txt files in your build output, your framework's static handler may serve them before your middleware can rebase URLs to the live origin. Either delete the static copies after the build so the middleware always runs or make sure your middleware is registered ahead of static-asset serving.","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\norigin. Either delete the static copies after the build so the middleware always runs or make sure your middleware is registered ahead of static-asset serving. Do not rewrite llms.txt , sitemap.xml , sitemap.md , robots.txt , llms-full.txt , or agent-readability.json to page markdown. The helper leaves those artifact paths alone.","Optimize docs for agents\n\nSet up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.\n\nOptimize docs for agents\n\n4. Return markdown to agents\n\nServe sitemap.xml and robots.txt with the live origin\n\nsitemap.xml 's lint-report.json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nLocal pre-push hook\n\nCatch issues before they reach CI by running lint in a husky pre-push hook Keep it under a second by limiting the scan to changed files when you have many pages. The CLI accepts repeated --ignore globs to skip stale or generated paths.\n\n```bash #!/usr/bin/env sh npx leadtype lint docs --max-warnings 0 ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nRun before generate\n\nWhen leadtype lint and leadtype generate both run in the same job, lint first Generate fails noisily on unknown groups or broken includes. Lint fails specifically on content schema problems with file/line context — much easier to debug.\n\n```bash npx leadtype lint docs --error-unknown npx leadtype generate --src . --out public --json ```","Validate in CI\n\nRun leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.\n\nValidate in CI\n\nWhat to fix first\n\nWhen CI fails on a lot of violations, fix them in this order 1. parse-error — frontmatter is broken; nothing else can validate. 2. schema — missing or wrong-typed required fields. 3. unresolved-placeholder — content bug, not a config bug. 4. invalid-link and cross-framework-link — usually a stale link after a docs move. 5. unknown-field — last; either delete the field or extend the schema.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nLeadtype takes one input — a folder of MDX — and produces every shape your docs need to take. This page names every piece so the rest of the docs make sense.","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe pipeline\n\nThe remark stack is what turns interactive MDX components into agent-readable markdown. JSX gets flattened — a fm fm --> remark fm --> groups remark --> md md --> site_idx md --> search groups --> site_idx groups --> agents_md groups --> nav` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nTwo output modes\n\nleadtype generate has two modes that read the same source and emit different shapes Property Type Description Default Required -- -- -- -- -- Site mode default leadtype generate --out public Writes llms.txt, docs/llms-full/\\ .txt, docs/search-index.json, docs/sitemap.xml, docs/sitemap.md, docs/robots.txt, agent-readability.json, and docs/\\ .md to a public/ directory your docs website serves. This is what you wire into a Vite, Next.js, Astro, or TanStack Start build. - Optional Bundle mode leadtype generate --bundle --out packages/foo Writes AGENTS.md at the package root and docs/\\ .md beneath it, both with relative paths. Skips llms.txt, llms-full, search, sitemap, robots, and Agent Readability files — those are website-only. Designed for npm tarballs that ship docs alongside the published code. - Optional","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nThe artifacts\n\nProperty Type Description Default Required -- -- -- -- -- Markdown .md docs/\\ human site_out -- \"absolute URLs\" --> http_agent site_out -- \"search-index.json\" --> search_ui bundle_out -- \"AGENTS.md auto-discovery\" --> offline_agent` ```","How it works\n\nThe mental model: one MDX source, a remark pipeline, two output modes, three audiences.\n\nHow it works\n\nVocabulary\n\nA few terms you will see throughout the docs. Property Type Description Default Required -- -- -- -- -- flatten verb Convert an interactive MDX component into a portable markdown equivalent. A \\ site_run src --> bundle_run site_run --> site_out bundle_run --> bundle_out site_out --> humans site_out --> http_agents site_out --> search bundle_out --> offline_agents` ```","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nChoose your path\n\nMost teams arrive here for one of two reasons. Pick the journey that matches yours — each is a single page that takes you from zero to running. Build a docs site Ship docs in your package","Leadtype\n\nOne MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.\n\nLeadtype\n\nWhat you get\n\n1. Write once Author MDX with familiar components — Callout , Tabs , Steps , Mermaid , TypeTable , and others. Add group in frontmatter to place pages in the navigation tree. 2. Run \\ leadtype generate\\ For a website converts MDX to markdown, builds llms.txt plus topic bundles, generates a search index, writes Agent Readability discovery files, and resolves navigation. With --bundle emits AGENTS.md plus per-topic .md files for agents reading from node modules/ . 3. Serve all of it Humans get HTML. HTTP agents get markdown via content negotiation or fetch llms.txt . Coding agents working in a project that depends on your package auto-discover AGENTS.md from node modules/ [options] ```","CLI\n\nleadtype generate and leadtype lint — flags, exit codes, and JSON output.\n\nCLI\n\ngenerate\n\nConvert MDX, then either produce website artifacts default or a package bundle --bundle . Flag Default Description -- -- -- --src ; summary: { filesScanned: number; errors: number; warnings: number; }; }; ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nDocs frontmatter\n\nField Required Type -- -- -- title Yes non-empty string description No string icon No string deprecated No boolean deprecatedReason No string experimental No boolean canary No boolean new No boolean draft No boolean tags No string array group No string or string array availableIn No array of framework, url?, title? full No boolean lastModified and lastAuthor are produced by the converter when --enrich-git is set. Don't author them.","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nChangelog frontmatter\n\nField Required Type -- -- -- title Yes non-empty string version Yes SemVer string date Yes ISO-8601 or parseable date description No string icon No string type No release , improvement , retired , or deprecation tags No string array canary No boolean authors No string or string array draft No boolean","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nDefault schemas\n\nmeta.json\n\nField Required Type -- -- -- pages Yes string array title No non-empty string root No boolean icon No string defaultOpen No boolean nav.sidebar No section or combined nav.label No string nav.mode No string","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nCustom schemas\n\nPass a Valibot schema to extend or replace the defaults Once you provide a custom schema, unknown-field warnings apply to that schema. Add --error-unknown in CI to keep your contract strict.\n\n```ts import * as v from \"valibot\"; import { lintDocs } from \"leadtype/lint\"; const customFrontmatter = v.object({ title: v.pipe(v.string(), v.minLength(1)), audience: v.picklist([\"beginner\", \"advanced\"]), }); await lintDocs({ srcDir: \"docs\", schemas: { frontmatter: customFrontmatter }, }); ```","Lint rules\n\nSchema, link, and navigation checks. CLI and library API.\n\nLint rules\n\nPractical guidance\n\nRun lint before leadtype generate so content errors fail fast. Use --format github in GitHub Actions and --format json in any other CI. Treat unresolved-placeholder as a content bug first — usually a missing entry in availableIn or a stale URL template. After a docs move, lint and run meta.json updates together; they drift at the same time. For wiring lint into pipelines, see Validate in CI.","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nThe leadtype/llm entry point produces four flavors of agent-facing output, all derived from the same docs source generateLlmsTxt — for hosted websites. Emits the /llms.txt convention with root-relative markdown mirror links. generateLLMFullContextFiles — full-content topic bundles. Pairs with generateLlmsTxt . generateAgentReadabilityArtifacts — docs-scoped sitemap.xml , sitemap.md , robots.txt , and JSON manifest data that a host app can merge into site-level files. generateAgentsMd — for npm-bundled docs. Emits an AGENTS.md index with relative ./docs/ A library that does one thing well. - Helper that handles the boring parts. - Type-safe by default. - Works in any runtime. ## Best Starting Points - [Documentation](/docs/index.md) - [Quickstart](/docs/quickstart.md) ## Get Started Five-minute happy path and the mental model. - [Quickstart](/docs/quickstart.md): Install and run the pipeline. - [How it works](/docs/how-it-works.md): The mental model. ## Reference CLI flags and conversion APIs. - [CLI](/docs/reference/cli.md): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTypical sequence\n\ngenerateLLMFullContextFiles and generateAgentReadabilityArtifacts read from A library that does one thing well. These docs ship inside the package so coding agents can read them offline. Open the topic file you need from the list below — paths are relative to this file. ## Get Started - [Quickstart](./docs/quickstart.md): Install and run the pipeline. - [How it works](./docs/how-it-works.md): The mental model. ## Reference - [CLI](./docs/reference/cli.md): Every flag. ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nresolveDocsNavigation\n\nSame group-resolution logic the LLM bundles use, but returns the navigation manifest as a plain object — useful for driving a sidebar UI Write the result to src/generated/docs-nav.json and import it from your sidebar component Now your sidebar can import a static manifest with the same group tree the LLM bundles use.\n\n```ts const navigation = await resolveDocsNavigation({ srcDir: \".\", baseUrl: \"https://docs.example.com\", groups: docsConfig.groups, }); if (navigation.unknown.length > 0) { for (const { urlPath, slug } of navigation.unknown) { process.stderr.write(`error: ${urlPath} declares unknown group \"${slug}\".\\n`); } process.exit(1); } ``` ```ts import { mkdir, writeFile } from \"node:fs/promises\"; await mkdir(\"src/generated\", { recursive: true }); await writeFile( \"src/generated/docs-nav.json\", `${JSON.stringify(navigation, null, 2)}\\n` ); ```","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nTopic design\n\nThe groups you pass to these APIs come from docs.config.ts . Two principles Prefer narrow leaves over one giant bundle. A leaf with 5 pages produces a focused llms-full file an agent can load quickly. A single catch-all leaf with 50 pages produces something most agents will truncate. Write group descriptions for routing, not flavor text. Agents read those descriptions to decide which bundle to load. \"How to install and run\" beats \"Welcome to our guides!\"","LLM bundles\n\nGenerate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.\n\nLLM bundles\n\nBase URL precedence\n\nPass baseUrl explicitly, or use environment variables for layered fallback The package-specific LEADTYPE AGENT BASE URL lets each package override an org-wide default. BASE URL covers most CI/deployment platforms, and a final hardcoded fallback keeps local builds working without env setup.\n\n```ts const baseUrl = process.env.LEADTYPE_AGENT_BASE_URL || process.env.BASE_URL || process.env.PORTLESS_URL || \"https://docs.example.com\"; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nThe remark stack is what turns interactive MDX into agent-readable markdown. Imports get stripped first, placeholders get resolved, then each named component is flattened into a markdown equivalent. Order matters.\n\n```ts import { defaultRemarkPlugins, remarkInclude, remarkTypeTableToMarkdown, } from \"leadtype/remark\"; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nThe default stack\n\ndefaultRemarkPlugins runs the stack in this order 1. remarkRemoveImports — strip MDX import and export statements. 2. remarkRemoveJsxComments — strip / ... / JSX comments. 3. remarkResolveDocPlaceholders — replace framework and similar placeholders in URLs. 4. remarkSectionToMarkdown — flatten
ri --> rj --> rd --> rs --> rc --> rcd --> rdt --> rm --> rct --> rst --> rt --> rtt --> ra --> rts --> re --> out` ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nWhy order matters\n\nImports must go before placeholder resolution, because some placeholders read from imported modules. Placeholder resolution must go before component flatteners, because flatteners assume URLs are final strings, not template literals. The component flatteners run last so each one sees a clean tree. Don't reorder casually. If you need a custom plugin to run before a flattener for example, to transform a custom component into one of the contracted names , insert it after remarkResolveDocPlaceholders and before the flattener you want to feed.","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nOptional plugins\n\nremarkInclude\n\nAdd this when the source docs use include tags or partial composition Place it before the default stack so included content expands before any flattener sees it.\n\n```ts remarkPlugins: [remarkInclude, ...defaultRemarkPlugins]; ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nOptional plugins\n\nremarkTypeTableToMarkdown with basePath\n\n p !== remarkTypeTableToMarkdown), [remarkTypeTableToMarkdown, { basePath: process.cwd() }], ]; ``` ```mdx ```","Remark plugins\n\nThe default plugin stack that flattens MDX components into markdown.\n\nRemark plugins\n\nPlugin selection rules\n\nUse defaultRemarkPlugins for any agent-facing or LLM output. Add remarkInclude when docs are composed from shared fragments. Use individual plugins only when you intentionally want to omit a flattener e.g. you don't use /docs/search-index.json /docs/search-content.json ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nRuntime search\n\nThe runtime is edge-safe — no Node APIs, works on Vercel, Cloudflare, and anywhere else Results include heading paths, hash URLs, and snippets ready for a search UI.\n\n```ts import { searchDocs, type DocsSearchIndex, type DocsSearchContentStore, } from \"leadtype/search\"; import indexJson from \"../public/docs/search-index.json\"; import contentJson from \"../public/docs/search-content.json\"; const results = searchDocs( indexJson as DocsSearchIndex, \"tabs install\", { content: contentJson as DocsSearchContentStore } ); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nReading docs at runtime\n\nThe same index doubles as a virtual filesystem. Three readers, picked by what you have Use readDocsContentFile when you need the entire page for context links . Use readDocsContentChunk when a search result already named the right heading.\n\n```ts import { listDocsContentFiles, readDocsContentFile, readDocsContentChunk, } from \"leadtype/search\"; const allFiles = listDocsContentFiles(index); const wholePage = readDocsContentFile(index, \"guides/quickstart\", content); const oneChunk = readDocsContentChunk(index, \"chunk-0\", content); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nSource-grounded answers\n\ncreateAnswerContext turns a query plus retrieved chunks into a system and prompt you pass to any model The system message instructs the model to answer only from the retrieved context, cite sources with 1 -style references, and say so when the context is insufficient.\n\n```ts import { createAnswerContext } from \"leadtype/search\"; const context = createAnswerContext(index, \"how do I run lint?\", { content, productName: \"My Library\", }); // → { system, prompt, sources } ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nStreaming via provider entry points\n\nThree thin wrappers around createAnswerContext that stream a Response and surface sources separately. Use one matching your runtime response is a plain text Response. sources is metadata for citation links — display it separately, don't embed it in the streamed answer. For TanStack, pass an explicit adapter . For Cloudflare, build one with createCloudflareDocsAdapter provider, model, options binding env.AI.gateway \"docs\" .\n\n```ts import { streamDocsAnswer } from \"leadtype/search/vercel\"; // Vercel AI SDK / AI Gateway import { streamDocsAnswer } from \"leadtype/search/tanstack\"; // TanStack AI import { streamDocsAnswer } from \"leadtype/search/cloudflare\"; // Cloudflare AI Gateway / Workers AI ``` ```ts const { response, sources } = streamDocsAnswer({ index, content, query, model: \"openai/gpt-5.5\", productName: \"My Library\", }); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nBash tool adapters\n\nWhen you want an agent to explore docs with shell commands instead of receiving pre-selected chunks The adapter exposes a read-only virtual /docs filesystem with ls , cat , find , grep , and rg . Network commands, code execution, and writes are disabled. TanStack and Cloudflare expose createDocsBashTools plural over the same filesystem.\n\n```ts import { createDocsBashTool } from \"leadtype/search/vercel\"; const { tools, instructions } = await createDocsBashTool(index, content); ```","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nAbuse guards\n\nReusable utilities for the request path Helper Purpose -- -- validateDocsQuery Trim and cap query text. readJsonWithLimit Reject oversized JSON bodies before parse. getClientIdentifier Read common proxy IP headers. createMemoryRateLimiter Implements RateLimiter for demos. The in-memory limiter is fine for demos. Production apps should adapt the RateLimiter interface to a shared store — Redis, Vercel KV, Cloudflare KV, or Durable Objects.","Search\n\nStatic search index, runtime helpers, and source-grounded answer streaming.\n\nSearch\n\nWhen to add embeddings\n\nStart with the local index. It is static, cheap, edge-safe, and fast for exact API names, config keys, error messages, and paths. Add embeddings only when Users search with vocabulary that doesn't match the docs e.g. \"make it faster\" matching a \"performance optimization\" page . Your docs grow past tens of thousands of chunks and the cold-start memory hit becomes noticeable. Even then, keep the lexical index for exact matches and layer embeddings on top — they're complementary, not replacements."]} diff --git a/apps/example/src/generated/docs-search-index.json b/apps/example/src/generated/docs-search-index.json index 94d2e77..9224930 100644 --- a/apps/example/src/generated/docs-search-index.json +++ b/apps/example/src/generated/docs-search-index.json @@ -1 +1 @@ -{"version":2,"generatedAt":"2026-05-10T04:47:38.140Z","documents":[["authoring/components","Components","MDX components the pipeline knows how to flatten into agent-readable markdown.","/docs/authoring/components","https://docs.example.com/docs/authoring/components","authoring/components"],["authoring/frontmatter","Frontmatter","Required fields, group semantics, and how authored MDX becomes a navigation tree.","/docs/authoring/frontmatter","https://docs.example.com/docs/authoring/frontmatter","authoring/frontmatter"],["build/bundle-package-docs","Bundle docs into a package","Ship agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.","/docs/build/bundle-package-docs","https://docs.example.com/docs/build/bundle-package-docs","build/bundle-package-docs"],["build/connect-docs-site","Connect a docs site","Wire leadtype into a docs app build so humans, agents, and search use one source.","/docs/build/connect-docs-site","https://docs.example.com/docs/build/connect-docs-site","build/connect-docs-site"],["build/optimize-docs-for-agents","Optimize docs for agents","Set up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.","/docs/build/optimize-docs-for-agents","https://docs.example.com/docs/build/optimize-docs-for-agents","build/optimize-docs-for-agents"],["build/validate-in-ci","Validate in CI","Run leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.","/docs/build/validate-in-ci","https://docs.example.com/docs/build/validate-in-ci","build/validate-in-ci"],["how-it-works","How it works","The mental model: one MDX source, a remark pipeline, two output modes, three audiences.","/docs/how-it-works","https://docs.example.com/docs/how-it-works","how-it-works"],["index","Leadtype","One MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.","/docs","https://docs.example.com/docs","index"],["methodology","Methodology","How leadtype differs from Fumadocs, Starlight, and Mintlify.","/docs/methodology","https://docs.example.com/docs/methodology","methodology"],["quickstart","Quickstart","Install leadtype, run it against a docs folder, and inspect the artifacts it produces.","/docs/quickstart","https://docs.example.com/docs/quickstart","quickstart"],["reference/cli","CLI","leadtype generate and leadtype lint — flags, exit codes, and JSON output.","/docs/reference/cli","https://docs.example.com/docs/reference/cli","reference/cli"],["reference/convert","Convert","MDX-to-markdown conversion APIs from leadtype/convert.","/docs/reference/convert","https://docs.example.com/docs/reference/convert","reference/convert"],["reference/lint","Lint rules","Schema, link, and navigation checks. CLI and library API.","/docs/reference/lint","https://docs.example.com/docs/reference/lint","reference/lint"],["reference/llm","LLM bundles","Generate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.","/docs/reference/llm","https://docs.example.com/docs/reference/llm","reference/llm"],["reference/remark","Remark plugins","The default plugin stack that flattens MDX components into markdown.","/docs/reference/remark","https://docs.example.com/docs/reference/remark","reference/remark"],["reference/search","Search","Static search index, runtime helpers, and source-grounded answer streaming.","/docs/reference/search","https://docs.example.com/docs/reference/search","reference/search"]],"chunks":[["chunk-0",0,"components",["Components"],45,0],["chunk-1",0,"why-flatten-at-all",["Components","Why flatten at all?"],82,1],["chunk-2",0,"the-naming-contract",["Components","The naming contract"],76,2],["chunk-3",0,"component-reference",["Components","Component reference"],34,3],["chunk-4",0,"callout",["Components","Component reference","Callout"],74,4],["chunk-5",0,"cards",["Components","Component reference","Cards"],43,5],["chunk-6",0,"steps",["Components","Component reference","Steps"],74,6],["chunk-7",0,"tabs",["Components","Component reference","Tabs"],89,7],["chunk-8",0,"commandtabs",["Components","Component reference","CommandTabs"],111,8],["chunk-9",0,"accordion",["Components","Component reference","Accordion"],77,9],["chunk-10",0,"topicswitcher",["Components","Component reference","TopicSwitcher"],69,10],["chunk-11",0,"typetable-and-extractedtypetable",["Components","Component reference","TypeTable and ExtractedTypeTable"],86,11],["chunk-12",0,"example",["Components","Component reference","Example"],76,12],["chunk-13",0,"mermaid",["Components","Component reference","Mermaid"],62,13],["chunk-14",0,"guidelines",["Components","Guidelines"],55,14],["chunk-15",1,"frontmatter",["Frontmatter"],26,15],["chunk-16",1,"minimum",["Frontmatter","Minimum"],75,16],["chunk-17",1,"how-groups-become-a-nav-tree",["Frontmatter","How groups become a nav tree"],119,17],["chunk-18",1,"nested-groups",["Frontmatter","How groups become a nav tree","Nested groups"],69,18],["chunk-19",1,"optional-fields",["Frontmatter","Optional fields"],117,19],["chunk-20",1,"lint-rules",["Frontmatter","Lint rules"],88,20],["chunk-21",1,"what-this-gives-you",["Frontmatter","What this gives you"],55,21],["chunk-22",2,"bundle-docs-into-a-package",["Bundle docs into a package"],76,22],["chunk-23",2,"the-flow",["Bundle docs into a package","The flow"],86,23],["chunk-24",2,"why-agents-md-not-llms-txt",["Bundle docs into a package","Why AGENTS.md, not llms.txt?"],137,24],["chunk-25",2,"generate-into-the-package",["Bundle docs into a package","Generate into the package"],117,25],["chunk-26",2,"filter-to-package-specific-docs",["Bundle docs into a package","Filter to package-specific docs"],78,26],["chunk-27",2,"include-in-the-published-tarball",["Bundle docs into a package","Include in the published tarball"],156,27],["chunk-28",2,"include-in-the-published-tarball",["Bundle docs into a package","Include in the published tarball"],89,28],["chunk-29",2,"verify-before-publishing",["Bundle docs into a package","Verify before publishing"],71,29],["chunk-30",2,"tell-consuming-projects-to-use-the-bundle",["Bundle docs into a package","Tell consuming projects to use the bundle"],112,30],["chunk-31",2,"when-to-use-this",["Bundle docs into a package","When to use this"],72,31],["chunk-32",2,"what-s-next",["Bundle docs into a package","What's next"],31,32],["chunk-33",3,"connect-a-docs-site",["Connect a docs site"],54,33],["chunk-34",3,"the-flow",["Connect a docs site","The flow"],101,34],["chunk-35",3,"one-off-run",["Connect a docs site","One-off run"],75,35],["chunk-36",3,"wire-it-into-the-build",["Connect a docs site","Wire it into the build"],201,36],["chunk-37",3,"configure-the-product-and-groups",["Connect a docs site","Configure the product and groups"],93,37],["chunk-38",3,"make-the-site-agent-readable",["Connect a docs site","Make the site agent-readable"],195,38],["chunk-39",3,"connect-a-remote-source",["Connect a docs site","Connect a remote source"],130,39],["chunk-40",3,"verify",["Connect a docs site","Verify"],159,40],["chunk-41",3,"what-s-next",["Connect a docs site","What's next"],26,41],["chunk-42",4,"optimize-docs-for-agents",["Optimize docs for agents"],53,42],["chunk-43",4,"what-good-looks-like",["Optimize docs for agents","What good looks like"],105,43],["chunk-44",4,"1-generate-the-artifacts",["Optimize docs for agents","1. Generate the artifacts"],117,44],["chunk-45",4,"2-serve-root-discovery-files",["Optimize docs for agents","2. Serve root discovery files"],210,45],["chunk-46",4,"3-add-json-ld-to-docs-pages",["Optimize docs for agents","3. Add JSON-LD to docs pages"],144,46],["chunk-47",4,"4-return-markdown-to-agents",["Optimize docs for agents","4. Return markdown to agents"],238,47],["chunk-48",4,"4-return-markdown-to-agents",["Optimize docs for agents","4. Return markdown to agents"],108,48],["chunk-49",4,"serve-sitemap-xml-and-robots-txt-with-the-live-origin",["Optimize docs for agents","4. Return markdown to agents","Serve sitemap.xml and robots.txt with the live origin"],180,49],["chunk-50",4,"cache-control-and-cdn",["Optimize docs for agents","4. Return markdown to agents","Cache-Control and CDN"],88,50],["chunk-51",4,"5-verify-locally",["Optimize docs for agents","5. Verify locally"],193,51],["chunk-52",4,"minimal-checklist",["Optimize docs for agents","Minimal checklist"],99,52],["chunk-53",5,"validate-in-ci",["Validate in CI"],49,53],["chunk-54",5,"what-it-catches",["Validate in CI","What it catches"],78,54],["chunk-55",5,"github-actions",["Validate in CI","GitHub Actions"],83,55],["chunk-56",5,"other-ci-providers",["Validate in CI","Other CI providers"],60,56],["chunk-57",5,"local-pre-push-hook",["Validate in CI","Local pre-push hook"],64,57],["chunk-58",5,"run-before-generate",["Validate in CI","Run before generate"],63,58],["chunk-59",5,"what-to-fix-first",["Validate in CI","What to fix first"],66,59],["chunk-60",6,"how-it-works",["How it works"],37,60],["chunk-61",6,"the-pipeline",["How it works","The pipeline"],141,61],["chunk-62",6,"two-output-modes",["How it works","Two output modes"],127,62],["chunk-63",6,"the-artifacts",["How it works","The artifacts"],168,63],["chunk-64",6,"the-artifacts",["How it works","The artifacts"],104,64],["chunk-65",6,"the-three-audiences",["How it works","The three audiences"],178,65],["chunk-66",6,"vocabulary",["How it works","Vocabulary"],155,66],["chunk-67",6,"what-runs-when",["How it works","What runs when"],124,67],["chunk-68",6,"where-to-next",["How it works","Where to next"],20,68],["chunk-69",7,"leadtype",["Leadtype"],183,69],["chunk-70",7,"choose-your-path",["Leadtype","Choose your path"],49,70],["chunk-71",7,"what-you-get",["Leadtype","What you get"],111,71],["chunk-72",7,"next",["Leadtype","Next"],49,72],["chunk-73",8,"methodology",["Methodology"],30,73],["chunk-74",8,"the-short-version",["Methodology","The short version"],67,74],["chunk-75",8,"what-leadtype-owns",["Methodology","What leadtype owns"],50,75],["chunk-76",8,"what-leadtype-does-not-own",["Methodology","What leadtype does not own"],31,76],["chunk-77",8,"when-the-combination-shines",["Methodology","When the combination shines"],75,77],["chunk-78",9,"quickstart",["Quickstart"],18,78],["chunk-79",9,"install",["Quickstart","Install"],54,79],["chunk-80",9,"author-one-page",["Quickstart","Author one page"],46,80],["chunk-81",9,"generate",["Quickstart","Generate"],149,81],["chunk-82",9,"inspect-the-output",["Quickstart","Inspect the output"],109,82],["chunk-83",9,"bundle-for-offline-agents",["Quickstart","Bundle for offline agents"],82,83],["chunk-84",9,"what-s-next",["Quickstart","What's next"],32,84],["chunk-85",10,"cli",["CLI"],30,85],["chunk-86",10,"generate",["CLI","generate"],175,86],["chunk-87",10,"generate",["CLI","generate"],65,87],["chunk-88",10,"bundle-mode",["CLI","generate","Bundle mode"],78,88],["chunk-89",10,"json-output-shape",["CLI","generate","JSON output shape"],173,89],["chunk-90",10,"group-inference",["CLI","generate","Group inference"],89,90],["chunk-91",10,"lint",["CLI","lint"],145,91],["chunk-92",10,"help",["CLI","help"],25,92],["chunk-93",10,"library-entry-points",["CLI","Library entry points"],81,93],["chunk-94",11,"convert",["Convert"],47,94],["chunk-95",11,"convertallmdx",["Convert","convertAllMdx"],67,95],["chunk-96",11,"convertmdxtomarkdown",["Convert","convertMdxToMarkdown"],54,96],["chunk-97",11,"writemdxfileasmarkdown",["Convert","writeMdxFileAsMarkdown"],28,97],["chunk-98",11,"behavior-notes",["Convert","Behavior notes"],50,98],["chunk-99",11,"pairing-with-remark-plugins",["Convert","Pairing with remark plugins"],54,99],["chunk-100",12,"lint-rules",["Lint rules"],46,100],["chunk-101",12,"rules",["Lint rules","Rules"],15,101],["chunk-102",12,"frontmatter-rules",["Lint rules","Rules","Frontmatter rules"],58,102],["chunk-103",12,"content-link-rules",["Lint rules","Rules","Content / link rules"],68,103],["chunk-104",12,"library-api",["Lint rules","Library API"],90,104],["chunk-105",12,"result-shape",["Lint rules","Library API","Result shape"],67,105],["chunk-106",12,"docs-frontmatter",["Lint rules","Default schemas","Docs frontmatter"],75,106],["chunk-107",12,"changelog-frontmatter",["Lint rules","Default schemas","Changelog frontmatter"],60,107],["chunk-108",12,"meta-json",["Lint rules","Default schemas","meta.json"],49,108],["chunk-109",12,"custom-schemas",["Lint rules","Custom schemas"],63,109],["chunk-110",12,"practical-guidance",["Lint rules","Practical guidance"],65,110],["chunk-111",13,"llm-bundles",["LLM bundles"],120,111],["chunk-112",13,"what-gets-generated",["LLM bundles","What gets generated"],157,112],["chunk-113",13,"example-llms-txt",["LLM bundles","Example llms.txt"],82,113],["chunk-114",13,"typical-sequence",["LLM bundles","Typical sequence"],108,114],["chunk-115",13,"generateagentreadabilityartifacts",["LLM bundles","generateAgentReadabilityArtifacts"],134,115],["chunk-116",13,"agent-readability-helpers",["LLM bundles","Agent readability helpers"],72,116],["chunk-117",13,"createagentmarkdownresponse",["LLM bundles","Agent readability helpers","createAgentMarkdownResponse"],179,117],["chunk-118",13,"createsitemapxmlresponse-createsitemapmarkdownresponse-createrobotstxtresponse",["LLM bundles","Agent readability helpers","createSitemapXmlResponse / createSitemapMarkdownResponse / createRobotsTxtResponse"],96,118],["chunk-119",13,"createdocshead",["LLM bundles","Agent readability helpers","createDocsHead"],150,119],["chunk-120",13,"lower-level-helpers",["LLM bundles","Agent readability helpers","Lower-level helpers"],144,120],["chunk-121",13,"lower-level-helpers",["LLM bundles","Agent readability helpers","Lower-level helpers"],58,121],["chunk-122",13,"cache-control-and-cdn",["LLM bundles","Agent readability helpers","Cache-Control and CDN"],73,122],["chunk-123",13,"manifest-version",["LLM bundles","Agent readability helpers","Manifest version"],47,123],["chunk-124",13,"generateagentsmd",["LLM bundles","generateAgentsMd"],144,124],["chunk-125",13,"example-output",["LLM bundles","generateAgentsMd","Example output"],86,125],["chunk-126",13,"resolvedocsnavigation",["LLM bundles","resolveDocsNavigation"],112,126],["chunk-127",13,"topic-design",["LLM bundles","Topic design"],78,127],["chunk-128",13,"base-url-precedence",["LLM bundles","Base URL precedence"],76,128],["chunk-129",14,"remark-plugins",["Remark plugins"],46,129],["chunk-130",14,"the-default-stack",["Remark plugins","The default stack"],158,130],["chunk-131",14,"why-order-matters",["Remark plugins","Why order matters"],81,131],["chunk-132",14,"remarkinclude",["Remark plugins","Optional plugins","remarkInclude"],40,132],["chunk-133",14,"remarktypetabletomarkdown-with-basepath",["Remark plugins","Optional plugins","remarkTypeTableToMarkdown with basePath"],98,133],["chunk-134",14,"plugin-selection-rules",["Remark plugins","Plugin selection rules"],63,134],["chunk-135",15,"search",["Search"],41,135],["chunk-136",15,"vocabulary",["Search","Vocabulary"],79,136],["chunk-137",15,"build-time-indexing",["Search","Build-time indexing"],67,137],["chunk-138",15,"runtime-search",["Search","Runtime search"],67,138],["chunk-139",15,"reading-docs-at-runtime",["Search","Reading docs at runtime"],62,139],["chunk-140",15,"source-grounded-answers",["Search","Source-grounded answers"],62,140],["chunk-141",15,"streaming-via-provider-entry-points",["Search","Streaming via provider entry points"],103,141],["chunk-142",15,"bash-tool-adapters",["Search","Bash tool adapters"],65,142],["chunk-143",15,"abuse-guards",["Search","Abuse guards"],60,143],["chunk-144",15,"when-to-add-embeddings",["Search","When to add embeddings"],73,144]],"terms":{"10":[[130,0,0,1,0]],"11":[[130,0,0,1,0]],"12":[[130,0,0,1,0]],"13":[[130,0,0,1,0]],"14":[[130,0,0,1,0]],"15":[[130,0,0,1,0]],"25":[[22,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0]],"35":[[66,0,0,1,0],[136,0,0,1,0]],"50":[[127,0,0,1,0]],"200":[[47,0,0,1,0],[117,0,0,1,0],[120,0,0,1,0]],"300":[[47,0,0,1,0],[50,0,0,1,0],[117,0,0,1,0],[122,0,0,1,0]],"5173":[[40,0,0,0,4],[51,0,0,0,8]],"8601":[[107,0,0,1,0]],"components":[[0,1,1,2,0],[1,1,1,2,0],[2,1,1,2,2],[3,1,1,1,0],[4,1,1,1,0],[5,1,1,1,0],[6,1,1,2,1],[7,1,1,1,0],[8,1,1,1,0],[9,1,1,1,0],[10,1,1,1,0],[11,1,1,1,0],[12,1,1,1,4],[13,1,1,1,0],[14,1,1,3,0],[61,0,0,2,1],[71,0,0,1,0],[76,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0]],"mdx":[[0,0,0,1,0],[1,0,0,2,0],[2,0,0,1,1],[3,0,0,2,0],[4,0,0,1,0],[5,0,0,1,1],[6,0,0,2,1],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,3],[13,0,0,1,2],[14,0,0,1,0],[15,0,0,2,0],[16,0,0,1,1],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[23,0,0,0,1],[31,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,0,2],[53,0,0,1,0],[55,0,0,0,1],[60,0,0,2,0],[61,0,0,2,1],[62,0,0,1,0],[63,0,0,2,0],[64,0,0,1,0],[65,0,0,2,1],[66,0,0,2,0],[67,0,0,2,0],[68,0,0,1,0],[69,0,0,2,1],[70,0,0,1,0],[71,0,0,3,0],[72,0,0,1,0],[75,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[80,0,0,1,1],[81,0,0,1,0],[82,0,0,1,0],[86,0,0,1,0],[94,0,0,2,0],[95,0,0,2,0],[96,0,0,1,1],[97,0,0,1,1],[98,0,0,2,0],[99,0,0,1,0],[100,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[129,0,0,2,0],[130,0,0,2,1],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,2,1],[134,0,0,1,0],[137,0,0,1,0]],"pipeline":[[0,0,0,2,0],[1,0,0,1,0],[2,0,0,2,0],[3,0,0,1,0],[4,0,0,2,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,2,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[21,0,0,1,0],[36,0,0,1,8],[44,0,0,1,0],[53,0,0,1,0],[60,0,0,1,0],[61,0,1,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,2,0],[70,0,0,1,0],[71,0,0,1,0],[72,0,0,2,0],[73,0,0,1,0],[74,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[78,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[86,0,0,1,0],[90,0,0,1,0],[96,0,0,1,0],[113,0,0,0,1],[125,0,0,0,1]],"knows":[[0,0,0,1,0],[1,0,0,1,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,1,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0]],"flatten":[[0,0,0,2,0],[1,0,1,1,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,3,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[61,0,0,0,1],[66,0,0,1,0],[130,0,0,2,0]],"into":[[0,0,0,2,0],[1,0,0,2,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,3,0],[5,0,0,1,1],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[16,0,0,0,1],[19,0,0,1,0],[22,1,1,0,0],[23,1,1,0,0],[24,1,1,0,0],[25,1,2,0,0],[26,1,1,0,0],[27,1,1,0,0],[28,1,1,0,0],[29,1,1,0,0],[30,1,1,0,0],[31,1,1,0,0],[32,1,1,0,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,1,2,0],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,2,0],[40,0,0,1,0],[41,0,0,1,0],[42,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[53,0,0,1,0],[56,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[66,0,0,1,0],[81,0,0,1,0],[83,0,0,1,0],[84,0,0,2,0],[86,0,0,2,0],[88,0,0,1,0],[94,0,0,1,0],[98,0,0,1,0],[99,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[116,0,0,1,0],[118,0,0,0,1],[125,0,0,1,0],[129,0,0,3,0],[130,0,0,1,0],[131,0,0,2,0],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0],[140,0,0,1,0]],"agent":[[0,0,0,1,0],[1,0,0,2,0],[2,0,0,1,0],[3,0,0,2,0],[4,0,0,1,0],[5,0,0,1,1],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,2,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,4,0],[25,0,0,1,1],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[33,0,0,1,0],[34,0,0,3,0],[35,0,0,1,0],[38,0,1,1,1],[40,0,0,2,0],[42,0,0,1,0],[43,0,0,3,0],[44,0,0,2,1],[45,0,0,2,1],[46,0,0,1,1],[47,0,0,4,1],[48,0,0,3,0],[49,0,0,1,1],[50,0,0,3,0],[51,0,0,3,2],[52,0,0,3,0],[61,0,0,1,0],[62,0,0,2,0],[64,0,0,2,0],[65,0,0,1,4],[66,0,0,1,0],[67,0,0,2,0],[69,0,0,1,1],[71,0,0,1,0],[74,0,0,1,0],[77,0,0,2,0],[81,0,0,2,0],[82,0,0,1,2],[86,0,0,1,0],[88,0,0,1,0],[89,0,0,0,1],[93,0,0,1,0],[98,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[116,0,1,0,0],[117,0,1,5,0],[118,0,1,0,0],[119,0,1,0,1],[120,0,1,2,0],[121,0,1,1,0],[122,0,1,2,0],[123,0,1,1,0],[124,0,0,1,0],[127,0,0,1,0],[128,0,0,1,1],[129,0,0,1,0],[134,0,0,1,0],[142,0,0,1,0]],"readable":[[0,0,0,1,0],[1,0,0,1,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,1,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,1],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[33,0,0,1,0],[38,0,1,0,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[61,0,0,1,0],[63,0,0,1,0],[82,0,0,0,1],[83,0,0,1,0],[129,0,0,1,0]],"markdown":[[0,0,0,2,0],[1,0,0,3,0],[2,0,0,1,0],[3,0,0,2,0],[4,0,0,1,0],[5,0,0,1,1],[6,0,0,2,1],[7,0,0,1,0],[8,0,0,2,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,2,5],[14,0,0,2,0],[22,0,0,1,0],[34,0,0,1,0],[38,0,0,7,0],[40,0,0,3,1],[42,0,0,1,0],[43,0,0,6,0],[44,0,0,2,0],[45,0,0,1,0],[46,0,0,2,1],[47,0,1,5,0],[48,0,1,3,0],[49,0,1,1,0],[50,0,1,2,0],[51,0,0,5,1],[52,0,0,6,0],[61,0,0,3,0],[63,0,0,3,0],[65,0,0,1,1],[66,0,0,3,0],[67,0,0,1,0],[69,0,0,0,1],[71,0,0,2,0],[73,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[81,0,0,1,0],[82,0,0,0,1],[93,0,0,1,0],[94,0,0,2,0],[95,0,0,1,0],[96,0,0,2,1],[97,0,0,1,0],[98,0,0,2,0],[99,0,0,1,0],[111,0,0,1,0],[112,0,0,3,0],[115,0,0,1,0],[117,0,0,4,0],[119,0,0,0,1],[120,0,0,5,0],[121,0,0,1,0],[122,0,0,1,0],[129,0,0,3,0],[130,0,0,3,1],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,2,0],[134,0,0,1,0],[137,0,0,1,0]],"leadtype":[[0,0,0,1,0],[6,0,0,1,1],[8,0,0,8,4],[12,0,0,1,1],[14,0,0,1,0],[15,0,0,1,0],[16,0,0,0,1],[20,0,0,1,0],[22,0,0,1,0],[23,0,0,0,1],[24,0,0,1,0],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,4],[29,0,0,0,1],[33,0,0,2,0],[34,0,0,2,0],[35,0,0,2,1],[36,0,0,1,2],[37,0,0,1,1],[38,0,0,3,1],[39,0,0,1,2],[40,0,0,1,0],[41,0,0,1,0],[42,0,0,1,0],[44,0,0,0,1],[45,0,0,0,1],[46,0,0,0,1],[47,0,0,0,1],[49,0,0,0,1],[53,0,0,3,0],[54,0,0,1,0],[55,0,0,1,1],[56,0,0,1,1],[57,0,0,1,1],[58,0,0,3,2],[59,0,0,1,0],[60,0,0,1,0],[62,0,0,3,0],[67,0,0,1,0],[69,1,1,2,2],[70,1,1,0,0],[71,1,1,1,0],[72,1,1,1,0],[73,0,0,2,0],[74,0,0,3,0],[75,0,1,1,0],[76,0,1,1,0],[77,0,0,4,0],[78,0,0,1,0],[79,0,0,11,0],[80,0,0,1,0],[81,0,0,1,1],[82,0,0,1,0],[83,0,0,1,1],[84,0,0,1,0],[85,0,0,3,1],[86,0,0,2,1],[87,0,0,2,0],[88,0,0,2,1],[89,0,0,2,0],[90,0,0,2,1],[91,0,0,2,1],[92,0,0,2,3],[93,0,0,8,0],[94,0,0,3,1],[95,0,0,1,1],[96,0,0,1,0],[97,0,0,1,0],[98,0,0,1,0],[99,0,0,1,1],[100,0,0,1,1],[104,0,0,0,1],[109,0,0,0,1],[110,0,0,1,0],[111,0,0,3,1],[114,0,0,0,3],[115,0,0,1,1],[116,0,0,0,1],[119,0,0,0,3],[123,0,0,1,0],[124,0,0,0,1],[128,0,0,1,1],[129,0,0,0,1],[133,0,0,0,1],[135,0,0,1,0],[137,0,0,0,1],[138,0,0,0,1],[139,0,0,0,1],[140,0,0,0,1],[141,0,0,0,3],[142,0,0,0,1]],"does":[[0,0,0,1,0],[10,0,0,1,0],[36,0,0,1,0],[37,0,0,0,1],[76,0,1,0,0],[80,0,0,0,1],[81,0,0,1,0],[113,0,0,0,1],[114,0,0,0,1],[125,0,0,0,1]],"not":[[0,0,0,1,0],[7,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[24,0,1,1,0],[30,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[47,0,0,2,0],[48,0,0,1,0],[54,0,0,1,0],[59,0,0,1,0],[67,0,0,1,0],[69,0,0,1,0],[73,0,0,1,0],[76,0,1,0,0],[90,0,0,1,0],[102,0,0,1,0],[117,0,0,2,0],[119,0,0,1,0],[127,0,0,1,0],[131,0,0,1,0],[136,0,0,1,0],[144,0,0,1,0]],"ship":[[0,0,0,1,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,1],[28,0,0,1,1],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[69,0,0,1,0],[70,0,0,1,0],[77,0,0,1,0],[83,0,0,1,0],[88,0,0,1,0],[124,0,0,1,0],[125,0,0,0,1]],"ui":[[0,0,0,1,0],[14,0,0,1,0],[21,0,0,1,0],[34,0,0,1,0],[39,0,0,1,0],[65,0,0,0,3],[69,0,0,1,1],[74,0,0,1,0],[76,0,0,1,0],[77,0,0,1,0],[126,0,0,1,0],[138,0,0,1,0]],"your":[[0,0,0,1,0],[2,0,0,3,0],[14,0,0,1,0],[19,0,0,1,0],[22,0,0,2,0],[23,0,0,0,1],[24,0,0,2,0],[27,0,0,1,0],[30,0,0,4,2],[31,0,0,1,0],[33,0,0,2,0],[34,0,0,2,0],[36,0,0,1,0],[38,0,0,2,0],[40,0,0,2,0],[42,0,0,1,0],[44,0,0,1,0],[45,0,0,0,1],[46,0,0,3,0],[47,0,0,1,0],[50,0,0,2,0],[51,0,0,2,0],[56,0,0,1,0],[60,0,0,1,0],[62,0,0,1,0],[64,0,0,2,0],[65,0,0,4,0],[66,0,0,1,0],[69,0,0,2,1],[70,0,1,1,0],[71,0,0,2,0],[76,0,0,1,0],[77,0,0,2,0],[80,0,0,1,0],[82,0,0,1,0],[84,0,0,1,0],[99,0,0,1,0],[109,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[126,0,0,2,0],[133,0,0,1,0],[135,0,0,1,0],[141,0,0,1,0],[144,0,0,1,0]],"docs":[[0,0,0,1,0],[2,0,0,0,1],[5,0,0,0,1],[6,0,0,2,1],[10,0,0,1,2],[12,0,0,0,1],[14,0,0,1,0],[16,0,0,1,2],[17,0,0,2,1],[18,0,0,1,3],[20,0,0,2,0],[22,1,1,3,0],[23,1,1,1,3],[24,1,1,1,0],[25,1,1,2,2],[26,1,2,2,0],[27,1,1,3,7],[28,1,1,1,2],[29,1,1,2,0],[30,1,1,3,1],[31,1,1,3,0],[32,1,1,1,0],[33,1,1,2,0],[34,1,1,9,0],[35,1,1,2,2],[36,1,1,2,2],[37,1,1,3,3],[38,1,1,7,1],[39,1,1,7,4],[40,1,1,11,2],[41,1,1,2,0],[42,1,1,2,0],[43,1,1,5,0],[44,1,1,3,2],[45,1,1,9,3],[46,1,2,1,6],[47,1,1,5,1],[48,1,1,4,0],[49,1,1,4,5],[50,1,1,1,0],[51,1,1,6,5],[52,1,1,8,0],[53,0,0,1,0],[54,0,0,2,0],[55,0,0,0,3],[56,0,0,0,1],[57,0,0,0,1],[58,0,0,0,1],[59,0,0,1,0],[60,0,0,2,0],[61,0,0,0,2],[62,0,0,9,0],[63,0,0,4,0],[64,0,0,3,0],[65,0,0,3,0],[66,0,0,2,0],[67,0,0,4,0],[69,0,0,3,3],[70,0,0,2,0],[73,0,0,3,0],[74,0,0,4,0],[76,0,0,1,0],[77,0,0,2,0],[78,0,0,1,0],[79,0,0,1,0],[80,0,0,2,0],[81,0,0,11,1],[82,0,0,2,4],[83,0,0,4,0],[84,0,0,4,0],[86,0,0,10,0],[87,0,0,2,0],[88,0,0,3,0],[89,0,0,1,9],[90,0,0,2,3],[91,0,0,1,0],[93,0,0,1,0],[95,0,0,1,2],[96,0,0,0,1],[97,0,0,0,2],[99,0,0,1,0],[103,0,0,3,0],[104,0,0,1,1],[106,0,1,0,0],[109,0,0,0,1],[110,0,0,1,0],[111,0,0,4,0],[112,0,0,11,0],[113,0,0,0,5],[114,0,0,1,5],[115,0,0,5,2],[117,0,0,1,0],[118,0,0,0,4],[119,0,0,1,6],[120,0,0,5,0],[124,0,0,5,0],[125,0,0,1,4],[126,0,0,1,2],[127,0,0,1,0],[128,0,0,0,1],[132,0,0,1,0],[134,0,0,1,0],[135,0,0,1,0],[137,0,0,1,3],[138,0,0,0,2],[139,0,1,0,0],[141,0,0,1,0],[142,0,0,2,0],[144,0,0,2,0]],"app":[[0,0,0,1,0],[2,0,0,1,0],[3,0,0,1,0],[12,0,0,1,1],[14,0,0,1,0],[16,0,0,0,1],[33,0,0,1,0],[34,0,0,7,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,2,0],[40,0,0,2,0],[41,0,0,1,0],[42,0,0,1,0],[44,0,0,1,0],[76,0,0,1,0],[77,0,0,1,0],[81,0,0,1,0],[89,0,0,1,0],[111,0,0,1,0]],"owns":[[0,0,0,1,0],[12,0,0,0,2],[26,0,0,1,0],[75,0,1,0,0]],"runtime":[[0,0,0,1,0],[12,0,0,0,2],[14,0,0,1,0],[38,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[49,0,0,1,0],[87,0,0,1,0],[113,0,0,0,1],[116,0,0,2,0],[135,0,0,2,0],[136,0,0,1,0],[137,0,0,1,0],[138,0,1,2,0],[139,0,1,1,0],[140,0,0,1,0],[141,0,0,2,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"rendering":[[0,0,0,1,0],[33,0,0,1,0],[98,0,0,1,0],[133,0,0,1,0]],"styling":[[0,0,0,1,0],[4,0,0,2,0],[12,0,0,0,1],[76,0,0,1,0]],"accessibility":[[0,0,0,1,0]],"only":[[0,0,0,1,0],[10,0,0,1,0],[14,0,0,1,0],[18,0,0,2,0],[26,0,0,1,0],[31,0,0,1,0],[36,0,0,1,0],[61,0,0,0,3],[62,0,0,1,0],[63,0,0,3,0],[64,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[83,0,0,1,0],[86,0,0,1,0],[88,0,0,1,0],[89,0,0,2,0],[112,0,0,1,0],[117,0,0,1,0],[134,0,0,1,0],[140,0,0,1,0],[142,0,0,1,0],[144,0,0,1,0]],"has":[[0,0,0,1,0],[20,0,0,1,0],[43,0,0,2,0],[46,0,0,1,0],[62,0,0,1,0],[66,0,0,1,0],[81,0,0,1,0]],"honor":[[0,0,0,1,0]],"small":[[0,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[137,0,0,1,0]],"naming":[[0,0,0,1,0],[2,0,1,0,0]],"contract":[[0,0,0,1,0],[2,0,1,1,0],[14,0,0,1,0],[61,0,0,1,0],[68,0,0,1,0],[109,0,0,1,0]],"so":[[0,0,0,1,0],[1,0,0,1,0],[4,0,0,1,0],[7,0,0,1,0],[13,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[27,0,0,0,1],[28,0,0,0,1],[30,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,2,1],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,3,0],[40,0,0,1,0],[41,0,0,1,0],[43,0,0,2,0],[47,0,0,2,0],[49,0,0,2,0],[53,0,0,2,0],[54,0,0,1,0],[55,0,0,2,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[63,0,0,3,0],[64,0,0,2,0],[75,0,0,1,0],[83,0,0,1,0],[89,0,0,1,0],[98,0,0,1,0],[99,0,0,1,0],[103,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[114,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[125,0,0,0,1],[131,0,0,1,0],[132,0,0,1,0],[136,0,0,2,0],[140,0,0,1,0]],"remark":[[0,0,0,1,0],[2,0,0,2,0],[4,0,0,1,0],[5,0,0,1,0],[9,0,0,1,0],[13,0,0,0,2],[14,0,0,1,0],[27,0,0,0,1],[36,0,0,1,1],[60,0,0,1,0],[61,0,0,3,4],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,2,0],[68,0,0,1,0],[75,0,0,1,0],[79,0,0,1,0],[81,0,0,1,0],[93,0,0,1,0],[94,0,0,1,0],[95,0,0,0,1],[99,0,1,1,1],[103,0,0,1,0],[114,0,0,0,1],[129,1,1,1,1],[130,1,1,0,0],[131,1,1,0,0],[132,1,1,0,0],[133,1,1,0,1],[134,1,1,0,0]],"each":[[0,0,0,1,0],[1,0,0,1,0],[3,0,0,1,0],[17,0,0,2,0],[26,0,0,1,0],[43,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,2,0],[70,0,0,1,0],[77,0,0,1,0],[81,0,0,1,0],[91,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0],[131,0,0,1,0],[136,0,0,1,0]],"component":[[0,0,0,1,0],[1,0,0,1,0],[3,0,1,0,0],[4,0,1,0,0],[5,0,1,0,0],[6,0,1,0,0],[7,0,1,0,0],[8,0,1,0,0],[9,0,1,0,0],[10,0,1,0,0],[11,0,1,0,0],[12,0,1,1,0],[13,0,1,0,0],[14,0,0,1,0],[19,0,0,1,0],[36,0,0,0,1],[61,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[76,0,0,2,0],[99,0,0,1,0],[126,0,0,1,0],[129,0,0,1,0],[131,0,0,3,0]],"agents":[[0,0,0,1,0],[1,0,0,1,0],[4,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[9,0,0,1,0],[13,0,0,0,2],[22,0,0,4,0],[23,0,0,1,2],[24,0,1,9,0],[25,0,0,4,1],[26,0,0,1,0],[27,0,0,2,2],[28,0,0,1,0],[29,0,0,3,0],[30,0,0,5,1],[31,0,0,3,0],[32,0,0,1,0],[33,0,0,1,0],[34,0,0,2,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,3,0],[39,0,0,1,0],[40,0,0,1,0],[41,0,0,2,0],[42,1,1,1,0],[43,1,1,2,0],[44,1,1,0,0],[45,1,1,1,0],[46,1,1,1,0],[47,1,2,1,0],[48,1,2,0,0],[49,1,2,0,0],[50,1,2,1,0],[51,1,1,1,0],[52,1,1,2,0],[61,0,0,0,3],[62,0,0,1,0],[63,0,0,6,0],[64,0,0,1,0],[65,0,0,6,3],[67,0,0,1,0],[69,0,0,6,8],[70,0,0,3,0],[71,0,0,8,0],[72,0,0,3,0],[75,0,0,1,0],[82,0,0,0,1],[83,0,1,2,0],[84,0,0,1,0],[86,0,0,4,0],[88,0,0,1,0],[111,0,0,2,0],[112,0,0,2,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,5,0],[121,0,0,2,0],[122,0,0,2,0],[123,0,0,1,0],[124,0,0,5,0],[125,0,0,1,1],[126,0,0,1,0],[127,0,0,3,0],[128,0,0,1,0]],"search":[[0,0,0,1,0],[1,0,0,1,0],[5,0,0,1,0],[13,0,0,0,1],[19,0,0,2,0],[21,0,0,1,0],[25,0,0,1,0],[33,0,0,2,0],[34,0,0,5,0],[35,0,0,2,0],[36,0,0,2,3],[37,0,0,1,0],[38,0,0,1,0],[39,0,0,2,0],[40,0,0,3,0],[41,0,0,2,0],[61,0,0,0,4],[62,0,0,2,0],[63,0,0,3,0],[65,0,0,0,4],[66,0,0,1,0],[67,0,0,2,0],[69,0,0,2,3],[71,0,0,1,0],[73,0,0,1,0],[74,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[79,0,0,1,0],[81,0,0,3,0],[82,0,0,1,2],[83,0,0,1,0],[86,0,0,2,0],[88,0,0,2,0],[89,0,0,1,3],[93,0,0,1,0],[117,0,0,1,0],[121,0,0,1,0],[135,1,1,2,0],[136,1,1,5,0],[137,1,1,2,3],[138,1,2,2,3],[139,1,1,2,1],[140,1,1,1,1],[141,1,1,1,3],[142,1,1,1,1],[143,1,1,1,0],[144,1,1,2,0]],"llms":[[0,0,0,1,0],[9,0,0,1,0],[13,0,0,0,2],[16,0,0,3,0],[17,0,0,2,5],[18,0,0,1,0],[21,0,0,2,0],[24,0,1,4,0],[25,0,0,2,0],[34,0,0,2,0],[35,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[40,0,0,2,1],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,2,4],[45,0,0,6,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,3,0],[49,0,0,6,0],[50,0,0,1,0],[51,0,0,3,1],[52,0,0,3,0],[61,0,0,0,2],[62,0,0,4,0],[63,0,0,6,0],[64,0,0,1,0],[65,0,0,2,1],[66,0,0,3,0],[67,0,0,4,0],[69,0,0,2,3],[70,0,0,1,0],[71,0,0,3,0],[72,0,0,1,0],[73,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[81,0,0,3,0],[82,0,0,1,4],[83,0,0,1,0],[86,0,0,4,0],[88,0,0,3,0],[89,0,0,0,3],[90,0,0,1,0],[111,0,0,2,0],[112,0,0,6,0],[113,0,1,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,3,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,3,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,2,0],[128,0,0,1,0],[133,0,0,1,0]],"full":[[0,0,0,1,0],[16,0,0,1,0],[17,0,0,1,4],[18,0,0,1,0],[19,0,0,2,0],[20,0,0,1,0],[21,0,0,1,0],[25,0,0,1,0],[27,0,0,1,0],[34,0,0,1,0],[36,0,0,1,0],[38,0,0,1,0],[40,0,0,2,0],[44,0,0,0,2],[45,0,0,3,0],[48,0,0,1,0],[49,0,0,3,0],[52,0,0,1,0],[54,0,0,1,0],[61,0,0,0,1],[62,0,0,2,0],[63,0,0,2,0],[66,0,0,2,0],[67,0,0,2,0],[69,0,0,0,1],[75,0,0,1,0],[81,0,0,2,0],[82,0,0,0,2],[83,0,0,1,0],[85,0,0,1,0],[86,0,0,2,0],[88,0,0,2,0],[89,0,0,0,1],[91,0,0,1,0],[99,0,0,1,0],[106,0,0,1,0],[111,0,0,1,0],[112,0,0,4,0],[117,0,0,1,0],[121,0,0,1,0],[125,0,0,1,0],[127,0,0,1,0],[133,0,0,1,0]],"txt":[[0,0,0,1,0],[13,0,0,0,2],[16,0,0,3,0],[17,0,0,2,3],[18,0,0,1,0],[21,0,0,2,0],[24,0,1,4,0],[25,0,0,1,0],[34,0,0,2,0],[35,0,0,1,0],[37,0,0,1,0],[38,0,0,2,0],[40,0,0,3,1],[42,0,0,2,0],[43,0,0,4,0],[44,0,0,3,6],[45,0,0,7,1],[46,0,0,2,0],[47,0,0,2,0],[48,0,0,5,0],[49,0,1,8,2],[50,0,0,2,0],[51,0,0,4,1],[52,0,0,5,0],[61,0,0,0,2],[62,0,0,4,0],[63,0,0,5,0],[64,0,0,2,0],[65,0,0,2,1],[66,0,0,2,0],[67,0,0,3,0],[69,0,0,2,2],[70,0,0,1,0],[71,0,0,3,0],[72,0,0,1,0],[73,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[81,0,0,4,0],[82,0,0,1,5],[83,0,0,1,0],[86,0,0,4,0],[88,0,0,3,0],[89,0,0,1,4],[90,0,0,1,0],[111,0,0,3,0],[112,0,0,7,0],[113,0,1,1,1],[114,0,0,1,0],[115,0,0,2,1],[116,0,0,1,0],[117,0,0,4,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,3,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0]],"bundles":[[0,0,0,1,0],[32,0,0,1,0],[67,0,0,1,0],[71,0,0,1,0],[74,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[90,0,0,1,0],[111,1,1,1,0],[112,1,1,0,0],[113,1,1,0,0],[114,1,1,0,0],[115,1,1,0,0],[116,1,1,0,0],[117,1,1,0,0],[118,1,1,0,0],[119,1,1,0,0],[120,1,1,0,0],[121,1,1,0,0],[122,1,1,0,0],[123,1,1,0,0],[124,1,1,0,0],[125,1,1,0,0],[126,1,1,2,0],[127,1,1,0,0],[128,1,1,0,0],[133,0,0,1,0]],"why":[[1,0,1,0,0],[24,0,1,0,0],[131,0,1,0,0]],"all":[[1,0,1,0,0],[36,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[69,0,0,1,0],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0],[79,0,0,1,0],[82,0,0,0,1],[111,0,0,1,0],[112,0,0,1,0],[127,0,0,1,0]],"interactive":[[1,0,0,1,0],[13,0,0,1,0],[61,0,0,1,0],[66,0,0,1,0],[129,0,0,1,0]],"like":[[1,0,0,1,0],[4,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[38,0,0,1,0],[43,0,1,0,0],[82,0,0,1,0],[86,0,0,1,0],[124,0,0,1,0]],"tabs":[[1,0,0,2,0],[2,0,0,1,0],[7,0,1,0,2],[61,0,0,1,0],[66,0,0,1,0],[71,0,0,1,0],[130,0,0,1,0],[138,0,0,0,1]],"callout":[[1,0,0,2,0],[2,0,0,1,0],[4,0,1,0,2],[11,0,0,2,0],[12,0,0,0,2],[14,0,0,1,0],[61,0,0,1,0],[66,0,0,1,0],[71,0,0,1,0],[130,0,0,1,0]],"render":[[1,0,0,2,0],[3,0,0,1,0],[12,0,0,0,1],[13,0,0,1,0],[46,0,0,1,0],[55,0,0,1,0],[65,0,0,0,1],[67,0,0,1,0],[96,0,0,1,0],[120,0,0,1,0]],"fine":[[1,0,0,1,0],[36,0,0,1,0],[45,0,0,1,0],[143,0,0,1,0]],"browser":[[1,0,0,1,0],[42,0,0,1,0],[65,0,0,0,1],[69,0,0,0,1]],"but":[[1,0,0,1,0],[4,0,0,2,0],[16,0,0,1,0],[30,0,0,1,0],[74,0,0,1,0],[77,0,0,1,0],[124,0,0,1,0],[126,0,0,1,0]],"do":[[1,0,0,1,0],[4,0,0,1,0],[7,0,0,1,0],[38,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[140,0,0,0,1]],"nothing":[[1,0,0,1,0],[59,0,0,1,0]],"reading":[[1,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[69,0,0,1,0],[71,0,0,1,0],[83,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[139,0,1,0,0]],"raw":[[1,0,0,1,0]],"text":[[1,0,0,1,0],[13,0,0,1,0],[16,0,0,1,0],[38,0,0,2,0],[40,0,0,2,1],[46,0,0,0,1],[47,0,0,3,0],[51,0,0,1,1],[65,0,0,1,1],[66,0,0,1,0],[69,0,0,0,1],[77,0,0,1,0],[86,0,0,1,0],[87,0,0,2,0],[117,0,0,1,0],[119,0,0,0,1],[127,0,0,1,0],[136,0,0,1,0],[141,0,0,1,0],[143,0,0,1,0]],"flattening":[[1,0,0,1,0],[2,0,0,1,0],[9,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[99,0,0,1,0],[103,0,0,1,0]],"converts":[[1,0,0,1,0],[35,0,0,1,0],[71,0,0,1,0]],"portable":[[1,0,0,1,0],[66,0,0,1,0],[74,0,0,1,0]],"equivalent":[[1,0,0,1,0],[7,0,0,1,0],[10,0,0,1,0],[66,0,0,1,0],[91,0,0,1,0],[129,0,0,1,0]],"conversion":[[1,0,0,1,0],[6,0,0,1,1],[9,0,0,1,0],[11,0,0,1,0],[12,0,0,0,1],[16,0,0,1,0],[36,0,0,0,1],[69,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[87,0,0,1,0],[94,0,0,1,0],[95,0,0,1,0],[96,0,0,1,0],[97,0,0,1,0],[98,0,0,2,0],[99,0,0,1,0],[113,0,0,0,1],[114,0,0,1,0],[133,0,0,2,0],[137,0,0,1,0]],"time":[[1,0,0,1,0],[11,0,0,1,0],[22,0,0,1,0],[36,0,0,0,1],[39,0,0,1,0],[44,0,0,1,0],[67,0,0,1,0],[110,0,0,1,0],[118,0,0,1,0],[133,0,0,2,0],[135,0,0,1,0],[137,0,1,0,0]],"becomes":[[1,0,0,4,0],[15,0,0,1,0],[16,0,0,2,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[61,0,0,3,0],[144,0,0,1,0]],"blockquote":[[1,0,0,1,0],[4,0,0,1,0],[61,0,0,1,0],[66,0,0,1,0],[130,0,0,1,0]],"stack":[[1,0,0,1,0],[61,0,0,2,1],[66,0,0,1,0],[67,0,0,1,0],[75,0,0,1,0],[81,0,0,1,0],[94,0,0,1,0],[99,0,0,2,0],[103,0,0,1,0],[129,0,0,2,0],[130,0,1,2,0],[131,0,0,1,0],[132,0,0,2,0],[133,0,0,1,0],[134,0,0,1,0]],"bold":[[1,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[61,0,0,1,0],[66,0,0,1,0],[130,0,0,1,0]],"headings":[[1,0,0,1,0],[7,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[61,0,0,1,0],[63,0,0,1,0],[66,0,0,3,0],[112,0,0,2,0],[136,0,0,1,0]],"one":[[1,0,0,1,0],[8,0,0,1,0],[16,0,0,1,0],[21,0,0,3,0],[24,0,0,1,0],[25,0,0,0,1],[26,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,1,1,0],[36,0,0,3,0],[37,0,0,1,1],[38,0,0,1,0],[39,0,0,2,0],[40,0,0,2,0],[41,0,0,1,0],[44,0,0,0,1],[51,0,0,1,0],[60,0,0,2,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,2,0],[66,0,0,1,0],[67,0,0,2,0],[68,0,0,1,0],[69,0,0,2,0],[70,0,0,2,0],[71,0,0,2,0],[72,0,0,1,0],[75,0,0,1,0],[77,0,0,1,0],[80,0,1,0,1],[81,0,0,2,0],[88,0,0,1,0],[96,0,0,1,0],[97,0,0,1,0],[112,0,0,2,0],[113,0,0,0,1],[114,0,0,0,1],[125,0,0,0,1],[127,0,0,1,0],[131,0,0,2,0],[133,0,0,1,0],[141,0,0,2,0]],"per":[[1,0,0,1,0],[8,0,0,2,0],[17,0,0,1,0],[21,0,0,1,0],[22,0,0,2,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,1],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[36,0,0,1,0],[40,0,0,1,0],[49,0,0,1,0],[56,0,0,1,0],[71,0,0,1,0],[81,0,0,1,0],[82,0,0,0,1],[88,0,0,1,0],[94,0,0,1,0],[112,0,0,1,0],[130,0,0,1,0],[133,0,0,1,0]],"tab":[[1,0,0,1,0],[2,0,0,1,0],[7,0,0,0,6],[130,0,0,1,0]],"typetable":[[1,0,0,1,0],[2,0,0,1,0],[11,0,1,1,1],[61,0,0,1,0],[71,0,0,1,0],[130,0,0,1,0],[134,0,0,1,0]],"table":[[1,0,0,1,0],[8,0,0,1,0],[11,0,0,1,0],[61,0,0,1,0],[130,0,0,2,0],[133,0,0,1,0]],"mermaid":[[1,0,0,2,0],[2,0,0,1,0],[13,0,1,1,2],[17,0,0,0,1],[23,0,0,0,1],[34,0,0,1,0],[61,0,0,0,1],[65,0,0,0,1],[69,0,0,0,1],[71,0,0,1,0],[98,0,0,1,0],[130,0,0,2,1]],"fenced":[[1,0,0,1,0],[13,0,0,1,0],[130,0,0,2,0]],"block":[[1,0,0,1,0],[13,0,0,1,0],[15,0,0,1,0],[130,0,0,2,0]],"diagram":[[1,0,0,1,0],[13,0,0,1,0],[72,0,0,1,0]],"source":[[1,0,0,1,0],[12,0,0,1,1],[13,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[25,0,0,0,1],[31,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[39,0,1,3,0],[40,0,0,1,0],[41,0,0,1,0],[43,0,0,1,0],[53,0,0,1,0],[60,0,0,1,0],[61,0,0,1,0],[62,0,0,2,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,1],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0],[75,0,0,1,0],[91,0,0,1,0],[98,0,0,1,0],[99,0,0,1,0],[100,0,0,1,0],[111,0,0,1,0],[124,0,0,1,0],[132,0,0,1,0],[135,0,0,2,0],[136,0,0,1,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,1,1,0],[141,0,0,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"survives":[[1,0,0,1,0]],"other":[[1,0,0,1,0],[13,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[49,0,0,1,0],[56,0,1,0,0],[61,0,0,1,0],[65,0,0,1,0],[102,0,0,1,0],[110,0,0,1,0]],"tooling":[[1,0,0,1,0],[22,0,0,1,0]],"this":[[1,0,0,1,0],[4,0,0,1,0],[6,0,0,1,1],[21,0,1,0,0],[22,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[30,0,0,2,0],[31,0,1,2,0],[33,0,0,1,0],[38,0,0,1,0],[39,0,0,1,0],[42,0,0,1,0],[44,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[88,0,0,1,0],[96,0,0,1,0],[100,0,0,1,0],[125,0,0,0,1],[130,0,0,1,0],[132,0,0,1,0]],"means":[[1,0,0,1,0],[117,0,0,1,0]],"same":[[1,0,0,1,0],[2,0,0,1,0],[6,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[42,0,0,1,0],[47,0,0,1,0],[53,0,0,1,0],[58,0,0,1,0],[62,0,0,1,0],[66,0,0,2,0],[81,0,0,2,0],[82,0,0,1,0],[91,0,0,1,0],[103,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[124,0,0,3,0],[126,0,0,2,0],[139,0,0,1,0],[142,0,0,1,0]],"content":[[1,0,0,1,0],[4,0,0,1,1],[6,0,0,1,0],[7,0,0,3,0],[9,0,0,4,0],[38,0,0,1,0],[40,0,0,3,0],[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[47,0,0,2,0],[51,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[61,0,0,0,1],[63,0,0,3,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,2,0],[67,0,0,1,0],[71,0,0,1,0],[74,0,0,2,0],[77,0,0,3,0],[81,0,0,3,0],[82,0,0,1,2],[85,0,0,1,0],[88,0,0,1,0],[89,0,0,0,1],[91,0,0,1,0],[103,0,1,0,0],[105,0,0,0,1],[110,0,0,2,0],[111,0,0,1,0],[112,0,0,1,0],[117,0,0,2,0],[119,0,0,0,3],[120,0,0,1,0],[132,0,0,1,0],[136,0,0,4,0],[137,0,0,1,1],[138,0,0,0,2],[139,0,0,0,2],[140,0,0,0,1],[141,0,0,0,1],[142,0,0,0,1]],"reaches":[[1,0,0,1,0]],"three":[[1,0,0,1,0],[15,0,0,1,0],[36,0,0,1,0],[60,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,1,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[71,0,0,1,0],[139,0,0,1,0],[141,0,0,1,0]],"audiences":[[1,0,0,1,0],[60,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,1,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[71,0,0,1,0]],"humans":[[1,0,0,1,0],[6,0,0,1,0],[22,0,0,1,0],[33,0,0,1,0],[34,0,0,2,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[39,0,0,1,0],[40,0,0,1,0],[41,0,0,1,0],[42,0,0,1,0],[65,0,0,1,1],[69,0,0,2,3],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0]],"without":[[1,0,0,1,0],[16,0,0,1,0],[21,0,0,1,0],[22,0,0,1,0],[43,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[65,0,0,1,0],[90,0,0,1,0],[96,0,0,1,0],[98,0,0,1,0],[115,0,0,1,0],[128,0,0,1,0],[135,0,0,1,0],[136,0,0,1,0]],"you":[[1,0,0,1,0],[2,0,0,1,0],[11,0,0,1,0],[14,0,0,1,0],[19,0,0,1,0],[21,0,1,1,0],[22,0,0,1,0],[27,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[33,0,0,1,0],[36,0,0,2,0],[38,0,0,1,0],[40,0,0,1,0],[42,0,0,1,0],[45,0,0,1,0],[49,0,0,1,0],[57,0,0,1,0],[62,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[69,0,0,1,0],[70,0,0,1,0],[71,0,1,0,0],[74,0,0,3,0],[77,0,0,2,0],[79,0,0,1,0],[82,0,0,1,0],[84,0,0,1,0],[91,0,0,1,0],[93,0,0,1,0],[94,0,0,1,0],[96,0,0,1,0],[109,0,0,1,0],[111,0,0,1,0],[116,0,0,1,0],[122,0,0,2,0],[125,0,0,0,1],[127,0,0,1,0],[131,0,0,2,0],[134,0,0,2,0],[136,0,0,1,0],[139,0,0,2,0],[140,0,0,1,0],[142,0,0,1,0]],"maintaining":[[1,0,0,1,0]],"two":[[1,0,0,1,0],[2,0,0,1,0],[37,0,0,1,0],[49,0,0,1,0],[60,0,0,1,0],[61,0,0,1,0],[62,0,1,2,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,2,0],[66,0,0,2,0],[67,0,0,1,0],[68,0,0,1,0],[70,0,0,1,0],[85,0,0,1,0],[127,0,0,1,0],[134,0,0,1,0]],"copies":[[1,0,0,1,0]],"recognizes":[[2,0,0,1,0]],"these":[[2,0,0,1,0],[40,0,0,1,0],[63,0,0,1,0],[81,0,0,1,0],[94,0,0,1,0],[111,0,0,1,0],[125,0,0,0,1],[127,0,0,1,0]],"names":[[2,0,0,4,0],[14,0,0,1,0],[60,0,0,1,0],[72,0,0,1,0],[131,0,0,1,0],[144,0,0,1,0]],"if":[[2,0,0,2,0],[14,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,0,1],[29,0,0,2,0],[31,0,0,1,0],[36,0,0,1,0],[38,0,0,0,1],[39,0,0,1,0],[40,0,0,1,0],[45,0,0,1,3],[46,0,0,2,1],[49,0,0,1,0],[51,0,0,1,0],[67,0,0,1,0],[99,0,0,1,0],[117,0,0,0,1],[119,0,0,1,0],[126,0,0,0,1],[131,0,0,1,0],[134,0,0,1,0]],"just":[[2,0,0,1,0],[31,0,0,1,0],[136,0,0,1,0]],"works":[[2,0,0,1,0],[21,0,0,1,0],[35,0,0,1,0],[47,0,0,1,0],[60,1,1,0,0],[61,1,1,0,0],[62,1,1,0,0],[63,1,1,1,0],[64,1,1,0,0],[65,1,1,0,0],[66,1,1,0,0],[67,1,1,0,0],[68,1,1,0,0],[72,0,0,1,0],[86,0,0,1,0],[111,0,0,1,0],[113,0,0,0,3],[116,0,0,1,0],[125,0,0,0,2],[138,0,0,1,0]],"accordion":[[2,0,0,1,0],[9,0,1,0,2],[130,0,0,1,0]],"accordionitem":[[2,0,0,1,0],[9,0,0,0,2]],"card":[[2,0,0,1,0],[5,0,0,0,1]],"cards":[[2,0,0,1,0],[5,0,1,0,2],[130,0,0,1,0]],"commandtabs":[[2,0,0,1,0],[8,0,1,0,3],[130,0,0,1,0]],"details":[[2,0,0,1,0],[9,0,0,2,1],[130,0,0,1,0]],"example":[[2,0,0,1,0],[3,0,0,1,0],[12,0,1,1,2],[35,0,0,0,1],[44,0,0,0,1],[46,0,0,0,2],[81,0,0,0,1],[90,0,0,0,1],[113,0,1,0,0],[114,0,0,0,3],[115,0,0,0,2],[119,0,0,0,2],[125,0,1,0,0],[126,0,0,0,1],[128,0,0,0,1],[130,0,0,1,0],[131,0,0,1,0],[137,0,0,0,1]],"extractedtypetable":[[2,0,0,1,0],[11,0,1,1,0],[36,0,0,1,1],[130,0,0,1,0],[133,0,0,1,1]],"section":[[2,0,0,1,0],[3,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[66,0,0,1,0],[90,0,0,1,0],[108,0,0,1,0],[130,0,0,1,0],[136,0,0,1,0]],"selector":[[2,0,0,1,0]],"step":[[2,0,0,1,0],[6,0,0,1,4],[27,0,0,1,0],[36,0,0,1,0],[67,0,0,1,0],[120,0,0,2,0]],"steps":[[2,0,0,1,0],[6,0,1,0,2],[55,0,0,0,1],[71,0,0,1,0],[130,0,0,1,0]],"topicswitcher":[[2,0,0,1,0],[10,0,1,0,1],[19,0,0,1,0],[130,0,0,1,0]],"uses":[[2,0,0,1,0],[30,0,0,1,0],[55,0,0,0,2],[66,0,0,1,0]],"different":[[2,0,0,1,0],[31,0,0,1,0],[39,0,0,1,0],[54,0,0,1,0],[62,0,0,1,0],[65,0,0,2,0],[123,0,0,1,0]],"have":[[2,0,0,1,0],[31,0,0,1,0],[38,0,0,1,0],[42,0,0,1,0],[45,0,0,1,0],[57,0,0,1,0],[84,0,0,1,0],[139,0,0,1,0]],"options":[[2,0,0,1,0],[85,0,0,0,1],[86,0,0,0,1],[91,0,0,0,1],[133,0,0,1,0],[141,0,0,1,0]],"rename":[[2,0,0,1,0]],"match":[[2,0,0,1,0],[144,0,0,1,0]],"add":[[2,0,0,1,0],[8,0,0,3,1],[12,0,0,1,0],[14,0,0,1,0],[27,0,0,1,0],[30,0,0,1,0],[36,0,0,1,0],[38,0,0,1,0],[46,0,1,1,0],[52,0,0,2,0],[71,0,0,1,0],[79,0,0,3,0],[80,0,0,1,0],[83,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[91,0,0,1,0],[109,0,0,1,0],[120,0,0,1,0],[132,0,0,1,0],[134,0,0,1,0],[144,0,1,1,0]],"custom":[[2,0,0,1,0],[27,0,0,1,0],[91,0,0,1,0],[93,0,0,2,0],[94,0,0,1,0],[104,0,0,3,0],[109,0,1,1,0],[131,0,0,2,0],[134,0,0,1,0]],"plugin":[[2,0,0,1,0],[14,0,0,2,0],[27,0,0,1,0],[36,0,0,2,0],[45,0,0,0,1],[47,0,0,1,0],[48,0,0,1,0],[61,0,0,0,1],[75,0,0,1,0],[81,0,0,1,0],[93,0,0,1,0],[94,0,0,2,0],[95,0,0,1,0],[99,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0],[131,0,0,2,0],[132,0,0,1,0],[133,0,0,4,0],[134,0,1,2,0]],"that":[[2,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[20,0,0,1,0],[22,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[30,0,0,1,0],[31,0,0,2,0],[35,0,0,1,0],[37,0,0,1,0],[45,0,0,2,0],[47,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[53,0,0,1,0],[54,0,0,2,0],[56,0,0,1,0],[62,0,0,2,0],[63,0,0,1,0],[65,0,0,2,0],[66,0,0,3,0],[67,0,0,1,0],[69,0,0,1,0],[70,0,0,2,0],[71,0,0,1,0],[77,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[88,0,0,1,0],[90,0,0,1,0],[103,0,0,1,0],[105,0,0,1,0],[109,0,0,1,0],[111,0,0,1,0],[112,0,0,2,0],[113,0,0,0,2],[114,0,0,0,1],[115,0,0,1,0],[124,0,0,2,0],[125,0,0,0,1],[129,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0],[135,0,0,1,0],[141,0,0,1,0],[144,0,0,1,0]],"maps":[[2,0,0,1,0]],"back":[[2,0,0,1,0],[40,0,0,1,0],[96,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0]],"above":[[2,0,0,1,0],[11,0,0,1,1],[74,0,0,1,0],[83,0,0,1,0]],"tsx":[[2,0,0,0,1],[4,0,0,0,1],[5,0,0,0,1],[6,0,0,0,1],[7,0,0,0,1],[8,0,0,0,1],[9,0,0,0,1],[10,0,0,0,1],[11,0,0,0,1],[12,0,0,0,3],[13,0,0,0,1]],"import":[[2,0,0,0,1],[12,0,0,0,1],[27,0,0,0,5],[36,0,0,0,2],[37,0,0,0,1],[38,0,0,0,2],[45,0,0,0,2],[46,0,0,0,2],[47,0,0,0,2],[49,0,0,0,2],[90,0,0,0,2],[94,0,0,0,1],[95,0,0,0,1],[99,0,0,0,1],[100,0,0,0,1],[104,0,0,0,1],[109,0,0,0,2],[111,0,0,0,1],[114,0,0,0,3],[115,0,0,0,1],[116,0,0,0,1],[119,0,0,0,2],[124,0,0,0,1],[126,0,0,2,1],[129,0,0,0,1],[130,0,0,1,0],[133,0,0,0,1],[137,0,0,0,1],[138,0,0,0,3],[139,0,0,0,1],[140,0,0,0,1],[141,0,0,0,3],[142,0,0,0,1]],"mdxcomponents":[[2,0,0,0,2],[12,0,0,0,1]],"const":[[2,0,0,0,1],[27,0,0,0,2],[28,0,0,0,2],[36,0,0,0,4],[38,0,0,0,1],[45,0,0,0,2],[46,0,0,0,3],[49,0,0,0,2],[96,0,0,0,1],[104,0,0,0,1],[109,0,0,0,1],[115,0,0,0,1],[117,0,0,0,1],[118,0,0,0,2],[119,0,0,0,1],[126,0,0,0,2],[128,0,0,0,1],[133,0,0,0,1],[138,0,0,0,1],[139,0,0,0,3],[140,0,0,0,1],[141,0,0,0,1],[142,0,0,0,1]],"reference":[[3,0,1,0,0],[4,0,1,0,0],[5,0,1,0,1],[6,0,1,0,0],[7,0,1,0,0],[8,0,1,0,0],[9,0,1,1,1],[10,0,1,0,0],[11,0,1,0,0],[12,0,1,0,0],[13,0,1,0,0],[17,0,0,0,1],[20,0,0,1,0],[32,0,0,1,0],[41,0,0,1,0],[54,0,0,1,0],[68,0,0,1,0],[91,0,0,1,0],[100,0,0,1,0],[113,0,0,0,2],[125,0,0,0,2]],"below":[[3,0,0,1,0],[104,0,0,1,0],[125,0,0,0,1]],"shows":[[3,0,0,1,0]],"authored":[[3,0,0,1,0],[13,0,0,1,0],[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[82,0,0,1,0]],"live":[[3,0,0,1,0],[7,0,0,1,0],[35,0,0,1,0],[49,0,1,0,0],[118,0,0,1,0],[120,0,0,1,0]],"switch":[[3,0,0,1,0],[49,0,0,0,1]],"view":[[3,0,0,1,0]],"robot":[[3,0,0,1,0]],"icon":[[3,0,0,1,0],[19,0,0,2,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0]],"header":[[3,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[50,0,0,2,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0]],"see":[[3,0,0,1,0],[4,0,0,1,0],[16,0,0,1,0],[20,0,0,1,0],[31,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[39,0,0,1,0],[54,0,0,1,0],[61,0,0,2,0],[65,0,0,1,0],[66,0,0,1,0],[72,0,0,1,0],[76,0,0,1,0],[80,0,0,1,0],[82,0,0,3,0],[83,0,0,1,0],[88,0,0,1,0],[90,0,0,1,0],[91,0,0,1,0],[99,0,0,1,0],[103,0,0,1,0],[110,0,0,1,0],[120,0,0,1,0],[125,0,0,1,0]],"flattened":[[3,0,0,1,0],[6,0,0,1,1],[9,0,0,1,0],[61,0,0,2,0],[63,0,0,1,0],[81,0,0,1,0],[82,0,0,1,1],[112,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0]],"side":[[3,0,0,2,0],[13,0,0,1,0],[133,0,0,1,0]],"wraps":[[4,0,0,1,0]],"supporting":[[4,0,0,2,0],[9,0,0,1,1],[22,0,0,1,0],[65,0,0,1,0]],"context":[[4,0,0,2,0],[19,0,0,1,0],[58,0,0,1,0],[63,0,0,1,0],[75,0,0,1,0],[86,0,0,1,0],[112,0,0,2,0],[119,0,0,0,1],[139,0,0,1,0],[140,0,0,2,1]],"warnings":[[4,0,0,2,0],[55,0,0,2,1],[57,0,0,0,1],[91,0,0,3,0],[105,0,0,0,1],[109,0,0,1,0]],"tips":[[4,0,0,2,0]],"variants":[[4,0,0,2,0],[122,0,0,1,0]],"change":[[4,0,0,2,0]],"identically":[[4,0,0,2,0],[77,0,0,1,0]],"info":[[4,0,0,1,1],[11,0,0,1,1]],"heads":[[4,0,0,1,1]],"up":[[4,0,0,1,1],[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0]],"callouts":[[4,0,0,1,0]],"wrap":[[4,0,0,1,0]],"flattens":[[4,0,0,1,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[66,0,0,2,0],[94,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0]],"them":[[4,0,0,1,0],[9,0,0,1,1],[19,0,0,1,0],[26,0,0,1,0],[30,0,0,1,0],[45,0,0,2,0],[59,0,0,1,0],[83,0,0,1,0],[89,0,0,1,0],[99,0,0,1,0],[106,0,0,1,0],[125,0,0,0,1],[137,0,0,1,0]],"blockquotes":[[4,0,0,1,0]],"still":[[4,0,0,1,0],[9,0,0,1,0],[20,0,0,1,0],[103,0,0,1,0]],"warning":[[4,0,0,2,0],[55,0,0,1,0],[91,0,0,1,0]],"don":[[4,0,0,1,0],[19,0,0,1,0],[25,0,0,1,0],[31,0,0,2,0],[54,0,0,1,0],[65,0,0,1,0],[69,0,0,1,0],[106,0,0,1,0],[122,0,0,1,0],[131,0,0,1,0],[134,0,0,1,0],[141,0,0,1,0]],"success":[[4,0,0,1,0],[12,0,0,0,1],[87,0,0,1,0]],"error":[[4,0,0,1,0],[20,0,0,2,0],[28,0,0,0,1],[39,0,0,0,1],[54,0,0,1,0],[55,0,0,1,1],[56,0,0,0,1],[58,0,0,0,1],[59,0,0,1,0],[87,0,0,3,0],[89,0,0,1,0],[91,0,0,2,0],[102,0,0,6,0],[103,0,0,3,0],[104,0,0,1,1],[105,0,0,0,2],[109,0,0,1,0],[123,0,0,1,0],[126,0,0,0,1],[144,0,0,1,0]],"tip":[[4,0,0,1,0]],"title":[[4,0,0,0,1],[5,0,0,0,1],[6,0,0,0,2],[9,0,0,0,1],[11,0,0,1,1],[12,0,0,0,2],[16,0,0,1,1],[18,0,0,0,3],[19,0,0,1,0],[37,0,0,0,2],[46,0,0,1,0],[61,0,0,0,1],[80,0,0,1,1],[89,0,0,0,1],[90,0,0,1,0],[98,0,0,1,0],[106,0,0,2,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,0,1],[119,0,0,0,2]],"variant":[[4,0,0,0,1],[7,0,0,1,0],[11,0,0,1,1],[12,0,0,0,1]],"body":[[4,0,0,0,1],[11,0,0,1,1],[16,0,0,1,0],[38,0,0,0,1],[47,0,0,1,0],[51,0,0,1,0],[61,0,0,0,1],[63,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[117,0,0,1,0],[120,0,0,1,0],[130,0,0,1,0],[136,0,0,1,0]],"goes":[[4,0,0,0,1],[47,0,0,1,0]],"here":[[4,0,0,0,1],[70,0,0,1,0],[72,0,0,1,0],[84,0,0,1,0]],"grid":[[5,0,0,1,0]],"short":[[5,0,0,1,0],[19,0,0,1,0],[35,0,0,0,1],[37,0,0,0,1],[74,0,1,0,0]],"linked":[[5,0,0,1,0]],"entry":[[5,0,0,1,0],[16,0,0,1,0],[25,0,0,0,1],[46,0,0,1,2],[50,0,0,1,0],[51,0,0,1,0],[79,0,0,1,0],[93,0,1,1,0],[94,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[123,0,0,1,0],[133,0,0,1,0],[135,0,0,1,0],[141,0,1,0,0]],"points":[[5,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[79,0,0,1,0],[93,0,1,1,0],[103,0,0,1,0],[112,0,0,1,0],[113,0,0,0,1],[118,0,0,0,1],[135,0,0,1,0],[141,0,1,0,0]],"bullet":[[5,0,0,1,0],[37,0,0,0,2]],"list":[[5,0,0,1,0],[6,0,0,2,1],[26,0,0,1,0],[29,0,0,1,0],[54,0,0,1,0],[91,0,0,1,0],[125,0,0,0,1],[130,0,0,3,0]],"links":[[5,0,0,1,0],[20,0,0,1,0],[38,0,0,2,0],[43,0,0,2,0],[45,0,0,1,0],[46,0,0,1,0],[49,0,0,1,0],[51,0,0,2,0],[52,0,0,1,0],[54,0,0,2,0],[63,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[75,0,0,1,0],[91,0,0,1,0],[103,0,0,2,0],[111,0,0,1,0],[112,0,0,3,0],[119,0,0,1,1],[125,0,0,1,0],[139,0,0,1,0],[141,0,0,1,0]],"convert":[[5,0,0,1,2],[16,0,0,1,0],[27,0,0,0,1],[33,0,0,1,0],[36,0,0,2,5],[66,0,0,1,0],[67,0,0,1,0],[79,0,0,1,0],[81,0,0,1,0],[86,0,0,1,0],[93,0,0,1,0],[94,1,1,2,1],[95,1,1,2,0],[96,1,1,2,0],[97,1,1,2,0],[98,1,1,1,0],[99,1,1,1,0],[114,0,0,0,1]],"description":[[5,0,0,0,1],[11,0,0,1,2],[12,0,0,0,1],[16,0,0,1,1],[19,0,0,1,0],[46,0,0,1,0],[61,0,0,0,1],[62,0,0,1,0],[63,0,0,1,0],[66,0,0,1,0],[80,0,0,0,1],[86,0,0,2,0],[91,0,0,1,0],[95,0,0,1,0],[98,0,0,1,0],[104,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[119,0,0,0,2],[124,0,0,1,0]],"turn":[[5,0,0,0,1],[116,0,0,1,0]],"friendly":[[5,0,0,0,1],[65,0,0,1,0]],"href":[[5,0,0,0,1],[10,0,0,0,2],[46,0,0,0,2],[119,0,0,0,2]],"numbered":[[6,0,0,1,0]],"walkthroughs":[[6,0,0,1,0]],"ordered":[[6,0,0,1,0],[130,0,0,1,0]],"titles":[[6,0,0,1,0],[44,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[90,0,0,0,1],[136,0,0,1,0]],"author":[[6,0,0,1,1],[19,0,0,1,0],[37,0,0,1,0],[71,0,0,1,0],[80,0,1,0,0],[106,0,0,1,0]],"authoring":[[6,0,0,1,0],[17,0,0,0,3]],"affordances":[[6,0,0,1,0]],"run":[[6,0,0,1,1],[8,0,0,2,1],[22,0,0,1,0],[27,0,0,3,0],[29,0,0,1,1],[33,0,0,1,0],[35,0,1,0,0],[36,0,0,0,7],[39,0,0,1,1],[44,0,0,1,0],[51,0,0,2,0],[53,0,0,1,0],[54,0,0,1,0],[55,0,0,1,2],[56,0,0,1,0],[57,0,0,1,0],[58,0,1,2,0],[59,0,0,1,0],[67,0,0,1,0],[69,0,0,0,6],[71,0,0,1,0],[77,0,0,1,0],[78,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[90,0,0,1,0],[100,0,0,1,0],[110,0,0,2,0],[113,0,0,0,1],[114,0,0,1,0],[119,0,0,0,2],[125,0,0,0,1],[127,0,0,1,0],[131,0,0,2,0],[140,0,0,0,1]],"generate":[[6,0,0,1,1],[22,0,0,1,0],[23,0,0,0,1],[25,0,1,0,1],[26,0,0,0,1],[27,0,0,1,2],[29,0,0,0,1],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,1],[36,0,0,0,2],[39,0,0,1,1],[44,0,1,0,1],[52,0,0,1,0],[53,0,0,1,0],[58,0,1,2,1],[62,0,0,3,0],[67,0,0,2,0],[69,0,0,0,2],[71,0,0,1,0],[81,0,1,1,1],[83,0,0,0,1],[85,0,0,2,0],[86,0,1,1,1],[87,0,1,1,0],[88,0,1,1,1],[89,0,1,1,0],[90,0,1,1,0],[91,0,0,1,0],[92,0,0,1,1],[93,0,0,1,0],[94,0,0,1,0],[110,0,0,1,0],[111,0,0,3,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[137,0,0,1,0]],"writes":[[6,0,0,1,1],[25,0,0,1,0],[35,0,0,1,0],[39,0,0,1,0],[44,0,0,1,0],[62,0,0,2,0],[71,0,0,1,0],[81,0,0,4,0],[83,0,0,1,0],[86,0,0,1,0],[88,0,0,1,0],[115,0,0,1,0],[124,0,0,1,0],[137,0,0,1,0],[142,0,0,1,0]],"public":[[6,0,0,1,0],[7,0,0,1,0],[31,0,0,1,0],[34,0,0,1,0],[35,0,0,0,1],[36,0,0,0,1],[38,0,0,0,2],[39,0,0,0,1],[40,0,0,8,0],[44,0,0,2,2],[45,0,0,1,1],[46,0,0,0,1],[47,0,0,1,2],[49,0,0,0,1],[50,0,0,1,0],[58,0,0,0,1],[62,0,0,2,0],[65,0,0,0,1],[67,0,0,1,0],[69,0,0,0,1],[77,0,0,1,0],[81,0,0,9,1],[82,0,0,2,1],[86,0,0,1,0],[89,0,0,0,10],[90,0,0,0,1],[95,0,0,0,1],[97,0,0,0,1],[105,0,0,1,0],[114,0,0,0,4],[115,0,0,0,4],[117,0,0,1,1],[119,0,0,0,1],[122,0,0,1,0],[137,0,0,0,1],[138,0,0,0,2]],"serve":[[6,0,0,1,0],[7,0,0,1,0],[38,0,0,1,0],[45,0,1,1,0],[49,0,1,0,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[71,0,0,1,0]],"both":[[6,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[31,0,0,1,0],[45,0,0,1,0],[51,0,0,1,0],[58,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0],[81,0,0,1,0],[86,0,0,1,0],[119,0,0,1,0]],"formats":[[6,0,0,1,0],[66,0,0,1,0]],"html":[[6,0,0,1,0],[34,0,0,2,0],[38,0,0,3,0],[40,0,0,2,0],[42,0,0,1,0],[43,0,0,3,0],[46,0,0,2,1],[47,0,0,1,0],[48,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,2,0],[65,0,0,1,1],[71,0,0,1,0],[117,0,0,1,0],[122,0,0,1,0]],"md":[[6,0,0,1,0],[7,0,0,2,0],[14,0,0,1,0],[22,0,0,4,0],[23,0,0,2,4],[24,0,1,7,0],[25,0,0,6,4],[26,0,0,2,0],[27,0,0,3,3],[28,0,0,2,0],[29,0,0,6,0],[30,0,0,4,2],[31,0,0,2,0],[32,0,0,2,0],[34,0,0,1,0],[38,0,0,2,0],[40,0,0,3,0],[43,0,0,2,0],[44,0,0,0,3],[45,0,0,0,2],[46,0,0,0,1],[47,0,0,2,0],[48,0,0,2,0],[49,0,0,0,2],[51,0,0,1,2],[52,0,0,3,0],[61,0,0,0,8],[62,0,0,4,0],[63,0,0,6,0],[64,0,0,2,0],[65,0,0,5,1],[66,0,0,1,0],[67,0,0,3,0],[69,0,0,2,4],[70,0,0,1,0],[71,0,0,4,0],[72,0,0,1,0],[81,0,0,2,0],[82,0,0,1,2],[83,0,0,2,0],[86,0,0,5,0],[88,0,0,2,0],[89,0,0,1,1],[95,0,0,1,0],[97,0,0,0,1],[98,0,0,1,0],[104,0,0,1,0],[111,0,0,4,0],[112,0,0,2,0],[113,0,0,1,5],[114,0,0,1,0],[115,0,0,2,1],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,1],[120,0,0,4,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,7,0],[125,0,0,2,4],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0]],"url":[[6,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[35,0,0,0,1],[36,0,0,1,0],[38,0,0,1,3],[43,0,0,1,0],[44,0,0,0,1],[45,0,0,1,9],[46,0,0,1,0],[47,0,0,1,4],[49,0,0,0,5],[51,0,0,4,0],[52,0,0,1,0],[65,0,0,1,0],[81,0,0,0,1],[86,0,0,3,0],[88,0,0,1,0],[93,0,0,1,0],[103,0,0,1,0],[106,0,0,1,0],[110,0,0,1,0],[117,0,0,1,3],[118,0,0,0,4],[120,0,0,1,0],[124,0,0,2,0],[128,0,1,2,3]],"negotiated":[[6,0,0,1,0],[77,0,0,1,0]],"accept":[[6,0,0,1,0],[7,0,0,1,0],[38,0,0,1,0],[40,0,0,0,1],[47,0,0,3,0],[50,0,0,1,0],[51,0,0,0,1],[52,0,0,1,0],[65,0,0,1,1],[66,0,0,1,0],[69,0,0,0,1],[117,0,0,1,0],[120,0,0,2,0],[121,0,0,1,0],[122,0,0,2,0]],"group":[[7,0,0,1,0],[15,0,0,1,0],[16,0,0,4,1],[17,0,0,5,4],[18,0,0,2,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,3,0],[25,0,0,0,1],[28,0,0,0,1],[37,0,0,1,0],[40,0,0,2,0],[44,0,0,1,0],[61,0,0,0,3],[63,0,0,1,0],[64,0,0,1,0],[66,0,0,3,0],[67,0,0,3,0],[71,0,0,1,0],[80,0,0,1,1],[81,0,0,3,0],[82,0,0,0,1],[87,0,0,1,0],[88,0,0,1,0],[90,0,1,1,0],[106,0,0,1,0],[112,0,0,2,0],[115,0,0,1,0],[124,0,0,2,0],[126,0,0,2,1],[127,0,0,1,0]],"followed":[[7,0,0,1,0]],"need":[[7,0,0,1,0],[27,0,0,1,0],[30,0,0,1,0],[45,0,0,1,0],[60,0,0,1,0],[69,0,0,1,0],[79,0,0,1,0],[91,0,0,1,0],[93,0,0,1,0],[94,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[125,0,0,0,1],[131,0,0,1,0],[139,0,0,1,0]],"jsx":[[7,0,0,1,0],[61,0,0,1,0],[130,0,0,1,0],[133,0,0,1,0]],"aware":[[7,0,0,1,0],[8,0,0,1,0],[66,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[136,0,0,1,0]],"renderer":[[7,0,0,1,0]],"read":[[7,0,0,1,0],[10,0,0,1,0],[14,0,0,1,0],[22,0,0,1,0],[23,0,0,0,1],[24,0,0,1,0],[30,0,0,0,1],[31,0,0,1,0],[37,0,0,1,0],[39,0,0,1,0],[42,0,0,1,0],[47,0,0,0,1],[62,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0],[69,0,0,0,1],[72,0,0,2,0],[114,0,0,1,0],[125,0,0,0,1],[127,0,0,1,0],[131,0,0,1,0],[134,0,0,1,0],[136,0,0,1,0],[142,0,0,1,0],[143,0,0,1,0]],"every":[[7,0,0,1,0],[9,0,0,1,0],[15,0,0,1,0],[22,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[37,0,0,1,0],[40,0,0,1,0],[50,0,0,1,0],[52,0,0,2,0],[60,0,0,2,0],[61,0,0,1,0],[63,0,0,1,0],[67,0,0,2,0],[69,0,0,1,0],[72,0,0,1,0],[77,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[88,0,0,1,0],[90,0,0,1,0],[93,0,0,1,0],[102,0,0,1,0],[112,0,0,1,0],[113,0,0,0,1],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,2,0],[125,0,0,0,1],[137,0,0,1,0]],"tanstack":[[7,0,0,1,2],[33,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[62,0,0,1,0],[69,0,0,1,0],[119,0,0,1,1],[141,0,0,1,2],[142,0,0,1,0]],"start":[[7,0,0,1,2],[33,0,0,1,0],[40,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[51,0,0,1,0],[62,0,0,1,0],[69,0,0,1,0],[144,0,0,2,0]],"vite":[[7,0,0,2,2],[36,0,0,1,1],[45,0,0,0,1],[47,0,0,1,0],[48,0,0,1,0],[62,0,0,1,0],[66,0,0,1,0]],"middleware":[[7,0,0,4,0],[45,0,0,0,2],[47,0,0,3,0],[48,0,0,5,0],[66,0,0,2,0]],"dev":[[7,0,0,1,0],[25,0,0,1,0],[36,0,0,1,0],[40,0,0,1,0],[51,0,0,1,0],[123,0,0,1,0]],"preview":[[7,0,0,1,0],[12,0,0,1,1],[45,0,0,1,0],[51,0,0,1,0],[118,0,0,1,0]],"nitro":[[7,0,0,1,0]],"prod":[[7,0,0,1,0],[118,0,0,1,0]],"negotiate":[[7,0,0,1,0]],"next":[[7,0,0,1,2],[30,0,0,2,0],[32,0,1,0,0],[33,0,0,1,0],[36,0,0,1,0],[39,0,0,1,0],[41,0,1,0,0],[45,0,0,0,1],[47,0,0,1,0],[48,0,0,1,0],[62,0,0,1,0],[66,0,0,1,0],[68,0,1,0,0],[69,0,0,1,0],[72,0,1,0,0],[77,0,0,1,0],[84,0,1,0,0],[119,0,0,1,0]],"js":[[7,0,0,1,2],[30,0,0,1,0],[33,0,0,1,0],[45,0,0,0,1],[47,0,0,1,0],[48,0,0,1,0],[62,0,0,1,0],[66,0,0,1,0],[69,0,0,1,0],[119,0,0,1,0]],"wire":[[7,0,0,1,0],[16,0,0,0,1],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,1,1,0],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,1,0],[40,0,0,1,0],[41,0,0,1,0],[53,0,0,1,0],[62,0,0,1,0],[84,0,0,1,0]],"negotiation":[[7,0,0,1,0],[47,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[71,0,0,1,0],[117,0,0,1,0]],"ts":[[7,0,0,1,0],[16,0,0,1,0],[17,0,0,2,1],[18,0,0,0,1],[27,0,0,1,2],[36,0,0,0,5],[37,0,0,1,1],[38,0,0,0,1],[45,0,0,0,2],[46,0,0,0,1],[47,0,0,1,1],[48,0,0,3,0],[49,0,0,0,1],[90,0,0,2,1],[94,0,0,0,1],[95,0,0,0,1],[96,0,0,0,1],[97,0,0,0,1],[99,0,0,0,1],[100,0,0,0,1],[104,0,0,0,1],[105,0,0,0,1],[109,0,0,0,1],[111,0,0,0,1],[114,0,0,0,1],[115,0,0,0,2],[116,0,0,0,1],[117,0,0,0,1],[118,0,0,0,1],[119,0,0,0,1],[121,0,0,1,0],[124,0,0,1,1],[126,0,0,0,2],[127,0,0,1,0],[128,0,0,0,1],[129,0,0,0,1],[132,0,0,0,1],[133,0,0,0,2],[137,0,0,0,1],[138,0,0,0,1],[139,0,0,0,1],[140,0,0,0,1],[141,0,0,0,2],[142,0,0,0,1]],"route":[[7,0,0,1,0],[20,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[47,0,0,3,0],[48,0,0,2,0],[66,0,0,2,0],[103,0,0,1,0],[117,0,0,1,0]],"handler":[[7,0,0,1,0],[47,0,0,2,0],[48,0,0,3,0]],"configureserver":[[7,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0]],"enough":[[7,0,0,1,0]],"static":[[7,0,0,1,0],[45,0,0,2,0],[47,0,0,0,1],[49,0,0,2,0],[69,0,0,1,0],[75,0,0,1,0],[126,0,0,1,0],[135,0,0,2,0],[136,0,0,1,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,0,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,2,0]],"deployments":[[7,0,0,1,0]],"files":[[7,0,0,1,0],[14,0,0,1,0],[17,0,0,1,0],[22,0,0,2,0],[23,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,2,1],[28,0,0,1,0],[29,0,0,3,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,0,1],[38,0,0,2,0],[42,0,0,2,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,1,2,0],[49,0,0,2,0],[51,0,0,1,0],[57,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,3,0],[67,0,0,2,0],[71,0,0,2,0],[81,0,0,1,0],[89,0,0,2,1],[95,0,0,1,0],[104,0,0,1,0],[111,0,0,1,0],[115,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0]],"items":[[7,0,0,0,1],[10,0,0,0,1]],"value":[[7,0,0,0,3],[10,0,0,0,2],[21,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0]],"package":[[8,0,0,4,0],[18,0,0,1,2],[22,1,1,2,0],[23,1,1,1,0],[24,1,1,2,0],[25,1,2,3,4],[26,1,2,3,0],[27,1,1,1,4],[28,1,1,1,2],[29,1,1,2,2],[30,1,1,3,3],[31,1,1,2,0],[32,1,1,1,0],[39,0,0,3,4],[62,0,0,1,0],[63,0,0,2,0],[65,0,0,3,0],[67,0,0,1,0],[70,0,0,1,0],[71,0,0,1,0],[79,0,0,1,0],[83,0,0,4,1],[84,0,0,1,0],[86,0,0,3,0],[88,0,0,1,1],[124,0,0,1,1],[125,0,0,1,1],[128,0,0,2,0]],"manager":[[8,0,0,5,0],[79,0,0,1,0]],"install":[[8,0,0,3,2],[22,0,0,1,0],[23,0,0,0,4],[25,0,0,1,0],[55,0,0,0,1],[78,0,0,1,0],[79,0,1,2,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[113,0,0,0,1],[119,0,0,0,2],[125,0,0,0,1],[127,0,0,1,0],[138,0,0,0,1]],"commands":[[8,0,0,3,1],[85,0,0,1,0],[142,0,0,2,0]],"row":[[8,0,0,1,0],[11,0,0,1,0],[133,0,0,1,0]],"mode":[[8,0,0,3,2],[24,0,0,2,0],[44,0,0,1,0],[55,0,0,1,0],[61,0,0,0,3],[62,0,0,2,0],[63,0,0,7,0],[64,0,0,2,0],[65,0,0,0,2],[67,0,0,2,0],[86,0,0,4,0],[88,0,1,0,0],[89,0,0,4,1],[108,0,0,1,0]],"command":[[8,0,0,4,2],[35,0,0,1,0],[67,0,0,1,0],[75,0,0,1,0],[79,0,0,1,0],[85,0,0,1,1],[93,0,0,1,0]],"name":[[8,0,0,2,0],[19,0,0,1,0],[23,0,0,0,4],[25,0,0,0,1],[26,0,0,0,1],[35,0,0,0,1],[37,0,0,0,1],[44,0,0,0,1],[55,0,0,0,1],[69,0,0,0,1],[86,0,0,4,0],[89,0,0,0,1],[114,0,0,0,2],[119,0,0,0,1],[133,0,0,1,1]],"cli":[[8,0,0,1,0],[19,0,0,1,0],[22,0,0,1,0],[23,0,0,0,3],[31,0,0,1,0],[32,0,0,1,0],[34,0,0,4,0],[36,0,0,1,0],[57,0,0,1,0],[68,0,0,1,0],[75,0,0,1,0],[79,0,0,1,0],[81,0,0,1,0],[85,1,1,0,0],[86,1,1,0,0],[87,1,1,1,0],[88,1,1,0,0],[89,1,1,0,0],[90,1,1,1,0],[91,1,1,1,0],[92,1,1,0,0],[93,1,1,2,0],[94,0,0,1,0],[100,0,0,3,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[105,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[113,0,0,0,3],[125,0,0,0,2]],"create":[[8,0,0,1,0],[80,0,0,1,0]],"starter":[[8,0,0,1,0]],"prop":[[8,0,0,1,0],[11,0,0,1,0]],"exact":[[8,0,0,1,0],[61,0,0,1,0],[144,0,0,2,0]],"overrides":[[8,0,0,1,0],[91,0,0,2,0],[117,0,0,1,0]],"npm":[[8,0,0,3,2],[22,0,0,2,0],[23,0,0,1,2],[24,0,0,2,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,2,1],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,1],[62,0,0,1,0],[63,0,0,2,0],[79,0,0,2,0],[83,0,0,1,0],[88,0,0,1,0],[111,0,0,2,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,2,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0]],"pnpm":[[8,0,0,4,3],[79,0,0,2,0]],"yarn":[[8,0,0,4,0],[79,0,0,2,0]],"bun":[[8,0,0,3,0],[27,0,0,1,0],[36,0,0,0,7],[47,0,0,1,1],[55,0,0,0,2],[79,0,0,2,0],[116,0,0,1,0]],"npx":[[8,0,0,1,0],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,1],[29,0,0,0,1],[35,0,0,0,1],[39,0,0,0,2],[44,0,0,0,1],[51,0,0,0,1],[55,0,0,0,1],[56,0,0,0,1],[57,0,0,0,1],[58,0,0,0,2],[81,0,0,0,1],[83,0,0,0,1]],"lint":[[8,0,0,4,1],[15,0,0,1,0],[19,0,0,1,0],[20,0,1,2,0],[21,0,0,1,0],[32,0,0,1,0],[37,0,0,1,0],[39,0,0,1,1],[41,0,0,1,0],[53,0,0,2,0],[54,0,0,2,0],[55,0,0,1,3],[56,0,0,1,2],[57,0,0,2,1],[58,0,0,4,1],[59,0,0,1,0],[75,0,0,1,0],[79,0,0,1,0],[85,0,0,2,0],[86,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,1,3,1],[92,0,0,1,1],[93,0,0,2,0],[100,1,1,1,1],[101,1,1,0,0],[102,1,1,0,0],[103,1,1,0,0],[104,1,1,0,1],[105,1,1,0,0],[106,1,1,0,0],[107,1,1,0,0],[108,1,1,0,0],[109,1,1,0,1],[110,1,1,3,0],[140,0,0,0,1]],"dlx":[[8,0,0,2,0]],"bunx":[[8,0,0,1,0]],"defaultmanager":[[8,0,0,0,1]],"collapsible":[[9,0,0,1,0]],"secondary":[[9,0,0,1,0]],"ignores":[[9,0,0,2,0]],"open":[[9,0,0,2,0],[82,0,0,2,0],[125,0,0,0,1],[130,0,0,1,0]],"closed":[[9,0,0,3,0],[130,0,0,1,0]],"state":[[9,0,0,2,0],[98,0,0,1,0],[130,0,0,1,0]],"emits":[[9,0,0,2,0],[24,0,0,1,0],[71,0,0,1,0],[86,0,0,1,0],[111,0,0,2,0],[133,0,0,1,0]],"item":[[9,0,0,1,0]],"accordions":[[9,0,0,3,1]],"place":[[9,0,0,2,0],[24,0,0,1,0],[69,0,0,1,0],[71,0,0,1,0],[80,0,0,1,0],[99,0,0,1,0],[132,0,0,1,0]],"hide":[[9,0,0,2,0]],"should":[[9,0,0,1,1],[26,0,0,1,0],[29,0,0,1,0],[31,0,0,1,0],[39,0,0,1,0],[40,0,0,2,0],[143,0,0,1,0]],"troubleshooting":[[9,0,0,1,0]],"notes":[[9,0,0,1,0],[98,0,1,0,0]],"optional":[[9,0,0,1,1],[11,0,0,2,0],[16,0,0,2,0],[19,0,1,10,0],[36,0,0,1,0],[45,0,0,1,0],[62,0,0,2,0],[63,0,0,3,0],[64,0,0,3,0],[66,0,0,5,0],[75,0,0,1,0],[117,0,0,1,0],[118,0,0,1,2],[119,0,0,0,1],[121,0,0,1,0],[132,0,1,0,0],[133,0,1,0,0]],"material":[[9,0,0,1,1]],"good":[[9,0,0,1,0],[43,0,1,0,0]],"no":[[9,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[24,0,0,1,0],[49,0,0,1,0],[66,0,0,1,0],[83,0,0,2,0],[91,0,0,1,0],[98,0,0,1,0],[106,0,0,12,0],[107,0,0,7,0],[108,0,0,7,0],[112,0,0,1,0],[118,0,0,1,0],[133,0,0,2,0],[138,0,0,1,0]],"everything":[[9,0,0,1,0]],"inside":[[9,0,0,1,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,3,0],[25,0,0,2,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[63,0,0,2,0],[65,0,0,1,0],[83,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[124,0,0,1,0],[125,0,0,0,1]],"navigation":[[10,0,0,1,0],[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,1],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[28,0,0,0,3],[33,0,0,1,0],[35,0,0,1,0],[37,0,0,1,0],[44,0,0,1,0],[53,0,0,1,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[61,0,0,0,1],[64,0,0,1,0],[67,0,0,1,0],[71,0,0,2,0],[73,0,0,1,0],[75,0,0,1,0],[100,0,0,1,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[105,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[115,0,0,1,2],[126,0,0,1,4]],"across":[[10,0,0,1,0],[74,0,0,1,0],[77,0,0,2,0],[90,0,0,1,0]],"topics":[[10,0,0,1,0]],"frameworks":[[10,0,0,1,2],[26,0,0,0,1],[69,0,0,1,0]],"sdks":[[10,0,0,1,0]],"runtimes":[[10,0,0,1,0],[47,0,0,1,0]],"deployment":[[10,0,0,1,0],[47,0,0,0,1],[74,0,0,1,0],[76,0,0,1,0],[128,0,0,1,0]],"targets":[[10,0,0,1,0]],"product":[[10,0,0,1,0],[28,0,0,0,2],[35,0,0,0,1],[37,0,1,0,2],[44,0,0,0,2],[45,0,0,1,0],[64,0,0,1,0],[81,0,0,1,0],[86,0,0,2,0],[89,0,0,1,1],[90,0,0,0,2],[112,0,0,2,0],[114,0,0,0,4],[115,0,0,0,4],[124,0,0,2,2]],"areas":[[10,0,0,1,0]],"reader":[[10,0,0,1,0],[48,0,0,1,0]],"facing":[[10,0,0,1,0],[40,0,0,1,0],[69,0,0,1,0],[111,0,0,1,0],[134,0,0,1,0]],"automatically":[[10,0,0,1,0],[19,0,0,1,0],[47,0,0,1,0]],"llm":[[10,0,0,1,0],[27,0,0,0,1],[32,0,0,1,0],[36,0,0,0,3],[38,0,0,1,1],[45,0,0,0,1],[46,0,0,0,1],[47,0,0,0,1],[49,0,0,0,1],[79,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[90,0,0,1,1],[93,0,0,2,0],[111,1,1,1,1],[112,1,1,0,0],[113,1,1,0,0],[114,1,1,0,1],[115,1,1,0,1],[116,1,1,0,1],[117,1,1,0,0],[118,1,1,0,0],[119,1,1,0,1],[120,1,1,0,0],[121,1,1,0,0],[122,1,1,0,0],[123,1,1,0,0],[124,1,1,0,1],[125,1,1,0,0],[126,1,1,2,0],[127,1,1,0,0],[128,1,1,0,0],[134,0,0,1,0]],"topic":[[10,0,0,1,0],[22,0,0,2,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[65,0,0,1,0],[67,0,0,2,0],[71,0,0,2,0],[75,0,0,1,0],[111,0,0,2,0],[112,0,0,1,0],[125,0,0,0,1],[127,0,1,0,0]],"config":[[10,0,0,1,0],[16,0,0,1,0],[17,0,0,2,1],[18,0,0,1,0],[27,0,0,0,2],[28,0,0,0,1],[37,0,0,2,0],[40,0,0,1,0],[59,0,0,1,0],[90,0,0,2,1],[124,0,0,1,0],[127,0,0,1,0],[144,0,0,1,0]],"framework":[[10,0,0,1,1],[19,0,0,2,0],[20,0,0,4,0],[21,0,0,1,0],[33,0,0,1,0],[38,0,0,1,0],[45,0,0,0,1],[46,0,0,2,0],[47,0,0,2,0],[54,0,0,5,0],[59,0,0,1,0],[66,0,0,1,0],[69,0,0,1,0],[73,0,0,1,0],[74,0,0,3,0],[77,0,0,2,0],[103,0,0,4,0],[105,0,0,0,1],[106,0,0,1,0],[116,0,0,2,0],[119,0,0,1,0],[120,0,0,1,0],[130,0,0,1,0]],"react":[[10,0,0,2,4],[26,0,0,0,3],[74,0,0,1,0]],"integration":[[10,0,0,3,0],[120,0,0,1,0]],"vue":[[10,0,0,2,3]],"svelte":[[10,0,0,2,0]],"label":[[10,0,0,0,3],[108,0,0,1,0]],"activevalue":[[10,0,0,0,1]],"explicit":[[11,0,0,1,0],[26,0,0,1,0],[141,0,0,1,0]],"type":[[11,0,0,3,2],[19,0,0,1,0],[20,0,0,1,0],[36,0,0,0,1],[38,0,0,1,0],[40,0,0,1,0],[46,0,0,0,1],[47,0,0,1,0],[51,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[66,0,0,1,0],[102,0,0,1,0],[105,0,0,0,1],[106,0,0,1,0],[107,0,0,2,0],[108,0,0,1,0],[113,0,0,0,1],[117,0,0,1,0],[119,0,0,0,1],[120,0,0,2,0],[133,0,0,2,0],[138,0,0,0,2]],"rows":[[11,0,0,1,0]],"already":[[11,0,0,1,0],[42,0,0,1,0],[139,0,0,1,0]],"know":[[11,0,0,1,0]],"reads":[[11,0,0,1,0],[15,0,0,1,0],[36,0,0,0,1],[53,0,0,1,0],[81,0,0,1,0],[133,0,0,2,0],[137,0,0,1,0]],"typescript":[[11,0,0,1,0],[36,0,0,0,1],[93,0,0,1,0],[133,0,0,2,0]],"file":[[11,0,0,1,0],[12,0,0,1,0],[15,0,0,1,0],[18,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[56,0,0,1,0],[58,0,0,1,0],[63,0,0,1,0],[66,0,0,2,0],[67,0,0,1,0],[81,0,0,2,0],[86,0,0,2,0],[94,0,0,1,0],[96,0,0,1,0],[97,0,0,1,0],[105,0,0,0,1],[111,0,0,1,0],[112,0,0,3,0],[120,0,0,1,0],[125,0,0,0,2],[127,0,0,1,0],[133,0,0,4,0]],"extracts":[[11,0,0,1,0]],"named":[[11,0,0,1,0],[129,0,0,1,0],[133,0,0,1,0],[139,0,0,1,0]],"keep":[[11,0,0,1,0],[14,0,0,2,0],[38,0,0,1,0],[45,0,0,1,0],[52,0,0,1,0],[57,0,0,1,0],[109,0,0,1,0],[144,0,0,1,0]],"its":[[11,0,0,1,0],[39,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[66,0,0,1,0],[77,0,0,1,0],[119,0,0,1,0],[134,0,0,1,0]],"path":[[11,0,0,1,0],[22,0,0,1,0],[25,0,0,1,0],[33,0,0,1,0],[47,0,0,1,0],[63,0,0,3,0],[70,0,1,0,0],[89,0,0,0,12],[93,0,0,1,0],[113,0,0,0,1],[117,0,0,1,0],[120,0,0,1,0],[124,0,0,2,0],[133,0,0,2,1],[143,0,0,1,0]],"stable":[[11,0,0,1,0],[14,0,0,1,0],[19,0,0,1,0]],"property":[[11,0,0,1,0],[19,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[66,0,0,1,0],[119,0,0,0,2],[133,0,0,1,0]],"default":[[11,0,0,1,1],[19,0,0,2,0],[20,0,0,1,0],[37,0,0,0,1],[49,0,0,0,1],[50,0,0,2,0],[62,0,0,2,0],[63,0,0,1,0],[66,0,0,1,0],[67,0,0,2,0],[81,0,0,1,0],[86,0,0,2,0],[91,0,0,2,0],[99,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,2,0],[106,0,1,0,0],[107,0,1,0,0],[108,0,1,0,0],[111,0,0,1,0],[113,0,0,0,1],[117,0,0,1,0],[119,0,0,0,1],[122,0,0,1,0],[124,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0],[130,0,1,1,0],[131,0,0,1,0],[132,0,0,2,0],[133,0,0,2,0],[134,0,0,1,0]],"required":[[11,0,0,2,1],[15,0,0,1,0],[16,0,0,2,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,2,0],[20,0,0,2,0],[21,0,0,1,0],[59,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[66,0,0,1,0],[102,0,0,1,0],[104,0,0,1,0],[105,0,0,2,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0]],"string":[[11,0,0,1,1],[16,0,0,1,0],[19,0,0,3,0],[46,0,0,1,0],[66,0,0,1,0],[105,0,0,0,3],[106,0,0,7,0],[107,0,0,7,0],[108,0,0,5,0],[109,0,0,0,1],[118,0,0,1,0],[120,0,0,1,0],[124,0,0,1,0]],"heading":[[11,0,0,1,1],[16,0,0,1,0],[66,0,0,1,0],[130,0,0,1,0],[136,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0]],"rendered":[[11,0,0,1,1],[46,0,0,1,0],[98,0,0,1,0],[133,0,0,1,0]],"calloutvariant":[[11,0,0,1,1]],"visual":[[11,0,0,1,1],[76,0,0,1,0]],"treatment":[[11,0,0,1,1]],"deprecated":[[11,0,0,3,0],[19,0,0,3,0],[106,0,0,1,0]],"boolean":[[11,0,0,1,0],[19,0,0,6,0],[106,0,0,6,0],[107,0,0,2,0],[108,0,0,2,0]],"marks":[[11,0,0,1,0],[19,0,0,2,0]],"false":[[11,0,0,1,0],[96,0,0,0,1]],"properties":[[11,0,0,0,1]],"true":[[11,0,0,0,1],[27,0,0,0,3],[36,0,0,0,1],[95,0,0,1,1],[126,0,0,0,1]],"data":[[12,0,0,2,0],[33,0,0,1,0],[40,0,0,1,0],[64,0,0,1,0],[81,0,0,1,0],[111,0,0,1,0]],"driven":[[12,0,0,1,0]],"examples":[[12,0,0,1,0]],"host":[[12,0,0,1,1],[64,0,0,1,0],[89,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0]],"receives":[[12,0,0,1,0]],"code":[[12,0,0,1,1],[23,0,0,0,1],[24,0,0,1,0],[39,0,0,1,0],[47,0,0,1,0],[62,0,0,1,0],[63,0,0,2,0],[64,0,0,1,0],[65,0,0,0,1],[66,0,0,1,0],[69,0,0,0,1],[77,0,0,1,0],[83,0,0,1,0],[88,0,0,1,0],[124,0,0,1,0],[130,0,0,1,0],[136,0,0,1,0],[142,0,0,1,0]],"loaders":[[12,0,0,1,0]],"dynamic":[[12,0,0,1,0]],"imports":[[12,0,0,1,0],[61,0,0,0,1],[90,0,0,1,0],[129,0,0,1,0],[131,0,0,1,0]],"outside":[[12,0,0,1,0],[104,0,0,1,0]],"needs":[[12,0,0,1,0],[26,0,0,1,0],[73,0,0,1,0],[80,0,0,1,0],[133,0,0,1,0]],"specific":[[12,0,0,1,0],[26,0,1,0,0],[128,0,0,1,0],[135,0,0,1,0]],"behavior":[[12,0,0,1,0],[16,0,0,1,0],[98,0,1,0,0]],"output":[[12,0,0,0,1],[14,0,0,1,0],[22,0,0,1,0],[45,0,0,1,0],[56,0,0,1,0],[60,0,0,1,0],[61,0,0,1,0],[62,0,1,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,2,0],[66,0,0,1,0],[67,0,0,4,0],[68,0,0,1,0],[78,0,0,1,0],[82,0,1,0,0],[83,0,0,1,0],[85,0,0,1,0],[86,0,0,2,0],[87,0,0,1,0],[88,0,0,1,0],[89,0,1,1,0],[90,0,0,1,0],[91,0,0,1,0],[92,0,0,1,0],[93,0,0,2,0],[94,0,0,1,0],[95,0,0,1,0],[96,0,0,1,0],[97,0,0,1,0],[98,0,0,2,0],[111,0,0,1,0],[125,0,1,0,0],[133,0,0,1,0],[134,0,0,2,0]],"inspect":[[12,0,0,0,1],[78,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,1,1,0],[83,0,0,1,0],[84,0,0,1,0]],"filename":[[12,0,0,0,1]],"language":[[12,0,0,0,1]],"while":[[12,0,0,0,1],[51,0,0,1,0],[137,0,0,1,0]],"diagrams":[[13,0,0,1,0]],"plain":[[13,0,0,1,0],[47,0,0,1,0],[49,0,0,2,0],[126,0,0,1,0],[141,0,0,1,0]],"renders":[[13,0,0,1,0],[16,0,0,1,0],[65,0,0,1,0],[77,0,0,1,0],[103,0,0,1,0]],"client":[[13,0,0,1,0],[133,0,0,1,0]],"svg":[[13,0,0,1,0]],"preserves":[[13,0,0,1,0]],"tools":[[13,0,0,1,0],[22,0,0,1,0],[24,0,0,1,0],[31,0,0,1,0],[65,0,0,1,0],[72,0,0,1,0],[142,0,0,0,1]],"copy":[[13,0,0,1,0]],"chart":[[13,0,0,0,1],[34,0,0,1,0]],"graph":[[13,0,0,0,2]],"lr":[[13,0,0,0,2],[17,0,0,0,1],[23,0,0,0,1],[34,0,0,1,0],[65,0,0,0,1],[69,0,0,0,1]],"index":[[13,0,0,0,1],[25,0,0,1,2],[33,0,0,1,0],[35,0,0,1,0],[39,0,0,1,0],[40,0,0,3,0],[44,0,0,0,1],[61,0,0,0,1],[62,0,0,1,0],[63,0,0,5,0],[64,0,0,1,0],[65,0,0,0,1],[66,0,0,1,0],[67,0,0,1,0],[69,0,0,1,0],[71,0,0,1,0],[73,0,0,1,0],[75,0,0,1,0],[80,0,0,1,0],[81,0,0,4,0],[82,0,0,2,5],[83,0,0,2,0],[86,0,0,2,0],[88,0,0,2,0],[89,0,0,0,2],[111,0,0,1,0],[112,0,0,2,0],[113,0,0,0,1],[135,0,0,2,0],[136,0,0,6,0],[137,0,0,2,1],[138,0,0,1,1],[139,0,0,2,3],[140,0,0,1,1],[141,0,0,1,1],[142,0,0,1,1],[143,0,0,1,0],[144,0,0,3,0]],"api":[[13,0,0,0,1],[46,0,0,1,0],[91,0,0,1,0],[93,0,0,1,0],[100,0,0,2,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,1,1,0],[105,0,1,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[116,0,0,1,0],[144,0,0,1,0]],"guidelines":[[14,0,1,0,0]],"stays":[[14,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[73,0,0,1,0],[98,0,0,1,0],[137,0,0,1,0]],"out":[[14,0,0,1,0],[23,0,0,0,1],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,1],[29,0,0,0,1],[35,0,0,0,1],[39,0,0,0,1],[44,0,0,0,1],[50,0,0,1,0],[58,0,0,0,1],[62,0,0,2,0],[63,0,0,3,0],[64,0,0,1,0],[65,0,0,0,6],[69,0,0,0,8],[73,0,0,1,0],[81,0,0,0,1],[83,0,0,0,1],[86,0,0,5,0],[88,0,0,2,1],[112,0,0,8,0],[130,0,0,0,2]],"renaming":[[14,0,0,1,0]],"breaks":[[14,0,0,1,0]],"until":[[14,0,0,1,0]],"remap":[[14,0,0,1,0]],"quality":[[14,0,0,1,0]],"converted":[[14,0,0,1,0],[40,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[82,0,0,0,1],[133,0,0,1,0],[134,0,0,1,0]],"first":[[14,0,0,1,0],[30,0,0,0,1],[39,0,0,1,0],[58,0,0,1,0],[59,0,1,0,0],[72,0,0,1,0],[110,0,0,1,0],[114,0,0,1,0],[129,0,0,1,0],[134,0,0,1,0]],"edit":[[14,0,0,1,0]],"order":[[14,0,0,1,0],[27,0,0,1,0],[36,0,0,2,0],[59,0,0,1,0],[67,0,0,1,0],[90,0,0,1,1],[93,0,0,1,0],[94,0,0,1,0],[95,0,0,1,0],[99,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0],[131,0,1,0,0]],"actually":[[14,0,0,1,0]],"looks":[[14,0,0,1,0],[24,0,0,1,0],[38,0,0,1,0],[43,0,1,0,0],[82,0,0,1,0],[134,0,0,1,0]],"wrong":[[14,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[54,0,0,1,0],[59,0,0,1,0],[102,0,0,1,0],[123,0,0,1,0],[134,0,0,1,0]],"frontmatter":[[15,1,1,1,0],[16,1,1,0,0],[17,1,1,0,0],[18,1,1,0,0],[19,1,1,0,0],[20,1,1,1,0],[21,1,1,1,0],[37,0,0,2,0],[38,0,0,2,0],[39,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[54,0,0,4,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,2,0],[61,0,0,0,2],[66,0,0,1,0],[67,0,0,2,0],[68,0,0,1,0],[71,0,0,1,0],[75,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[91,0,0,2,0],[93,0,0,1,0],[96,0,0,1,1],[98,0,0,3,0],[102,0,1,1,0],[104,0,0,3,0],[105,0,0,0,1],[106,0,1,0,0],[107,0,1,0,0],[109,0,0,0,1],[117,0,0,1,0]],"fields":[[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,1,1,0],[20,0,0,1,0],[21,0,0,1,0],[54,0,0,2,0],[59,0,0,1,0],[89,0,0,1,0],[91,0,0,2,0],[104,0,0,1,0],[105,0,0,1,0]],"semantics":[[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0]],"tree":[[15,0,0,1,0],[16,0,0,1,0],[17,0,1,2,1],[18,0,1,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[35,0,0,1,0],[37,0,0,1,0],[61,0,0,0,1],[64,0,0,1,0],[71,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[95,0,0,1,0],[124,0,0,1,0],[126,0,0,1,0],[131,0,0,1,0]],"page":[[15,0,0,2,0],[16,0,0,1,0],[17,0,0,2,3],[18,0,0,1,0],[19,0,0,4,0],[20,0,0,1,0],[21,0,0,1,0],[25,0,0,0,1],[38,0,0,1,0],[40,0,0,1,0],[43,0,0,4,0],[44,0,0,1,0],[46,0,0,4,4],[47,0,0,1,0],[48,0,0,2,0],[52,0,0,2,0],[54,0,0,1,0],[60,0,0,1,0],[61,0,0,0,1],[63,0,0,1,0],[64,0,0,1,0],[66,0,0,2,0],[67,0,0,1,0],[70,0,0,1,0],[80,0,1,1,0],[81,0,0,1,0],[88,0,0,1,0],[90,0,0,1,0],[98,0,0,1,0],[100,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[112,0,0,1,0],[117,0,0,1,0],[119,0,0,2,0],[136,0,0,2,0],[139,0,0,1,0],[144,0,0,1,0]],"yaml":[[15,0,0,1,0],[55,0,0,0,1],[98,0,0,1,0],[102,0,0,1,0]],"things":[[15,0,0,1,0],[81,0,0,1,0]],"lives":[[15,0,0,1,0],[39,0,0,2,0]],"nav":[[15,0,0,1,0],[16,0,0,1,0],[17,0,1,1,2],[18,0,1,0,0],[19,0,0,1,0],[34,0,0,1,0],[61,0,0,0,3],[64,0,0,2,0],[80,0,0,1,0],[81,0,0,1,0],[108,0,0,3,0],[126,0,0,1,1]],"minimum":[[16,0,1,0,0],[80,0,0,1,0]],"non":[[16,0,0,1,0],[18,0,0,1,0],[40,0,0,2,0],[53,0,0,1,0],[66,0,0,1,0],[91,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[118,0,0,0,1]],"empty":[[16,0,0,1,0],[40,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[119,0,0,1,0]],"sidebar":[[16,0,0,1,0],[19,0,0,1,0],[21,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[108,0,0,1,0],[126,0,0,3,0]],"recommended":[[16,0,0,1,0],[45,0,0,1,0]],"routing":[[16,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[40,0,0,1,0],[42,0,0,1,0],[73,0,0,1,0],[76,0,0,1,0],[81,0,0,1,0],[82,0,0,0,2],[112,0,0,2,0],[124,0,0,1,0],[127,0,0,1,0]],"hint":[[16,0,0,1,0]],"omitted":[[16,0,0,1,0],[118,0,0,1,0]],"converter":[[16,0,0,1,0],[39,0,0,1,0],[103,0,0,1,0],[106,0,0,1,0]],"synthesizes":[[16,0,0,1,0]],"during":[[16,0,0,1,0],[25,0,0,1,0],[36,0,0,1,0]],"slug":[[16,0,0,1,0],[17,0,0,4,0],[18,0,0,1,3],[28,0,0,0,2],[37,0,0,0,2],[48,0,0,1,0],[66,0,0,2,0],[67,0,0,1,0],[89,0,0,0,1],[124,0,0,1,0],[126,0,0,0,2]],"declared":[[16,0,0,1,0],[17,0,0,1,0]],"pages":[[16,0,0,1,0],[19,0,0,1,0],[26,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[43,0,0,1,0],[45,0,0,2,2],[46,0,1,0,1],[47,0,0,1,0],[48,0,0,2,0],[51,0,0,2,0],[52,0,0,1,0],[57,0,0,1,0],[64,0,0,2,0],[71,0,0,1,0],[81,0,0,1,0],[82,0,0,0,1],[89,0,0,1,0],[108,0,0,1,0],[112,0,0,3,0],[115,0,0,2,3],[117,0,0,1,0],[118,0,0,0,3],[120,0,0,1,0],[127,0,0,2,0]],"excluded":[[16,0,0,1,0],[19,0,0,1,0]],"connect":[[16,0,0,0,1],[18,0,0,0,2],[31,0,0,1,0],[33,1,1,0,0],[34,1,1,0,0],[35,1,1,0,0],[36,1,1,0,0],[37,1,1,0,0],[38,1,1,0,0],[39,1,2,0,0],[40,1,1,0,0],[41,1,1,0,0]],"site":[[16,0,0,0,1],[18,0,0,0,2],[31,0,0,1,0],[33,1,1,2,0],[34,1,1,0,0],[35,1,1,1,0],[36,1,1,0,0],[37,1,1,0,0],[38,1,2,0,0],[39,1,1,1,0],[40,1,1,0,0],[41,1,1,0,0],[42,0,0,2,0],[43,0,0,2,0],[44,0,0,2,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,2,0],[52,0,0,1,0],[61,0,0,0,3],[62,0,0,1,0],[63,0,0,3,0],[64,0,0,1,0],[65,0,0,2,5],[67,0,0,2,0],[69,0,0,0,8],[70,0,0,1,0],[73,0,0,1,0],[74,0,0,3,0],[81,0,0,1,0],[84,0,0,1,0],[86,0,0,2,0],[89,0,0,2,1],[111,0,0,1,0]],"build":[[16,0,0,0,2],[17,0,0,1,4],[18,0,0,1,2],[20,0,0,1,0],[21,0,0,1,0],[27,0,0,3,1],[33,0,0,3,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,1,1,4],[37,0,0,1,0],[38,0,0,1,0],[39,0,0,2,1],[40,0,0,2,0],[41,0,0,1,0],[44,0,0,2,0],[62,0,0,1,0],[64,0,0,1,0],[70,0,0,1,0],[81,0,0,1,0],[93,0,0,1,0],[100,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,3,0],[135,0,0,1,0],[137,0,1,0,0],[141,0,0,1,0]],"groups":[[17,0,1,0,1],[18,0,2,1,0],[27,0,0,0,1],[28,0,0,0,5],[37,0,1,0,1],[39,0,0,1,0],[58,0,0,1,0],[61,0,0,0,5],[66,0,0,1,0],[67,0,0,1,0],[81,0,0,2,0],[89,0,0,0,1],[90,0,0,3,2],[112,0,0,2,0],[114,0,0,0,6],[115,0,0,0,2],[124,0,0,1,2],[126,0,0,0,2],[127,0,0,1,0]],"become":[[17,0,1,0,0],[18,0,1,0,0],[90,0,0,1,0]],"declares":[[17,0,0,2,0],[28,0,0,0,1],[37,0,0,1,0],[126,0,0,0,1]],"single":[[17,0,0,1,0],[35,0,0,2,0],[69,0,0,1,0],[70,0,0,2,0],[71,0,0,1,0],[72,0,0,1,0],[87,0,0,1,0],[89,0,0,1,0],[127,0,0,1,0]],"once":[[17,0,0,1,0],[21,0,0,1,0],[37,0,0,1,0],[71,0,0,1,0],[82,0,0,1,0],[109,0,0,1,0]],"intersection":[[17,0,0,1,0]],"produces":[[17,0,0,1,0],[60,0,0,1,0],[69,0,0,1,0],[72,0,0,1,0],[73,0,0,1,0],[78,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[111,0,0,1,0],[127,0,0,2,0]],"leaf":[[17,0,0,1,0],[18,0,0,1,0],[40,0,0,2,0],[66,0,0,3,0],[81,0,0,1,0],[82,0,0,0,1],[112,0,0,5,0],[127,0,0,2,0]],"isn":[[17,0,0,1,0],[20,0,0,1,0]],"fails":[[17,0,0,1,0],[39,0,0,1,0],[58,0,0,2,0],[59,0,0,1,0],[67,0,0,1,0],[123,0,0,1,0]],"unknown":[[17,0,0,1,0],[20,0,0,2,0],[27,0,0,0,1],[28,0,0,0,4],[39,0,0,0,1],[54,0,0,1,0],[55,0,0,2,1],[56,0,0,0,1],[58,0,0,1,1],[59,0,0,1,0],[67,0,0,1,0],[87,0,0,1,0],[91,0,0,4,0],[102,0,0,3,0],[105,0,0,0,1],[109,0,0,2,0],[126,0,0,0,3]],"truth":[[17,0,0,1,0],[21,0,0,1,0]],"drift":[[17,0,0,1,0],[110,0,0,1,0]],"flowchart":[[17,0,0,0,1],[23,0,0,0,1],[34,0,0,1,0],[61,0,0,0,1],[65,0,0,0,1],[69,0,0,0,1],[130,0,0,0,1]],"cfg":[[17,0,0,0,2]],"page1":[[17,0,0,0,2]],"page2":[[17,0,0,0,2]],"page3":[[17,0,0,0,2]],"resolver":[[17,0,0,0,9],[61,0,0,0,1]],"sections":[[17,0,0,0,1],[37,0,0,1,0],[64,0,0,1,0],[130,0,0,1,0]],"nested":[[18,0,1,1,0],[24,0,0,1,0]],"declare":[[18,0,0,1,0],[37,0,0,1,0]],"children":[[18,0,0,2,1],[66,0,0,1,0],[112,0,0,1,0]],"deeper":[[18,0,0,1,0],[63,0,0,1,0]],"trees":[[18,0,0,1,0],[95,0,0,1,0]],"sets":[[18,0,0,1,0],[50,0,0,2,0],[117,0,0,1,0],[122,0,0,1,0]],"bundle":[[18,0,0,1,2],[19,0,0,1,0],[21,0,0,1,0],[22,1,1,1,0],[23,1,1,0,4],[24,1,1,1,0],[25,1,1,1,1],[26,1,1,1,1],[27,1,1,0,1],[28,1,1,0,0],[29,1,1,0,1],[30,1,2,0,0],[31,1,1,0,0],[32,1,1,0,0],[39,0,0,1,0],[61,0,0,0,1],[62,0,0,2,0],[63,0,0,4,0],[64,0,0,1,0],[65,0,0,1,3],[67,0,0,2,0],[69,0,0,1,7],[71,0,0,1,0],[72,0,0,1,0],[82,0,0,0,1],[83,0,1,2,1],[84,0,0,1,0],[86,0,0,7,0],[88,0,1,1,1],[89,0,0,2,0],[111,0,0,1,0],[125,0,0,1,0],[127,0,0,2,0]],"lands":[[18,0,0,1,0]],"slot":[[18,0,0,1,0]],"get":[[18,0,0,1,0],[37,0,0,0,2],[39,0,0,1,0],[40,0,0,1,0],[65,0,0,1,0],[71,0,1,2,0],[80,0,0,0,1],[82,0,0,0,1],[89,0,0,0,2],[96,0,0,1,0],[112,0,0,1,0],[113,0,0,0,1],[125,0,0,0,1],[129,0,0,2,0]],"leaves":[[18,0,0,1,0],[48,0,0,1,0],[117,0,0,1,0],[127,0,0,1,0]],"schema":[[19,0,0,1,0],[20,0,0,4,0],[46,0,0,1,0],[53,0,0,1,0],[54,0,0,3,0],[58,0,0,1,0],[59,0,0,2,0],[91,0,0,2,0],[100,0,0,2,0],[101,0,0,1,0],[102,0,0,3,0],[103,0,0,1,0],[104,0,0,6,0],[105,0,0,2,1],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,4,0],[110,0,0,1,0],[119,0,0,0,1],[120,0,0,1,0]],"also":[[19,0,0,1,0],[24,0,0,1,0],[39,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[77,0,0,1,0],[81,0,0,1,0],[93,0,0,1,0],[117,0,0,1,0]],"accepts":[[19,0,0,1,0],[57,0,0,1,0],[121,0,0,1,0]],"resolved":[[19,0,0,1,0],[39,0,0,1,0],[64,0,0,1,0],[129,0,0,1,0]],"deprecatedreason":[[19,0,0,1,0],[106,0,0,1,0]],"message":[[19,0,0,1,0],[105,0,0,0,1],[140,0,0,1,0]],"paired":[[19,0,0,1,0]],"experimental":[[19,0,0,2,0],[106,0,0,1,0]],"canary":[[19,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0]],"hides":[[19,0,0,1,0]],"channels":[[19,0,0,1,0]],"new":[[19,0,0,1,0],[38,0,0,0,2],[45,0,0,0,1],[47,0,0,0,1],[49,0,0,0,1],[72,0,0,1,0],[106,0,0,1,0],[117,0,0,0,1],[118,0,0,0,2]],"highlights":[[19,0,0,1,0]],"recently":[[19,0,0,1,0]],"added":[[19,0,0,1,0]],"draft":[[19,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0]],"excludes":[[19,0,0,1,0]],"generation":[[19,0,0,1,0],[27,0,0,1,0],[38,0,0,1,0],[91,0,0,1,0],[100,0,0,1,0],[137,0,0,1,0]],"entirely":[[19,0,0,1,0],[50,0,0,1,0]],"tags":[[19,0,0,2,0],[106,0,0,1,0],[107,0,0,1,0],[132,0,0,1,0]],"free":[[19,0,0,1,0],[116,0,0,1,0]],"form":[[19,0,0,1,0]],"facets":[[19,0,0,1,0]],"availablein":[[19,0,0,1,0],[106,0,0,1,0],[110,0,0,1,0]],"array":[[19,0,0,1,0],[95,0,0,1,0],[105,0,0,0,1],[106,0,0,3,0],[107,0,0,2,0],[108,0,0,1,0]],"cross":[[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[54,0,0,2,0],[59,0,0,1,0],[103,0,0,1,0],[105,0,0,0,1],[122,0,0,1,0]],"availability":[[19,0,0,1,0]],"map":[[19,0,0,1,0],[120,0,0,1,0]],"forces":[[19,0,0,1,0]],"even":[[19,0,0,1,0],[144,0,0,1,0]],"normally":[[19,0,0,1,0]],"lastmodified":[[19,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[95,0,0,1,0],[106,0,0,1,0]],"lastauthor":[[19,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[95,0,0,1,0],[106,0,0,1,0]],"filled":[[19,0,0,1,0]],"pass":[[19,0,0,1,0],[36,0,0,1,1],[45,0,0,1,0],[50,0,0,1,0],[81,0,0,1,0],[91,0,0,2,0],[109,0,0,1,0],[122,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[133,0,0,1,0],[140,0,0,1,0],[141,0,0,1,0]],"enrich":[[19,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[106,0,0,1,0]],"git":[[19,0,0,1,0],[39,0,0,0,1],[86,0,0,2,0],[87,0,0,2,0],[95,0,0,1,0],[106,0,0,1,0]],"hand":[[19,0,0,1,0],[38,0,0,1,0]],"rules":[[20,0,1,2,0],[37,0,0,1,0],[53,0,0,1,0],[75,0,0,1,0],[100,1,1,1,0],[101,1,2,0,0],[102,1,3,0,0],[103,1,3,0,0],[104,1,1,0,0],[105,1,1,0,0],[106,1,1,0,0],[107,1,1,0,0],[108,1,1,0,0],[109,1,1,0,0],[110,1,1,0,0],[134,0,1,0,0]],"enforces":[[20,0,0,1,0]],"violations":[[20,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[59,0,0,1,0],[105,0,0,1,1]],"surface":[[20,0,0,1,0],[141,0,0,1,0]],"ci":[[20,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[41,0,0,1,0],[53,1,1,2,0],[54,1,1,1,0],[55,1,1,1,0],[56,1,2,2,0],[57,1,1,2,0],[58,1,1,1,0],[59,1,1,2,0],[100,0,0,1,0],[109,0,0,1,0],[110,0,0,2,0],[128,0,0,1,0]],"before":[[20,0,0,1,0],[29,0,1,0,0],[33,0,0,1,0],[36,0,0,1,0],[38,0,0,1,0],[39,0,0,1,0],[40,0,0,2,0],[44,0,0,1,0],[47,0,0,3,0],[48,0,0,3,0],[53,0,0,1,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,2,0],[58,0,1,1,0],[59,0,0,1,0],[64,0,0,1,0],[89,0,0,1,0],[91,0,0,1,0],[96,0,0,1,0],[99,0,0,2,0],[100,0,0,2,0],[103,0,0,1,0],[110,0,0,1,0],[115,0,0,1,0],[118,0,0,0,1],[131,0,0,4,0],[132,0,0,2,0],[143,0,0,1,0]],"they":[[20,0,0,1,0],[30,0,0,0,1],[31,0,0,1,0],[49,0,0,2,0],[57,0,0,1,0],[65,0,0,1,0],[100,0,0,1,0],[101,0,0,1,0],[110,0,0,1,0],[144,0,0,1,0]],"reach":[[20,0,0,1,0],[24,0,0,1,0],[57,0,0,1,0],[100,0,0,1,0]],"relevant":[[20,0,0,1,0]],"field":[[20,0,0,3,0],[21,0,0,1,0],[45,0,0,1,0],[54,0,0,1,0],[55,0,0,1,0],[59,0,0,2,0],[66,0,0,1,0],[102,0,0,4,0],[105,0,0,1,2],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0]],"missing":[[20,0,0,1,0],[29,0,0,2,0],[38,0,0,1,0],[39,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[54,0,0,1,0],[59,0,0,1,0],[87,0,0,1,0],[102,0,0,1,0],[105,0,0,1,0],[110,0,0,1,0],[120,0,0,1,0]],"top":[[20,0,0,1,0],[44,0,0,1,0],[54,0,0,1,0],[98,0,0,1,0],[102,0,0,1,0],[112,0,0,1,0],[135,0,0,1,0],[144,0,0,1,0]],"level":[[20,0,0,1,0],[40,0,0,1,0],[44,0,0,1,0],[52,0,0,1,0],[54,0,0,1,0],[102,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[120,0,1,0,0],[121,0,1,0,0]],"warn":[[20,0,0,1,0],[91,0,0,1,0],[102,0,0,1,0],[104,0,0,2,0],[105,0,0,0,1]],"fail":[[20,0,0,1,0],[27,0,0,0,1],[28,0,0,0,1],[53,0,0,2,0],[54,0,0,1,0],[55,0,0,2,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[100,0,0,1,0],[110,0,0,1,0]],"parse":[[20,0,0,2,0],[54,0,0,2,0],[59,0,0,1,0],[67,0,0,1,0],[102,0,0,3,0],[105,0,0,0,1],[143,0,0,1,0]],"meta":[[20,0,0,1,0],[54,0,0,1,0],[91,0,0,2,0],[102,0,0,1,0],[104,0,0,3,0],[105,0,0,0,1],[108,0,1,0,0],[110,0,0,1,0],[119,0,0,1,2]],"json":[[20,0,0,1,0],[27,0,0,0,1],[29,0,0,1,0],[34,0,0,3,0],[36,0,0,0,1],[38,0,0,2,1],[39,0,0,1,1],[40,0,0,3,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,2,1],[45,0,0,2,1],[46,0,1,3,1],[47,0,0,1,1],[48,0,0,2,0],[49,0,0,1,1],[50,0,0,1,0],[51,0,0,2,0],[52,0,0,3,0],[54,0,0,1,0],[56,0,0,2,2],[58,0,0,0,1],[61,0,0,0,2],[62,0,0,2,0],[63,0,0,2,0],[64,0,0,2,0],[65,0,0,0,1],[69,0,0,0,1],[81,0,0,3,0],[82,0,0,0,3],[85,0,0,1,0],[86,0,0,3,0],[87,0,0,5,0],[88,0,0,3,0],[89,0,1,3,4],[90,0,0,1,0],[91,0,0,3,0],[92,0,0,1,0],[93,0,0,2,0],[102,0,0,1,0],[104,0,0,2,0],[108,0,1,0,0],[110,0,0,2,0],[111,0,0,1,0],[112,0,0,1,0],[117,0,0,2,0],[119,0,0,1,5],[120,0,0,2,0],[121,0,0,1,0],[123,0,0,1,0],[126,0,0,1,2],[136,0,0,2,0],[137,0,0,0,2],[138,0,0,0,2],[143,0,0,1,0]],"doesn":[[20,0,0,2,0],[54,0,0,1,0],[56,0,0,1,0],[77,0,0,1,0],[103,0,0,1,0],[144,0,0,1,0]],"invalid":[[20,0,0,1,0],[54,0,0,1,0],[59,0,0,1,0],[103,0,0,1,0],[105,0,0,1,1]],"link":[[20,0,0,3,0],[21,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[46,0,0,0,2],[47,0,0,1,0],[53,0,0,2,0],[54,0,0,3,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,4,0],[63,0,0,1,0],[88,0,0,1,0],[100,0,0,2,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,1,5,0],[104,0,0,1,0],[105,0,0,1,2],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[117,0,0,1,0],[120,0,0,1,0],[124,0,0,2,0],[130,0,0,2,0]],"exist":[[20,0,0,1,0],[54,0,0,1,0],[103,0,0,1,0]],"unresolved":[[20,0,0,2,0],[54,0,0,2,0],[59,0,0,1,0],[103,0,0,1,0],[105,0,0,0,1],[110,0,0,1,0]],"placeholder":[[20,0,0,2,0],[54,0,0,1,0],[59,0,0,1,0],[103,0,0,1,0],[105,0,0,0,1],[110,0,0,1,0],[131,0,0,2,0]],"doc":[[20,0,0,1,0]],"contains":[[20,0,0,1,0],[44,0,0,1,0],[51,0,0,1,0],[89,0,0,1,0],[103,0,0,1,0],[115,0,0,1,0]],"scoped":[[20,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[51,0,0,2,0],[52,0,0,1,0],[54,0,0,1,0],[64,0,0,1,0],[75,0,0,1,0],[81,0,0,1,0],[82,0,0,0,3],[86,0,0,1,0],[89,0,0,1,0],[103,0,0,1,0],[111,0,0,1,0],[112,0,0,4,0],[115,0,0,1,0],[118,0,0,0,1]],"another":[[20,0,0,1,0],[37,0,0,0,1],[96,0,0,1,0],[103,0,0,1,0]],"extend":[[20,0,0,1,0],[54,0,0,1,0],[59,0,0,1,0],[91,0,0,1,0],[109,0,0,1,0]],"gives":[[21,0,1,0,0],[46,0,0,1,0],[74,0,0,1,0],[116,0,0,1,0]],"consistent":[[21,0,0,1,0]],"rest":[[21,0,0,1,0],[60,0,0,1,0],[90,0,0,1,0]],"configuration":[[21,0,0,1,0]],"drives":[[21,0,0,1,0],[66,0,0,1,0],[81,0,0,1,0]],"position":[[21,0,0,1,0],[66,0,0,1,0]],"filtering":[[21,0,0,1,0],[36,0,0,1,0]],"checks":[[21,0,0,1,0],[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[100,0,0,1,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,0,2,0],[104,0,0,1,0],[105,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0]],"tarball":[[22,0,0,1,0],[23,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,1,1,0],[28,0,1,1,0],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0]],"root":[[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,6],[28,0,0,1,5],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[45,0,1,1,0],[49,0,0,1,0],[51,0,0,2,0],[52,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[67,0,0,1,0],[81,0,0,1,0],[86,0,0,4,0],[87,0,0,1,0],[89,0,0,1,0],[91,0,0,1,0],[95,0,0,1,0],[104,0,0,1,0],[108,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[124,0,0,3,0]],"plus":[[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[71,0,0,2,0],[75,0,0,1,0],[79,0,0,1,0],[81,0,0,1,0],[83,0,0,1,0],[88,0,0,1,0],[96,0,0,1,0],[130,0,0,1,0],[140,0,0,1,0]],"publish":[[22,0,0,1,0],[23,0,0,0,4],[53,0,0,1,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[82,0,0,1,0]],"library":[[22,0,0,1,0],[24,0,0,1,0],[27,0,0,1,0],[30,0,0,0,2],[76,0,0,1,0],[80,0,0,0,2],[91,0,0,1,0],[93,0,1,1,0],[100,0,0,2,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,1,1,0],[105,0,1,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[113,0,0,0,2],[114,0,0,0,3],[125,0,0,0,2],[140,0,0,0,1],[141,0,0,0,1]],"want":[[22,0,0,1,0],[33,0,0,1,0],[36,0,0,1,0],[42,0,0,1,0],[49,0,0,1,0],[72,0,0,1,0],[74,0,0,2,0],[77,0,0,1,0],[96,0,0,1,0],[131,0,0,1,0],[134,0,0,2,0],[142,0,0,1,0]],"coding":[[22,0,0,1,0],[24,0,0,1,0],[31,0,0,1,0],[63,0,0,1,0],[65,0,0,1,1],[69,0,0,2,1],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0],[83,0,0,1,0],[125,0,0,0,1]],"ides":[[22,0,0,1,0]],"hitting":[[22,0,0,1,0]],"network":[[22,0,0,1,0],[65,0,0,1,0],[142,0,0,1,0]],"prepack":[[22,0,0,1,0],[27,0,0,1,0]],"include":[[22,0,0,1,0],[26,0,0,2,2],[27,0,1,0,0],[28,0,1,0,0],[29,0,0,1,0],[36,0,0,1,0],[40,0,0,1,0],[43,0,0,2,0],[52,0,0,1,0],[86,0,0,3,0],[87,0,0,1,0],[89,0,0,0,1],[132,0,0,1,0],[138,0,0,1,0]],"published":[[22,0,0,1,0],[27,0,1,0,0],[28,0,1,0,0],[30,0,0,1,0],[62,0,0,1,0],[88,0,0,1,0]],"ships":[[22,0,0,1,0],[79,0,0,1,0],[133,0,0,1,0]],"auto":[[22,0,0,1,0],[24,0,0,1,0],[30,0,0,1,0],[63,0,0,1,0],[65,0,0,1,1],[71,0,0,1,0],[83,0,0,1,0],[124,0,0,1,0]],"discover":[[22,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0],[71,0,0,1,0]],"website":[[22,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[31,0,0,1,0],[61,0,0,0,2],[62,0,0,2,0],[65,0,0,1,0],[67,0,0,1,0],[69,0,0,4,0],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0],[73,0,0,1,0],[74,0,0,1,0],[77,0,0,1,0],[83,0,0,2,0],[86,0,0,1,0],[88,0,0,1,0],[111,0,0,1,0],[115,0,0,1,0],[124,0,0,1,0]],"bundled":[[22,0,0,1,0],[30,0,0,1,1],[111,0,0,2,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,2,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0]],"everyone":[[22,0,0,1,0]],"else":[[22,0,0,1,0],[59,0,0,1,0],[138,0,0,1,0]],"flow":[[23,0,1,0,0],[34,0,1,0,0],[83,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0]],"src":[[23,0,0,0,2],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,1],[29,0,0,0,1],[34,0,0,3,0],[35,0,0,0,1],[39,0,0,0,4],[44,0,0,0,1],[58,0,0,0,1],[61,0,0,0,2],[69,0,0,0,3],[81,0,0,0,1],[83,0,0,0,1],[86,0,0,2,0],[88,0,0,0,1],[91,0,0,2,0],[126,0,0,1,2],[130,0,0,0,2],[133,0,0,0,1]],"repo":[[23,0,0,0,1],[24,0,0,1,0],[27,0,0,0,2],[28,0,0,0,3],[30,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[39,0,0,1,0],[77,0,0,2,0],[80,0,0,1,0],[86,0,0,1,0],[89,0,0,0,3],[124,0,0,1,0]],"packages":[[23,0,0,0,2],[25,0,0,1,2],[26,0,0,1,1],[29,0,0,0,2],[62,0,0,1,0],[69,0,0,0,1],[74,0,0,1,0],[83,0,0,2,1],[88,0,0,1,1],[124,0,0,0,1]],"lt":[[23,0,0,0,4],[65,0,0,0,1],[69,0,0,0,2]],"gt":[[23,0,0,0,4],[65,0,0,0,1],[69,0,0,0,2]],"consume":[[23,0,0,0,2],[82,0,0,1,0]],"node":[[23,0,0,0,1],[24,0,0,2,0],[25,0,0,1,0],[27,0,0,0,1],[30,0,0,1,1],[47,0,0,1,1],[63,0,0,1,0],[65,0,0,1,1],[69,0,0,1,1],[71,0,0,2,0],[83,0,0,1,0],[91,0,0,2,0],[93,0,0,1,0],[104,0,0,1,0],[111,0,0,1,0],[116,0,0,1,0],[124,0,0,1,0],[126,0,0,0,1],[137,0,0,0,1],[138,0,0,1,0]],"modules":[[23,0,0,0,1],[24,0,0,2,0],[25,0,0,1,0],[30,0,0,1,1],[63,0,0,1,0],[65,0,0,1,1],[69,0,0,1,1],[71,0,0,2,0],[83,0,0,1,0],[91,0,0,2,0],[104,0,0,1,0],[111,0,0,1,0],[124,0,0,1,0],[131,0,0,1,0]],"claude":[[23,0,0,0,1],[24,0,0,1,0],[63,0,0,1,0],[65,0,0,0,1],[69,0,0,0,1],[83,0,0,1,0],[117,0,0,1,0],[124,0,0,1,0]],"codex":[[23,0,0,0,1],[24,0,0,1,0],[63,0,0,1,0],[65,0,0,0,1],[69,0,0,0,1],[83,0,0,1,0],[124,0,0,1,0]],"cursor":[[23,0,0,0,1],[24,0,0,1,0],[63,0,0,1,0],[65,0,0,0,1],[69,0,0,0,1],[83,0,0,1,0],[124,0,0,1,0]],"copilot":[[23,0,0,0,1],[24,0,0,1,0],[63,0,0,1,0],[65,0,0,0,1],[69,0,0,0,1],[83,0,0,1,0],[124,0,0,1,0]],"convention":[[24,0,0,2,0],[63,0,0,1,0],[111,0,0,1,0]],"absolute":[[24,0,0,1,0],[45,0,0,1,0],[49,0,0,2,0],[65,0,0,0,1],[124,0,0,1,0]],"urls":[[24,0,0,1,0],[38,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[49,0,0,1,0],[51,0,0,3,0],[52,0,0,1,0],[54,0,0,1,0],[65,0,0,0,1],[86,0,0,1,0],[103,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[120,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[138,0,0,1,0]],"fetches":[[24,0,0,1,0]],"over":[[24,0,0,1,0],[27,0,0,1,0],[36,0,0,1,0],[63,0,0,2,0],[65,0,0,1,0],[127,0,0,1,0],[135,0,0,1,0],[142,0,0,1,0]],"http":[[24,0,0,2,0],[40,0,0,0,4],[51,0,0,0,8],[63,0,0,2,0],[65,0,0,1,3],[69,0,0,2,3],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0],[82,0,0,1,0]],"shape":[[24,0,0,1,0],[39,0,0,1,0],[60,0,0,1,0],[69,0,0,1,0],[89,0,1,1,0],[105,0,1,0,0],[119,0,0,1,0],[124,0,0,2,0]],"hosted":[[24,0,0,1,0],[65,0,0,1,0],[74,0,0,2,0],[93,0,0,1,0],[111,0,0,2,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,2,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0]],"may":[[24,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[117,0,0,1,0]],"able":[[24,0,0,1,0]],"major":[[24,0,0,1,0]],"pkg":[[24,0,0,1,0],[65,0,0,0,1],[69,0,0,0,1],[71,0,0,1,0],[111,0,0,1,0],[124,0,0,1,0]],"anyway":[[24,0,0,1,0]],"filesystem":[[24,0,0,2,0],[124,0,0,1,0],[139,0,0,1,0],[142,0,0,2,0]],"solves":[[24,0,0,1,0]],"openai":[[24,0,0,1,0],[141,0,0,0,1]],"github":[[24,0,0,1,0],[39,0,0,1,2],[55,0,1,1,1],[56,0,0,1,0],[91,0,0,1,0],[110,0,0,2,0]],"aider":[[24,0,0,1,0]],"devin":[[24,0,0,1,0]],"others":[[24,0,0,1,0],[71,0,0,1,0]],"working":[[24,0,0,1,0],[30,0,0,2,1],[65,0,0,1,0],[71,0,0,1,0],[128,0,0,1,0]],"supported":[[24,0,0,1,0]],"closest":[[24,0,0,1,0]],"wins":[[24,0,0,1,0]],"natural":[[24,0,0,1,0]],"tell":[[24,0,0,1,0],[30,0,1,0,0],[43,0,0,1,0]],"about":[[24,0,0,1,0],[44,0,0,0,1]],"discoverable":[[24,0,0,2,0],[88,0,0,1,0]],"offline":[[24,0,0,1,0],[25,0,0,1,1],[63,0,0,1,0],[65,0,0,0,2],[69,0,0,1,2],[70,0,0,1,0],[71,0,0,1,0],[72,0,0,1,0],[83,0,1,1,0],[86,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,2,0],[125,0,0,1,1],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0]],"relative":[[25,0,0,1,0],[36,0,0,0,1],[45,0,0,1,0],[49,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[86,0,0,3,0],[87,0,0,1,0],[88,0,0,1,0],[104,0,0,1,0],[111,0,0,2,0],[112,0,0,1,0],[124,0,0,2,0],[125,0,0,0,1],[133,0,0,1,0]],"quickstart":[[25,0,0,1,1],[37,0,0,0,1],[44,0,0,0,1],[46,0,0,0,3],[47,0,0,1,0],[51,0,0,0,3],[68,0,0,1,0],[72,0,0,1,0],[78,1,1,0,0],[79,1,1,0,0],[80,1,1,0,0],[81,1,1,0,0],[82,1,1,0,0],[83,1,1,0,0],[84,1,1,0,0],[96,0,0,0,1],[97,0,0,0,2],[113,0,0,0,4],[119,0,0,0,5],[125,0,0,0,2],[139,0,0,0,1]],"meaningful":[[25,0,0,1,0]],"my":[[25,0,0,2,4],[29,0,0,0,2],[30,0,0,0,1],[35,0,0,0,1],[37,0,0,0,1],[44,0,0,0,1],[80,0,0,0,2],[83,0,0,2,1],[88,0,0,0,1],[113,0,0,0,1],[114,0,0,0,2],[124,0,0,0,1],[125,0,0,0,1],[140,0,0,0,1],[141,0,0,0,1]],"local":[[25,0,0,1,0],[51,0,0,2,0],[57,0,1,0,0],[128,0,0,1,0],[133,0,0,1,0],[144,0,0,1,0]],"after":[[25,0,0,1,0],[26,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[59,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[98,0,0,1,0],[110,0,0,1,0],[131,0,0,1,0],[137,0,0,1,0]],"skips":[[25,0,0,1,0],[62,0,0,1,0],[63,0,0,2,0],[64,0,0,1,0],[86,0,0,1,0],[88,0,0,1,0]],"those":[[25,0,0,1,0],[42,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[62,0,0,1,0],[67,0,0,1,0],[76,0,0,1,0],[83,0,0,1,0],[88,0,0,1,0],[127,0,0,1,0]],"artifacts":[[25,0,0,1,0],[33,0,0,1,0],[44,0,1,0,0],[45,0,0,2,0],[63,0,1,0,0],[64,0,1,0,0],[73,0,0,1,0],[78,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[86,0,0,4,0],[117,0,0,1,0]],"make":[[25,0,0,1,0],[38,0,1,0,0],[60,0,0,1,0],[122,0,0,1,0],[144,0,0,1,0]],"sense":[[25,0,0,1,0],[60,0,0,1,0]],"bash":[[25,0,0,0,1],[26,0,0,0,1],[29,0,0,0,1],[35,0,0,0,1],[39,0,0,0,1],[40,0,0,0,1],[44,0,0,0,1],[51,0,0,0,2],[56,0,0,0,1],[57,0,0,0,1],[58,0,0,0,1],[81,0,0,0,1],[83,0,0,0,1],[85,0,0,0,1],[86,0,0,0,1],[88,0,0,0,1],[91,0,0,0,1],[92,0,0,0,1],[142,0,1,0,0]],"summary":[[25,0,0,0,1],[35,0,0,0,2],[37,0,0,0,2],[44,0,0,0,1],[56,0,0,1,0],[66,0,0,1,0],[86,0,0,2,0],[89,0,0,0,1],[105,0,0,0,1],[112,0,0,1,0],[114,0,0,0,1],[124,0,0,1,0]],"point":[[25,0,0,0,1],[27,0,0,1,0],[30,0,0,2,0],[51,0,0,2,0],[94,0,0,1,0],[111,0,0,1,0],[123,0,0,1,0],[133,0,0,1,0]],"subdirs":[[25,0,0,0,1],[88,0,0,1,0]],"preserved":[[25,0,0,0,1],[88,0,0,1,0],[98,0,0,1,0]],"filter":[[26,0,1,0,0],[36,0,0,0,1],[133,0,0,0,1]],"monorepo":[[26,0,0,1,0]],"shared":[[26,0,0,2,1],[77,0,0,1,0],[91,0,0,3,0],[104,0,0,2,0],[134,0,0,1,0],[143,0,0,1,0]],"many":[[26,0,0,1,0],[57,0,0,1,0],[77,0,0,1,0]],"slice":[[26,0,0,1,0],[66,0,0,1,0],[136,0,0,1,0]],"repeatable":[[26,0,0,1,0],[86,0,0,1,0],[91,0,0,1,0]],"exclude":[[26,0,0,2,1],[29,0,0,1,0],[86,0,0,2,0],[87,0,0,1,0],[89,0,0,0,1]],"filters":[[26,0,0,1,0],[29,0,0,1,0],[89,0,0,0,1]],"overview":[[26,0,0,1,0]],"too":[[26,0,0,1,0],[45,0,0,1,0],[49,0,0,1,0]],"applied":[[26,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0]],"c15t":[[26,0,0,0,1]],"internal":[[26,0,0,0,1],[54,0,0,1,0],[75,0,0,1,0],[91,0,0,1,0]],"control":[[27,0,0,1,0],[36,0,0,1,0],[47,0,0,1,0],[50,0,1,1,0],[90,0,0,1,0],[94,0,0,1,0],[111,0,0,1,0],[117,0,0,1,0],[120,0,0,1,0],[122,0,1,1,0]],"validation":[[27,0,0,1,0],[69,0,0,1,0],[77,0,0,1,0]],"apis":[[27,0,0,1,0],[94,0,0,2,0],[95,0,0,1,0],[96,0,0,1,0],[97,0,0,1,0],[98,0,0,1,0],[99,0,0,1,0],[111,0,0,2,0],[113,0,0,0,1],[119,0,0,0,1],[120,0,0,1,0],[127,0,0,1,0],[138,0,0,1,0]],"directly":[[27,0,0,1,0],[63,0,0,2,0],[64,0,0,1,0],[90,0,0,1,0],[94,0,0,1,0],[111,0,0,1,0],[116,0,0,1,0]],"script":[[27,0,0,2,0],[36,0,0,2,0],[46,0,0,0,1],[51,0,0,1,0],[64,0,0,1,0],[90,0,0,3,0],[119,0,0,0,3],[120,0,0,1,0]],"tsup":[[27,0,0,1,1]],"scripts":[[27,0,0,1,2],[36,0,0,2,5],[93,0,0,1,0]],"dist":[[27,0,0,0,1],[30,0,0,1,0]],"readme":[[27,0,0,0,1],[30,0,0,1,0]],"rm":[[27,0,0,0,3],[130,0,0,0,2]],"fs":[[27,0,0,0,1],[116,0,0,1,0],[126,0,0,0,1]],"promises":[[27,0,0,0,1],[126,0,0,0,1]],"convertallmdx":[[27,0,0,0,2],[36,0,0,0,2],[93,0,0,1,0],[94,0,0,1,1],[95,0,1,0,1],[99,0,0,1,0],[114,0,0,0,2],[125,0,0,1,0]],"generateagentsmd":[[27,0,0,0,1],[28,0,0,0,1],[93,0,0,1,0],[111,0,0,2,1],[124,0,1,0,2],[125,0,1,0,0]],"resolvedocsnavigation":[[27,0,0,0,1],[28,0,0,0,1],[64,0,0,1,0],[93,0,0,1,0],[111,0,0,0,1],[126,0,1,0,1]],"defaultremarkplugins":[[27,0,0,0,2],[28,0,0,0,1],[36,0,0,0,2],[93,0,0,1,0],[95,0,0,1,2],[96,0,0,0,1],[97,0,0,0,1],[99,0,0,0,2],[114,0,0,0,2],[129,0,0,0,1],[130,0,0,1,0],[132,0,0,0,1],[133,0,0,0,2],[134,0,0,1,0]],"docsconfig":[[27,0,0,0,1],[28,0,0,0,3],[90,0,0,0,3],[114,0,0,0,4],[115,0,0,0,3],[124,0,0,0,2],[126,0,0,0,1]],"process":[[27,0,0,0,2],[28,0,0,0,2],[36,0,0,0,1],[90,0,0,0,1],[95,0,0,1,0],[126,0,0,0,2],[128,0,0,0,3],[133,0,0,0,1]],"cwd":[[27,0,0,0,2],[36,0,0,0,1],[90,0,0,0,1],[133,0,0,0,1]],"await":[[27,0,0,0,3],[28,0,0,0,2],[36,0,0,0,1],[47,0,0,0,1],[90,0,0,0,1],[95,0,0,0,1],[96,0,0,0,1],[97,0,0,0,1],[104,0,0,0,1],[109,0,0,0,1],[114,0,0,0,4],[115,0,0,0,4],[117,0,0,0,2],[124,0,0,0,1],[126,0,0,0,3],[137,0,0,0,1],[142,0,0,0,1]],"recursive":[[27,0,0,0,1],[126,0,0,0,1]],"force":[[27,0,0,0,2]],"srcdir":[[27,0,0,0,1],[28,0,0,0,3],[36,0,0,0,2],[89,0,0,0,1],[90,0,0,0,1],[91,0,0,2,1],[95,0,0,2,1],[104,0,0,3,1],[109,0,0,0,1],[114,0,0,0,2],[124,0,0,1,1],[126,0,0,0,1]],"outdir":[[27,0,0,0,1],[28,0,0,0,2],[36,0,0,0,2],[89,0,0,0,1],[90,0,0,0,1],[95,0,0,1,1],[114,0,0,1,4],[115,0,0,1,1],[124,0,0,4,1],[137,0,0,1,3]],"remarkplugins":[[27,0,0,0,1],[28,0,0,0,1],[36,0,0,0,2],[95,0,0,1,1],[97,0,0,0,1],[99,0,0,0,1],[114,0,0,0,1],[132,0,0,0,1],[133,0,0,0,1]],"fast":[[27,0,0,0,1],[28,0,0,0,1],[53,0,0,1,0],[110,0,0,1,0],[144,0,0,1,0]],"bad":[[27,0,0,0,1],[28,0,0,0,1]],"length":[[28,0,0,0,1],[126,0,0,0,1]],"urlpath":[[28,0,0,0,2],[37,0,0,0,2],[38,0,0,0,1],[46,0,0,0,1],[47,0,0,0,1],[117,0,0,0,1],[119,0,0,0,1],[126,0,0,0,2]],"stderr":[[28,0,0,0,1],[89,0,0,1,0],[126,0,0,0,1]],"write":[[28,0,0,0,1],[67,0,0,2,0],[69,0,0,1,0],[71,0,0,1,0],[81,0,0,1,0],[97,0,0,1,0],[126,0,0,1,1],[127,0,0,1,0]],"exit":[[28,0,0,0,1],[85,0,0,1,0],[86,0,0,1,0],[87,0,0,2,0],[88,0,0,1,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,0,3,0],[92,0,0,1,0],[93,0,0,1,0],[126,0,0,0,1]],"verify":[[29,0,1,0,0],[40,0,1,0,0],[51,0,1,0,0]],"publishing":[[29,0,1,0,0],[74,0,0,1,0]],"pack":[[29,0,0,1,1]],"dry":[[29,0,0,1,1]],"check":[[29,0,0,2,0],[37,0,0,1,0],[40,0,0,1,0],[51,0,0,2,0],[102,0,0,1,0]],"cd":[[29,0,0,0,1]],"consuming":[[30,0,1,0,0]],"projects":[[30,0,1,0,0]],"discovered":[[30,0,0,1,0],[83,0,0,1,0]],"project":[[30,0,0,1,1],[65,0,0,1,0],[71,0,0,1,0]],"depends":[[30,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[71,0,0,1,0]],"directory":[[30,0,0,1,0],[62,0,0,1,0],[67,0,0,1,0],[86,0,0,1,0],[95,0,0,2,0]],"consumer":[[30,0,0,1,0]],"yours":[[30,0,0,1,0],[70,0,0,1,0]],"recommend":[[30,0,0,1,0]],"snippet":[[30,0,0,1,0]],"consumers":[[30,0,0,1,0]],"their":[[30,0,0,1,0]],"own":[[30,0,0,1,0],[66,0,0,1,0],[69,0,0,1,0],[74,0,0,1,0],[76,0,1,0,0],[115,0,0,1,0],[119,0,0,1,0]],"pattern":[[30,0,0,1,0]],"re":[[30,0,0,0,1],[91,0,0,1,0],[130,0,0,0,2],[144,0,0,1,0]],"version":[[30,0,0,0,1],[74,0,1,0,0],[107,0,0,1,0],[123,0,1,2,0]],"matched":[[30,0,0,0,1]],"installed":[[30,0,0,0,1],[31,0,0,1,0],[63,0,0,1,0]],"stay":[[30,0,0,0,1]],"accurate":[[30,0,0,0,1]],"updates":[[30,0,0,0,1],[110,0,0,1,0]],"understand":[[31,0,0,1,0],[84,0,0,1,0]],"dependency":[[31,0,0,1,0]],"itself":[[31,0,0,1,0]],"web":[[31,0,0,1,0],[47,0,0,1,0],[116,0,0,2,0],[117,0,0,1,0]],"access":[[31,0,0,1,0]],"ide":[[31,0,0,1,0]],"assistants":[[31,0,0,1,0]],"air":[[31,0,0,1,0]],"gapped":[[31,0,0,1,0]],"environments":[[31,0,0,1,0],[45,0,0,1,0]],"goal":[[31,0,0,1,0]],"emit":[[31,0,0,1,0],[62,0,0,1,0]],"shapes":[[31,0,0,1,0],[62,0,0,1,0]],"runs":[[33,0,0,1,0],[53,0,0,1,0],[55,0,0,0,1],[67,0,1,1,0],[75,0,0,1,0],[81,0,0,1,0],[85,0,0,1,0],[90,0,0,1,0],[91,0,0,1,0],[130,0,0,1,0]],"produce":[[33,0,0,1,0],[37,0,0,1,0],[86,0,0,1,0],[120,0,0,1,0],[125,0,0,1,0]],"astro":[[33,0,0,1,0],[36,0,0,1,0],[45,0,0,0,1],[48,0,0,2,0],[62,0,0,1,0],[66,0,0,1,0],[69,0,0,1,0],[74,0,0,1,0],[119,0,0,1,0]],"anything":[[33,0,0,1,0],[39,0,0,1,0],[69,0,0,1,0]],"handles":[[33,0,0,1,0],[42,0,0,1,0],[47,0,0,1,0],[77,0,0,1,0],[113,0,0,0,1]],"br":[[34,0,0,11,0]],"pub":[[34,0,0,3,0]],"sitemap":[[34,0,0,1,0],[38,0,0,2,0],[40,0,0,4,2],[43,0,0,2,0],[44,0,0,0,2],[45,0,0,3,4],[48,0,0,2,0],[49,0,1,2,5],[51,0,0,1,3],[52,0,0,5,0],[61,0,0,0,1],[62,0,0,3,0],[64,0,0,3,0],[67,0,0,1,0],[69,0,0,0,1],[81,0,0,2,0],[82,0,0,0,4],[86,0,0,2,0],[89,0,0,4,2],[111,0,0,2,0],[112,0,0,4,0],[115,0,0,2,2],[117,0,0,1,0],[118,0,0,2,4],[120,0,0,1,0],[121,0,0,1,0]],"xml":[[34,0,0,1,0],[38,0,0,1,0],[40,0,0,2,2],[43,0,0,1,0],[44,0,0,0,1],[45,0,0,3,2],[48,0,0,1,0],[49,0,1,1,3],[51,0,0,0,2],[52,0,0,2,0],[62,0,0,1,0],[64,0,0,1,0],[81,0,0,1,0],[82,0,0,0,2],[86,0,0,1,0],[89,0,0,1,1],[111,0,0,1,0],[112,0,0,2,0],[115,0,0,1,1],[118,0,0,0,2]],"readability":[[34,0,0,1,0],[35,0,0,1,0],[38,0,0,1,2],[40,0,0,1,0],[44,0,0,1,1],[45,0,0,1,2],[46,0,0,0,2],[47,0,0,0,2],[48,0,0,2,0],[49,0,0,0,2],[51,0,0,1,1],[52,0,0,1,0],[62,0,0,2,0],[64,0,0,2,0],[67,0,0,2,0],[69,0,0,0,1],[71,0,0,1,0],[81,0,0,2,0],[82,0,0,0,1],[86,0,0,1,0],[89,0,0,0,1],[93,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[116,0,1,0,1],[117,0,1,1,0],[118,0,1,0,0],[119,0,1,0,2],[120,0,1,0,0],[121,0,1,0,0],[122,0,1,0,0],[123,0,1,1,0]],"gen":[[34,0,0,4,0]],"generated":[[34,0,0,1,0],[35,0,0,1,0],[38,0,0,1,0],[42,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[49,0,0,1,0],[51,0,0,1,0],[57,0,0,1,0],[66,0,0,1,0],[72,0,0,1,0],[89,0,0,1,0],[112,0,1,0,0],[120,0,0,2,0],[126,0,0,1,2]],"human":[[34,0,0,2,0],[43,0,0,1,0],[65,0,0,0,2]],"discovery":[[34,0,0,1,0],[35,0,0,1,0],[38,0,0,2,0],[40,0,0,1,0],[43,0,0,1,0],[45,0,1,0,0],[64,0,0,1,0],[65,0,0,0,1],[67,0,0,1,0],[71,0,0,1,0],[115,0,0,1,0],[117,0,0,1,0],[124,0,0,1,0]],"off":[[35,0,1,0,0],[86,0,0,2,0],[87,0,0,1,0],[91,0,0,1,0]],"together":[[35,0,0,1,0],[37,0,0,1,0],[110,0,0,1,0]],"generates":[[35,0,0,1,0],[71,0,0,1,0]],"builds":[[35,0,0,1,0],[36,0,0,1,0],[71,0,0,1,0],[128,0,0,1,0],[135,0,0,1,0]],"resolves":[[35,0,0,1,0],[71,0,0,1,0]],"paths":[[35,0,0,1,0],[36,0,0,0,1],[44,0,0,1,0],[48,0,0,1,0],[55,0,0,0,1],[57,0,0,1,0],[62,0,0,1,0],[91,0,0,1,0],[93,0,0,1,0],[111,0,0,1,0],[121,0,0,1,0],[125,0,0,0,1],[138,0,0,1,0],[144,0,0,1,0]],"listed":[[35,0,0,1,0]],"inspected":[[35,0,0,1,0]],"detail":[[35,0,0,1,0]],"under":[[35,0,0,1,0],[38,0,0,1,0],[44,0,0,1,0],[57,0,0,1,0],[67,0,0,1,0],[86,0,0,1,0],[91,0,0,1,0],[104,0,0,1,0],[115,0,0,1,0],[124,0,0,1,0],[137,0,0,1,0]],"base":[[35,0,0,0,1],[36,0,0,1,0],[44,0,0,0,1],[51,0,0,2,0],[81,0,0,0,1],[86,0,0,2,0],[93,0,0,1,0],[128,0,1,2,2]],"https":[[35,0,0,0,1],[39,0,0,0,1],[44,0,0,0,1],[46,0,0,0,2],[81,0,0,0,1],[90,0,0,0,1],[114,0,0,0,3],[115,0,0,0,2],[119,0,0,0,3],[126,0,0,0,1],[128,0,0,0,1],[137,0,0,0,1]],"com":[[35,0,0,0,1],[39,0,0,0,1],[44,0,0,0,1],[46,0,0,0,2],[81,0,0,0,1],[90,0,0,0,1],[114,0,0,0,3],[115,0,0,0,2],[119,0,0,0,2],[126,0,0,0,1],[128,0,0,0,1],[137,0,0,0,1]],"simplest":[[36,0,0,1,0]],"setup":[[36,0,0,1,0],[38,0,0,1,0],[45,0,0,1,0],[55,0,0,0,1],[128,0,0,1,0]],"stage":[[36,0,0,1,0],[37,0,0,1,0],[67,0,0,1,0],[96,0,0,1,0]],"rerun":[[36,0,0,1,0]],"independently":[[36,0,0,1,0],[66,0,0,1,0]],"splitting":[[36,0,0,1,0],[137,0,0,1,0]],"separate":[[36,0,0,1,0],[81,0,0,1,0],[136,0,0,1,0]],"canonical":[[36,0,0,1,0],[38,0,0,2,0],[43,0,0,2,0],[46,0,0,2,1],[47,0,0,2,0],[51,0,0,1,0],[52,0,0,2,0],[86,0,0,1,0],[112,0,0,1,0],[117,0,0,3,0],[119,0,0,1,1],[120,0,0,3,0]],"remarkinclude":[[36,0,0,1,2],[95,0,0,1,2],[99,0,0,2,2],[114,0,0,0,2],[129,0,0,0,1],[132,0,1,0,1],[134,0,0,1,0]],"enables":[[36,0,0,1,0]],"foo":[[36,0,0,1,0],[62,0,0,1,0],[66,0,0,1,0],[120,0,0,3,0]],"style":[[36,0,0,1,0],[140,0,0,1,0]],"partial":[[36,0,0,1,0],[132,0,0,1,0]],"expansion":[[36,0,0,1,0]],"basepath":[[36,0,0,1,2],[133,0,1,1,1]],"swap":[[36,0,0,1,0]],"remarktypetabletomarkdown":[[36,0,0,1,3],[129,0,0,0,1],[130,0,0,1,1],[133,0,1,0,3]],"needed":[[36,0,0,1,0],[49,0,0,1,0],[118,0,0,1,0],[133,0,0,1,0]],"plugins":[[36,0,0,1,0],[61,0,0,1,0],[66,0,0,1,0],[93,0,0,1,0],[99,0,1,1,0],[129,1,1,0,0],[130,1,1,0,0],[131,1,1,0,0],[132,1,2,0,0],[133,1,2,0,0],[134,1,1,1,0]],"mdxtomarkdownoptions":[[36,0,0,0,2]],"reporoot":[[36,0,0,0,4]],"resolve":[[36,0,0,0,1],[51,0,0,1,0],[67,0,0,1,0],[81,0,0,1,0],[125,0,0,1,0],[133,0,0,1,0]],"typetableplugin":[[36,0,0,0,2]],"nonnullable":[[36,0,0,0,1]],"number":[[36,0,0,0,1],[105,0,0,0,3]],"enrichfrontmatterfromgit":[[36,0,0,0,1],[95,0,0,1,1],[96,0,0,0,1]],"configure":[[37,0,1,0,0]],"let":[[37,0,0,1,0],[69,0,0,1,0]],"manifest":[[37,0,0,1,0],[38,0,0,0,2],[44,0,0,1,0],[45,0,0,0,6],[46,0,0,3,0],[47,0,0,0,2],[49,0,0,1,5],[61,0,0,0,2],[64,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,2,3],[116,0,0,1,0],[117,0,0,0,1],[118,0,0,1,3],[119,0,0,2,2],[120,0,0,1,0],[121,0,0,1,0],[123,0,1,1,0],[126,0,0,2,0]],"catches":[[37,0,0,1,0],[54,0,1,0,0],[102,0,0,1,0],[103,0,0,1,0]],"typos":[[37,0,0,1,0]],"resolution":[[37,0,0,1,0],[126,0,0,1,0],[131,0,0,2,0]],"definedocsconfig":[[37,0,0,0,2]],"export":[[37,0,0,0,1],[47,0,0,0,1],[49,0,0,0,1],[130,0,0,1,0]],"bullets":[[37,0,0,0,1]],"beststartingpoints":[[37,0,0,0,1]],"started":[[37,0,0,0,2],[80,0,0,0,1],[82,0,0,0,1],[89,0,0,0,2],[113,0,0,0,1],[125,0,0,0,1]],"guides":[[37,0,0,0,2],[127,0,0,1,0],[139,0,0,0,1]],"pieces":[[38,0,0,1,0]],"robots":[[38,0,0,1,0],[40,0,0,1,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,1,1],[45,0,0,1,1],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,2,0],[49,0,1,2,2],[50,0,0,1,0],[51,0,0,2,0],[52,0,0,4,0],[61,0,0,0,1],[62,0,0,2,0],[64,0,0,2,0],[67,0,0,1,0],[81,0,0,1,0],[82,0,0,0,1],[86,0,0,2,0],[89,0,0,3,1],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,1],[117,0,0,1,0],[118,0,0,1,2],[120,0,0,1,0],[121,0,0,1,0]],"available":[[38,0,0,1,0],[93,0,0,1,0]],"ld":[[38,0,0,2,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,1,3,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,2,0],[52,0,0,2,0],[93,0,0,1,0],[119,0,0,1,4],[120,0,0,2,0]],"alternate":[[38,0,0,1,0],[43,0,0,1,0],[46,0,0,1,1],[52,0,0,1,0],[93,0,0,1,0],[119,0,0,1,1],[120,0,0,1,0]],"return":[[38,0,0,1,2],[45,0,0,0,4],[47,0,1,0,2],[48,0,1,0,0],[49,0,1,0,5],[50,0,1,0,0],[51,0,0,1,0],[52,0,0,2,0],[116,0,0,1,0],[117,0,0,0,2],[120,0,0,2,0]],"known":[[38,0,0,1,0],[47,0,0,1,0],[67,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0]],"ai":[[38,0,0,1,0],[47,0,0,1,0],[50,0,0,1,0],[52,0,0,1,0],[65,0,0,0,1],[66,0,0,1,0],[69,0,0,0,1],[74,0,0,1,0],[112,0,0,1,0],[117,0,0,3,0],[120,0,0,2,0],[121,0,0,1,0],[122,0,0,1,0],[141,0,0,1,5]],"user":[[38,0,0,1,0],[47,0,0,2,0],[50,0,0,2,0],[51,0,0,0,2],[52,0,0,1,0],[66,0,0,1,0],[117,0,0,3,0],[120,0,0,2,0],[121,0,0,1,0],[122,0,0,2,0]],"direct":[[38,0,0,1,0],[47,0,0,1,0],[120,0,0,1,0]],"preserve":[[38,0,0,1,0]],"last":[[38,0,0,1,0],[43,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[59,0,0,1,0],[117,0,0,1,0],[120,0,0,1,0],[131,0,0,1,0]],"updated":[[38,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[117,0,0,1,0],[120,0,0,1,0]],"responses":[[38,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[118,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0]],"provides":[[38,0,0,1,0],[76,0,0,1,0]],"roll":[[38,0,0,1,0]],"request":[[38,0,0,2,4],[45,0,0,1,1],[47,0,0,2,6],[49,0,0,1,3],[51,0,0,1,0],[55,0,0,0,1],[66,0,0,1,0],[93,0,0,1,0],[116,0,0,1,0],[117,0,0,1,4],[118,0,0,1,2],[143,0,0,1,0]],"detection":[[38,0,0,1,0]],"aliases":[[38,0,0,1,0],[47,0,0,1,0],[120,0,0,1,0]],"escaping":[[38,0,0,1,0]],"guide":[[38,0,0,1,0],[42,0,0,1,0],[120,0,0,1,0]],"optimize":[[38,0,0,1,0],[41,0,0,1,0],[42,1,1,0,0],[43,1,1,0,0],[44,1,1,0,0],[45,1,1,0,0],[46,1,1,0,0],[47,1,1,0,0],[48,1,1,0,0],[49,1,1,0,0],[50,1,1,0,0],[51,1,1,0,0],[52,1,1,0,0],[84,0,0,1,0],[120,0,0,1,0]],"core":[[38,0,0,1,0],[84,0,0,1,0]],"hook":[[38,0,0,1,0],[40,0,0,1,0],[57,0,1,1,0]],"any":[[38,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[74,0,0,1,0],[91,0,0,1,0],[110,0,0,1,0],[113,0,0,0,1],[116,0,0,1,0],[132,0,0,1,0],[134,0,0,1,0],[140,0,0,1,0]],"put":[[38,0,0,1,0],[47,0,0,1,0]],"normal":[[38,0,0,1,0]],"browsers":[[38,0,0,1,0],[122,0,0,1,0]],"continue":[[38,0,0,1,0]],"receive":[[38,0,0,2,0],[43,0,0,1,0]],"oriented":[[38,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[117,0,0,2,0]],"requests":[[38,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[66,0,0,1,0],[117,0,0,1,0]],"charset":[[38,0,0,1,0],[40,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[117,0,0,1,0]],"utf":[[38,0,0,1,0],[40,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[117,0,0,1,0]],"createagentmarkdownresponse":[[38,0,0,0,2],[47,0,0,1,2],[50,0,0,1,0],[116,0,0,0,1],[117,0,1,0,1],[120,0,0,1,0]],"response":[[38,0,0,0,6],[40,0,0,2,0],[47,0,0,1,1],[49,0,0,0,1],[93,0,0,1,0],[116,0,0,2,0],[117,0,0,1,3],[120,0,0,2,0],[141,0,0,3,1]],"method":[[38,0,0,0,2],[47,0,0,0,2],[117,0,0,0,2]],"headers":[[38,0,0,0,4],[47,0,0,1,2],[50,0,0,1,0],[52,0,0,1,0],[117,0,0,1,2],[120,0,0,2,0],[143,0,0,1,0]],"object":[[38,0,0,0,1],[47,0,0,0,1],[87,0,0,1,0],[89,0,0,1,0],[109,0,0,0,1],[117,0,0,0,1],[120,0,0,1,0],[126,0,0,1,0]],"fromentries":[[38,0,0,0,1],[47,0,0,0,1],[117,0,0,0,1]],"requestorigin":[[38,0,0,0,1],[45,0,0,0,5],[47,0,0,0,1],[49,0,0,1,5],[117,0,0,0,1],[118,0,0,1,2]],"origin":[[38,0,0,0,1],[45,0,0,0,1],[47,0,0,0,1],[49,0,1,1,1],[51,0,0,1,0],[117,0,0,0,1],[118,0,0,1,2],[120,0,0,1,0]],"readmarkdownfile":[[38,0,0,0,1],[47,0,0,1,1],[117,0,0,1,1]],"target":[[38,0,0,0,2],[47,0,0,0,2],[117,0,0,0,2]],"readgeneratedfile":[[38,0,0,0,1],[47,0,0,0,1],[117,0,0,0,1]],"filepath":[[38,0,0,0,1],[47,0,0,0,1],[117,0,0,0,1]],"status":[[38,0,0,0,2]],"remote":[[39,0,1,0,0]],"malformed":[[39,0,0,1,0]],"format":[[39,0,0,1,1],[55,0,0,1,1],[56,0,0,2,1],[87,0,0,2,0],[91,0,0,2,0],[110,0,0,2,0],[136,0,0,1,0]],"inline":[[39,0,0,1,0],[55,0,0,1,0],[85,0,0,1,0]],"annotations":[[39,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0]],"pr":[[39,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0]],"automation":[[39,0,0,1,0]],"stats":[[39,0,0,1,0],[89,0,0,0,1]],"we":[[39,0,0,1,0]],"expect":[[39,0,0,1,0]],"orgs":[[39,0,0,1,0]],"hosting":[[39,0,0,1,0],[76,0,0,1,0]],"multiple":[[39,0,0,1,0]],"repos":[[39,0,0,1,0],[74,0,0,1,0],[77,0,0,1,0]],"documents":[[39,0,0,1,0],[77,0,0,1,0]],"pulls":[[39,0,0,1,0]],"clone":[[39,0,0,0,1]],"depth":[[39,0,0,0,1]],"acme":[[39,0,0,0,1]],"clean":[[40,0,0,1,0],[94,0,0,1,0],[98,0,0,1,0],[130,0,0,0,1],[131,0,0,1,0]],"home":[[40,0,0,1,0]],"mention":[[40,0,0,1,0]],"merge":[[40,0,0,1,0],[64,0,0,1,0],[81,0,0,1,0],[89,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[118,0,0,0,1]],"routes":[[40,0,0,2,0],[54,0,0,1,0],[115,0,0,1,0]],"serving":[[40,0,0,1,0],[64,0,0,1,0],[89,0,0,1,0],[115,0,0,1,0]],"then":[[40,0,0,1,0],[51,0,0,2,0],[86,0,0,1,0],[115,0,0,1,0],[129,0,0,1,0],[136,0,0,1,0],[144,0,0,1,0]],"server":[[40,0,0,1,0],[48,0,0,1,0],[66,0,0,1,0]],"running":[[40,0,0,1,0],[57,0,0,1,0],[70,0,0,1,0]],"curl":[[40,0,0,0,4],[51,0,0,0,7]],"localhost":[[40,0,0,0,4],[51,0,0,1,8]],"set":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[79,0,0,1,0],[106,0,0,1,0],[122,0,0,1,0]],"mirrors":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,2,0],[95,0,0,1,0]],"sitemaps":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,2,0],[52,0,0,1,0]],"audit":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,5,1],[52,0,0,1,0]],"find":[[42,0,0,1,0],[46,0,0,0,1],[83,0,0,1,0],[142,0,0,1,0]],"fetch":[[42,0,0,1,0],[47,0,0,0,2],[48,0,0,1,0],[63,0,0,1,0],[65,0,0,1,1],[71,0,0,1,0]],"attribute":[[42,0,0,1,0]],"cite":[[42,0,0,1,0],[140,0,0,1,0]],"wires":[[42,0,0,1,0]],"four":[[43,0,0,1,0],[111,0,0,1,0]],"layers":[[43,0,0,1,0],[135,0,0,1,0]],"exists":[[43,0,0,1,0]],"retrieval":[[43,0,0,1,0]],"mirror":[[43,0,0,1,0],[44,0,0,1,0],[63,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0]],"instead":[[43,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[142,0,0,1,0]],"structured":[[43,0,0,1,0],[64,0,0,1,0],[112,0,0,1,0]],"metadata":[[43,0,0,2,0],[46,0,0,1,0],[75,0,0,1,0],[86,0,0,1,0],[119,0,0,3,1],[120,0,0,1,0],[141,0,0,1,0]],"extract":[[43,0,0,1,0]],"identity":[[43,0,0,1,0]],"guessing":[[43,0,0,1,0]],"dom":[[43,0,0,1,0]],"attribution":[[43,0,0,1,0]],"copied":[[43,0,0,1,0]],"keeps":[[43,0,0,1,0],[45,0,0,1,0],[77,0,0,1,0],[128,0,0,1,0],[137,0,0,1,0]],"freshness":[[43,0,0,1,0],[44,0,0,1,0],[115,0,0,1,0]],"bridge":[[44,0,0,1,0]],"between":[[44,0,0,1,0],[134,0,0,1,0]],"descriptions":[[44,0,0,1,0],[112,0,0,1,0],[127,0,0,2,0]],"dates":[[44,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0]],"sentence":[[44,0,0,0,1],[80,0,0,0,1]],"regenerators":[[45,0,0,1,0],[49,0,0,1,0]],"rather":[[45,0,0,1,0]],"than":[[45,0,0,1,0]],"few":[[45,0,0,1,0],[66,0,0,1,0]],"staging":[[45,0,0,1,0],[49,0,0,1,0],[118,0,0,1,0]],"honest":[[45,0,0,1,0]],"rebuilding":[[45,0,0,1,0]],"marketing":[[45,0,0,1,0],[64,0,0,1,0],[81,0,0,1,0],[89,0,0,1,0],[112,0,0,1,0]],"blog":[[45,0,0,1,0],[64,0,0,1,0],[81,0,0,1,0],[89,0,0,1,0],[112,0,0,1,0]],"changelog":[[45,0,0,1,0],[64,0,0,1,0],[81,0,0,1,0],[89,0,0,1,0],[91,0,0,2,0],[104,0,0,2,0],[105,0,0,0,1],[107,0,1,0,0],[112,0,0,1,0]],"through":[[45,0,0,1,0],[67,0,0,1,0],[81,0,0,1,0],[103,0,0,1,0],[117,0,0,1,0]],"regenerator":[[45,0,0,1,0]],"merges":[[45,0,0,1,0]],"rebased":[[45,0,0,1,0],[120,0,0,1,0]],"straight":[[45,0,0,1,0]],"versions":[[45,0,0,1,0]],"etc":[[45,0,0,1,1],[83,0,0,1,0],[89,0,0,1,0],[119,0,0,1,0],[124,0,0,1,0]],"audits":[[45,0,0,1,0]],"especially":[[45,0,0,1,0]],"audited":[[45,0,0,1,0]],"endpoint":[[45,0,0,0,1],[48,0,0,1,0],[77,0,0,1,0]],"cloudflare":[[45,0,0,0,1],[47,0,0,1,1],[48,0,0,1,0],[66,0,0,1,0],[116,0,0,1,0],[138,0,0,1,0],[141,0,0,1,2],[142,0,0,1,0],[143,0,0,1,0]],"worker":[[45,0,0,0,1],[48,0,0,1,0]],"createrobotstxtresponse":[[45,0,0,0,2],[49,0,0,0,3],[116,0,0,0,1],[118,0,1,0,1],[120,0,0,1,0]],"createsitemapmarkdownresponse":[[45,0,0,0,2],[49,0,0,0,2],[116,0,0,0,1],[118,0,1,0,0],[120,0,0,1,0]],"createsitemapxmlresponse":[[45,0,0,0,3],[49,0,0,0,2],[116,0,0,0,1],[118,0,1,0,1],[120,0,0,1,0]],"pathname":[[45,0,0,0,5],[49,0,0,0,1]],"marketingpages":[[45,0,0,0,1],[118,0,0,0,1]],"blogpages":[[45,0,0,0,1]],"current":[[46,0,0,1,0],[51,0,0,1,0]],"org":[[46,0,0,1,0],[119,0,0,0,1],[120,0,0,1,0],[128,0,0,1,0]],"head":[[46,0,0,1,0],[119,0,0,1,3],[120,0,0,1,0]],"renderjsonld":[[46,0,0,1,2],[116,0,0,0,1],[120,0,0,1,0]],"typed":[[46,0,0,1,0],[54,0,0,1,0],[59,0,0,1,0],[119,0,0,0,1]],"renderjsonldscript":[[46,0,0,1,2],[116,0,0,0,1],[120,0,0,1,0]],"expects":[[46,0,0,1,0],[51,0,0,1,0]],"modified":[[46,0,0,1,0]],"date":[[46,0,0,1,0],[107,0,0,2,0]],"breadcrumbs":[[46,0,0,1,0]],"scraping":[[46,0,0,1,0]],"layout":[[46,0,0,1,0],[73,0,0,1,0]],"agentmanifest":[[46,0,0,0,4]],"jsonld":[[46,0,0,0,1]],"rel":[[46,0,0,0,2],[47,0,0,1,0],[117,0,0,1,0],[119,0,0,0,2]],"handlers":[[47,0,0,1,0],[66,0,0,1,0]],"returns":[[47,0,0,1,0],[66,0,0,1,0],[117,0,0,2,0],[119,0,0,1,0],[124,0,0,1,0],[126,0,0,1,0]],"null":[[47,0,0,1,1],[49,0,0,0,2],[50,0,0,1,0],[117,0,0,3,0],[122,0,0,1,0],[126,0,0,0,1]],"values":[[47,0,0,1,0],[90,0,0,1,0]],"respected":[[47,0,0,1,0]],"gptbot":[[47,0,0,1,0],[117,0,0,1,0]],"claudebot":[[47,0,0,1,0],[117,0,0,1,0]],"bingbot":[[47,0,0,1,0],[117,0,0,1,0]],"amazonbot":[[47,0,0,1,0],[117,0,0,1,0]],"metaexternalagent":[[47,0,0,1,0],[117,0,0,1,0]],"perplexitybot":[[47,0,0,1,0],[117,0,0,1,0]],"mistralbot":[[47,0,0,1,0],[117,0,0,1,0]],"applebot":[[47,0,0,1,0],[117,0,0,1,0]],"bytespider":[[47,0,0,1,0],[117,0,0,1,0]],"youbot":[[47,0,0,1,0],[117,0,0,1,0]],"such":[[47,0,0,1,0]],"injected":[[47,0,0,1,0]],"discard":[[47,0,0,1,0]],"vary":[[47,0,0,1,0],[50,0,0,1,0],[117,0,0,1,0],[120,0,0,1,0],[122,0,0,1,0]],"cache":[[47,0,0,1,0],[50,0,1,2,0],[117,0,0,1,0],[120,0,0,1,0],[122,0,1,2,0]],"max":[[47,0,0,1,0],[50,0,0,1,0],[55,0,0,1,1],[57,0,0,0,1],[91,0,0,1,0],[117,0,0,1,0],[122,0,0,1,0]],"age":[[47,0,0,1,0],[50,0,0,1,0],[117,0,0,1,0],[122,0,0,1,0]],"must":[[47,0,0,1,0],[50,0,0,2,0],[117,0,0,1,0],[122,0,0,1,0],[131,0,0,2,0]],"revalidate":[[47,0,0,1,0],[50,0,0,1,0],[117,0,0,1,0],[122,0,0,1,0]],"sync":[[47,0,0,1,0],[117,0,0,1,0]],"async":[[47,0,0,1,2],[117,0,0,1,1]],"vercel":[[47,0,0,1,1],[51,0,0,1,1],[115,0,0,1,0],[116,0,0,1,0],[138,0,0,1,0],[141,0,0,0,2],[142,0,0,0,1],[143,0,0,1,0]],"edge":[[47,0,0,3,1],[48,0,0,1,0],[75,0,0,1,0],[116,0,0,2,0],[135,0,0,1,0],[138,0,0,1,0],[144,0,0,1,0]],"workers":[[47,0,0,1,0],[48,0,0,1,0],[66,0,0,1,0],[116,0,0,1,0],[141,0,0,0,1]],"logic":[[47,0,0,1,0],[66,0,0,1,0],[126,0,0,1,0]],"wherever":[[47,0,0,1,0],[66,0,0,1,0]],"intercept":[[47,0,0,1,0]],"usually":[[47,0,0,1,0],[59,0,0,1,0],[79,0,0,1,0],[95,0,0,1,0],[110,0,0,1,0],[134,0,0,1,0]],"catch":[[47,0,0,1,0],[48,0,0,1,0],[57,0,0,1,0],[101,0,0,1,0],[127,0,0,1,0]],"ssr":[[47,0,0,1,0],[48,0,0,1,0]],"function":[[47,0,0,0,1],[49,0,0,0,1],[95,0,0,1,0],[136,0,0,1,0]],"handlerequest":[[47,0,0,0,1]],"promise":[[47,0,0,0,1]],"disk":[[47,0,0,0,1],[63,0,0,1,0],[64,0,0,1,0],[96,0,0,1,0]],"kv":[[47,0,0,0,1],[48,0,0,1,0],[143,0,0,2,0]],"r2":[[47,0,0,0,1],[48,0,0,1,0]],"asset":[[47,0,0,0,2],[48,0,0,1,0]],"binding":[[47,0,0,0,1],[48,0,0,1,0],[141,0,0,1,0]],"nuxt":[[48,0,0,1,0]],"h3":[[48,0,0,1,0]],"express":[[48,0,0,1,0]],"hono":[[48,0,0,1,0]],"fastify":[[48,0,0,1,0]],"rewrite":[[48,0,0,1,0]],"helper":[[48,0,0,1,0],[50,0,0,1,0],[64,0,0,1,0],[113,0,0,0,1],[120,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[143,0,0,1,0]],"artifact":[[48,0,0,1,0],[56,0,0,1,0],[61,0,0,1,0],[72,0,0,1,0],[88,0,0,1,0],[121,0,0,1,0]],"alone":[[48,0,0,1,0],[117,0,0,1,0]],"loc":[[49,0,0,1,0],[118,0,0,1,0]],"requires":[[49,0,0,1,0]],"directive":[[49,0,0,1,0],[50,0,0,1,0],[117,0,0,1,0],[122,0,0,1,0]],"conventionally":[[49,0,0,1,0]],"cannot":[[49,0,0,1,0]],"assets":[[49,0,0,2,0]],"previews":[[49,0,0,1,0]],"advertise":[[49,0,0,1,0]],"right":[[49,0,0,1,0],[136,0,0,2,0],[139,0,0,1,0]],"rebuild":[[49,0,0,1,0]],"served":[[49,0,0,1,0],[63,0,0,1,0]],"rewriting":[[49,0,0,1,0],[121,0,0,1,0]],"handleagentartifact":[[49,0,0,0,1]],"case":[[49,0,0,0,6]],"sitemapurlpath":[[49,0,0,0,1],[118,0,0,0,1]],"cdn":[[50,0,1,2,0],[122,0,1,2,0]],"adds":[[50,0,0,1,0],[95,0,0,1,0]],"pair":[[50,0,0,1,0],[77,0,0,1,0],[99,0,0,1,0],[125,0,0,1,0]],"detected":[[50,0,0,1,0],[117,0,0,1,0]],"shard":[[50,0,0,1,0]],"entries":[[50,0,0,1,0],[120,0,0,1,0]],"will":[[50,0,0,1,0],[66,0,0,1,0],[82,0,0,1,0],[127,0,0,1,0]],"cached":[[50,0,0,1,0],[122,0,0,1,0]],"vice":[[50,0,0,1,0]],"versa":[[50,0,0,1,0]],"override":[[50,0,0,1,0],[117,0,0,1,0],[119,0,0,0,1],[121,0,0,1,0],[122,0,0,1,0],[128,0,0,1,0],[133,0,0,1,0]],"cachecontrol":[[50,0,0,2,0],[117,0,0,2,0],[122,0,0,2,0]],"omit":[[50,0,0,1,0],[117,0,0,1,0],[122,0,0,1,0],[134,0,0,1,0]],"useful":[[50,0,0,1,0],[126,0,0,1,0]],"caching":[[50,0,0,1,0],[122,0,0,1,0]],"band":[[50,0,0,1,0]],"locally":[[51,0,1,0,0]],"expected":[[51,0,0,1,0]],"results":[[51,0,0,1,0],[136,0,0,1,0],[138,0,0,1,1]],"existing":[[51,0,0,1,0],[134,0,0,1,0]],"contain":[[51,0,0,1,0]],"application":[[51,0,0,1,0],[120,0,0,1,0]],"against":[[51,0,0,2,0],[78,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[91,0,0,1,0],[104,0,0,1,0]],"reports":[[51,0,0,1,0],[81,0,0,1,0]],"broken":[[51,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[67,0,0,1,0]],"whether":[[51,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0]],"production":[[51,0,0,1,0],[143,0,0,1,0]],"matches":[[51,0,0,1,0],[67,0,0,1,0],[70,0,0,1,0],[144,0,0,1,0]],"chatgpt":[[51,0,0,0,1],[117,0,0,1,0]],"minimal":[[52,0,1,0,0]],"checklist":[[52,0,1,0,0]],"bodies":[[52,0,0,1,0],[143,0,0,1,0]],"requested":[[52,0,0,1,0],[120,0,0,1,0]],"validate":[[53,1,1,0,0],[54,1,1,0,0],[55,1,1,0,0],[56,1,1,0,0],[57,1,1,0,0],[58,1,1,0,0],[59,1,1,1,0],[67,0,0,1,0],[91,0,0,1,0],[96,0,0,1,0],[110,0,0,1,0]],"issues":[[53,0,0,1,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,2,0],[58,0,0,1,0],[59,0,0,1,0],[100,0,0,1,0]],"prs":[[53,0,0,2,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[100,0,0,1,0]],"exits":[[53,0,0,1,0]],"zero":[[53,0,0,1,0],[70,0,0,1,0],[74,0,0,1,0],[91,0,0,1,0]],"errors":[[53,0,0,1,0],[55,0,0,1,0],[89,0,0,1,0],[91,0,0,3,0],[105,0,0,0,1],[110,0,0,1,0]],"would":[[53,0,0,1,0],[124,0,0,1,0]],"otherwise":[[53,0,0,1,0],[123,0,0,1,0]],"blow":[[53,0,0,1,0]],"later":[[53,0,0,1,0]],"rule":[[54,0,0,2,0],[91,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[105,0,0,1,1]],"pointing":[[54,0,0,1,0],[124,0,0,1,0]],"placeholders":[[54,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0]],"left":[[54,0,0,1,0]],"actions":[[55,0,1,0,1],[110,0,0,1,0]],"upgrades":[[55,0,0,1,0],[102,0,0,1,0]],"strict":[[55,0,0,1,0],[109,0,0,1,0]],"makes":[[55,0,0,1,0]],"remaining":[[55,0,0,1,0]],"job":[[55,0,0,1,0],[58,0,0,1,0],[74,0,0,1,0]],"pull":[[55,0,0,0,1]],"jobs":[[55,0,0,0,1]],"ubuntu":[[55,0,0,0,1]],"latest":[[55,0,0,0,1]],"checkout":[[55,0,0,0,1]],"v4":[[55,0,0,0,1]],"oven":[[55,0,0,0,1]],"sh":[[55,0,0,0,1],[57,0,0,0,1]],"v2":[[55,0,0,0,1]],"providers":[[56,0,1,0,0]],"speak":[[56,0,0,1,0]],"includes":[[56,0,0,1,0],[58,0,0,1,0],[99,0,0,1,0]],"counts":[[56,0,0,1,0]],"pipe":[[56,0,0,1,0],[109,0,0,0,1]],"provider":[[56,0,0,1,0],[135,0,0,1,0],[141,0,1,1,0]],"reporter":[[56,0,0,1,0]],"post":[[56,0,0,1,0]],"comment":[[56,0,0,1,0]],"upload":[[56,0,0,1,0]],"report":[[56,0,0,0,1],[91,0,0,2,0]],"pre":[[57,0,1,1,0],[142,0,0,1,0]],"push":[[57,0,1,1,0]],"husky":[[57,0,0,1,0]],"second":[[57,0,0,1,0]],"limiting":[[57,0,0,1,0]],"scan":[[57,0,0,1,0]],"changed":[[57,0,0,1,0]],"repeated":[[57,0,0,1,0]],"ignore":[[57,0,0,1,0],[91,0,0,3,0],[104,0,0,2,0]],"globs":[[57,0,0,1,0]],"skip":[[57,0,0,1,0],[67,0,0,1,0],[91,0,0,1,0],[134,0,0,1,0]],"stale":[[57,0,0,1,0],[59,0,0,1,0],[110,0,0,1,0],[123,0,0,1,0]],"usr":[[57,0,0,0,1]],"bin":[[57,0,0,0,1]],"env":[[57,0,0,0,1],[128,0,0,1,3],[141,0,0,1,0]],"noisily":[[58,0,0,1,0]],"specifically":[[58,0,0,1,0]],"problems":[[58,0,0,1,0]],"line":[[58,0,0,1,0]],"much":[[58,0,0,1,0]],"easier":[[58,0,0,1,0]],"debug":[[58,0,0,1,0]],"fix":[[59,0,1,1,0],[134,0,0,1,0]],"lot":[[59,0,0,1,0]],"bug":[[59,0,0,2,0],[67,0,0,1,0],[110,0,0,1,0]],"move":[[59,0,0,1,0],[110,0,0,1,0]],"either":[[59,0,0,1,0],[86,0,0,1,0]],"delete":[[59,0,0,1,0]],"mental":[[60,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[72,0,0,1,0],[113,0,0,0,2],[125,0,0,0,1]],"model":[[60,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[72,0,0,1,0],[113,0,0,0,2],[125,0,0,0,1],[140,0,0,2,0],[141,0,0,1,1]],"modes":[[60,0,0,1,0],[61,0,0,1,0],[62,0,1,2,0],[63,0,0,2,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[86,0,0,1,0]],"takes":[[60,0,0,1,0],[70,0,0,1,0]],"input":[[60,0,0,1,0]],"folder":[[60,0,0,1,0],[78,0,0,2,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[86,0,0,2,0]],"take":[[60,0,0,1,0],[69,0,0,1,0]],"piece":[[60,0,0,1,0]],"turns":[[61,0,0,1,0],[129,0,0,1,0],[140,0,0,1,0]],"gets":[[61,0,0,1,0],[66,0,0,1,0],[98,0,0,1,0],[112,0,1,0,0]],"sequence":[[61,0,0,1,0],[114,0,1,0,0]],"consumes":[[61,0,0,1,0]],"tb":[[61,0,0,0,1],[130,0,0,0,1]],"fm":[[61,0,0,0,4]],"parser":[[61,0,0,0,1]],"strip":[[61,0,0,0,1],[130,0,0,2,0]],"idx":[[61,0,0,0,3]],"serves":[[62,0,0,1,0]],"beneath":[[62,0,0,1,0]],"designed":[[62,0,0,1,0]],"tarballs":[[62,0,0,1,0]],"alongside":[[62,0,0,1,0],[77,0,0,1,0],[88,0,0,1,0]],"via":[[63,0,0,1,0],[69,0,0,0,1],[71,0,0,1,0],[75,0,0,1,0],[91,0,0,1,0],[94,0,0,1,0],[135,0,0,1,0],[141,0,1,0,0]],"websites":[[63,0,0,1,0],[111,0,0,2,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0]],"follow":[[63,0,0,1,0],[65,0,0,1,0]],"useless":[[63,0,0,1,0]],"bm25":[[63,0,0,1,0],[67,0,0,1,0],[81,0,0,1,0],[82,0,0,0,1],[136,0,0,1,0]],"ranked":[[63,0,0,1,0]],"inverted":[[63,0,0,1,0]],"stored":[[63,0,0,1,0],[64,0,0,1,0]],"separately":[[63,0,0,1,0],[64,0,0,1,0],[141,0,0,2,0]],"grep":[[63,0,0,1,0],[64,0,0,1,0],[142,0,0,1,0]],"ngs":[[64,0,0,1,0]],"apps":[[64,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[143,0,0,1,0]],"mapping":[[64,0,0,1,0]],"locations":[[64,0,0,1,0]],"built":[[64,0,0,1,0],[74,0,0,1,0]],"agree":[[64,0,0,1,0]],"structure":[[64,0,0,1,0],[90,0,0,1,0],[95,0,0,1,0],[124,0,0,1,0]],"being":[[65,0,0,1,0]],"told":[[65,0,0,1,0]],"there":[[65,0,0,1,0],[98,0,0,1,0]],"flows":[[65,0,0,2,0]],"complement":[[65,0,0,1,0]],"wants":[[65,0,0,1,0]],"publishes":[[65,0,0,1,0]],"pick":[[65,0,0,1,0],[70,0,0,1,0]],"answers":[[65,0,0,0,1],[69,0,0,0,1],[136,0,0,1,0],[140,0,1,0,0]],"vocabulary":[[66,0,1,0,0],[136,0,1,0,0],[144,0,0,1,0]],"terms":[[66,0,0,1,0]],"throughout":[[66,0,0,1,0]],"verb":[[66,0,0,1,0]],"declaring":[[66,0,0,1,0]],"which":[[66,0,0,1,0],[81,0,0,1,0],[127,0,0,1,0]],"belongs":[[66,0,0,1,0]],"noun":[[66,0,0,3,0]],"chunk":[[66,0,0,1,0],[82,0,0,0,1],[136,0,0,4,0],[139,0,0,0,1]],"scores":[[66,0,0,1,0]],"weigh":[[66,0,0,1,0],[136,0,0,1,0]],"advertises":[[66,0,0,1,0]],"asks":[[66,0,0,1,0]],"implement":[[66,0,0,1,0]],"intercepts":[[66,0,0,1,0]],"endpoints":[[66,0,0,1,0]],"fixed":[[67,0,0,1,0]],"previous":[[67,0,0,1,0]],"finds":[[67,0,0,1,0],[133,0,0,1,0]],"design":[[67,0,0,1,0],[77,0,0,1,0],[127,0,1,0,0]],"problem":[[67,0,0,1,0]],"fronted":[[69,0,0,1,0]],"bring":[[69,0,0,1,0]],"handle":[[69,0,0,1,0]],"outputs":[[69,0,0,1,0],[77,0,0,1,0]],"choose":[[70,0,1,0,0]],"most":[[70,0,0,1,0],[99,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0]],"teams":[[70,0,0,1,0]],"arrive":[[70,0,0,1,0]],"reasons":[[70,0,0,1,0]],"journey":[[70,0,0,1,0]],"familiar":[[71,0,0,1,0]],"five":[[72,0,0,1,0],[78,0,0,1,0],[81,0,0,1,0],[113,0,0,0,1]],"minutes":[[72,0,0,1,0],[78,0,0,1,0]],"comparing":[[72,0,0,1,0]],"methodology":[[72,0,0,1,0],[73,1,1,0,0],[74,1,1,0,0],[75,1,1,0,0],[76,1,1,0,0],[77,1,1,0,0]],"differs":[[72,0,0,1,0],[73,0,0,1,0],[74,0,0,1,0],[75,0,0,1,0],[76,0,0,1,0],[77,0,0,1,0]],"fumadocs":[[72,0,0,1,0],[73,0,0,1,0],[74,0,0,2,0],[75,0,0,1,0],[76,0,0,1,0],[77,0,0,2,0]],"starlight":[[72,0,0,1,0],[73,0,0,1,0],[74,0,0,2,0],[75,0,0,1,0],[76,0,0,1,0],[77,0,0,2,0]],"mintlify":[[72,0,0,1,0],[73,0,0,1,0],[74,0,0,2,0],[75,0,0,1,0],[76,0,0,1,0],[77,0,0,1,0]],"theming":[[73,0,0,1,0],[76,0,0,1,0]],"tool":[[74,0,0,1,0],[142,0,1,0,0]],"platform":[[74,0,0,2,0]],"analytics":[[74,0,0,1,0],[76,0,0,1,0]],"layer":[[74,0,0,1,0],[115,0,0,1,0],[122,0,0,1,0],[144,0,0,1,0]],"behind":[[74,0,0,1,0]],"main":[[74,0,0,1,0],[92,0,0,0,1]],"polished":[[74,0,0,1,0]],"quickly":[[74,0,0,1,0],[127,0,0,1,0]],"infra":[[74,0,0,1,0]],"standardize":[[74,0,0,1,0]],"safe":[[75,0,0,1,0],[113,0,0,0,1],[116,0,0,1,0],[135,0,0,1,0],[138,0,0,1,0],[144,0,0,1,0]],"grounded":[[75,0,0,1,0],[135,0,0,2,0],[136,0,0,1,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,1,1,0],[141,0,0,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"answer":[[75,0,0,1,0],[135,0,0,2,0],[136,0,0,1,0],[137,0,0,2,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,2,0],[141,0,0,2,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"streaming":[[75,0,0,1,0],[135,0,0,2,0],[136,0,0,1,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,1,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"orchestration":[[75,0,0,1,0]],"whole":[[75,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0]],"prebuilt":[[76,0,0,1,0]],"combination":[[77,0,1,0,0]],"shines":[[77,0,1,0,0]],"experience":[[77,0,0,1,0]],"private":[[77,0,0,1,0]],"templated":[[77,0,0,1,0]],"system":[[77,0,0,1,0],[140,0,0,2,1]],"complete":[[78,0,0,1,0],[120,0,0,1,0]],"executable":[[79,0,0,1,0]],"focused":[[79,0,0,1,0],[127,0,0,1,0]],"welcome":[[80,0,0,0,1],[127,0,0,1,0]],"walks":[[81,0,0,1,0]],"store":[[81,0,0,1,0],[82,0,0,0,1],[136,0,0,1,0],[143,0,0,1,0]],"excerpts":[[81,0,0,1,0],[136,0,0,1,0]],"found":[[81,0,0,1,0],[117,0,0,1,0]],"mergeable":[[82,0,0,0,1],[112,0,0,1,0]],"crawl":[[82,0,0,0,1],[112,0,0,1,0]],"policy":[[82,0,0,0,1],[112,0,0,1,0]],"now":[[84,0,0,1,0],[126,0,0,1,0]],"primitives":[[84,0,0,1,0]],"flags":[[85,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,0,1,0],[92,0,0,1,0],[93,0,0,1,0],[100,0,0,1,0],[113,0,0,0,1]],"codes":[[85,0,0,1,0],[86,0,0,1,0],[87,0,0,2,0],[88,0,0,1,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,0,2,0],[92,0,0,1,0],[93,0,0,1,0]],"validates":[[85,0,0,1,0],[100,0,0,1,0]],"help":[[85,0,0,1,0],[87,0,0,1,0],[91,0,0,1,0],[92,0,1,0,3]],"usage":[[85,0,0,1,0],[87,0,0,2,0],[91,0,0,2,0],[92,0,0,1,1]],"flag":[[86,0,0,1,0],[91,0,0,1,0],[113,0,0,0,1],[125,0,0,0,1]],"dir":[[86,0,0,4,0],[87,0,0,1,0],[91,0,0,2,0]],"containing":[[86,0,0,1,0],[124,0,0,1,0]],"ignored":[[86,0,0,1,0],[91,0,0,1,0],[124,0,0,1,0],[130,0,0,1,0]],"written":[[86,0,0,2,0],[124,0,0,3,0]],"glob":[[86,0,0,4,0],[87,0,0,2,0],[91,0,0,2,0],[104,0,0,1,0]],"none":[[86,0,0,2,0],[87,0,0,1,0]],"history":[[86,0,0,1,0],[87,0,0,1,0],[95,0,0,1,0]],"clude":[[87,0,0,1,0]],"fmt":[[87,0,0,1,0],[91,0,0,1,0]],"prints":[[87,0,0,1,0],[89,0,0,1,0]],"result":[[87,0,0,1,0],[96,0,0,0,3],[104,0,0,0,1],[105,0,1,0,0],[115,0,0,1,4],[126,0,0,1,0],[137,0,0,1,0],[139,0,0,1,0]],"stdout":[[87,0,0,1,0]],"alias":[[87,0,0,1,0]],"print":[[87,0,0,1,0],[89,0,0,1,0],[91,0,0,1,0]],"anchored":[[88,0,0,1,0]],"describing":[[89,0,0,1,0]],"was":[[89,0,0,1,0]],"varies":[[89,0,0,1,0]],"agentsmd":[[89,0,0,1,0]],"llmstxt":[[89,0,0,1,1]],"absent":[[89,0,0,1,0]],"abs":[[89,0,0,0,12]],"docsdir":[[89,0,0,0,1]],"docsllmstxt":[[89,0,0,0,1]],"docsllmsfulltxt":[[89,0,0,0,1]],"searchindex":[[89,0,0,0,1]],"searchcontent":[[89,0,0,0,1]],"docssitemapxml":[[89,0,0,0,1]],"docssitemapmd":[[89,0,0,0,1]],"docsrobotstxt":[[89,0,0,0,1]],"agentreadabilitymanifest":[[89,0,0,0,1]],"inference":[[90,0,1,0,0]],"loaded":[[90,0,0,1,0]],"explicitly":[[90,0,0,1,0],[112,0,0,1,0],[128,0,0,1,0]],"importing":[[90,0,0,1,0]],"inferred":[[90,0,0,2,0],[98,0,0,1,0]],"union":[[90,0,0,1,0]],"generatellmstxt":[[90,0,0,0,2],[93,0,0,1,0],[111,0,0,2,1],[114,0,0,0,2],[124,0,0,3,0]],"baseurl":[[90,0,0,0,1],[114,0,0,0,3],[115,0,0,0,2],[118,0,0,1,0],[126,0,0,0,1],[128,0,0,1,1],[137,0,0,0,1]],"honored":[[90,0,0,0,1]],"positional":[[91,0,0,1,0]],"subdirectory":[[91,0,0,1,0],[104,0,0,1,0],[124,0,0,1,0]],"validated":[[91,0,0,1,0],[104,0,0,1,0]],"pretty":[[91,0,0,2,0]],"annotation":[[91,0,0,1,0]],"defaults":[[91,0,0,3,0],[99,0,0,1,0],[104,0,0,1,0],[109,0,0,1,0],[117,0,0,1,0]],"passing":[[91,0,0,1,0]],"unlimited":[[91,0,0,1,0]],"count":[[91,0,0,1,0]],"exceeds":[[91,0,0,1,0]],"within":[[91,0,0,1,0]],"budget":[[91,0,0,2,0]],"exceeded":[[91,0,0,1,0]],"partials":[[91,0,0,1,0],[99,0,0,1,0],[104,0,0,1,0]],"plug":[[91,0,0,1,0]],"valibot":[[91,0,0,1,0],[104,0,0,3,0],[109,0,0,1,1]],"schemas":[[91,0,0,1,0],[100,0,0,1,0],[104,0,0,3,0],[106,0,1,0,0],[107,0,1,0,0],[108,0,1,0,0],[109,0,1,0,1]],"show":[[92,0,0,1,0]],"thin":[[93,0,0,1,0],[141,0,0,1,0]],"wrapper":[[93,0,0,1,0]],"convertmdxtomarkdown":[[93,0,0,1,0],[94,0,0,0,1],[96,0,1,0,1]],"writemdxfileasmarkdown":[[93,0,0,1,0],[94,0,0,0,1],[97,0,1,0,1]],"generatellmfullcontextfiles":[[93,0,0,1,0],[111,0,0,1,1],[114,0,0,1,2]],"generateagentreadabilityartifacts":[[93,0,0,1,0],[111,0,0,1,1],[114,0,0,1,2],[115,0,1,0,2],[116,0,0,1,0]],"helpers":[[93,0,0,1,0],[116,0,1,1,0],[117,0,1,0,0],[118,0,1,1,0],[119,0,1,0,0],[120,0,2,0,0],[121,0,2,0,0],[122,0,1,0,0],[123,0,1,0,0],[135,0,0,1,0],[136,0,0,1,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,0,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"sites":[[93,0,0,1,0],[115,0,0,1,0]],"generatedocssearchfiles":[[93,0,0,1,0],[137,0,0,0,2]],"lintdocs":[[93,0,0,1,0],[100,0,0,0,1],[104,0,0,0,2],[109,0,0,0,2]],"individual":[[93,0,0,1,0],[134,0,0,1,0]],"happy":[[93,0,0,1,0],[113,0,0,0,1]],"precedence":[[93,0,0,1,0],[128,0,1,0,0]],"calls":[[94,0,0,1,0],[111,0,0,2,0]],"internally":[[94,0,0,1,0]],"memory":[[94,0,0,1,0],[96,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"batch":[[95,0,0,1,0]],"option":[[95,0,0,1,0],[104,0,0,1,0],[124,0,0,1,0]],"destination":[[95,0,0,1,0]],"matters":[[95,0,0,1,0],[129,0,0,1,0],[131,0,1,0,0]],"concurrent":[[95,0,0,1,0],[98,0,0,1,0]],"large":[[95,0,0,1,0],[112,0,0,1,0]],"parallel":[[95,0,0,1,0]],"parsed":[[96,0,0,1,0]],"yourself":[[96,0,0,1,0]],"writing":[[96,0,0,1,0]],"feed":[[96,0,0,1,0],[131,0,0,1,0]],"touching":[[96,0,0,1,0],[135,0,0,1,0]],"console":[[96,0,0,0,2]],"log":[[96,0,0,0,2]],"srcpath":[[97,0,0,0,1]],"outpath":[[97,0,0,0,1]],"blocks":[[98,0,0,2,0],[102,0,0,1,0],[130,0,0,1,0]],"survive":[[98,0,0,1,0]],"synthesized":[[98,0,0,1,0]],"sometimes":[[98,0,0,1,0]],"tables":[[98,0,0,1,0]],"compacted":[[98,0,0,1,0]],"global":[[98,0,0,1,0]],"pairing":[[99,0,1,0,0]],"setups":[[99,0,0,1,0]],"expand":[[99,0,0,1,0]],"ast":[[99,0,0,1,0]],"sees":[[99,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0]],"rationale":[[99,0,0,1,0]],"documented":[[100,0,0,1,0]],"covers":[[100,0,0,1,0],[128,0,0,1,0]],"grouped":[[101,0,0,1,0]],"severity":[[102,0,0,1,0],[103,0,0,1,0],[105,0,0,0,1]],"active":[[102,0,0,1,0]],"won":[[102,0,0,1,0]],"treat":[[102,0,0,1,0],[110,0,0,1,0]],"highest":[[102,0,0,1,0]],"priority":[[102,0,0,1,0]],"similar":[[103,0,0,1,0],[130,0,0,1,0]],"linting":[[103,0,0,1,0]],"walking":[[103,0,0,1,0]],"performs":[[103,0,0,1,0]],"final":[[103,0,0,1,0],[128,0,0,1,0],[131,0,0,1,0]],"changelogdir":[[104,0,0,1,0]],"patterns":[[104,0,0,2,0]],"shown":[[104,0,0,1,0]],"unknownfieldseverity":[[104,0,0,1,1]],"changelogfrontmatter":[[104,0,0,1,0]],"failures":[[105,0,0,1,0]],"reported":[[105,0,0,1,0]],"lintresult":[[105,0,0,0,1]],"kind":[[105,0,0,0,1]],"filesscanned":[[105,0,0,0,1]],"yes":[[106,0,0,1,0],[107,0,0,3,0],[108,0,0,1,0]],"produced":[[106,0,0,1,0]],"semver":[[107,0,0,1,0]],"iso":[[107,0,0,1,0]],"parseable":[[107,0,0,1,0]],"release":[[107,0,0,1,0]],"improvement":[[107,0,0,1,0]],"retired":[[107,0,0,1,0]],"deprecation":[[107,0,0,1,0]],"authors":[[107,0,0,1,0]],"defaultopen":[[108,0,0,1,0]],"combined":[[108,0,0,1,0]],"replace":[[109,0,0,1,0],[118,0,0,1,0],[130,0,0,1,0]],"provide":[[109,0,0,1,0]],"apply":[[109,0,0,1,0]],"customfrontmatter":[[109,0,0,0,2]],"minlength":[[109,0,0,0,1]],"audience":[[109,0,0,0,1]],"picklist":[[109,0,0,0,1]],"beginner":[[109,0,0,0,1]],"advanced":[[109,0,0,0,1]],"practical":[[110,0,1,0,0]],"guidance":[[110,0,1,0,0]],"template":[[110,0,0,1,0],[131,0,0,1,0]],"wiring":[[110,0,0,1,0]],"pipelines":[[110,0,0,1,0]],"flavors":[[111,0,0,1,0]],"derived":[[111,0,0,1,0]],"pairs":[[111,0,0,1,0],[122,0,0,1,0]],"finer":[[111,0,0,1,0]],"renderrobotstxt":[[111,0,0,0,1],[115,0,0,0,2]],"rendersitemapmarkdown":[[111,0,0,0,1],[115,0,0,0,2]],"rendersitemapxml":[[111,0,0,0,1],[115,0,0,0,2]],"purpose":[[112,0,0,1,0],[143,0,0,1,0]],"best":[[112,0,0,1,0],[113,0,0,0,1]],"starting":[[112,0,0,1,0],[113,0,0,0,1]],"lists":[[112,0,0,1,0]],"very":[[112,0,0,1,0]],"windows":[[112,0,0,1,0]],"narrower":[[112,0,0,1,0]],"budgets":[[112,0,0,1,0]],"lastmod":[[112,0,0,1,0]],"allows":[[112,0,0,1,0]],"common":[[112,0,0,1,0],[143,0,0,1,0]],"crawlers":[[112,0,0,1,0]],"appear":[[112,0,0,1,0]],"parent":[[112,0,0,1,0]],"thing":[[113,0,0,0,1],[114,0,0,0,1],[125,0,0,0,1]],"well":[[113,0,0,0,1],[114,0,0,0,1],[125,0,0,0,1]],"boring":[[113,0,0,0,1]],"parts":[[113,0,0,0,1]],"documentation":[[113,0,0,0,1]],"minute":[[113,0,0,0,1]],"typical":[[114,0,1,0,0]],"always":[[114,0,0,1,0]],"letting":[[115,0,0,1,0]],"returned":[[115,0,0,1,0]],"writefile":[[115,0,0,0,3],[126,0,0,0,2]],"objects":[[116,0,0,1,0],[143,0,0,1,0]],"module":[[116,0,0,1,0]],"acceptsmarkdownheader":[[116,0,0,0,1],[120,0,0,1,0],[121,0,0,1,0]],"createdocshead":[[116,0,0,0,1],[119,0,1,0,2],[120,0,0,1,0]],"createmarkdownresponseheaders":[[116,0,0,0,1],[120,0,0,1,0]],"enrichmarkdownfrontmatter":[[116,0,0,0,1],[120,0,0,1,0]],"isagentreadabilityartifactpath":[[116,0,0,0,1],[121,0,0,1,0]],"isagentuseragent":[[116,0,0,0,1],[120,0,0,1,0],[121,0,0,1,0]],"rendermissingmarkdown":[[116,0,0,0,1],[120,0,0,1,0]],"resolvemarkdownmirrortarget":[[116,0,0,0,1],[120,0,0,1,0]],"fall":[[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0]],"ua":[[117,0,0,1,0]],"enriches":[[117,0,0,1,0]],"useragentpattern":[[117,0,0,1,0]],"regex":[[117,0,0,1,0],[121,0,0,1,0]],"cover":[[117,0,0,1,0]],"oai":[[117,0,0,1,0]],"searchbot":[[117,0,0,1,0]],"anthropic":[[117,0,0,1,0]],"ccbot":[[117,0,0,1,0]],"google":[[117,0,0,1,0]],"extended":[[117,0,0,1,0]],"directives":[[118,0,0,1,0]],"reflect":[[118,0,0,1,0]],"hacks":[[118,0,0,1,0]],"rebasing":[[118,0,0,0,1]],"og":[[119,0,0,1,2],[120,0,0,1,0]],"neutral":[[119,0,0,1,0]],"router":[[119,0,0,1,1]],"arrays":[[119,0,0,1,0]],"caller":[[119,0,0,1,0]],"key":[[119,0,0,0,1]],"ldjson":[[119,0,0,0,1]],"jsonldmetakey":[[119,0,0,0,1]],"lower":[[120,0,1,0,0],[121,0,1,0,0]],"escaped":[[120,0,0,1,0]],"crlf":[[120,0,0,1,0]],"tolerant":[[120,0,0,1,0]],"used":[[120,0,0,1,0],[124,0,0,1,0]],"detect":[[120,0,0,2,0],[121,0,0,2,0]],"asking":[[120,0,0,1,0],[121,0,0,1,0]],"crawler":[[120,0,0,1,0],[121,0,0,1,0]],"avoid":[[121,0,0,1,0]],"uas":[[122,0,0,1,0]],"sure":[[122,0,0,1,0]],"shards":[[122,0,0,1,0]],"pollinate":[[122,0,0,1,0]],"asserts":[[123,0,0,1,0]],"throws":[[123,0,0,1,0]],"clear":[[123,0,0,1,0]],"loudly":[[123,0,0,1,0]],"silently":[[123,0,0,1,0]],"producing":[[123,0,0,1,0]],"rely":[[124,0,0,1,0]],"singular":[[124,0,0,1,0]],"segment":[[124,0,0,1,0]],"productinfo":[[124,0,0,1,0]],"agentguidance":[[124,0,0,1,0]],"intentionally":[[124,0,0,1,0],[134,0,0,1,0]],"mislead":[[124,0,0,1,0]],"docssubdir":[[124,0,0,1,0]],"holds":[[124,0,0,1,0]],"prefix":[[124,0,0,1,0]],"outputpath":[[124,0,0,1,0]],"driving":[[126,0,0,1,0]],"mkdir":[[126,0,0,0,2]],"stringify":[[126,0,0,0,1]],"come":[[127,0,0,1,0]],"principles":[[127,0,0,1,0]],"prefer":[[127,0,0,1,0]],"narrow":[[127,0,0,1,0]],"giant":[[127,0,0,1,0]],"load":[[127,0,0,2,0],[137,0,0,2,0]],"something":[[127,0,0,1,0]],"truncate":[[127,0,0,1,0]],"flavor":[[127,0,0,1,0]],"decide":[[127,0,0,1,0]],"beats":[[127,0,0,1,0]],"our":[[127,0,0,1,0]],"environment":[[128,0,0,1,0]],"variables":[[128,0,0,1,0]],"layered":[[128,0,0,1,0]],"fallback":[[128,0,0,2,0]],"lets":[[128,0,0,1,0]],"wide":[[128,0,0,1,0]],"platforms":[[128,0,0,1,0]],"hardcoded":[[128,0,0,1,0]],"portless":[[128,0,0,0,1]],"stripped":[[129,0,0,1,0]],"remarkremoveimports":[[130,0,0,1,1]],"statements":[[130,0,0,1,0]],"remarkremovejsxcomments":[[130,0,0,1,1]],"comments":[[130,0,0,1,0]],"remarkresolvedocplaceholders":[[130,0,0,1,1],[131,0,0,1,0]],"remarksectiontomarkdown":[[130,0,0,1,1]],"containers":[[130,0,0,1,0]],"remarkcallouttomarkdown":[[130,0,0,1,1]],"remarkcardstomarkdown":[[130,0,0,1,1]],"bulleted":[[130,0,0,1,0]],"remarkdetailstomarkdown":[[130,0,0,1,1]],"remarkmermaidtomarkdown":[[130,0,0,1,1]],"remarkcommandtabstomarkdown":[[130,0,0,1,1]],"remarkstepstomarkdown":[[130,0,0,1,1]],"remarktabstomarkdown":[[130,0,0,1,1]],"remarkaccordiontomarkdown":[[130,0,0,1,1]],"remarktopicswitchertomarkdown":[[130,0,0,1,1]],"labeled":[[130,0,0,1,0]],"remarkexampletomarkdown":[[130,0,0,1,1]],"mdast":[[130,0,0,0,1]],"ri":[[130,0,0,0,2]],"rj":[[130,0,0,0,2]],"rd":[[130,0,0,0,2]],"rs":[[130,0,0,0,2]],"rc":[[130,0,0,0,2]],"rcd":[[130,0,0,0,2]],"rdt":[[130,0,0,0,2]],"rct":[[130,0,0,0,2]],"rst":[[130,0,0,0,2]],"rt":[[130,0,0,0,2]],"rtt":[[130,0,0,0,2]],"ra":[[130,0,0,0,2]],"rts":[[130,0,0,0,2]],"go":[[131,0,0,2,0]],"because":[[131,0,0,2,0]],"some":[[131,0,0,1,0]],"imported":[[131,0,0,1,0]],"flatteners":[[131,0,0,3,0]],"assume":[[131,0,0,1,0]],"strings":[[131,0,0,1,0]],"literals":[[131,0,0,1,0]],"reorder":[[131,0,0,1,0]],"casually":[[131,0,0,1,0]],"flattener":[[131,0,0,2,0],[132,0,0,1,0],[134,0,0,1,0]],"transform":[[131,0,0,1,0]],"contracted":[[131,0,0,1,0]],"insert":[[131,0,0,1,0]],"composition":[[132,0,0,1,0]],"included":[[132,0,0,1,0]],"expands":[[132,0,0,1,0]],"pipelineexampleoptions":[[133,0,0,0,1]],"types":[[133,0,0,0,1]],"selection":[[134,0,1,0,0]],"composed":[[134,0,0,1,0]],"fragments":[[134,0,0,1,0]],"processing":[[134,0,0,1,0]],"cost":[[134,0,0,1,0]],"almost":[[134,0,0,1,0]],"never":[[134,0,0,1,0]],"reordering":[[134,0,0,1,0]],"ones":[[134,0,0,1,0]],"exposes":[[135,0,0,1,0],[142,0,0,1,0]],"queries":[[135,0,0,1,0]],"database":[[135,0,0,1,0]],"document":[[136,0,0,2,0]],"jump":[[136,0,0,1,0]],"ranking":[[136,0,0,1,0]],"tunable":[[136,0,0,1,0]],"generator":[[136,0,0,1,0],[137,0,0,1,0]],"compact":[[136,0,0,1,0]],"tuple":[[136,0,0,1,0]],"term":[[136,0,0,1,0]],"postings":[[136,0,0,1,0]],"refs":[[136,0,0,2,0]],"actual":[[136,0,0,1,0]],"separated":[[136,0,0,1,0]],"loading":[[136,0,0,1,0]],"lazily":[[136,0,0,1,0]],"indexing":[[137,0,1,0,0]],"cheap":[[137,0,0,1,0],[144,0,0,1,0]],"hover":[[137,0,0,1,0]],"anywhere":[[138,0,0,1,0]],"hash":[[138,0,0,1,0]],"snippets":[[138,0,0,1,0]],"ready":[[138,0,0,1,0]],"searchdocs":[[138,0,0,0,2]],"docssearchindex":[[138,0,0,0,2]],"docssearchcontentstore":[[138,0,0,0,2]],"indexjson":[[138,0,0,0,2]],"contentjson":[[138,0,0,0,2]],"doubles":[[139,0,0,1,0]],"virtual":[[139,0,0,1,0],[142,0,0,1,0]],"readers":[[139,0,0,1,0]],"picked":[[139,0,0,1,0]],"readdocscontentfile":[[139,0,0,1,2]],"entire":[[139,0,0,1,0]],"readdocscontentchunk":[[139,0,0,1,2]],"listdocscontentfiles":[[139,0,0,0,2]],"allfiles":[[139,0,0,0,1]],"wholepage":[[139,0,0,0,1]],"onechunk":[[139,0,0,0,1]],"createanswercontext":[[140,0,0,1,2],[141,0,0,1,0]],"query":[[140,0,0,1,0],[141,0,0,0,1],[143,0,0,1,0]],"retrieved":[[140,0,0,2,0]],"chunks":[[140,0,0,1,0],[142,0,0,1,0],[144,0,0,1,0]],"prompt":[[140,0,0,1,1]],"instructs":[[140,0,0,1,0]],"sources":[[140,0,0,1,1],[141,0,0,2,1]],"references":[[140,0,0,1,0]],"say":[[140,0,0,1,0]],"insufficient":[[140,0,0,1,0]],"productname":[[140,0,0,0,1],[141,0,0,0,1]],"wrappers":[[141,0,0,1,0]],"around":[[141,0,0,1,0]],"stream":[[141,0,0,1,0]],"matching":[[141,0,0,1,0],[144,0,0,1,0]],"citation":[[141,0,0,1,0]],"display":[[141,0,0,1,0]],"embed":[[141,0,0,1,0]],"streamed":[[141,0,0,1,0]],"adapter":[[141,0,0,1,0],[142,0,0,1,0]],"createcloudflaredocsadapter":[[141,0,0,1,0]],"gateway":[[141,0,0,1,2]],"streamdocsanswer":[[141,0,0,0,4]],"sdk":[[141,0,0,0,1]],"gpt":[[141,0,0,0,1]],"adapters":[[142,0,1,0,0]],"explore":[[142,0,0,1,0]],"shell":[[142,0,0,1,0]],"receiving":[[142,0,0,1,0]],"selected":[[142,0,0,1,0]],"ls":[[142,0,0,1,0]],"cat":[[142,0,0,1,0]],"rg":[[142,0,0,1,0]],"execution":[[142,0,0,1,0]],"disabled":[[142,0,0,1,0]],"expose":[[142,0,0,1,0]],"createdocsbashtools":[[142,0,0,1,0]],"plural":[[142,0,0,1,0]],"createdocsbashtool":[[142,0,0,0,2]],"instructions":[[142,0,0,0,1]],"abuse":[[143,0,1,0,0]],"guards":[[143,0,1,0,0]],"reusable":[[143,0,0,1,0]],"utilities":[[143,0,0,1,0]],"validatedocsquery":[[143,0,0,1,0]],"trim":[[143,0,0,1,0]],"cap":[[143,0,0,1,0]],"readjsonwithlimit":[[143,0,0,1,0]],"reject":[[143,0,0,1,0]],"oversized":[[143,0,0,1,0]],"getclientidentifier":[[143,0,0,1,0]],"proxy":[[143,0,0,1,0]],"ip":[[143,0,0,1,0]],"creatememoryratelimiter":[[143,0,0,1,0]],"implements":[[143,0,0,1,0]],"ratelimiter":[[143,0,0,2,0]],"demos":[[143,0,0,2,0]],"limiter":[[143,0,0,1,0]],"adapt":[[143,0,0,1,0]],"interface":[[143,0,0,1,0]],"redis":[[143,0,0,1,0]],"durable":[[143,0,0,1,0]],"embeddings":[[144,0,1,2,0]],"keys":[[144,0,0,1,0]],"messages":[[144,0,0,1,0]],"users":[[144,0,0,1,0]],"faster":[[144,0,0,1,0]],"performance":[[144,0,0,1,0]],"optimization":[[144,0,0,1,0]],"grow":[[144,0,0,1,0]],"past":[[144,0,0,1,0]],"tens":[[144,0,0,1,0]],"thousands":[[144,0,0,1,0]],"cold":[[144,0,0,1,0]],"hit":[[144,0,0,1,0]],"noticeable":[[144,0,0,1,0]],"lexical":[[144,0,0,1,0]],"complementary":[[144,0,0,1,0]],"replacements":[[144,0,0,1,0]]},"averageChunkLength":87.90344827586208} +{"version":2,"generatedAt":"2026-05-10T05:57:49.209Z","documents":[["authoring/components","Components","MDX components the pipeline knows how to flatten into agent-readable markdown.","/docs/authoring/components","https://docs.example.com/docs/authoring/components","authoring/components"],["authoring/frontmatter","Frontmatter","Required fields, group semantics, and how authored MDX becomes a navigation tree.","/docs/authoring/frontmatter","https://docs.example.com/docs/authoring/frontmatter","authoring/frontmatter"],["build/bundle-package-docs","Bundle docs into a package","Ship agent-readable docs inside an npm tarball — AGENTS.md at the package root plus per-topic .md files.","/docs/build/bundle-package-docs","https://docs.example.com/docs/build/bundle-package-docs","build/bundle-package-docs"],["build/connect-docs-site","Connect a docs site","Wire leadtype into a docs app build so humans, agents, and search use one source.","/docs/build/connect-docs-site","https://docs.example.com/docs/build/connect-docs-site","build/connect-docs-site"],["build/optimize-docs-for-agents","Optimize docs for agents","Set up llms.txt, markdown mirrors, JSON-LD, sitemaps, robots.txt, and audit checks for an agent-readable docs site.","/docs/build/optimize-docs-for-agents","https://docs.example.com/docs/build/optimize-docs-for-agents","build/optimize-docs-for-agents"],["build/validate-in-ci","Validate in CI","Run leadtype lint in CI so frontmatter, navigation, and link issues fail PRs before publish.","/docs/build/validate-in-ci","https://docs.example.com/docs/build/validate-in-ci","build/validate-in-ci"],["how-it-works","How it works","The mental model: one MDX source, a remark pipeline, two output modes, three audiences.","/docs/how-it-works","https://docs.example.com/docs/how-it-works","how-it-works"],["index","Leadtype","One MDX source. A website for humans, AGENTS.md for offline coding agents, llms.txt for HTTP agents — all from a single pipeline.","/docs","https://docs.example.com/docs","index"],["methodology","Methodology","How leadtype differs from Fumadocs, Starlight, and Mintlify.","/docs/methodology","https://docs.example.com/docs/methodology","methodology"],["quickstart","Quickstart","Install leadtype, run it against a docs folder, and inspect the artifacts it produces.","/docs/quickstart","https://docs.example.com/docs/quickstart","quickstart"],["reference/cli","CLI","leadtype generate and leadtype lint — flags, exit codes, and JSON output.","/docs/reference/cli","https://docs.example.com/docs/reference/cli","reference/cli"],["reference/convert","Convert","MDX-to-markdown conversion APIs from leadtype/convert.","/docs/reference/convert","https://docs.example.com/docs/reference/convert","reference/convert"],["reference/lint","Lint rules","Schema, link, and navigation checks. CLI and library API.","/docs/reference/lint","https://docs.example.com/docs/reference/lint","reference/lint"],["reference/llm","LLM bundles","Generate llms.txt for hosted websites and AGENTS.md for npm-bundled offline reading.","/docs/reference/llm","https://docs.example.com/docs/reference/llm","reference/llm"],["reference/remark","Remark plugins","The default plugin stack that flattens MDX components into markdown.","/docs/reference/remark","https://docs.example.com/docs/reference/remark","reference/remark"],["reference/search","Search","Static search index, runtime helpers, and source-grounded answer streaming.","/docs/reference/search","https://docs.example.com/docs/reference/search","reference/search"]],"chunks":[["chunk-0",0,"components",["Components"],45,0],["chunk-1",0,"why-flatten-at-all",["Components","Why flatten at all?"],82,1],["chunk-2",0,"the-naming-contract",["Components","The naming contract"],76,2],["chunk-3",0,"component-reference",["Components","Component reference"],34,3],["chunk-4",0,"callout",["Components","Component reference","Callout"],74,4],["chunk-5",0,"cards",["Components","Component reference","Cards"],43,5],["chunk-6",0,"steps",["Components","Component reference","Steps"],74,6],["chunk-7",0,"tabs",["Components","Component reference","Tabs"],89,7],["chunk-8",0,"commandtabs",["Components","Component reference","CommandTabs"],111,8],["chunk-9",0,"accordion",["Components","Component reference","Accordion"],77,9],["chunk-10",0,"topicswitcher",["Components","Component reference","TopicSwitcher"],69,10],["chunk-11",0,"typetable-and-extractedtypetable",["Components","Component reference","TypeTable and ExtractedTypeTable"],86,11],["chunk-12",0,"example",["Components","Component reference","Example"],76,12],["chunk-13",0,"mermaid",["Components","Component reference","Mermaid"],62,13],["chunk-14",0,"guidelines",["Components","Guidelines"],55,14],["chunk-15",1,"frontmatter",["Frontmatter"],26,15],["chunk-16",1,"minimum",["Frontmatter","Minimum"],75,16],["chunk-17",1,"how-groups-become-a-nav-tree",["Frontmatter","How groups become a nav tree"],119,17],["chunk-18",1,"nested-groups",["Frontmatter","How groups become a nav tree","Nested groups"],69,18],["chunk-19",1,"optional-fields",["Frontmatter","Optional fields"],117,19],["chunk-20",1,"lint-rules",["Frontmatter","Lint rules"],88,20],["chunk-21",1,"what-this-gives-you",["Frontmatter","What this gives you"],55,21],["chunk-22",2,"bundle-docs-into-a-package",["Bundle docs into a package"],76,22],["chunk-23",2,"the-flow",["Bundle docs into a package","The flow"],86,23],["chunk-24",2,"why-agents-md-not-llms-txt",["Bundle docs into a package","Why AGENTS.md, not llms.txt?"],137,24],["chunk-25",2,"generate-into-the-package",["Bundle docs into a package","Generate into the package"],117,25],["chunk-26",2,"filter-to-package-specific-docs",["Bundle docs into a package","Filter to package-specific docs"],78,26],["chunk-27",2,"include-in-the-published-tarball",["Bundle docs into a package","Include in the published tarball"],156,27],["chunk-28",2,"include-in-the-published-tarball",["Bundle docs into a package","Include in the published tarball"],89,28],["chunk-29",2,"verify-before-publishing",["Bundle docs into a package","Verify before publishing"],71,29],["chunk-30",2,"tell-consuming-projects-to-use-the-bundle",["Bundle docs into a package","Tell consuming projects to use the bundle"],112,30],["chunk-31",2,"when-to-use-this",["Bundle docs into a package","When to use this"],72,31],["chunk-32",2,"what-s-next",["Bundle docs into a package","What's next"],31,32],["chunk-33",3,"connect-a-docs-site",["Connect a docs site"],54,33],["chunk-34",3,"the-flow",["Connect a docs site","The flow"],101,34],["chunk-35",3,"one-off-run",["Connect a docs site","One-off run"],75,35],["chunk-36",3,"wire-it-into-the-build",["Connect a docs site","Wire it into the build"],201,36],["chunk-37",3,"configure-the-product-and-groups",["Connect a docs site","Configure the product and groups"],93,37],["chunk-38",3,"make-the-site-agent-readable",["Connect a docs site","Make the site agent-readable"],195,38],["chunk-39",3,"connect-a-remote-source",["Connect a docs site","Connect a remote source"],130,39],["chunk-40",3,"verify",["Connect a docs site","Verify"],159,40],["chunk-41",3,"what-s-next",["Connect a docs site","What's next"],26,41],["chunk-42",4,"optimize-docs-for-agents",["Optimize docs for agents"],53,42],["chunk-43",4,"what-good-looks-like",["Optimize docs for agents","What good looks like"],105,43],["chunk-44",4,"1-generate-the-artifacts",["Optimize docs for agents","1. Generate the artifacts"],117,44],["chunk-45",4,"2-serve-root-discovery-files",["Optimize docs for agents","2. Serve root discovery files"],210,45],["chunk-46",4,"3-add-json-ld-to-docs-pages",["Optimize docs for agents","3. Add JSON-LD to docs pages"],144,46],["chunk-47",4,"4-return-markdown-to-agents",["Optimize docs for agents","4. Return markdown to agents"],226,47],["chunk-48",4,"4-return-markdown-to-agents",["Optimize docs for agents","4. Return markdown to agents"],170,48],["chunk-49",4,"4-return-markdown-to-agents",["Optimize docs for agents","4. Return markdown to agents"],71,49],["chunk-50",4,"serve-sitemap-xml-and-robots-txt-with-the-live-origin",["Optimize docs for agents","4. Return markdown to agents","Serve sitemap.xml and robots.txt with the live origin"],180,50],["chunk-51",4,"cache-control-and-cdn",["Optimize docs for agents","4. Return markdown to agents","Cache-Control and CDN"],88,51],["chunk-52",4,"5-verify-locally",["Optimize docs for agents","5. Verify locally"],193,52],["chunk-53",4,"minimal-checklist",["Optimize docs for agents","Minimal checklist"],99,53],["chunk-54",5,"validate-in-ci",["Validate in CI"],49,54],["chunk-55",5,"what-it-catches",["Validate in CI","What it catches"],78,55],["chunk-56",5,"github-actions",["Validate in CI","GitHub Actions"],83,56],["chunk-57",5,"other-ci-providers",["Validate in CI","Other CI providers"],60,57],["chunk-58",5,"local-pre-push-hook",["Validate in CI","Local pre-push hook"],64,58],["chunk-59",5,"run-before-generate",["Validate in CI","Run before generate"],63,59],["chunk-60",5,"what-to-fix-first",["Validate in CI","What to fix first"],66,60],["chunk-61",6,"how-it-works",["How it works"],37,61],["chunk-62",6,"the-pipeline",["How it works","The pipeline"],141,62],["chunk-63",6,"two-output-modes",["How it works","Two output modes"],127,63],["chunk-64",6,"the-artifacts",["How it works","The artifacts"],168,64],["chunk-65",6,"the-artifacts",["How it works","The artifacts"],104,65],["chunk-66",6,"the-three-audiences",["How it works","The three audiences"],178,66],["chunk-67",6,"vocabulary",["How it works","Vocabulary"],155,67],["chunk-68",6,"what-runs-when",["How it works","What runs when"],124,68],["chunk-69",6,"where-to-next",["How it works","Where to next"],20,69],["chunk-70",7,"leadtype",["Leadtype"],183,70],["chunk-71",7,"choose-your-path",["Leadtype","Choose your path"],49,71],["chunk-72",7,"what-you-get",["Leadtype","What you get"],111,72],["chunk-73",7,"next",["Leadtype","Next"],49,73],["chunk-74",8,"methodology",["Methodology"],30,74],["chunk-75",8,"the-short-version",["Methodology","The short version"],67,75],["chunk-76",8,"what-leadtype-owns",["Methodology","What leadtype owns"],50,76],["chunk-77",8,"what-leadtype-does-not-own",["Methodology","What leadtype does not own"],31,77],["chunk-78",8,"when-the-combination-shines",["Methodology","When the combination shines"],75,78],["chunk-79",9,"quickstart",["Quickstart"],18,79],["chunk-80",9,"install",["Quickstart","Install"],54,80],["chunk-81",9,"author-one-page",["Quickstart","Author one page"],46,81],["chunk-82",9,"generate",["Quickstart","Generate"],149,82],["chunk-83",9,"inspect-the-output",["Quickstart","Inspect the output"],109,83],["chunk-84",9,"bundle-for-offline-agents",["Quickstart","Bundle for offline agents"],82,84],["chunk-85",9,"what-s-next",["Quickstart","What's next"],32,85],["chunk-86",10,"cli",["CLI"],30,86],["chunk-87",10,"generate",["CLI","generate"],175,87],["chunk-88",10,"generate",["CLI","generate"],65,88],["chunk-89",10,"bundle-mode",["CLI","generate","Bundle mode"],78,89],["chunk-90",10,"json-output-shape",["CLI","generate","JSON output shape"],173,90],["chunk-91",10,"group-inference",["CLI","generate","Group inference"],89,91],["chunk-92",10,"lint",["CLI","lint"],145,92],["chunk-93",10,"help",["CLI","help"],25,93],["chunk-94",10,"library-entry-points",["CLI","Library entry points"],81,94],["chunk-95",11,"convert",["Convert"],47,95],["chunk-96",11,"convertallmdx",["Convert","convertAllMdx"],67,96],["chunk-97",11,"convertmdxtomarkdown",["Convert","convertMdxToMarkdown"],54,97],["chunk-98",11,"writemdxfileasmarkdown",["Convert","writeMdxFileAsMarkdown"],28,98],["chunk-99",11,"behavior-notes",["Convert","Behavior notes"],50,99],["chunk-100",11,"pairing-with-remark-plugins",["Convert","Pairing with remark plugins"],54,100],["chunk-101",12,"lint-rules",["Lint rules"],46,101],["chunk-102",12,"rules",["Lint rules","Rules"],15,102],["chunk-103",12,"frontmatter-rules",["Lint rules","Rules","Frontmatter rules"],58,103],["chunk-104",12,"content-link-rules",["Lint rules","Rules","Content / link rules"],68,104],["chunk-105",12,"library-api",["Lint rules","Library API"],90,105],["chunk-106",12,"result-shape",["Lint rules","Library API","Result shape"],67,106],["chunk-107",12,"docs-frontmatter",["Lint rules","Default schemas","Docs frontmatter"],75,107],["chunk-108",12,"changelog-frontmatter",["Lint rules","Default schemas","Changelog frontmatter"],60,108],["chunk-109",12,"meta-json",["Lint rules","Default schemas","meta.json"],49,109],["chunk-110",12,"custom-schemas",["Lint rules","Custom schemas"],63,110],["chunk-111",12,"practical-guidance",["Lint rules","Practical guidance"],65,111],["chunk-112",13,"llm-bundles",["LLM bundles"],120,112],["chunk-113",13,"what-gets-generated",["LLM bundles","What gets generated"],157,113],["chunk-114",13,"example-llms-txt",["LLM bundles","Example llms.txt"],82,114],["chunk-115",13,"typical-sequence",["LLM bundles","Typical sequence"],108,115],["chunk-116",13,"generateagentreadabilityartifacts",["LLM bundles","generateAgentReadabilityArtifacts"],134,116],["chunk-117",13,"agent-readability-helpers",["LLM bundles","Agent readability helpers"],72,117],["chunk-118",13,"createagentmarkdownresponse",["LLM bundles","Agent readability helpers","createAgentMarkdownResponse"],179,118],["chunk-119",13,"createsitemapxmlresponse-createsitemapmarkdownresponse-createrobotstxtresponse",["LLM bundles","Agent readability helpers","createSitemapXmlResponse / createSitemapMarkdownResponse / createRobotsTxtResponse"],96,119],["chunk-120",13,"createdocshead",["LLM bundles","Agent readability helpers","createDocsHead"],150,120],["chunk-121",13,"lower-level-helpers",["LLM bundles","Agent readability helpers","Lower-level helpers"],144,121],["chunk-122",13,"lower-level-helpers",["LLM bundles","Agent readability helpers","Lower-level helpers"],58,122],["chunk-123",13,"cache-control-and-cdn",["LLM bundles","Agent readability helpers","Cache-Control and CDN"],73,123],["chunk-124",13,"manifest-version",["LLM bundles","Agent readability helpers","Manifest version"],47,124],["chunk-125",13,"generateagentsmd",["LLM bundles","generateAgentsMd"],144,125],["chunk-126",13,"example-output",["LLM bundles","generateAgentsMd","Example output"],86,126],["chunk-127",13,"resolvedocsnavigation",["LLM bundles","resolveDocsNavigation"],112,127],["chunk-128",13,"topic-design",["LLM bundles","Topic design"],78,128],["chunk-129",13,"base-url-precedence",["LLM bundles","Base URL precedence"],76,129],["chunk-130",14,"remark-plugins",["Remark plugins"],46,130],["chunk-131",14,"the-default-stack",["Remark plugins","The default stack"],158,131],["chunk-132",14,"why-order-matters",["Remark plugins","Why order matters"],81,132],["chunk-133",14,"remarkinclude",["Remark plugins","Optional plugins","remarkInclude"],40,133],["chunk-134",14,"remarktypetabletomarkdown-with-basepath",["Remark plugins","Optional plugins","remarkTypeTableToMarkdown with basePath"],98,134],["chunk-135",14,"plugin-selection-rules",["Remark plugins","Plugin selection rules"],63,135],["chunk-136",15,"search",["Search"],41,136],["chunk-137",15,"vocabulary",["Search","Vocabulary"],79,137],["chunk-138",15,"build-time-indexing",["Search","Build-time indexing"],67,138],["chunk-139",15,"runtime-search",["Search","Runtime search"],67,139],["chunk-140",15,"reading-docs-at-runtime",["Search","Reading docs at runtime"],62,140],["chunk-141",15,"source-grounded-answers",["Search","Source-grounded answers"],62,141],["chunk-142",15,"streaming-via-provider-entry-points",["Search","Streaming via provider entry points"],103,142],["chunk-143",15,"bash-tool-adapters",["Search","Bash tool adapters"],65,143],["chunk-144",15,"abuse-guards",["Search","Abuse guards"],60,144],["chunk-145",15,"when-to-add-embeddings",["Search","When to add embeddings"],73,145]],"terms":{"10":[[131,0,0,1,0]],"11":[[131,0,0,1,0]],"12":[[131,0,0,1,0]],"13":[[131,0,0,1,0]],"14":[[131,0,0,1,0]],"15":[[131,0,0,1,0]],"25":[[22,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0]],"35":[[67,0,0,1,0],[137,0,0,1,0]],"50":[[128,0,0,1,0]],"200":[[47,0,0,1,0],[118,0,0,1,0],[121,0,0,1,0]],"300":[[47,0,0,1,0],[51,0,0,1,0],[118,0,0,1,0],[123,0,0,1,0]],"5173":[[40,0,0,0,4],[52,0,0,0,8]],"8601":[[108,0,0,1,0]],"components":[[0,1,1,2,0],[1,1,1,2,0],[2,1,1,2,2],[3,1,1,1,0],[4,1,1,1,0],[5,1,1,1,0],[6,1,1,2,1],[7,1,1,1,0],[8,1,1,1,0],[9,1,1,1,0],[10,1,1,1,0],[11,1,1,1,0],[12,1,1,1,4],[13,1,1,1,0],[14,1,1,3,0],[62,0,0,2,1],[72,0,0,1,0],[77,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0],[135,0,0,1,0]],"mdx":[[0,0,0,1,0],[1,0,0,2,0],[2,0,0,1,1],[3,0,0,2,0],[4,0,0,1,0],[5,0,0,1,1],[6,0,0,2,1],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,3],[13,0,0,1,2],[14,0,0,1,0],[15,0,0,2,0],[16,0,0,1,1],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[23,0,0,0,1],[31,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,0,2],[54,0,0,1,0],[56,0,0,0,1],[61,0,0,2,0],[62,0,0,2,1],[63,0,0,1,0],[64,0,0,2,0],[65,0,0,1,0],[66,0,0,2,1],[67,0,0,2,0],[68,0,0,2,0],[69,0,0,1,0],[70,0,0,2,1],[71,0,0,1,0],[72,0,0,3,0],[73,0,0,1,0],[76,0,0,1,0],[77,0,0,1,0],[79,0,0,1,0],[81,0,0,1,1],[82,0,0,1,0],[83,0,0,1,0],[87,0,0,1,0],[95,0,0,2,0],[96,0,0,2,0],[97,0,0,1,1],[98,0,0,1,1],[99,0,0,2,0],[100,0,0,1,0],[101,0,0,1,0],[104,0,0,1,0],[105,0,0,1,0],[130,0,0,2,0],[131,0,0,2,1],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,2,1],[135,0,0,1,0],[138,0,0,1,0]],"pipeline":[[0,0,0,2,0],[1,0,0,1,0],[2,0,0,2,0],[3,0,0,1,0],[4,0,0,2,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,2,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[21,0,0,1,0],[36,0,0,1,8],[44,0,0,1,0],[54,0,0,1,0],[61,0,0,1,0],[62,0,1,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,0],[70,0,0,2,0],[71,0,0,1,0],[72,0,0,1,0],[73,0,0,2,0],[74,0,0,1,0],[75,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[79,0,0,1,0],[85,0,0,1,0],[86,0,0,1,0],[87,0,0,1,0],[91,0,0,1,0],[97,0,0,1,0],[114,0,0,0,1],[126,0,0,0,1]],"knows":[[0,0,0,1,0],[1,0,0,1,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,1,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0]],"flatten":[[0,0,0,2,0],[1,0,1,1,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,3,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[62,0,0,0,1],[67,0,0,1,0],[131,0,0,2,0]],"into":[[0,0,0,2,0],[1,0,0,2,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,3,0],[5,0,0,1,1],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[16,0,0,0,1],[19,0,0,1,0],[22,1,1,0,0],[23,1,1,0,0],[24,1,1,0,0],[25,1,2,0,0],[26,1,1,0,0],[27,1,1,0,0],[28,1,1,0,0],[29,1,1,0,0],[30,1,1,0,0],[31,1,1,0,0],[32,1,1,0,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,1,2,0],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,2,0],[40,0,0,1,0],[41,0,0,1,0],[42,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[54,0,0,1,0],[57,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[67,0,0,1,0],[82,0,0,1,0],[84,0,0,1,0],[85,0,0,2,0],[87,0,0,2,0],[89,0,0,1,0],[95,0,0,1,0],[99,0,0,1,0],[100,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[117,0,0,1,0],[119,0,0,0,1],[126,0,0,1,0],[130,0,0,3,0],[131,0,0,1,0],[132,0,0,2,0],[133,0,0,1,0],[134,0,0,1,0],[135,0,0,1,0],[141,0,0,1,0]],"agent":[[0,0,0,1,0],[1,0,0,2,0],[2,0,0,1,0],[3,0,0,2,0],[4,0,0,1,0],[5,0,0,1,1],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,2,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,4,0],[25,0,0,1,1],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[33,0,0,1,0],[34,0,0,3,0],[35,0,0,1,0],[38,0,1,1,1],[40,0,0,2,0],[42,0,0,1,0],[43,0,0,3,0],[44,0,0,2,1],[45,0,0,2,1],[46,0,0,1,1],[47,0,0,5,1],[48,0,0,4,0],[49,0,0,2,0],[50,0,0,1,1],[51,0,0,3,0],[52,0,0,3,2],[53,0,0,3,0],[62,0,0,1,0],[63,0,0,2,0],[65,0,0,2,0],[66,0,0,1,4],[67,0,0,1,0],[68,0,0,2,0],[70,0,0,1,1],[72,0,0,1,0],[75,0,0,1,0],[78,0,0,2,0],[82,0,0,2,0],[83,0,0,1,2],[87,0,0,1,0],[89,0,0,1,0],[90,0,0,0,1],[94,0,0,1,0],[99,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[117,0,1,0,0],[118,0,1,5,0],[119,0,1,0,0],[120,0,1,0,1],[121,0,1,2,0],[122,0,1,1,0],[123,0,1,2,0],[124,0,1,1,0],[125,0,0,1,0],[128,0,0,1,0],[129,0,0,1,1],[130,0,0,1,0],[135,0,0,1,0],[143,0,0,1,0]],"readable":[[0,0,0,1,0],[1,0,0,1,0],[2,0,0,1,0],[3,0,0,1,0],[4,0,0,1,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,1],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[33,0,0,1,0],[38,0,1,0,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[62,0,0,1,0],[64,0,0,1,0],[83,0,0,0,1],[84,0,0,1,0],[130,0,0,1,0]],"markdown":[[0,0,0,2,0],[1,0,0,3,0],[2,0,0,1,0],[3,0,0,2,0],[4,0,0,1,0],[5,0,0,1,1],[6,0,0,2,1],[7,0,0,1,0],[8,0,0,2,0],[9,0,0,1,0],[10,0,0,1,0],[11,0,0,1,0],[12,0,0,1,0],[13,0,0,2,5],[14,0,0,2,0],[22,0,0,1,0],[34,0,0,1,0],[38,0,0,7,0],[40,0,0,3,1],[42,0,0,1,0],[43,0,0,6,0],[44,0,0,2,0],[45,0,0,1,0],[46,0,0,2,1],[47,0,1,5,0],[48,0,1,3,0],[49,0,1,2,0],[50,0,1,1,0],[51,0,1,2,0],[52,0,0,5,1],[53,0,0,6,0],[62,0,0,3,0],[64,0,0,3,0],[66,0,0,1,1],[67,0,0,3,0],[68,0,0,1,0],[70,0,0,0,1],[72,0,0,2,0],[74,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[82,0,0,1,0],[83,0,0,0,1],[94,0,0,1,0],[95,0,0,2,0],[96,0,0,1,0],[97,0,0,2,1],[98,0,0,1,0],[99,0,0,2,0],[100,0,0,1,0],[112,0,0,1,0],[113,0,0,3,0],[116,0,0,1,0],[118,0,0,4,0],[120,0,0,0,1],[121,0,0,5,0],[122,0,0,1,0],[123,0,0,1,0],[130,0,0,3,0],[131,0,0,3,1],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,2,0],[135,0,0,1,0],[138,0,0,1,0]],"leadtype":[[0,0,0,1,0],[6,0,0,1,1],[8,0,0,8,4],[12,0,0,1,1],[14,0,0,1,0],[15,0,0,1,0],[16,0,0,0,1],[20,0,0,1,0],[22,0,0,1,0],[23,0,0,0,1],[24,0,0,1,0],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,4],[29,0,0,0,1],[33,0,0,2,0],[34,0,0,2,0],[35,0,0,2,1],[36,0,0,1,2],[37,0,0,1,1],[38,0,0,3,1],[39,0,0,1,2],[40,0,0,1,0],[41,0,0,1,0],[42,0,0,1,0],[44,0,0,0,1],[45,0,0,0,1],[46,0,0,0,1],[47,0,0,0,1],[50,0,0,0,1],[54,0,0,3,0],[55,0,0,1,0],[56,0,0,1,1],[57,0,0,1,1],[58,0,0,1,1],[59,0,0,3,2],[60,0,0,1,0],[61,0,0,1,0],[63,0,0,3,0],[68,0,0,1,0],[70,1,1,2,2],[71,1,1,0,0],[72,1,1,1,0],[73,1,1,1,0],[74,0,0,2,0],[75,0,0,3,0],[76,0,1,1,0],[77,0,1,1,0],[78,0,0,4,0],[79,0,0,1,0],[80,0,0,11,0],[81,0,0,1,0],[82,0,0,1,1],[83,0,0,1,0],[84,0,0,1,1],[85,0,0,1,0],[86,0,0,3,1],[87,0,0,2,1],[88,0,0,2,0],[89,0,0,2,1],[90,0,0,2,0],[91,0,0,2,1],[92,0,0,2,1],[93,0,0,2,3],[94,0,0,8,0],[95,0,0,3,1],[96,0,0,1,1],[97,0,0,1,0],[98,0,0,1,0],[99,0,0,1,0],[100,0,0,1,1],[101,0,0,1,1],[105,0,0,0,1],[110,0,0,0,1],[111,0,0,1,0],[112,0,0,3,1],[115,0,0,0,3],[116,0,0,1,1],[117,0,0,0,1],[120,0,0,0,3],[124,0,0,1,0],[125,0,0,0,1],[129,0,0,1,1],[130,0,0,0,1],[134,0,0,0,1],[136,0,0,1,0],[138,0,0,0,1],[139,0,0,0,1],[140,0,0,0,1],[141,0,0,0,1],[142,0,0,0,3],[143,0,0,0,1]],"does":[[0,0,0,1,0],[10,0,0,1,0],[36,0,0,1,0],[37,0,0,0,1],[77,0,1,0,0],[81,0,0,0,1],[82,0,0,1,0],[114,0,0,0,1],[115,0,0,0,1],[126,0,0,0,1]],"not":[[0,0,0,1,0],[7,0,0,1,0],[9,0,0,1,0],[10,0,0,1,0],[24,0,1,1,0],[30,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[47,0,0,2,0],[49,0,0,1,0],[55,0,0,1,0],[60,0,0,1,0],[68,0,0,1,0],[70,0,0,1,0],[74,0,0,1,0],[77,0,1,0,0],[91,0,0,1,0],[103,0,0,1,0],[118,0,0,2,0],[120,0,0,1,0],[128,0,0,1,0],[132,0,0,1,0],[137,0,0,1,0],[145,0,0,1,0]],"ship":[[0,0,0,1,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,1],[28,0,0,1,1],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[70,0,0,1,0],[71,0,0,1,0],[78,0,0,1,0],[84,0,0,1,0],[89,0,0,1,0],[125,0,0,1,0],[126,0,0,0,1]],"ui":[[0,0,0,1,0],[14,0,0,1,0],[21,0,0,1,0],[34,0,0,1,0],[39,0,0,1,0],[66,0,0,0,3],[70,0,0,1,1],[75,0,0,1,0],[77,0,0,1,0],[78,0,0,1,0],[127,0,0,1,0],[139,0,0,1,0]],"your":[[0,0,0,1,0],[2,0,0,3,0],[14,0,0,1,0],[19,0,0,1,0],[22,0,0,2,0],[23,0,0,0,1],[24,0,0,2,0],[27,0,0,1,0],[30,0,0,4,2],[31,0,0,1,0],[33,0,0,2,0],[34,0,0,2,0],[36,0,0,1,0],[38,0,0,2,0],[40,0,0,2,0],[42,0,0,1,0],[44,0,0,1,0],[45,0,0,0,1],[46,0,0,3,0],[47,0,0,1,0],[48,0,0,4,0],[49,0,0,1,0],[51,0,0,2,0],[52,0,0,2,0],[57,0,0,1,0],[61,0,0,1,0],[63,0,0,1,0],[65,0,0,2,0],[66,0,0,4,0],[67,0,0,1,0],[70,0,0,2,1],[71,0,1,1,0],[72,0,0,2,0],[77,0,0,1,0],[78,0,0,2,0],[81,0,0,1,0],[83,0,0,1,0],[85,0,0,1,0],[100,0,0,1,0],[110,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[127,0,0,2,0],[134,0,0,1,0],[136,0,0,1,0],[142,0,0,1,0],[145,0,0,1,0]],"docs":[[0,0,0,1,0],[2,0,0,0,1],[5,0,0,0,1],[6,0,0,2,1],[10,0,0,1,2],[12,0,0,0,1],[14,0,0,1,0],[16,0,0,1,2],[17,0,0,2,1],[18,0,0,1,3],[20,0,0,2,0],[22,1,1,3,0],[23,1,1,1,3],[24,1,1,1,0],[25,1,1,2,2],[26,1,2,2,0],[27,1,1,3,7],[28,1,1,1,2],[29,1,1,2,0],[30,1,1,3,1],[31,1,1,3,0],[32,1,1,1,0],[33,1,1,2,0],[34,1,1,9,0],[35,1,1,2,2],[36,1,1,2,2],[37,1,1,3,3],[38,1,1,7,1],[39,1,1,7,4],[40,1,1,11,2],[41,1,1,2,0],[42,1,1,2,0],[43,1,1,5,0],[44,1,1,3,2],[45,1,1,9,3],[46,1,2,1,6],[47,1,1,4,1],[48,1,1,5,0],[49,1,1,1,0],[50,1,1,4,5],[51,1,1,1,0],[52,1,1,6,5],[53,1,1,8,0],[54,0,0,1,0],[55,0,0,2,0],[56,0,0,0,3],[57,0,0,0,1],[58,0,0,0,1],[59,0,0,0,1],[60,0,0,1,0],[61,0,0,2,0],[62,0,0,0,2],[63,0,0,9,0],[64,0,0,4,0],[65,0,0,3,0],[66,0,0,3,0],[67,0,0,2,0],[68,0,0,4,0],[70,0,0,3,3],[71,0,0,2,0],[74,0,0,3,0],[75,0,0,4,0],[77,0,0,1,0],[78,0,0,2,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,2,0],[82,0,0,11,1],[83,0,0,2,4],[84,0,0,4,0],[85,0,0,4,0],[87,0,0,10,0],[88,0,0,2,0],[89,0,0,3,0],[90,0,0,1,9],[91,0,0,2,3],[92,0,0,1,0],[94,0,0,1,0],[96,0,0,1,2],[97,0,0,0,1],[98,0,0,0,2],[100,0,0,1,0],[104,0,0,3,0],[105,0,0,1,1],[107,0,1,0,0],[110,0,0,0,1],[111,0,0,1,0],[112,0,0,4,0],[113,0,0,11,0],[114,0,0,0,5],[115,0,0,1,5],[116,0,0,5,2],[118,0,0,1,0],[119,0,0,0,4],[120,0,0,1,6],[121,0,0,5,0],[125,0,0,5,0],[126,0,0,1,4],[127,0,0,1,2],[128,0,0,1,0],[129,0,0,0,1],[133,0,0,1,0],[135,0,0,1,0],[136,0,0,1,0],[138,0,0,1,3],[139,0,0,0,2],[140,0,1,0,0],[142,0,0,1,0],[143,0,0,2,0],[145,0,0,2,0]],"app":[[0,0,0,1,0],[2,0,0,1,0],[3,0,0,1,0],[12,0,0,1,1],[14,0,0,1,0],[16,0,0,0,1],[33,0,0,1,0],[34,0,0,7,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,2,0],[40,0,0,2,0],[41,0,0,1,0],[42,0,0,1,0],[44,0,0,1,0],[77,0,0,1,0],[78,0,0,1,0],[82,0,0,1,0],[90,0,0,1,0],[112,0,0,1,0]],"owns":[[0,0,0,1,0],[12,0,0,0,2],[26,0,0,1,0],[76,0,1,0,0]],"runtime":[[0,0,0,1,0],[12,0,0,0,2],[14,0,0,1,0],[38,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[50,0,0,1,0],[88,0,0,1,0],[114,0,0,0,1],[117,0,0,2,0],[136,0,0,2,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,1,2,0],[140,0,1,1,0],[141,0,0,1,0],[142,0,0,2,0],[143,0,0,1,0],[144,0,0,1,0],[145,0,0,1,0]],"rendering":[[0,0,0,1,0],[33,0,0,1,0],[99,0,0,1,0],[134,0,0,1,0]],"styling":[[0,0,0,1,0],[4,0,0,2,0],[12,0,0,0,1],[77,0,0,1,0]],"accessibility":[[0,0,0,1,0]],"only":[[0,0,0,1,0],[10,0,0,1,0],[14,0,0,1,0],[18,0,0,2,0],[26,0,0,1,0],[31,0,0,1,0],[36,0,0,1,0],[62,0,0,0,3],[63,0,0,1,0],[64,0,0,3,0],[65,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[84,0,0,1,0],[87,0,0,1,0],[89,0,0,1,0],[90,0,0,2,0],[113,0,0,1,0],[118,0,0,1,0],[135,0,0,1,0],[141,0,0,1,0],[143,0,0,1,0],[145,0,0,1,0]],"has":[[0,0,0,1,0],[20,0,0,1,0],[43,0,0,2,0],[46,0,0,1,0],[63,0,0,1,0],[67,0,0,1,0],[82,0,0,1,0]],"honor":[[0,0,0,1,0]],"small":[[0,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[138,0,0,1,0]],"naming":[[0,0,0,1,0],[2,0,1,0,0]],"contract":[[0,0,0,1,0],[2,0,1,1,0],[14,0,0,1,0],[62,0,0,1,0],[69,0,0,1,0],[110,0,0,1,0]],"so":[[0,0,0,1,0],[1,0,0,1,0],[4,0,0,1,0],[7,0,0,1,0],[13,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[27,0,0,0,1],[28,0,0,0,1],[30,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,2,1],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,3,0],[40,0,0,1,0],[41,0,0,1,0],[43,0,0,2,0],[47,0,0,2,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,2,0],[54,0,0,2,0],[55,0,0,1,0],[56,0,0,2,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[61,0,0,1,0],[64,0,0,3,0],[65,0,0,2,0],[76,0,0,1,0],[84,0,0,1,0],[90,0,0,1,0],[99,0,0,1,0],[100,0,0,1,0],[104,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[115,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[126,0,0,0,1],[132,0,0,1,0],[133,0,0,1,0],[137,0,0,2,0],[141,0,0,1,0]],"remark":[[0,0,0,1,0],[2,0,0,2,0],[4,0,0,1,0],[5,0,0,1,0],[9,0,0,1,0],[13,0,0,0,2],[14,0,0,1,0],[27,0,0,0,1],[36,0,0,1,1],[61,0,0,1,0],[62,0,0,3,4],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,2,0],[69,0,0,1,0],[76,0,0,1,0],[80,0,0,1,0],[82,0,0,1,0],[94,0,0,1,0],[95,0,0,1,0],[96,0,0,0,1],[100,0,1,1,1],[104,0,0,1,0],[115,0,0,0,1],[130,1,1,1,1],[131,1,1,0,0],[132,1,1,0,0],[133,1,1,0,0],[134,1,1,0,1],[135,1,1,0,0]],"each":[[0,0,0,1,0],[1,0,0,1,0],[3,0,0,1,0],[17,0,0,2,0],[26,0,0,1,0],[43,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,2,0],[71,0,0,1,0],[78,0,0,1,0],[82,0,0,1,0],[92,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0],[132,0,0,1,0],[137,0,0,1,0]],"component":[[0,0,0,1,0],[1,0,0,1,0],[3,0,1,0,0],[4,0,1,0,0],[5,0,1,0,0],[6,0,1,0,0],[7,0,1,0,0],[8,0,1,0,0],[9,0,1,0,0],[10,0,1,0,0],[11,0,1,0,0],[12,0,1,1,0],[13,0,1,0,0],[14,0,0,1,0],[19,0,0,1,0],[36,0,0,0,1],[62,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[77,0,0,2,0],[100,0,0,1,0],[127,0,0,1,0],[130,0,0,1,0],[132,0,0,3,0]],"agents":[[0,0,0,1,0],[1,0,0,1,0],[4,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[9,0,0,1,0],[13,0,0,0,2],[22,0,0,4,0],[23,0,0,1,2],[24,0,1,9,0],[25,0,0,4,1],[26,0,0,1,0],[27,0,0,2,2],[28,0,0,1,0],[29,0,0,3,0],[30,0,0,5,1],[31,0,0,3,0],[32,0,0,1,0],[33,0,0,1,0],[34,0,0,2,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,3,0],[39,0,0,1,0],[40,0,0,1,0],[41,0,0,2,0],[42,1,1,1,0],[43,1,1,2,0],[44,1,1,0,0],[45,1,1,1,0],[46,1,1,1,0],[47,1,2,1,0],[48,1,2,0,0],[49,1,2,0,0],[50,1,2,0,0],[51,1,2,1,0],[52,1,1,1,0],[53,1,1,2,0],[62,0,0,0,3],[63,0,0,1,0],[64,0,0,6,0],[65,0,0,1,0],[66,0,0,6,3],[68,0,0,1,0],[70,0,0,6,8],[71,0,0,3,0],[72,0,0,8,0],[73,0,0,3,0],[76,0,0,1,0],[83,0,0,0,1],[84,0,1,2,0],[85,0,0,1,0],[87,0,0,4,0],[89,0,0,1,0],[112,0,0,2,0],[113,0,0,2,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,5,0],[122,0,0,2,0],[123,0,0,2,0],[124,0,0,1,0],[125,0,0,5,0],[126,0,0,1,1],[127,0,0,1,0],[128,0,0,3,0],[129,0,0,1,0]],"search":[[0,0,0,1,0],[1,0,0,1,0],[5,0,0,1,0],[13,0,0,0,1],[19,0,0,2,0],[21,0,0,1,0],[25,0,0,1,0],[33,0,0,2,0],[34,0,0,5,0],[35,0,0,2,0],[36,0,0,2,3],[37,0,0,1,0],[38,0,0,1,0],[39,0,0,2,0],[40,0,0,3,0],[41,0,0,2,0],[62,0,0,0,4],[63,0,0,2,0],[64,0,0,3,0],[66,0,0,0,4],[67,0,0,1,0],[68,0,0,2,0],[70,0,0,2,3],[72,0,0,1,0],[74,0,0,1,0],[75,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[80,0,0,1,0],[82,0,0,3,0],[83,0,0,1,2],[84,0,0,1,0],[87,0,0,2,0],[89,0,0,2,0],[90,0,0,1,3],[94,0,0,1,0],[118,0,0,1,0],[122,0,0,1,0],[136,1,1,2,0],[137,1,1,5,0],[138,1,1,2,3],[139,1,2,2,3],[140,1,1,2,1],[141,1,1,1,1],[142,1,1,1,3],[143,1,1,1,1],[144,1,1,1,0],[145,1,1,2,0]],"llms":[[0,0,0,1,0],[9,0,0,1,0],[13,0,0,0,2],[16,0,0,3,0],[17,0,0,2,5],[18,0,0,1,0],[21,0,0,2,0],[24,0,1,4,0],[25,0,0,2,0],[34,0,0,2,0],[35,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[40,0,0,2,1],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,2,4],[45,0,0,6,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,3,0],[50,0,0,6,0],[51,0,0,1,0],[52,0,0,3,1],[53,0,0,3,0],[62,0,0,0,2],[63,0,0,4,0],[64,0,0,6,0],[65,0,0,1,0],[66,0,0,2,1],[67,0,0,3,0],[68,0,0,4,0],[70,0,0,2,3],[71,0,0,1,0],[72,0,0,3,0],[73,0,0,1,0],[74,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[82,0,0,3,0],[83,0,0,1,4],[84,0,0,1,0],[87,0,0,4,0],[89,0,0,3,0],[90,0,0,0,3],[91,0,0,1,0],[112,0,0,2,0],[113,0,0,6,0],[114,0,1,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,3,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,3,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,2,0],[129,0,0,1,0],[134,0,0,1,0]],"full":[[0,0,0,1,0],[16,0,0,1,0],[17,0,0,1,4],[18,0,0,1,0],[19,0,0,2,0],[20,0,0,1,0],[21,0,0,1,0],[25,0,0,1,0],[27,0,0,1,0],[34,0,0,1,0],[36,0,0,1,0],[38,0,0,1,0],[40,0,0,2,0],[44,0,0,0,2],[45,0,0,3,0],[49,0,0,1,0],[50,0,0,3,0],[53,0,0,1,0],[55,0,0,1,0],[62,0,0,0,1],[63,0,0,2,0],[64,0,0,2,0],[67,0,0,2,0],[68,0,0,2,0],[70,0,0,0,1],[76,0,0,1,0],[82,0,0,2,0],[83,0,0,0,2],[84,0,0,1,0],[86,0,0,1,0],[87,0,0,2,0],[89,0,0,2,0],[90,0,0,0,1],[92,0,0,1,0],[100,0,0,1,0],[107,0,0,1,0],[112,0,0,1,0],[113,0,0,4,0],[118,0,0,1,0],[122,0,0,1,0],[126,0,0,1,0],[128,0,0,1,0],[134,0,0,1,0]],"txt":[[0,0,0,1,0],[13,0,0,0,2],[16,0,0,3,0],[17,0,0,2,3],[18,0,0,1,0],[21,0,0,2,0],[24,0,1,4,0],[25,0,0,1,0],[34,0,0,2,0],[35,0,0,1,0],[37,0,0,1,0],[38,0,0,2,0],[40,0,0,3,1],[42,0,0,2,0],[43,0,0,4,0],[44,0,0,3,6],[45,0,0,7,1],[46,0,0,2,0],[47,0,0,2,0],[48,0,0,3,0],[49,0,0,5,0],[50,0,1,8,2],[51,0,0,2,0],[52,0,0,4,1],[53,0,0,5,0],[62,0,0,0,2],[63,0,0,4,0],[64,0,0,5,0],[65,0,0,2,0],[66,0,0,2,1],[67,0,0,2,0],[68,0,0,3,0],[70,0,0,2,2],[71,0,0,1,0],[72,0,0,3,0],[73,0,0,1,0],[74,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[82,0,0,4,0],[83,0,0,1,5],[84,0,0,1,0],[87,0,0,4,0],[89,0,0,3,0],[90,0,0,1,4],[91,0,0,1,0],[112,0,0,3,0],[113,0,0,7,0],[114,0,1,1,1],[115,0,0,1,0],[116,0,0,2,1],[117,0,0,1,0],[118,0,0,4,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,3,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0]],"bundles":[[0,0,0,1,0],[32,0,0,1,0],[68,0,0,1,0],[72,0,0,1,0],[75,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[91,0,0,1,0],[112,1,1,1,0],[113,1,1,0,0],[114,1,1,0,0],[115,1,1,0,0],[116,1,1,0,0],[117,1,1,0,0],[118,1,1,0,0],[119,1,1,0,0],[120,1,1,0,0],[121,1,1,0,0],[122,1,1,0,0],[123,1,1,0,0],[124,1,1,0,0],[125,1,1,0,0],[126,1,1,0,0],[127,1,1,2,0],[128,1,1,0,0],[129,1,1,0,0],[134,0,0,1,0]],"why":[[1,0,1,0,0],[24,0,1,0,0],[132,0,1,0,0]],"all":[[1,0,1,0,0],[36,0,0,1,0],[48,0,0,1,0],[70,0,0,1,0],[71,0,0,1,0],[72,0,0,2,0],[73,0,0,1,0],[80,0,0,1,0],[83,0,0,0,1],[112,0,0,1,0],[113,0,0,1,0],[128,0,0,1,0]],"interactive":[[1,0,0,1,0],[13,0,0,1,0],[62,0,0,1,0],[67,0,0,1,0],[130,0,0,1,0]],"like":[[1,0,0,1,0],[4,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[38,0,0,1,0],[43,0,1,0,0],[83,0,0,1,0],[87,0,0,1,0],[125,0,0,1,0]],"tabs":[[1,0,0,2,0],[2,0,0,1,0],[7,0,1,0,2],[62,0,0,1,0],[67,0,0,1,0],[72,0,0,1,0],[131,0,0,1,0],[139,0,0,0,1]],"callout":[[1,0,0,2,0],[2,0,0,1,0],[4,0,1,0,2],[11,0,0,2,0],[12,0,0,0,2],[14,0,0,1,0],[62,0,0,1,0],[67,0,0,1,0],[72,0,0,1,0],[131,0,0,1,0]],"render":[[1,0,0,2,0],[3,0,0,1,0],[12,0,0,0,1],[13,0,0,1,0],[46,0,0,1,0],[56,0,0,1,0],[66,0,0,0,1],[68,0,0,1,0],[97,0,0,1,0],[121,0,0,1,0]],"fine":[[1,0,0,1,0],[36,0,0,1,0],[45,0,0,1,0],[144,0,0,1,0]],"browser":[[1,0,0,1,0],[42,0,0,1,0],[66,0,0,0,1],[70,0,0,0,1]],"but":[[1,0,0,1,0],[4,0,0,2,0],[16,0,0,1,0],[30,0,0,1,0],[75,0,0,1,0],[78,0,0,1,0],[125,0,0,1,0],[127,0,0,1,0]],"do":[[1,0,0,1,0],[4,0,0,1,0],[7,0,0,1,0],[38,0,0,1,0],[47,0,0,1,0],[49,0,0,1,0],[141,0,0,0,1]],"nothing":[[1,0,0,1,0],[60,0,0,1,0]],"reading":[[1,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[70,0,0,1,0],[72,0,0,1,0],[84,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0],[140,0,1,0,0]],"raw":[[1,0,0,1,0]],"text":[[1,0,0,1,0],[13,0,0,1,0],[16,0,0,1,0],[38,0,0,2,0],[40,0,0,2,1],[46,0,0,0,1],[47,0,0,3,0],[52,0,0,1,1],[66,0,0,1,1],[67,0,0,1,0],[70,0,0,0,1],[78,0,0,1,0],[87,0,0,1,0],[88,0,0,2,0],[118,0,0,1,0],[120,0,0,0,1],[128,0,0,1,0],[137,0,0,1,0],[142,0,0,1,0],[144,0,0,1,0]],"flattening":[[1,0,0,1,0],[2,0,0,1,0],[9,0,0,1,0],[13,0,0,1,0],[14,0,0,1,0],[100,0,0,1,0],[104,0,0,1,0]],"converts":[[1,0,0,1,0],[35,0,0,1,0],[72,0,0,1,0]],"portable":[[1,0,0,1,0],[67,0,0,1,0],[75,0,0,1,0]],"equivalent":[[1,0,0,1,0],[7,0,0,1,0],[10,0,0,1,0],[67,0,0,1,0],[92,0,0,1,0],[130,0,0,1,0]],"conversion":[[1,0,0,1,0],[6,0,0,1,1],[9,0,0,1,0],[11,0,0,1,0],[12,0,0,0,1],[16,0,0,1,0],[36,0,0,0,1],[70,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[88,0,0,1,0],[95,0,0,1,0],[96,0,0,1,0],[97,0,0,1,0],[98,0,0,1,0],[99,0,0,2,0],[100,0,0,1,0],[114,0,0,0,1],[115,0,0,1,0],[134,0,0,2,0],[138,0,0,1,0]],"time":[[1,0,0,1,0],[11,0,0,1,0],[22,0,0,1,0],[36,0,0,0,1],[39,0,0,1,0],[44,0,0,1,0],[68,0,0,1,0],[111,0,0,1,0],[119,0,0,1,0],[134,0,0,2,0],[136,0,0,1,0],[138,0,1,0,0]],"becomes":[[1,0,0,4,0],[15,0,0,1,0],[16,0,0,2,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[62,0,0,3,0],[145,0,0,1,0]],"blockquote":[[1,0,0,1,0],[4,0,0,1,0],[62,0,0,1,0],[67,0,0,1,0],[131,0,0,1,0]],"stack":[[1,0,0,1,0],[62,0,0,2,1],[67,0,0,1,0],[68,0,0,1,0],[76,0,0,1,0],[82,0,0,1,0],[95,0,0,1,0],[100,0,0,2,0],[104,0,0,1,0],[130,0,0,2,0],[131,0,1,2,0],[132,0,0,1,0],[133,0,0,2,0],[134,0,0,1,0],[135,0,0,1,0]],"bold":[[1,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[62,0,0,1,0],[67,0,0,1,0],[131,0,0,1,0]],"headings":[[1,0,0,1,0],[7,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[62,0,0,1,0],[64,0,0,1,0],[67,0,0,3,0],[113,0,0,2,0],[137,0,0,1,0]],"one":[[1,0,0,1,0],[8,0,0,1,0],[16,0,0,1,0],[21,0,0,3,0],[24,0,0,1,0],[25,0,0,0,1],[26,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,1,1,0],[36,0,0,3,0],[37,0,0,1,1],[38,0,0,1,0],[39,0,0,2,0],[40,0,0,2,0],[41,0,0,1,0],[44,0,0,0,1],[48,0,0,1,0],[52,0,0,1,0],[61,0,0,2,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,2,0],[67,0,0,1,0],[68,0,0,2,0],[69,0,0,1,0],[70,0,0,2,0],[71,0,0,2,0],[72,0,0,2,0],[73,0,0,1,0],[76,0,0,1,0],[78,0,0,1,0],[81,0,1,0,1],[82,0,0,2,0],[89,0,0,1,0],[97,0,0,1,0],[98,0,0,1,0],[113,0,0,2,0],[114,0,0,0,1],[115,0,0,0,1],[126,0,0,0,1],[128,0,0,1,0],[132,0,0,2,0],[134,0,0,1,0],[142,0,0,2,0]],"per":[[1,0,0,1,0],[8,0,0,2,0],[17,0,0,1,0],[21,0,0,1,0],[22,0,0,2,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,1],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[36,0,0,1,0],[40,0,0,1,0],[50,0,0,1,0],[57,0,0,1,0],[72,0,0,1,0],[82,0,0,1,0],[83,0,0,0,1],[89,0,0,1,0],[95,0,0,1,0],[113,0,0,1,0],[131,0,0,1,0],[134,0,0,1,0]],"tab":[[1,0,0,1,0],[2,0,0,1,0],[7,0,0,0,6],[131,0,0,1,0]],"typetable":[[1,0,0,1,0],[2,0,0,1,0],[11,0,1,1,1],[62,0,0,1,0],[72,0,0,1,0],[131,0,0,1,0],[135,0,0,1,0]],"table":[[1,0,0,1,0],[8,0,0,1,0],[11,0,0,1,0],[62,0,0,1,0],[131,0,0,2,0],[134,0,0,1,0]],"mermaid":[[1,0,0,2,0],[2,0,0,1,0],[13,0,1,1,2],[17,0,0,0,1],[23,0,0,0,1],[34,0,0,1,0],[62,0,0,0,1],[66,0,0,0,1],[70,0,0,0,1],[72,0,0,1,0],[99,0,0,1,0],[131,0,0,2,1]],"fenced":[[1,0,0,1,0],[13,0,0,1,0],[131,0,0,2,0]],"block":[[1,0,0,1,0],[13,0,0,1,0],[15,0,0,1,0],[131,0,0,2,0]],"diagram":[[1,0,0,1,0],[13,0,0,1,0],[73,0,0,1,0]],"source":[[1,0,0,1,0],[12,0,0,1,1],[13,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[25,0,0,0,1],[31,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[39,0,1,3,0],[40,0,0,1,0],[41,0,0,1,0],[43,0,0,1,0],[54,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,2,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,0],[70,0,0,1,1],[71,0,0,1,0],[72,0,0,2,0],[73,0,0,1,0],[76,0,0,1,0],[92,0,0,1,0],[99,0,0,1,0],[100,0,0,1,0],[101,0,0,1,0],[112,0,0,1,0],[125,0,0,1,0],[133,0,0,1,0],[136,0,0,2,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,1,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0],[145,0,0,1,0]],"survives":[[1,0,0,1,0]],"other":[[1,0,0,1,0],[13,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[50,0,0,1,0],[57,0,1,0,0],[62,0,0,1,0],[66,0,0,1,0],[103,0,0,1,0],[111,0,0,1,0]],"tooling":[[1,0,0,1,0],[22,0,0,1,0]],"this":[[1,0,0,1,0],[4,0,0,1,0],[6,0,0,1,1],[21,0,1,0,0],[22,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[30,0,0,2,0],[31,0,1,2,0],[33,0,0,1,0],[38,0,0,1,0],[39,0,0,1,0],[42,0,0,1,0],[44,0,0,1,0],[60,0,0,1,0],[61,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[89,0,0,1,0],[97,0,0,1,0],[101,0,0,1,0],[126,0,0,0,1],[131,0,0,1,0],[133,0,0,1,0]],"means":[[1,0,0,1,0],[118,0,0,1,0]],"same":[[1,0,0,1,0],[2,0,0,1,0],[6,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[42,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[54,0,0,1,0],[59,0,0,1,0],[63,0,0,1,0],[67,0,0,2,0],[82,0,0,2,0],[83,0,0,1,0],[92,0,0,1,0],[104,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[125,0,0,3,0],[127,0,0,2,0],[140,0,0,1,0],[143,0,0,1,0]],"content":[[1,0,0,1,0],[4,0,0,1,1],[6,0,0,1,0],[7,0,0,3,0],[9,0,0,4,0],[38,0,0,1,0],[40,0,0,3,0],[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[47,0,0,2,0],[52,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[62,0,0,0,1],[64,0,0,3,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,2,0],[68,0,0,1,0],[72,0,0,1,0],[75,0,0,2,0],[78,0,0,3,0],[82,0,0,3,0],[83,0,0,1,2],[86,0,0,1,0],[89,0,0,1,0],[90,0,0,0,1],[92,0,0,1,0],[104,0,1,0,0],[106,0,0,0,1],[111,0,0,2,0],[112,0,0,1,0],[113,0,0,1,0],[118,0,0,2,0],[120,0,0,0,3],[121,0,0,1,0],[133,0,0,1,0],[137,0,0,4,0],[138,0,0,1,1],[139,0,0,0,2],[140,0,0,0,2],[141,0,0,0,1],[142,0,0,0,1],[143,0,0,0,1]],"reaches":[[1,0,0,1,0]],"three":[[1,0,0,1,0],[15,0,0,1,0],[36,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,1,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,0],[72,0,0,1,0],[140,0,0,1,0],[142,0,0,1,0]],"audiences":[[1,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,1,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,0],[72,0,0,1,0]],"humans":[[1,0,0,1,0],[6,0,0,1,0],[22,0,0,1,0],[33,0,0,1,0],[34,0,0,2,0],[35,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[39,0,0,1,0],[40,0,0,1,0],[41,0,0,1,0],[42,0,0,1,0],[66,0,0,1,1],[70,0,0,2,3],[71,0,0,1,0],[72,0,0,2,0],[73,0,0,1,0]],"without":[[1,0,0,1,0],[16,0,0,1,0],[21,0,0,1,0],[22,0,0,1,0],[43,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[66,0,0,1,0],[91,0,0,1,0],[97,0,0,1,0],[99,0,0,1,0],[116,0,0,1,0],[129,0,0,1,0],[136,0,0,1,0],[137,0,0,1,0]],"you":[[1,0,0,1,0],[2,0,0,1,0],[11,0,0,1,0],[14,0,0,1,0],[19,0,0,1,0],[21,0,1,1,0],[22,0,0,1,0],[27,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[33,0,0,1,0],[36,0,0,2,0],[38,0,0,1,0],[40,0,0,1,0],[42,0,0,1,0],[45,0,0,1,0],[48,0,0,1,0],[50,0,0,1,0],[58,0,0,1,0],[63,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[70,0,0,1,0],[71,0,0,1,0],[72,0,1,0,0],[75,0,0,3,0],[78,0,0,2,0],[80,0,0,1,0],[83,0,0,1,0],[85,0,0,1,0],[92,0,0,1,0],[94,0,0,1,0],[95,0,0,1,0],[97,0,0,1,0],[110,0,0,1,0],[112,0,0,1,0],[117,0,0,1,0],[123,0,0,2,0],[126,0,0,0,1],[128,0,0,1,0],[132,0,0,2,0],[135,0,0,2,0],[137,0,0,1,0],[140,0,0,2,0],[141,0,0,1,0],[143,0,0,1,0]],"maintaining":[[1,0,0,1,0]],"two":[[1,0,0,1,0],[2,0,0,1,0],[37,0,0,1,0],[50,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,1,2,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,2,0],[67,0,0,2,0],[68,0,0,1,0],[69,0,0,1,0],[71,0,0,1,0],[86,0,0,1,0],[128,0,0,1,0],[135,0,0,1,0]],"copies":[[1,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0]],"recognizes":[[2,0,0,1,0]],"these":[[2,0,0,1,0],[40,0,0,1,0],[64,0,0,1,0],[82,0,0,1,0],[95,0,0,1,0],[112,0,0,1,0],[126,0,0,0,1],[128,0,0,1,0]],"names":[[2,0,0,4,0],[14,0,0,1,0],[61,0,0,1,0],[73,0,0,1,0],[132,0,0,1,0],[145,0,0,1,0]],"if":[[2,0,0,2,0],[14,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,0,1],[29,0,0,2,0],[31,0,0,1,0],[36,0,0,1,0],[38,0,0,0,1],[39,0,0,1,0],[40,0,0,1,0],[45,0,0,1,3],[46,0,0,2,1],[48,0,0,1,0],[50,0,0,1,0],[52,0,0,1,0],[68,0,0,1,0],[100,0,0,1,0],[118,0,0,0,1],[120,0,0,1,0],[127,0,0,0,1],[132,0,0,1,0],[135,0,0,1,0]],"just":[[2,0,0,1,0],[31,0,0,1,0],[137,0,0,1,0]],"works":[[2,0,0,1,0],[21,0,0,1,0],[35,0,0,1,0],[47,0,0,1,0],[61,1,1,0,0],[62,1,1,0,0],[63,1,1,0,0],[64,1,1,1,0],[65,1,1,0,0],[66,1,1,0,0],[67,1,1,0,0],[68,1,1,0,0],[69,1,1,0,0],[73,0,0,1,0],[87,0,0,1,0],[112,0,0,1,0],[114,0,0,0,3],[117,0,0,1,0],[126,0,0,0,2],[139,0,0,1,0]],"accordion":[[2,0,0,1,0],[9,0,1,0,2],[131,0,0,1,0]],"accordionitem":[[2,0,0,1,0],[9,0,0,0,2]],"card":[[2,0,0,1,0],[5,0,0,0,1]],"cards":[[2,0,0,1,0],[5,0,1,0,2],[131,0,0,1,0]],"commandtabs":[[2,0,0,1,0],[8,0,1,0,3],[131,0,0,1,0]],"details":[[2,0,0,1,0],[9,0,0,2,1],[131,0,0,1,0]],"example":[[2,0,0,1,0],[3,0,0,1,0],[12,0,1,1,2],[35,0,0,0,1],[44,0,0,0,1],[46,0,0,0,2],[48,0,0,2,0],[82,0,0,0,1],[91,0,0,0,1],[114,0,1,0,0],[115,0,0,0,3],[116,0,0,0,2],[120,0,0,0,2],[126,0,1,0,0],[127,0,0,0,1],[129,0,0,0,1],[131,0,0,1,0],[132,0,0,1,0],[138,0,0,0,1]],"extractedtypetable":[[2,0,0,1,0],[11,0,1,1,0],[36,0,0,1,1],[131,0,0,1,0],[134,0,0,1,1]],"section":[[2,0,0,1,0],[3,0,0,1,0],[17,0,0,1,0],[21,0,0,1,0],[67,0,0,1,0],[91,0,0,1,0],[109,0,0,1,0],[131,0,0,1,0],[137,0,0,1,0]],"selector":[[2,0,0,1,0]],"step":[[2,0,0,1,0],[6,0,0,1,4],[27,0,0,1,0],[36,0,0,1,0],[68,0,0,1,0],[121,0,0,2,0]],"steps":[[2,0,0,1,0],[6,0,1,0,2],[56,0,0,0,1],[72,0,0,1,0],[131,0,0,1,0]],"topicswitcher":[[2,0,0,1,0],[10,0,1,0,1],[19,0,0,1,0],[131,0,0,1,0]],"uses":[[2,0,0,1,0],[30,0,0,1,0],[56,0,0,0,2],[67,0,0,1,0]],"different":[[2,0,0,1,0],[31,0,0,1,0],[39,0,0,1,0],[55,0,0,1,0],[63,0,0,1,0],[66,0,0,2,0],[124,0,0,1,0]],"have":[[2,0,0,1,0],[31,0,0,1,0],[38,0,0,1,0],[42,0,0,1,0],[45,0,0,1,0],[58,0,0,1,0],[85,0,0,1,0],[140,0,0,1,0]],"options":[[2,0,0,1,0],[86,0,0,0,1],[87,0,0,0,1],[92,0,0,0,1],[134,0,0,1,0],[142,0,0,1,0]],"rename":[[2,0,0,1,0]],"match":[[2,0,0,1,0],[145,0,0,1,0]],"add":[[2,0,0,1,0],[8,0,0,3,1],[12,0,0,1,0],[14,0,0,1,0],[27,0,0,1,0],[30,0,0,1,0],[36,0,0,1,0],[38,0,0,1,0],[46,0,1,1,0],[53,0,0,2,0],[72,0,0,1,0],[80,0,0,3,0],[81,0,0,1,0],[84,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[92,0,0,1,0],[110,0,0,1,0],[121,0,0,1,0],[133,0,0,1,0],[135,0,0,1,0],[145,0,1,1,0]],"custom":[[2,0,0,1,0],[27,0,0,1,0],[92,0,0,1,0],[94,0,0,2,0],[95,0,0,1,0],[105,0,0,3,0],[110,0,1,1,0],[132,0,0,2,0],[135,0,0,1,0]],"plugin":[[2,0,0,1,0],[14,0,0,2,0],[27,0,0,1,0],[36,0,0,2,0],[45,0,0,0,1],[62,0,0,0,1],[76,0,0,1,0],[82,0,0,1,0],[94,0,0,1,0],[95,0,0,2,0],[96,0,0,1,0],[100,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,2,0],[133,0,0,1,0],[134,0,0,4,0],[135,0,1,2,0]],"that":[[2,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[20,0,0,1,0],[22,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[30,0,0,1,0],[31,0,0,2,0],[35,0,0,1,0],[37,0,0,1,0],[45,0,0,2,0],[47,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[54,0,0,1,0],[55,0,0,2,0],[57,0,0,1,0],[63,0,0,2,0],[64,0,0,1,0],[66,0,0,2,0],[67,0,0,3,0],[68,0,0,1,0],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0],[78,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[89,0,0,1,0],[91,0,0,1,0],[104,0,0,1,0],[106,0,0,1,0],[110,0,0,1,0],[112,0,0,1,0],[113,0,0,2,0],[114,0,0,0,2],[115,0,0,0,1],[116,0,0,1,0],[125,0,0,2,0],[126,0,0,0,1],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0],[135,0,0,1,0],[136,0,0,1,0],[142,0,0,1,0],[145,0,0,1,0]],"maps":[[2,0,0,1,0]],"back":[[2,0,0,1,0],[40,0,0,1,0],[97,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0]],"above":[[2,0,0,1,0],[11,0,0,1,1],[75,0,0,1,0],[84,0,0,1,0]],"tsx":[[2,0,0,0,1],[4,0,0,0,1],[5,0,0,0,1],[6,0,0,0,1],[7,0,0,0,1],[8,0,0,0,1],[9,0,0,0,1],[10,0,0,0,1],[11,0,0,0,1],[12,0,0,0,3],[13,0,0,0,1]],"import":[[2,0,0,0,1],[12,0,0,0,1],[27,0,0,0,5],[36,0,0,0,2],[37,0,0,0,1],[38,0,0,0,2],[45,0,0,0,2],[46,0,0,0,2],[47,0,0,0,2],[50,0,0,0,2],[91,0,0,0,2],[95,0,0,0,1],[96,0,0,0,1],[100,0,0,0,1],[101,0,0,0,1],[105,0,0,0,1],[110,0,0,0,2],[112,0,0,0,1],[115,0,0,0,3],[116,0,0,0,1],[117,0,0,0,1],[120,0,0,0,2],[125,0,0,0,1],[127,0,0,2,1],[130,0,0,0,1],[131,0,0,1,0],[134,0,0,0,1],[138,0,0,0,1],[139,0,0,0,3],[140,0,0,0,1],[141,0,0,0,1],[142,0,0,0,3],[143,0,0,0,1]],"mdxcomponents":[[2,0,0,0,2],[12,0,0,0,1]],"const":[[2,0,0,0,1],[27,0,0,0,2],[28,0,0,0,2],[36,0,0,0,4],[38,0,0,0,1],[45,0,0,0,2],[46,0,0,0,3],[50,0,0,0,2],[97,0,0,0,1],[105,0,0,0,1],[110,0,0,0,1],[116,0,0,0,1],[118,0,0,0,1],[119,0,0,0,2],[120,0,0,0,1],[127,0,0,0,2],[129,0,0,0,1],[134,0,0,0,1],[139,0,0,0,1],[140,0,0,0,3],[141,0,0,0,1],[142,0,0,0,1],[143,0,0,0,1]],"reference":[[3,0,1,0,0],[4,0,1,0,0],[5,0,1,0,1],[6,0,1,0,0],[7,0,1,0,0],[8,0,1,0,0],[9,0,1,1,1],[10,0,1,0,0],[11,0,1,0,0],[12,0,1,0,0],[13,0,1,0,0],[17,0,0,0,1],[20,0,0,1,0],[32,0,0,1,0],[41,0,0,1,0],[48,0,0,1,0],[55,0,0,1,0],[69,0,0,1,0],[92,0,0,1,0],[101,0,0,1,0],[114,0,0,0,2],[126,0,0,0,2]],"below":[[3,0,0,1,0],[105,0,0,1,0],[126,0,0,0,1]],"shows":[[3,0,0,1,0]],"authored":[[3,0,0,1,0],[13,0,0,1,0],[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[83,0,0,1,0]],"live":[[3,0,0,1,0],[7,0,0,1,0],[35,0,0,1,0],[48,0,0,1,0],[50,0,1,0,0],[119,0,0,1,0],[121,0,0,1,0]],"switch":[[3,0,0,1,0],[50,0,0,0,1]],"view":[[3,0,0,1,0]],"robot":[[3,0,0,1,0]],"icon":[[3,0,0,1,0],[19,0,0,2,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0]],"header":[[3,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[51,0,0,2,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0]],"see":[[3,0,0,1,0],[4,0,0,1,0],[16,0,0,1,0],[20,0,0,1,0],[31,0,0,1,0],[36,0,0,1,0],[37,0,0,1,0],[39,0,0,1,0],[48,0,0,1,0],[55,0,0,1,0],[62,0,0,2,0],[66,0,0,1,0],[67,0,0,1,0],[73,0,0,1,0],[77,0,0,1,0],[81,0,0,1,0],[83,0,0,3,0],[84,0,0,1,0],[89,0,0,1,0],[91,0,0,1,0],[92,0,0,1,0],[100,0,0,1,0],[104,0,0,1,0],[111,0,0,1,0],[121,0,0,1,0],[126,0,0,1,0]],"flattened":[[3,0,0,1,0],[6,0,0,1,1],[9,0,0,1,0],[62,0,0,2,0],[64,0,0,1,0],[82,0,0,1,0],[83,0,0,1,1],[113,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0]],"side":[[3,0,0,2,0],[13,0,0,1,0],[134,0,0,1,0]],"wraps":[[4,0,0,1,0]],"supporting":[[4,0,0,2,0],[9,0,0,1,1],[22,0,0,1,0],[66,0,0,1,0]],"context":[[4,0,0,2,0],[19,0,0,1,0],[59,0,0,1,0],[64,0,0,1,0],[76,0,0,1,0],[87,0,0,1,0],[113,0,0,2,0],[120,0,0,0,1],[140,0,0,1,0],[141,0,0,2,1]],"warnings":[[4,0,0,2,0],[56,0,0,2,1],[58,0,0,0,1],[92,0,0,3,0],[106,0,0,0,1],[110,0,0,1,0]],"tips":[[4,0,0,2,0]],"variants":[[4,0,0,2,0],[123,0,0,1,0]],"change":[[4,0,0,2,0]],"identically":[[4,0,0,2,0],[78,0,0,1,0]],"info":[[4,0,0,1,1],[11,0,0,1,1]],"heads":[[4,0,0,1,1]],"up":[[4,0,0,1,1],[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[54,0,0,1,0]],"callouts":[[4,0,0,1,0]],"wrap":[[4,0,0,1,0]],"flattens":[[4,0,0,1,0],[5,0,0,1,0],[6,0,0,1,0],[7,0,0,1,0],[8,0,0,1,0],[67,0,0,2,0],[95,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0],[133,0,0,1,0],[134,0,0,1,0],[135,0,0,1,0]],"them":[[4,0,0,1,0],[9,0,0,1,1],[19,0,0,1,0],[26,0,0,1,0],[30,0,0,1,0],[45,0,0,2,0],[48,0,0,1,0],[60,0,0,1,0],[84,0,0,1,0],[90,0,0,1,0],[100,0,0,1,0],[107,0,0,1,0],[126,0,0,0,1],[138,0,0,1,0]],"blockquotes":[[4,0,0,1,0]],"still":[[4,0,0,1,0],[9,0,0,1,0],[20,0,0,1,0],[104,0,0,1,0]],"warning":[[4,0,0,2,0],[56,0,0,1,0],[92,0,0,1,0]],"don":[[4,0,0,1,0],[19,0,0,1,0],[25,0,0,1,0],[31,0,0,2,0],[55,0,0,1,0],[66,0,0,1,0],[70,0,0,1,0],[107,0,0,1,0],[123,0,0,1,0],[132,0,0,1,0],[135,0,0,1,0],[142,0,0,1,0]],"success":[[4,0,0,1,0],[12,0,0,0,1],[88,0,0,1,0]],"error":[[4,0,0,1,0],[20,0,0,2,0],[28,0,0,0,1],[39,0,0,0,1],[55,0,0,1,0],[56,0,0,1,1],[57,0,0,0,1],[59,0,0,0,1],[60,0,0,1,0],[88,0,0,3,0],[90,0,0,1,0],[92,0,0,2,0],[103,0,0,6,0],[104,0,0,3,0],[105,0,0,1,1],[106,0,0,0,2],[110,0,0,1,0],[124,0,0,1,0],[127,0,0,0,1],[145,0,0,1,0]],"tip":[[4,0,0,1,0],[48,0,0,1,0]],"title":[[4,0,0,0,1],[5,0,0,0,1],[6,0,0,0,2],[9,0,0,0,1],[11,0,0,1,1],[12,0,0,0,2],[16,0,0,1,1],[18,0,0,0,3],[19,0,0,1,0],[37,0,0,0,2],[46,0,0,1,0],[62,0,0,0,1],[81,0,0,1,1],[90,0,0,0,1],[91,0,0,1,0],[99,0,0,1,0],[107,0,0,2,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,0,1],[120,0,0,0,2]],"variant":[[4,0,0,0,1],[7,0,0,1,0],[11,0,0,1,1],[12,0,0,0,1]],"body":[[4,0,0,0,1],[11,0,0,1,1],[16,0,0,1,0],[38,0,0,0,1],[47,0,0,1,0],[52,0,0,1,0],[62,0,0,0,1],[64,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[118,0,0,1,0],[121,0,0,1,0],[131,0,0,1,0],[137,0,0,1,0]],"goes":[[4,0,0,0,1],[47,0,0,1,0],[48,0,0,1,0]],"here":[[4,0,0,0,1],[71,0,0,1,0],[73,0,0,1,0],[85,0,0,1,0]],"grid":[[5,0,0,1,0]],"short":[[5,0,0,1,0],[19,0,0,1,0],[35,0,0,0,1],[37,0,0,0,1],[75,0,1,0,0]],"linked":[[5,0,0,1,0]],"entry":[[5,0,0,1,0],[16,0,0,1,0],[25,0,0,0,1],[46,0,0,1,2],[51,0,0,1,0],[52,0,0,1,0],[80,0,0,1,0],[94,0,1,1,0],[95,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[124,0,0,1,0],[134,0,0,1,0],[136,0,0,1,0],[142,0,1,0,0]],"points":[[5,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[80,0,0,1,0],[94,0,1,1,0],[104,0,0,1,0],[113,0,0,1,0],[114,0,0,0,1],[119,0,0,0,1],[136,0,0,1,0],[142,0,1,0,0]],"bullet":[[5,0,0,1,0],[37,0,0,0,2]],"list":[[5,0,0,1,0],[6,0,0,2,1],[26,0,0,1,0],[29,0,0,1,0],[55,0,0,1,0],[92,0,0,1,0],[126,0,0,0,1],[131,0,0,3,0]],"links":[[5,0,0,1,0],[20,0,0,1,0],[38,0,0,2,0],[43,0,0,2,0],[45,0,0,1,0],[46,0,0,1,0],[50,0,0,1,0],[52,0,0,2,0],[53,0,0,1,0],[55,0,0,2,0],[64,0,0,1,0],[66,0,0,1,0],[68,0,0,1,0],[76,0,0,1,0],[92,0,0,1,0],[104,0,0,2,0],[112,0,0,1,0],[113,0,0,3,0],[120,0,0,1,1],[126,0,0,1,0],[140,0,0,1,0],[142,0,0,1,0]],"convert":[[5,0,0,1,2],[16,0,0,1,0],[27,0,0,0,1],[33,0,0,1,0],[36,0,0,2,5],[67,0,0,1,0],[68,0,0,1,0],[80,0,0,1,0],[82,0,0,1,0],[87,0,0,1,0],[94,0,0,1,0],[95,1,1,2,1],[96,1,1,2,0],[97,1,1,2,0],[98,1,1,2,0],[99,1,1,1,0],[100,1,1,1,0],[115,0,0,0,1]],"description":[[5,0,0,0,1],[11,0,0,1,2],[12,0,0,0,1],[16,0,0,1,1],[19,0,0,1,0],[46,0,0,1,0],[62,0,0,0,1],[63,0,0,1,0],[64,0,0,1,0],[67,0,0,1,0],[81,0,0,0,1],[87,0,0,2,0],[92,0,0,1,0],[96,0,0,1,0],[99,0,0,1,0],[105,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[120,0,0,0,2],[125,0,0,1,0]],"turn":[[5,0,0,0,1],[117,0,0,1,0]],"friendly":[[5,0,0,0,1],[66,0,0,1,0]],"href":[[5,0,0,0,1],[10,0,0,0,2],[46,0,0,0,2],[120,0,0,0,2]],"numbered":[[6,0,0,1,0]],"walkthroughs":[[6,0,0,1,0]],"ordered":[[6,0,0,1,0],[131,0,0,1,0]],"titles":[[6,0,0,1,0],[44,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[91,0,0,0,1],[137,0,0,1,0]],"author":[[6,0,0,1,1],[19,0,0,1,0],[37,0,0,1,0],[72,0,0,1,0],[81,0,1,0,0],[107,0,0,1,0]],"authoring":[[6,0,0,1,0],[17,0,0,0,3]],"affordances":[[6,0,0,1,0]],"run":[[6,0,0,1,1],[8,0,0,2,1],[22,0,0,1,0],[27,0,0,3,0],[29,0,0,1,1],[33,0,0,1,0],[35,0,1,0,0],[36,0,0,0,7],[39,0,0,1,1],[44,0,0,1,0],[52,0,0,2,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,2],[57,0,0,1,0],[58,0,0,1,0],[59,0,1,2,0],[60,0,0,1,0],[68,0,0,1,0],[70,0,0,0,6],[72,0,0,1,0],[78,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[86,0,0,1,0],[91,0,0,1,0],[101,0,0,1,0],[111,0,0,2,0],[114,0,0,0,1],[115,0,0,1,0],[120,0,0,0,2],[126,0,0,0,1],[128,0,0,1,0],[132,0,0,2,0],[141,0,0,0,1]],"generate":[[6,0,0,1,1],[22,0,0,1,0],[23,0,0,0,1],[25,0,1,0,1],[26,0,0,0,1],[27,0,0,1,2],[29,0,0,0,1],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,1],[36,0,0,0,2],[39,0,0,1,1],[44,0,1,0,1],[53,0,0,1,0],[54,0,0,1,0],[59,0,1,2,1],[63,0,0,3,0],[68,0,0,2,0],[70,0,0,0,2],[72,0,0,1,0],[82,0,1,1,1],[84,0,0,0,1],[86,0,0,2,0],[87,0,1,1,1],[88,0,1,1,0],[89,0,1,1,1],[90,0,1,1,0],[91,0,1,1,0],[92,0,0,1,0],[93,0,0,1,1],[94,0,0,1,0],[95,0,0,1,0],[111,0,0,1,0],[112,0,0,3,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0],[138,0,0,1,0]],"writes":[[6,0,0,1,1],[25,0,0,1,0],[35,0,0,1,0],[39,0,0,1,0],[44,0,0,1,0],[63,0,0,2,0],[72,0,0,1,0],[82,0,0,4,0],[84,0,0,1,0],[87,0,0,1,0],[89,0,0,1,0],[116,0,0,1,0],[125,0,0,1,0],[138,0,0,1,0],[143,0,0,1,0]],"public":[[6,0,0,1,0],[7,0,0,1,0],[31,0,0,1,0],[34,0,0,1,0],[35,0,0,0,1],[36,0,0,0,1],[38,0,0,0,2],[39,0,0,0,1],[40,0,0,8,0],[44,0,0,2,2],[45,0,0,1,1],[46,0,0,0,1],[47,0,0,1,2],[50,0,0,0,1],[51,0,0,1,0],[59,0,0,0,1],[63,0,0,2,0],[66,0,0,0,1],[68,0,0,1,0],[70,0,0,0,1],[78,0,0,1,0],[82,0,0,9,1],[83,0,0,2,1],[87,0,0,1,0],[90,0,0,0,10],[91,0,0,0,1],[96,0,0,0,1],[98,0,0,0,1],[106,0,0,1,0],[115,0,0,0,4],[116,0,0,0,4],[118,0,0,1,1],[120,0,0,0,1],[123,0,0,1,0],[138,0,0,0,1],[139,0,0,0,2]],"serve":[[6,0,0,1,0],[7,0,0,1,0],[38,0,0,1,0],[45,0,1,1,0],[48,0,0,1,0],[50,0,1,0,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[72,0,0,1,0]],"both":[[6,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[31,0,0,1,0],[45,0,0,1,0],[48,0,0,1,0],[52,0,0,1,0],[59,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[82,0,0,1,0],[87,0,0,1,0],[120,0,0,1,0]],"formats":[[6,0,0,1,0],[67,0,0,1,0]],"html":[[6,0,0,1,0],[34,0,0,2,0],[38,0,0,3,0],[40,0,0,2,0],[42,0,0,1,0],[43,0,0,3,0],[46,0,0,2,1],[47,0,0,1,0],[48,0,0,2,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,2,0],[66,0,0,1,1],[72,0,0,1,0],[118,0,0,1,0],[123,0,0,1,0]],"md":[[6,0,0,1,0],[7,0,0,2,0],[14,0,0,1,0],[22,0,0,4,0],[23,0,0,2,4],[24,0,1,7,0],[25,0,0,6,4],[26,0,0,2,0],[27,0,0,3,3],[28,0,0,2,0],[29,0,0,6,0],[30,0,0,4,2],[31,0,0,2,0],[32,0,0,2,0],[34,0,0,1,0],[38,0,0,2,0],[40,0,0,3,0],[43,0,0,2,0],[44,0,0,0,3],[45,0,0,0,2],[46,0,0,0,1],[47,0,0,2,0],[48,0,0,2,0],[49,0,0,1,0],[50,0,0,0,2],[52,0,0,1,2],[53,0,0,3,0],[62,0,0,0,8],[63,0,0,4,0],[64,0,0,6,0],[65,0,0,2,0],[66,0,0,5,1],[67,0,0,1,0],[68,0,0,3,0],[70,0,0,2,4],[71,0,0,1,0],[72,0,0,4,0],[73,0,0,1,0],[82,0,0,2,0],[83,0,0,1,2],[84,0,0,2,0],[87,0,0,5,0],[89,0,0,2,0],[90,0,0,1,1],[96,0,0,1,0],[98,0,0,0,1],[99,0,0,1,0],[105,0,0,1,0],[112,0,0,4,0],[113,0,0,2,0],[114,0,0,1,5],[115,0,0,1,0],[116,0,0,2,1],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,1],[121,0,0,4,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,7,0],[126,0,0,2,4],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0],[134,0,0,1,0],[135,0,0,1,0]],"url":[[6,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[35,0,0,0,1],[36,0,0,1,0],[38,0,0,1,3],[43,0,0,1,0],[44,0,0,0,1],[45,0,0,1,9],[46,0,0,1,0],[47,0,0,1,4],[50,0,0,0,5],[52,0,0,4,0],[53,0,0,1,0],[66,0,0,1,0],[82,0,0,0,1],[87,0,0,3,0],[89,0,0,1,0],[94,0,0,1,0],[104,0,0,1,0],[107,0,0,1,0],[111,0,0,1,0],[118,0,0,1,3],[119,0,0,0,4],[121,0,0,1,0],[125,0,0,2,0],[129,0,1,2,3]],"negotiated":[[6,0,0,1,0],[78,0,0,1,0]],"accept":[[6,0,0,1,0],[7,0,0,1,0],[38,0,0,1,0],[40,0,0,0,1],[47,0,0,3,0],[51,0,0,1,0],[52,0,0,0,1],[53,0,0,1,0],[66,0,0,1,1],[67,0,0,1,0],[70,0,0,0,1],[118,0,0,1,0],[121,0,0,2,0],[122,0,0,1,0],[123,0,0,2,0]],"group":[[7,0,0,1,0],[15,0,0,1,0],[16,0,0,4,1],[17,0,0,5,4],[18,0,0,2,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,3,0],[25,0,0,0,1],[28,0,0,0,1],[37,0,0,1,0],[40,0,0,2,0],[44,0,0,1,0],[62,0,0,0,3],[64,0,0,1,0],[65,0,0,1,0],[67,0,0,3,0],[68,0,0,3,0],[72,0,0,1,0],[81,0,0,1,1],[82,0,0,3,0],[83,0,0,0,1],[88,0,0,1,0],[89,0,0,1,0],[91,0,1,1,0],[107,0,0,1,0],[113,0,0,2,0],[116,0,0,1,0],[125,0,0,2,0],[127,0,0,2,1],[128,0,0,1,0]],"followed":[[7,0,0,1,0]],"need":[[7,0,0,1,0],[27,0,0,1,0],[30,0,0,1,0],[45,0,0,1,0],[61,0,0,1,0],[70,0,0,1,0],[80,0,0,1,0],[92,0,0,1,0],[94,0,0,1,0],[95,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[126,0,0,0,1],[132,0,0,1,0],[140,0,0,1,0]],"jsx":[[7,0,0,1,0],[62,0,0,1,0],[131,0,0,1,0],[134,0,0,1,0]],"aware":[[7,0,0,1,0],[8,0,0,1,0],[67,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[137,0,0,1,0]],"renderer":[[7,0,0,1,0]],"read":[[7,0,0,1,0],[10,0,0,1,0],[14,0,0,1,0],[22,0,0,1,0],[23,0,0,0,1],[24,0,0,1,0],[30,0,0,0,1],[31,0,0,1,0],[37,0,0,1,0],[39,0,0,1,0],[42,0,0,1,0],[47,0,0,0,1],[63,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[70,0,0,0,1],[73,0,0,2,0],[115,0,0,1,0],[126,0,0,0,1],[128,0,0,1,0],[132,0,0,1,0],[135,0,0,1,0],[137,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0]],"every":[[7,0,0,1,0],[9,0,0,1,0],[15,0,0,1,0],[22,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[37,0,0,1,0],[40,0,0,1,0],[51,0,0,1,0],[53,0,0,2,0],[61,0,0,2,0],[62,0,0,1,0],[64,0,0,1,0],[68,0,0,2,0],[70,0,0,1,0],[73,0,0,1,0],[78,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[89,0,0,1,0],[91,0,0,1,0],[94,0,0,1,0],[103,0,0,1,0],[113,0,0,1,0],[114,0,0,0,1],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,2,0],[126,0,0,0,1],[138,0,0,1,0]],"tanstack":[[7,0,0,1,2],[33,0,0,1,0],[47,0,0,1,0],[48,0,0,2,0],[63,0,0,1,0],[70,0,0,1,0],[120,0,0,1,1],[142,0,0,1,2],[143,0,0,1,0]],"start":[[7,0,0,1,2],[33,0,0,1,0],[40,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[48,0,0,2,0],[52,0,0,1,0],[63,0,0,1,0],[70,0,0,1,0],[145,0,0,2,0]],"vite":[[7,0,0,2,2],[36,0,0,1,1],[45,0,0,0,1],[63,0,0,1,0],[67,0,0,1,0]],"middleware":[[7,0,0,4,0],[45,0,0,0,2],[47,0,0,2,0],[48,0,0,10,0],[49,0,0,2,0],[67,0,0,2,0]],"dev":[[7,0,0,1,0],[25,0,0,1,0],[36,0,0,1,0],[40,0,0,1,0],[48,0,0,1,0],[52,0,0,1,0],[124,0,0,1,0]],"preview":[[7,0,0,1,0],[12,0,0,1,1],[45,0,0,1,0],[48,0,0,1,0],[52,0,0,1,0],[119,0,0,1,0]],"nitro":[[7,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0]],"prod":[[7,0,0,1,0],[48,0,0,1,0],[119,0,0,1,0]],"negotiate":[[7,0,0,1,0]],"next":[[7,0,0,1,2],[30,0,0,2,0],[32,0,1,0,0],[33,0,0,1,0],[36,0,0,1,0],[39,0,0,1,0],[41,0,1,0,0],[45,0,0,0,1],[48,0,0,1,0],[63,0,0,1,0],[67,0,0,1,0],[69,0,1,0,0],[70,0,0,1,0],[73,0,1,0,0],[78,0,0,1,0],[85,0,1,0,0],[120,0,0,1,0]],"js":[[7,0,0,1,2],[30,0,0,1,0],[33,0,0,1,0],[45,0,0,0,1],[48,0,0,1,0],[63,0,0,1,0],[67,0,0,1,0],[70,0,0,1,0],[120,0,0,1,0]],"wire":[[7,0,0,1,0],[16,0,0,0,1],[33,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,1,1,0],[37,0,0,1,0],[38,0,0,2,0],[39,0,0,1,0],[40,0,0,1,0],[41,0,0,1,0],[54,0,0,1,0],[63,0,0,1,0],[85,0,0,1,0]],"negotiation":[[7,0,0,1,0],[47,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[72,0,0,1,0],[118,0,0,1,0]],"ts":[[7,0,0,1,0],[16,0,0,1,0],[17,0,0,2,1],[18,0,0,0,1],[27,0,0,1,2],[36,0,0,0,5],[37,0,0,1,1],[38,0,0,0,1],[45,0,0,0,2],[46,0,0,0,1],[47,0,0,1,1],[48,0,0,5,0],[50,0,0,0,1],[91,0,0,2,1],[95,0,0,0,1],[96,0,0,0,1],[97,0,0,0,1],[98,0,0,0,1],[100,0,0,0,1],[101,0,0,0,1],[105,0,0,0,1],[106,0,0,0,1],[110,0,0,0,1],[112,0,0,0,1],[115,0,0,0,1],[116,0,0,0,2],[117,0,0,0,1],[118,0,0,0,1],[119,0,0,0,1],[120,0,0,0,1],[122,0,0,1,0],[125,0,0,1,1],[127,0,0,0,2],[128,0,0,1,0],[129,0,0,0,1],[130,0,0,0,1],[133,0,0,0,1],[134,0,0,0,2],[138,0,0,0,1],[139,0,0,0,1],[140,0,0,0,1],[141,0,0,0,1],[142,0,0,0,2],[143,0,0,0,1]],"route":[[7,0,0,1,0],[20,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[47,0,0,2,0],[48,0,0,3,0],[67,0,0,2,0],[104,0,0,1,0],[118,0,0,1,0]],"handler":[[7,0,0,1,0],[48,0,0,3,0]],"configureserver":[[7,0,0,1,0]],"enough":[[7,0,0,1,0]],"static":[[7,0,0,1,0],[45,0,0,2,0],[47,0,0,0,1],[48,0,0,4,0],[49,0,0,2,0],[50,0,0,2,0],[70,0,0,1,0],[76,0,0,1,0],[127,0,0,1,0],[136,0,0,2,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,0,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0],[145,0,0,2,0]],"deployments":[[7,0,0,1,0]],"files":[[7,0,0,1,0],[14,0,0,1,0],[17,0,0,1,0],[22,0,0,2,0],[23,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,2,1],[28,0,0,1,0],[29,0,0,3,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,0,0,1],[38,0,0,2,0],[42,0,0,2,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,1,2,0],[48,0,0,1,0],[50,0,0,2,0],[52,0,0,1,0],[58,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,3,0],[68,0,0,2,0],[72,0,0,2,0],[82,0,0,1,0],[90,0,0,2,1],[96,0,0,1,0],[105,0,0,1,0],[112,0,0,1,0],[116,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0]],"items":[[7,0,0,0,1],[10,0,0,0,1]],"value":[[7,0,0,0,3],[10,0,0,0,2],[21,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0]],"package":[[8,0,0,4,0],[18,0,0,1,2],[22,1,1,2,0],[23,1,1,1,0],[24,1,1,2,0],[25,1,2,3,4],[26,1,2,3,0],[27,1,1,1,4],[28,1,1,1,2],[29,1,1,2,2],[30,1,1,3,3],[31,1,1,2,0],[32,1,1,1,0],[39,0,0,3,4],[63,0,0,1,0],[64,0,0,2,0],[66,0,0,3,0],[68,0,0,1,0],[71,0,0,1,0],[72,0,0,1,0],[80,0,0,1,0],[84,0,0,4,1],[85,0,0,1,0],[87,0,0,3,0],[89,0,0,1,1],[125,0,0,1,1],[126,0,0,1,1],[129,0,0,2,0]],"manager":[[8,0,0,5,0],[80,0,0,1,0]],"install":[[8,0,0,3,2],[22,0,0,1,0],[23,0,0,0,4],[25,0,0,1,0],[56,0,0,0,1],[79,0,0,1,0],[80,0,1,2,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[114,0,0,0,1],[120,0,0,0,2],[126,0,0,0,1],[128,0,0,1,0],[139,0,0,0,1]],"commands":[[8,0,0,3,1],[86,0,0,1,0],[143,0,0,2,0]],"row":[[8,0,0,1,0],[11,0,0,1,0],[134,0,0,1,0]],"mode":[[8,0,0,3,2],[24,0,0,2,0],[44,0,0,1,0],[56,0,0,1,0],[62,0,0,0,3],[63,0,0,2,0],[64,0,0,7,0],[65,0,0,2,0],[66,0,0,0,2],[68,0,0,2,0],[87,0,0,4,0],[89,0,1,0,0],[90,0,0,4,1],[109,0,0,1,0]],"command":[[8,0,0,4,2],[35,0,0,1,0],[68,0,0,1,0],[76,0,0,1,0],[80,0,0,1,0],[86,0,0,1,1],[94,0,0,1,0]],"name":[[8,0,0,2,0],[19,0,0,1,0],[23,0,0,0,4],[25,0,0,0,1],[26,0,0,0,1],[35,0,0,0,1],[37,0,0,0,1],[44,0,0,0,1],[56,0,0,0,1],[70,0,0,0,1],[87,0,0,4,0],[90,0,0,0,1],[115,0,0,0,2],[120,0,0,0,1],[134,0,0,1,1]],"cli":[[8,0,0,1,0],[19,0,0,1,0],[22,0,0,1,0],[23,0,0,0,3],[31,0,0,1,0],[32,0,0,1,0],[34,0,0,4,0],[36,0,0,1,0],[58,0,0,1,0],[69,0,0,1,0],[76,0,0,1,0],[80,0,0,1,0],[82,0,0,1,0],[86,1,1,0,0],[87,1,1,0,0],[88,1,1,1,0],[89,1,1,0,0],[90,1,1,0,0],[91,1,1,1,0],[92,1,1,1,0],[93,1,1,0,0],[94,1,1,2,0],[95,0,0,1,0],[101,0,0,3,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[105,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[112,0,0,1,0],[114,0,0,0,3],[126,0,0,0,2]],"create":[[8,0,0,1,0],[81,0,0,1,0]],"starter":[[8,0,0,1,0]],"prop":[[8,0,0,1,0],[11,0,0,1,0]],"exact":[[8,0,0,1,0],[62,0,0,1,0],[145,0,0,2,0]],"overrides":[[8,0,0,1,0],[92,0,0,2,0],[118,0,0,1,0]],"npm":[[8,0,0,3,2],[22,0,0,2,0],[23,0,0,1,2],[24,0,0,2,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,2,1],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,1],[63,0,0,1,0],[64,0,0,2,0],[80,0,0,2,0],[84,0,0,1,0],[89,0,0,1,0],[112,0,0,2,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,2,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0]],"pnpm":[[8,0,0,4,3],[80,0,0,2,0]],"yarn":[[8,0,0,4,0],[80,0,0,2,0]],"bun":[[8,0,0,3,0],[27,0,0,1,0],[36,0,0,0,7],[47,0,0,1,1],[56,0,0,0,2],[80,0,0,2,0],[117,0,0,1,0]],"npx":[[8,0,0,1,0],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,1],[29,0,0,0,1],[35,0,0,0,1],[39,0,0,0,2],[44,0,0,0,1],[52,0,0,0,1],[56,0,0,0,1],[57,0,0,0,1],[58,0,0,0,1],[59,0,0,0,2],[82,0,0,0,1],[84,0,0,0,1]],"lint":[[8,0,0,4,1],[15,0,0,1,0],[19,0,0,1,0],[20,0,1,2,0],[21,0,0,1,0],[32,0,0,1,0],[37,0,0,1,0],[39,0,0,1,1],[41,0,0,1,0],[54,0,0,2,0],[55,0,0,2,0],[56,0,0,1,3],[57,0,0,1,2],[58,0,0,2,1],[59,0,0,4,1],[60,0,0,1,0],[76,0,0,1,0],[80,0,0,1,0],[86,0,0,2,0],[87,0,0,1,0],[88,0,0,1,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,0,1,0],[92,0,1,3,1],[93,0,0,1,1],[94,0,0,2,0],[101,1,1,1,1],[102,1,1,0,0],[103,1,1,0,0],[104,1,1,0,0],[105,1,1,0,1],[106,1,1,0,0],[107,1,1,0,0],[108,1,1,0,0],[109,1,1,0,0],[110,1,1,0,1],[111,1,1,3,0],[141,0,0,0,1]],"dlx":[[8,0,0,2,0]],"bunx":[[8,0,0,1,0]],"defaultmanager":[[8,0,0,0,1]],"collapsible":[[9,0,0,1,0]],"secondary":[[9,0,0,1,0]],"ignores":[[9,0,0,2,0]],"open":[[9,0,0,2,0],[83,0,0,2,0],[126,0,0,0,1],[131,0,0,1,0]],"closed":[[9,0,0,3,0],[131,0,0,1,0]],"state":[[9,0,0,2,0],[99,0,0,1,0],[131,0,0,1,0]],"emits":[[9,0,0,2,0],[24,0,0,1,0],[72,0,0,1,0],[87,0,0,1,0],[112,0,0,2,0],[134,0,0,1,0]],"item":[[9,0,0,1,0]],"accordions":[[9,0,0,3,1]],"place":[[9,0,0,2,0],[24,0,0,1,0],[70,0,0,1,0],[72,0,0,1,0],[81,0,0,1,0],[100,0,0,1,0],[133,0,0,1,0]],"hide":[[9,0,0,2,0]],"should":[[9,0,0,1,1],[26,0,0,1,0],[29,0,0,1,0],[31,0,0,1,0],[39,0,0,1,0],[40,0,0,2,0],[144,0,0,1,0]],"troubleshooting":[[9,0,0,1,0]],"notes":[[9,0,0,1,0],[99,0,1,0,0]],"optional":[[9,0,0,1,1],[11,0,0,2,0],[16,0,0,2,0],[19,0,1,10,0],[36,0,0,1,0],[45,0,0,1,0],[63,0,0,2,0],[64,0,0,3,0],[65,0,0,3,0],[67,0,0,5,0],[76,0,0,1,0],[118,0,0,1,0],[119,0,0,1,2],[120,0,0,0,1],[122,0,0,1,0],[133,0,1,0,0],[134,0,1,0,0]],"material":[[9,0,0,1,1]],"good":[[9,0,0,1,0],[43,0,1,0,0]],"no":[[9,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[24,0,0,1,0],[50,0,0,1,0],[67,0,0,1,0],[84,0,0,2,0],[92,0,0,1,0],[99,0,0,1,0],[107,0,0,12,0],[108,0,0,7,0],[109,0,0,7,0],[113,0,0,1,0],[119,0,0,1,0],[134,0,0,2,0],[139,0,0,1,0]],"everything":[[9,0,0,1,0]],"inside":[[9,0,0,1,0],[22,0,0,1,0],[23,0,0,1,0],[24,0,0,3,0],[25,0,0,2,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[64,0,0,2,0],[66,0,0,1,0],[84,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[125,0,0,1,0],[126,0,0,0,1]],"navigation":[[10,0,0,1,0],[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,1],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[28,0,0,0,3],[33,0,0,1,0],[35,0,0,1,0],[37,0,0,1,0],[44,0,0,1,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[62,0,0,0,1],[65,0,0,1,0],[68,0,0,1,0],[72,0,0,2,0],[74,0,0,1,0],[76,0,0,1,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[105,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[116,0,0,1,2],[127,0,0,1,4]],"across":[[10,0,0,1,0],[75,0,0,1,0],[78,0,0,2,0],[91,0,0,1,0]],"topics":[[10,0,0,1,0]],"frameworks":[[10,0,0,1,2],[26,0,0,0,1],[70,0,0,1,0]],"sdks":[[10,0,0,1,0]],"runtimes":[[10,0,0,1,0],[47,0,0,1,0]],"deployment":[[10,0,0,1,0],[47,0,0,0,1],[75,0,0,1,0],[77,0,0,1,0],[129,0,0,1,0]],"targets":[[10,0,0,1,0]],"product":[[10,0,0,1,0],[28,0,0,0,2],[35,0,0,0,1],[37,0,1,0,2],[44,0,0,0,2],[45,0,0,1,0],[65,0,0,1,0],[82,0,0,1,0],[87,0,0,2,0],[90,0,0,1,1],[91,0,0,0,2],[113,0,0,2,0],[115,0,0,0,4],[116,0,0,0,4],[125,0,0,2,2]],"areas":[[10,0,0,1,0]],"reader":[[10,0,0,1,0],[48,0,0,1,0]],"facing":[[10,0,0,1,0],[40,0,0,1,0],[70,0,0,1,0],[112,0,0,1,0],[135,0,0,1,0]],"automatically":[[10,0,0,1,0],[19,0,0,1,0],[47,0,0,1,0]],"llm":[[10,0,0,1,0],[27,0,0,0,1],[32,0,0,1,0],[36,0,0,0,3],[38,0,0,1,1],[45,0,0,0,1],[46,0,0,0,1],[47,0,0,0,1],[50,0,0,0,1],[80,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[91,0,0,1,1],[94,0,0,2,0],[112,1,1,1,1],[113,1,1,0,0],[114,1,1,0,0],[115,1,1,0,1],[116,1,1,0,1],[117,1,1,0,1],[118,1,1,0,0],[119,1,1,0,0],[120,1,1,0,1],[121,1,1,0,0],[122,1,1,0,0],[123,1,1,0,0],[124,1,1,0,0],[125,1,1,0,1],[126,1,1,0,0],[127,1,1,2,0],[128,1,1,0,0],[129,1,1,0,0],[135,0,0,1,0]],"topic":[[10,0,0,1,0],[22,0,0,2,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[66,0,0,1,0],[68,0,0,2,0],[72,0,0,2,0],[76,0,0,1,0],[112,0,0,2,0],[113,0,0,1,0],[126,0,0,0,1],[128,0,1,0,0]],"config":[[10,0,0,1,0],[16,0,0,1,0],[17,0,0,2,1],[18,0,0,1,0],[27,0,0,0,2],[28,0,0,0,1],[37,0,0,2,0],[40,0,0,1,0],[60,0,0,1,0],[91,0,0,2,1],[125,0,0,1,0],[128,0,0,1,0],[145,0,0,1,0]],"framework":[[10,0,0,1,1],[19,0,0,2,0],[20,0,0,4,0],[21,0,0,1,0],[33,0,0,1,0],[38,0,0,1,0],[45,0,0,0,1],[46,0,0,2,0],[47,0,0,2,0],[48,0,0,2,0],[55,0,0,5,0],[60,0,0,1,0],[67,0,0,1,0],[70,0,0,1,0],[74,0,0,1,0],[75,0,0,3,0],[78,0,0,2,0],[104,0,0,4,0],[106,0,0,0,1],[107,0,0,1,0],[117,0,0,2,0],[120,0,0,1,0],[121,0,0,1,0],[131,0,0,1,0]],"react":[[10,0,0,2,4],[26,0,0,0,3],[75,0,0,1,0]],"integration":[[10,0,0,3,0],[121,0,0,1,0]],"vue":[[10,0,0,2,3]],"svelte":[[10,0,0,2,0]],"label":[[10,0,0,0,3],[109,0,0,1,0]],"activevalue":[[10,0,0,0,1]],"explicit":[[11,0,0,1,0],[26,0,0,1,0],[142,0,0,1,0]],"type":[[11,0,0,3,2],[19,0,0,1,0],[20,0,0,1,0],[36,0,0,0,1],[38,0,0,1,0],[40,0,0,1,0],[46,0,0,0,1],[47,0,0,1,0],[52,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[67,0,0,1,0],[103,0,0,1,0],[106,0,0,0,1],[107,0,0,1,0],[108,0,0,2,0],[109,0,0,1,0],[114,0,0,0,1],[118,0,0,1,0],[120,0,0,0,1],[121,0,0,2,0],[134,0,0,2,0],[139,0,0,0,2]],"rows":[[11,0,0,1,0]],"already":[[11,0,0,1,0],[42,0,0,1,0],[140,0,0,1,0]],"know":[[11,0,0,1,0]],"reads":[[11,0,0,1,0],[15,0,0,1,0],[36,0,0,0,1],[54,0,0,1,0],[82,0,0,1,0],[134,0,0,2,0],[138,0,0,1,0]],"typescript":[[11,0,0,1,0],[36,0,0,0,1],[94,0,0,1,0],[134,0,0,2,0]],"file":[[11,0,0,1,0],[12,0,0,1,0],[15,0,0,1,0],[18,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[57,0,0,1,0],[59,0,0,1,0],[64,0,0,1,0],[67,0,0,2,0],[68,0,0,1,0],[82,0,0,2,0],[87,0,0,2,0],[95,0,0,1,0],[97,0,0,1,0],[98,0,0,1,0],[106,0,0,0,1],[112,0,0,1,0],[113,0,0,3,0],[121,0,0,1,0],[126,0,0,0,2],[128,0,0,1,0],[134,0,0,4,0]],"extracts":[[11,0,0,1,0]],"named":[[11,0,0,1,0],[130,0,0,1,0],[134,0,0,1,0],[140,0,0,1,0]],"keep":[[11,0,0,1,0],[14,0,0,2,0],[38,0,0,1,0],[45,0,0,1,0],[48,0,0,1,0],[53,0,0,1,0],[58,0,0,1,0],[110,0,0,1,0],[145,0,0,1,0]],"its":[[11,0,0,1,0],[39,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[67,0,0,1,0],[78,0,0,1,0],[120,0,0,1,0],[135,0,0,1,0]],"path":[[11,0,0,1,0],[22,0,0,1,0],[25,0,0,1,0],[33,0,0,1,0],[47,0,0,1,0],[64,0,0,3,0],[71,0,1,0,0],[90,0,0,0,12],[94,0,0,1,0],[114,0,0,0,1],[118,0,0,1,0],[121,0,0,1,0],[125,0,0,2,0],[134,0,0,2,1],[144,0,0,1,0]],"stable":[[11,0,0,1,0],[14,0,0,1,0],[19,0,0,1,0]],"property":[[11,0,0,1,0],[19,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[67,0,0,1,0],[120,0,0,0,2],[134,0,0,1,0]],"default":[[11,0,0,1,1],[19,0,0,2,0],[20,0,0,1,0],[37,0,0,0,1],[50,0,0,0,1],[51,0,0,2,0],[63,0,0,2,0],[64,0,0,1,0],[67,0,0,1,0],[68,0,0,2,0],[82,0,0,1,0],[87,0,0,2,0],[92,0,0,2,0],[100,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[105,0,0,2,0],[107,0,1,0,0],[108,0,1,0,0],[109,0,1,0,0],[112,0,0,1,0],[114,0,0,0,1],[118,0,0,1,0],[120,0,0,0,1],[123,0,0,1,0],[125,0,0,1,0],[129,0,0,1,0],[130,0,0,1,0],[131,0,1,1,0],[132,0,0,1,0],[133,0,0,2,0],[134,0,0,2,0],[135,0,0,1,0]],"required":[[11,0,0,2,1],[15,0,0,1,0],[16,0,0,2,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,2,0],[20,0,0,2,0],[21,0,0,1,0],[60,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[67,0,0,1,0],[103,0,0,1,0],[105,0,0,1,0],[106,0,0,2,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0]],"string":[[11,0,0,1,1],[16,0,0,1,0],[19,0,0,3,0],[46,0,0,1,0],[67,0,0,1,0],[106,0,0,0,3],[107,0,0,7,0],[108,0,0,7,0],[109,0,0,5,0],[110,0,0,0,1],[119,0,0,1,0],[121,0,0,1,0],[125,0,0,1,0]],"heading":[[11,0,0,1,1],[16,0,0,1,0],[67,0,0,1,0],[131,0,0,1,0],[137,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0]],"rendered":[[11,0,0,1,1],[46,0,0,1,0],[99,0,0,1,0],[134,0,0,1,0]],"calloutvariant":[[11,0,0,1,1]],"visual":[[11,0,0,1,1],[77,0,0,1,0]],"treatment":[[11,0,0,1,1]],"deprecated":[[11,0,0,3,0],[19,0,0,3,0],[107,0,0,1,0]],"boolean":[[11,0,0,1,0],[19,0,0,6,0],[107,0,0,6,0],[108,0,0,2,0],[109,0,0,2,0]],"marks":[[11,0,0,1,0],[19,0,0,2,0]],"false":[[11,0,0,1,0],[97,0,0,0,1]],"properties":[[11,0,0,0,1]],"true":[[11,0,0,0,1],[27,0,0,0,3],[36,0,0,0,1],[96,0,0,1,1],[127,0,0,0,1]],"data":[[12,0,0,2,0],[33,0,0,1,0],[40,0,0,1,0],[65,0,0,1,0],[82,0,0,1,0],[112,0,0,1,0]],"driven":[[12,0,0,1,0]],"examples":[[12,0,0,1,0]],"host":[[12,0,0,1,1],[65,0,0,1,0],[90,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0]],"receives":[[12,0,0,1,0]],"code":[[12,0,0,1,1],[23,0,0,0,1],[24,0,0,1,0],[39,0,0,1,0],[47,0,0,1,0],[63,0,0,1,0],[64,0,0,2,0],[65,0,0,1,0],[66,0,0,0,1],[67,0,0,1,0],[70,0,0,0,1],[78,0,0,1,0],[84,0,0,1,0],[89,0,0,1,0],[125,0,0,1,0],[131,0,0,1,0],[137,0,0,1,0],[143,0,0,1,0]],"loaders":[[12,0,0,1,0]],"dynamic":[[12,0,0,1,0]],"imports":[[12,0,0,1,0],[62,0,0,0,1],[91,0,0,1,0],[130,0,0,1,0],[132,0,0,1,0]],"outside":[[12,0,0,1,0],[105,0,0,1,0]],"needs":[[12,0,0,1,0],[26,0,0,1,0],[74,0,0,1,0],[81,0,0,1,0],[134,0,0,1,0]],"specific":[[12,0,0,1,0],[26,0,1,0,0],[129,0,0,1,0],[136,0,0,1,0]],"behavior":[[12,0,0,1,0],[16,0,0,1,0],[99,0,1,0,0]],"output":[[12,0,0,0,1],[14,0,0,1,0],[22,0,0,1,0],[45,0,0,1,0],[48,0,0,1,0],[57,0,0,1,0],[61,0,0,1,0],[62,0,0,1,0],[63,0,1,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,2,0],[67,0,0,1,0],[68,0,0,4,0],[69,0,0,1,0],[79,0,0,1,0],[83,0,1,0,0],[84,0,0,1,0],[86,0,0,1,0],[87,0,0,2,0],[88,0,0,1,0],[89,0,0,1,0],[90,0,1,1,0],[91,0,0,1,0],[92,0,0,1,0],[93,0,0,1,0],[94,0,0,2,0],[95,0,0,1,0],[96,0,0,1,0],[97,0,0,1,0],[98,0,0,1,0],[99,0,0,2,0],[112,0,0,1,0],[126,0,1,0,0],[134,0,0,1,0],[135,0,0,2,0]],"inspect":[[12,0,0,0,1],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,1,1,0],[84,0,0,1,0],[85,0,0,1,0]],"filename":[[12,0,0,0,1]],"language":[[12,0,0,0,1]],"while":[[12,0,0,0,1],[52,0,0,1,0],[138,0,0,1,0]],"diagrams":[[13,0,0,1,0]],"plain":[[13,0,0,1,0],[47,0,0,1,0],[50,0,0,2,0],[127,0,0,1,0],[142,0,0,1,0]],"renders":[[13,0,0,1,0],[16,0,0,1,0],[66,0,0,1,0],[78,0,0,1,0],[104,0,0,1,0]],"client":[[13,0,0,1,0],[134,0,0,1,0]],"svg":[[13,0,0,1,0]],"preserves":[[13,0,0,1,0]],"tools":[[13,0,0,1,0],[22,0,0,1,0],[24,0,0,1,0],[31,0,0,1,0],[66,0,0,1,0],[73,0,0,1,0],[143,0,0,0,1]],"copy":[[13,0,0,1,0]],"chart":[[13,0,0,0,1],[34,0,0,1,0]],"graph":[[13,0,0,0,2]],"lr":[[13,0,0,0,2],[17,0,0,0,1],[23,0,0,0,1],[34,0,0,1,0],[66,0,0,0,1],[70,0,0,0,1]],"index":[[13,0,0,0,1],[25,0,0,1,2],[33,0,0,1,0],[35,0,0,1,0],[39,0,0,1,0],[40,0,0,3,0],[44,0,0,0,1],[62,0,0,0,1],[63,0,0,1,0],[64,0,0,5,0],[65,0,0,1,0],[66,0,0,0,1],[67,0,0,1,0],[68,0,0,1,0],[70,0,0,1,0],[72,0,0,1,0],[74,0,0,1,0],[76,0,0,1,0],[81,0,0,1,0],[82,0,0,4,0],[83,0,0,2,5],[84,0,0,2,0],[87,0,0,2,0],[89,0,0,2,0],[90,0,0,0,2],[112,0,0,1,0],[113,0,0,2,0],[114,0,0,0,1],[136,0,0,2,0],[137,0,0,6,0],[138,0,0,2,1],[139,0,0,1,1],[140,0,0,2,3],[141,0,0,1,1],[142,0,0,1,1],[143,0,0,1,1],[144,0,0,1,0],[145,0,0,3,0]],"api":[[13,0,0,0,1],[46,0,0,1,0],[92,0,0,1,0],[94,0,0,1,0],[101,0,0,2,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[105,0,1,1,0],[106,0,1,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[117,0,0,1,0],[145,0,0,1,0]],"guidelines":[[14,0,1,0,0]],"stays":[[14,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[74,0,0,1,0],[99,0,0,1,0],[138,0,0,1,0]],"out":[[14,0,0,1,0],[23,0,0,0,1],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,1],[29,0,0,0,1],[35,0,0,0,1],[39,0,0,0,1],[44,0,0,0,1],[51,0,0,1,0],[59,0,0,0,1],[63,0,0,2,0],[64,0,0,3,0],[65,0,0,1,0],[66,0,0,0,6],[70,0,0,0,8],[74,0,0,1,0],[82,0,0,0,1],[84,0,0,0,1],[87,0,0,5,0],[89,0,0,2,1],[113,0,0,8,0],[131,0,0,0,2]],"renaming":[[14,0,0,1,0]],"breaks":[[14,0,0,1,0]],"until":[[14,0,0,1,0]],"remap":[[14,0,0,1,0]],"quality":[[14,0,0,1,0]],"converted":[[14,0,0,1,0],[40,0,0,1,0],[66,0,0,1,0],[68,0,0,1,0],[83,0,0,0,1],[134,0,0,1,0],[135,0,0,1,0]],"first":[[14,0,0,1,0],[30,0,0,0,1],[39,0,0,1,0],[59,0,0,1,0],[60,0,1,0,0],[73,0,0,1,0],[111,0,0,1,0],[115,0,0,1,0],[130,0,0,1,0],[135,0,0,1,0]],"edit":[[14,0,0,1,0]],"order":[[14,0,0,1,0],[27,0,0,1,0],[36,0,0,2,0],[60,0,0,1,0],[68,0,0,1,0],[91,0,0,1,1],[94,0,0,1,0],[95,0,0,1,0],[96,0,0,1,0],[100,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,1,0,0]],"actually":[[14,0,0,1,0]],"looks":[[14,0,0,1,0],[24,0,0,1,0],[38,0,0,1,0],[43,0,1,0,0],[83,0,0,1,0],[135,0,0,1,0]],"wrong":[[14,0,0,1,0],[20,0,0,1,0],[24,0,0,1,0],[55,0,0,1,0],[60,0,0,1,0],[103,0,0,1,0],[124,0,0,1,0],[135,0,0,1,0]],"frontmatter":[[15,1,1,1,0],[16,1,1,0,0],[17,1,1,0,0],[18,1,1,0,0],[19,1,1,0,0],[20,1,1,1,0],[21,1,1,1,0],[37,0,0,2,0],[38,0,0,2,0],[39,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[54,0,0,1,0],[55,0,0,4,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,2,0],[62,0,0,0,2],[67,0,0,1,0],[68,0,0,2,0],[69,0,0,1,0],[72,0,0,1,0],[76,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[92,0,0,2,0],[94,0,0,1,0],[97,0,0,1,1],[99,0,0,3,0],[103,0,1,1,0],[105,0,0,3,0],[106,0,0,0,1],[107,0,1,0,0],[108,0,1,0,0],[110,0,0,0,1],[118,0,0,1,0]],"fields":[[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,1,1,0],[20,0,0,1,0],[21,0,0,1,0],[55,0,0,2,0],[60,0,0,1,0],[90,0,0,1,0],[92,0,0,2,0],[105,0,0,1,0],[106,0,0,1,0]],"semantics":[[15,0,0,1,0],[16,0,0,1,0],[17,0,0,1,0],[18,0,0,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0]],"tree":[[15,0,0,1,0],[16,0,0,1,0],[17,0,1,2,1],[18,0,1,1,0],[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[35,0,0,1,0],[37,0,0,1,0],[62,0,0,0,1],[65,0,0,1,0],[72,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[96,0,0,1,0],[125,0,0,1,0],[127,0,0,1,0],[132,0,0,1,0]],"page":[[15,0,0,2,0],[16,0,0,1,0],[17,0,0,2,3],[18,0,0,1,0],[19,0,0,4,0],[20,0,0,1,0],[21,0,0,1,0],[25,0,0,0,1],[38,0,0,1,0],[40,0,0,1,0],[43,0,0,4,0],[44,0,0,1,0],[46,0,0,4,4],[48,0,0,1,0],[49,0,0,1,0],[53,0,0,2,0],[55,0,0,1,0],[61,0,0,1,0],[62,0,0,0,1],[64,0,0,1,0],[65,0,0,1,0],[67,0,0,2,0],[68,0,0,1,0],[71,0,0,1,0],[81,0,1,1,0],[82,0,0,1,0],[89,0,0,1,0],[91,0,0,1,0],[99,0,0,1,0],[101,0,0,1,0],[104,0,0,1,0],[105,0,0,1,0],[113,0,0,1,0],[118,0,0,1,0],[120,0,0,2,0],[137,0,0,2,0],[140,0,0,1,0],[145,0,0,1,0]],"yaml":[[15,0,0,1,0],[56,0,0,0,1],[99,0,0,1,0],[103,0,0,1,0]],"things":[[15,0,0,1,0],[82,0,0,1,0]],"lives":[[15,0,0,1,0],[39,0,0,2,0]],"nav":[[15,0,0,1,0],[16,0,0,1,0],[17,0,1,1,2],[18,0,1,0,0],[19,0,0,1,0],[34,0,0,1,0],[62,0,0,0,3],[65,0,0,2,0],[81,0,0,1,0],[82,0,0,1,0],[109,0,0,3,0],[127,0,0,1,1]],"minimum":[[16,0,1,0,0],[81,0,0,1,0]],"non":[[16,0,0,1,0],[18,0,0,1,0],[40,0,0,2,0],[54,0,0,1,0],[67,0,0,1,0],[92,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[119,0,0,0,1]],"empty":[[16,0,0,1,0],[40,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[120,0,0,1,0]],"sidebar":[[16,0,0,1,0],[19,0,0,1,0],[21,0,0,1,0],[65,0,0,1,0],[67,0,0,1,0],[109,0,0,1,0],[127,0,0,3,0]],"recommended":[[16,0,0,1,0],[45,0,0,1,0]],"routing":[[16,0,0,1,0],[33,0,0,1,0],[34,0,0,1,0],[40,0,0,1,0],[42,0,0,1,0],[74,0,0,1,0],[77,0,0,1,0],[82,0,0,1,0],[83,0,0,0,2],[113,0,0,2,0],[125,0,0,1,0],[128,0,0,1,0]],"hint":[[16,0,0,1,0]],"omitted":[[16,0,0,1,0],[119,0,0,1,0]],"converter":[[16,0,0,1,0],[39,0,0,1,0],[104,0,0,1,0],[107,0,0,1,0]],"synthesizes":[[16,0,0,1,0]],"during":[[16,0,0,1,0],[25,0,0,1,0],[36,0,0,1,0]],"slug":[[16,0,0,1,0],[17,0,0,4,0],[18,0,0,1,3],[28,0,0,0,2],[37,0,0,0,2],[48,0,0,1,0],[67,0,0,2,0],[68,0,0,1,0],[90,0,0,0,1],[125,0,0,1,0],[127,0,0,0,2]],"declared":[[16,0,0,1,0],[17,0,0,1,0]],"pages":[[16,0,0,1,0],[19,0,0,1,0],[26,0,0,1,0],[37,0,0,1,0],[38,0,0,1,0],[43,0,0,1,0],[45,0,0,2,2],[46,0,1,0,1],[47,0,0,1,0],[48,0,0,2,0],[52,0,0,2,0],[53,0,0,1,0],[58,0,0,1,0],[65,0,0,2,0],[72,0,0,1,0],[82,0,0,1,0],[83,0,0,0,1],[90,0,0,1,0],[109,0,0,1,0],[113,0,0,3,0],[116,0,0,2,3],[118,0,0,1,0],[119,0,0,0,3],[121,0,0,1,0],[128,0,0,2,0]],"excluded":[[16,0,0,1,0],[19,0,0,1,0]],"connect":[[16,0,0,0,1],[18,0,0,0,2],[31,0,0,1,0],[33,1,1,0,0],[34,1,1,0,0],[35,1,1,0,0],[36,1,1,0,0],[37,1,1,0,0],[38,1,1,0,0],[39,1,2,0,0],[40,1,1,0,0],[41,1,1,0,0]],"site":[[16,0,0,0,1],[18,0,0,0,2],[31,0,0,1,0],[33,1,1,2,0],[34,1,1,0,0],[35,1,1,1,0],[36,1,1,0,0],[37,1,1,0,0],[38,1,2,0,0],[39,1,1,1,0],[40,1,1,0,0],[41,1,1,0,0],[42,0,0,2,0],[43,0,0,2,0],[44,0,0,2,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,2,0],[53,0,0,1,0],[62,0,0,0,3],[63,0,0,1,0],[64,0,0,3,0],[65,0,0,1,0],[66,0,0,2,5],[68,0,0,2,0],[70,0,0,0,8],[71,0,0,1,0],[74,0,0,1,0],[75,0,0,3,0],[82,0,0,1,0],[85,0,0,1,0],[87,0,0,2,0],[90,0,0,2,1],[112,0,0,1,0]],"build":[[16,0,0,0,2],[17,0,0,1,4],[18,0,0,1,2],[20,0,0,1,0],[21,0,0,1,0],[27,0,0,3,1],[33,0,0,3,0],[34,0,0,1,0],[35,0,0,1,0],[36,0,1,1,4],[37,0,0,1,0],[38,0,0,1,0],[39,0,0,2,1],[40,0,0,2,0],[41,0,0,1,0],[44,0,0,2,0],[48,0,0,2,0],[49,0,0,1,0],[63,0,0,1,0],[65,0,0,1,0],[71,0,0,1,0],[82,0,0,1,0],[94,0,0,1,0],[101,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,3,0],[136,0,0,1,0],[138,0,1,0,0],[142,0,0,1,0]],"groups":[[17,0,1,0,1],[18,0,2,1,0],[27,0,0,0,1],[28,0,0,0,5],[37,0,1,0,1],[39,0,0,1,0],[59,0,0,1,0],[62,0,0,0,5],[67,0,0,1,0],[68,0,0,1,0],[82,0,0,2,0],[90,0,0,0,1],[91,0,0,3,2],[113,0,0,2,0],[115,0,0,0,6],[116,0,0,0,2],[125,0,0,1,2],[127,0,0,0,2],[128,0,0,1,0]],"become":[[17,0,1,0,0],[18,0,1,0,0],[91,0,0,1,0]],"declares":[[17,0,0,2,0],[28,0,0,0,1],[37,0,0,1,0],[127,0,0,0,1]],"single":[[17,0,0,1,0],[35,0,0,2,0],[70,0,0,1,0],[71,0,0,2,0],[72,0,0,1,0],[73,0,0,1,0],[88,0,0,1,0],[90,0,0,1,0],[128,0,0,1,0]],"once":[[17,0,0,1,0],[21,0,0,1,0],[37,0,0,1,0],[72,0,0,1,0],[83,0,0,1,0],[110,0,0,1,0]],"intersection":[[17,0,0,1,0]],"produces":[[17,0,0,1,0],[61,0,0,1,0],[70,0,0,1,0],[73,0,0,1,0],[74,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[112,0,0,1,0],[128,0,0,2,0]],"leaf":[[17,0,0,1,0],[18,0,0,1,0],[40,0,0,2,0],[67,0,0,3,0],[82,0,0,1,0],[83,0,0,0,1],[113,0,0,5,0],[128,0,0,2,0]],"isn":[[17,0,0,1,0],[20,0,0,1,0]],"fails":[[17,0,0,1,0],[39,0,0,1,0],[59,0,0,2,0],[60,0,0,1,0],[68,0,0,1,0],[124,0,0,1,0]],"unknown":[[17,0,0,1,0],[20,0,0,2,0],[27,0,0,0,1],[28,0,0,0,4],[39,0,0,0,1],[55,0,0,1,0],[56,0,0,2,1],[57,0,0,0,1],[59,0,0,1,1],[60,0,0,1,0],[68,0,0,1,0],[88,0,0,1,0],[92,0,0,4,0],[103,0,0,3,0],[106,0,0,0,1],[110,0,0,2,0],[127,0,0,0,3]],"truth":[[17,0,0,1,0],[21,0,0,1,0]],"drift":[[17,0,0,1,0],[111,0,0,1,0]],"flowchart":[[17,0,0,0,1],[23,0,0,0,1],[34,0,0,1,0],[62,0,0,0,1],[66,0,0,0,1],[70,0,0,0,1],[131,0,0,0,1]],"cfg":[[17,0,0,0,2]],"page1":[[17,0,0,0,2]],"page2":[[17,0,0,0,2]],"page3":[[17,0,0,0,2]],"resolver":[[17,0,0,0,9],[62,0,0,0,1]],"sections":[[17,0,0,0,1],[37,0,0,1,0],[65,0,0,1,0],[131,0,0,1,0]],"nested":[[18,0,1,1,0],[24,0,0,1,0]],"declare":[[18,0,0,1,0],[37,0,0,1,0]],"children":[[18,0,0,2,1],[67,0,0,1,0],[113,0,0,1,0]],"deeper":[[18,0,0,1,0],[64,0,0,1,0]],"trees":[[18,0,0,1,0],[96,0,0,1,0]],"sets":[[18,0,0,1,0],[51,0,0,2,0],[118,0,0,1,0],[123,0,0,1,0]],"bundle":[[18,0,0,1,2],[19,0,0,1,0],[21,0,0,1,0],[22,1,1,1,0],[23,1,1,0,4],[24,1,1,1,0],[25,1,1,1,1],[26,1,1,1,1],[27,1,1,0,1],[28,1,1,0,0],[29,1,1,0,1],[30,1,2,0,0],[31,1,1,0,0],[32,1,1,0,0],[39,0,0,1,0],[62,0,0,0,1],[63,0,0,2,0],[64,0,0,4,0],[65,0,0,1,0],[66,0,0,1,3],[68,0,0,2,0],[70,0,0,1,7],[72,0,0,1,0],[73,0,0,1,0],[83,0,0,0,1],[84,0,1,2,1],[85,0,0,1,0],[87,0,0,7,0],[89,0,1,1,1],[90,0,0,2,0],[112,0,0,1,0],[126,0,0,1,0],[128,0,0,2,0]],"lands":[[18,0,0,1,0]],"slot":[[18,0,0,1,0]],"get":[[18,0,0,1,0],[37,0,0,0,2],[39,0,0,1,0],[40,0,0,1,0],[66,0,0,1,0],[72,0,1,2,0],[81,0,0,0,1],[83,0,0,0,1],[90,0,0,0,2],[97,0,0,1,0],[113,0,0,1,0],[114,0,0,0,1],[126,0,0,0,1],[130,0,0,2,0]],"leaves":[[18,0,0,1,0],[49,0,0,1,0],[118,0,0,1,0],[128,0,0,1,0]],"schema":[[19,0,0,1,0],[20,0,0,4,0],[46,0,0,1,0],[54,0,0,1,0],[55,0,0,3,0],[59,0,0,1,0],[60,0,0,2,0],[92,0,0,2,0],[101,0,0,2,0],[102,0,0,1,0],[103,0,0,3,0],[104,0,0,1,0],[105,0,0,6,0],[106,0,0,2,1],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,4,0],[111,0,0,1,0],[120,0,0,0,1],[121,0,0,1,0]],"also":[[19,0,0,1,0],[24,0,0,1,0],[39,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[78,0,0,1,0],[82,0,0,1,0],[94,0,0,1,0],[118,0,0,1,0]],"accepts":[[19,0,0,1,0],[58,0,0,1,0],[122,0,0,1,0]],"resolved":[[19,0,0,1,0],[39,0,0,1,0],[65,0,0,1,0],[130,0,0,1,0]],"deprecatedreason":[[19,0,0,1,0],[107,0,0,1,0]],"message":[[19,0,0,1,0],[106,0,0,0,1],[141,0,0,1,0]],"paired":[[19,0,0,1,0]],"experimental":[[19,0,0,2,0],[107,0,0,1,0]],"canary":[[19,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0]],"hides":[[19,0,0,1,0]],"channels":[[19,0,0,1,0]],"new":[[19,0,0,1,0],[38,0,0,0,2],[45,0,0,0,1],[47,0,0,0,1],[50,0,0,0,1],[73,0,0,1,0],[107,0,0,1,0],[118,0,0,0,1],[119,0,0,0,2]],"highlights":[[19,0,0,1,0]],"recently":[[19,0,0,1,0]],"added":[[19,0,0,1,0]],"draft":[[19,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0]],"excludes":[[19,0,0,1,0]],"generation":[[19,0,0,1,0],[27,0,0,1,0],[38,0,0,1,0],[92,0,0,1,0],[101,0,0,1,0],[138,0,0,1,0]],"entirely":[[19,0,0,1,0],[51,0,0,1,0]],"tags":[[19,0,0,2,0],[107,0,0,1,0],[108,0,0,1,0],[133,0,0,1,0]],"free":[[19,0,0,1,0],[117,0,0,1,0]],"form":[[19,0,0,1,0]],"facets":[[19,0,0,1,0]],"availablein":[[19,0,0,1,0],[107,0,0,1,0],[111,0,0,1,0]],"array":[[19,0,0,1,0],[96,0,0,1,0],[106,0,0,0,1],[107,0,0,3,0],[108,0,0,2,0],[109,0,0,1,0]],"cross":[[19,0,0,1,0],[20,0,0,1,0],[21,0,0,1,0],[55,0,0,2,0],[60,0,0,1,0],[104,0,0,1,0],[106,0,0,0,1],[123,0,0,1,0]],"availability":[[19,0,0,1,0]],"map":[[19,0,0,1,0],[121,0,0,1,0]],"forces":[[19,0,0,1,0]],"even":[[19,0,0,1,0],[145,0,0,1,0]],"normally":[[19,0,0,1,0]],"lastmodified":[[19,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[96,0,0,1,0],[107,0,0,1,0]],"lastauthor":[[19,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[96,0,0,1,0],[107,0,0,1,0]],"filled":[[19,0,0,1,0]],"pass":[[19,0,0,1,0],[36,0,0,1,1],[45,0,0,1,0],[51,0,0,1,0],[82,0,0,1,0],[92,0,0,2,0],[110,0,0,1,0],[123,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0],[134,0,0,1,0],[141,0,0,1,0],[142,0,0,1,0]],"enrich":[[19,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[107,0,0,1,0]],"git":[[19,0,0,1,0],[39,0,0,0,1],[87,0,0,2,0],[88,0,0,2,0],[96,0,0,1,0],[107,0,0,1,0]],"hand":[[19,0,0,1,0],[38,0,0,1,0]],"rules":[[20,0,1,2,0],[37,0,0,1,0],[54,0,0,1,0],[76,0,0,1,0],[101,1,1,1,0],[102,1,2,0,0],[103,1,3,0,0],[104,1,3,0,0],[105,1,1,0,0],[106,1,1,0,0],[107,1,1,0,0],[108,1,1,0,0],[109,1,1,0,0],[110,1,1,0,0],[111,1,1,0,0],[135,0,1,0,0]],"enforces":[[20,0,0,1,0]],"violations":[[20,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[60,0,0,1,0],[106,0,0,1,1]],"surface":[[20,0,0,1,0],[142,0,0,1,0]],"ci":[[20,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[41,0,0,1,0],[54,1,1,2,0],[55,1,1,1,0],[56,1,1,1,0],[57,1,2,2,0],[58,1,1,2,0],[59,1,1,1,0],[60,1,1,2,0],[101,0,0,1,0],[110,0,0,1,0],[111,0,0,2,0],[129,0,0,1,0]],"before":[[20,0,0,1,0],[29,0,1,0,0],[33,0,0,1,0],[36,0,0,1,0],[38,0,0,1,0],[39,0,0,1,0],[40,0,0,2,0],[44,0,0,1,0],[47,0,0,1,0],[48,0,0,4,0],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,2,0],[59,0,1,1,0],[60,0,0,1,0],[65,0,0,1,0],[90,0,0,1,0],[92,0,0,1,0],[97,0,0,1,0],[100,0,0,2,0],[101,0,0,2,0],[104,0,0,1,0],[111,0,0,1,0],[116,0,0,1,0],[119,0,0,0,1],[132,0,0,4,0],[133,0,0,2,0],[144,0,0,1,0]],"they":[[20,0,0,1,0],[30,0,0,0,1],[31,0,0,1,0],[50,0,0,2,0],[58,0,0,1,0],[66,0,0,1,0],[101,0,0,1,0],[102,0,0,1,0],[111,0,0,1,0],[145,0,0,1,0]],"reach":[[20,0,0,1,0],[24,0,0,1,0],[58,0,0,1,0],[101,0,0,1,0]],"relevant":[[20,0,0,1,0]],"field":[[20,0,0,3,0],[21,0,0,1,0],[45,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[60,0,0,2,0],[67,0,0,1,0],[103,0,0,4,0],[106,0,0,1,2],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0]],"missing":[[20,0,0,1,0],[29,0,0,2,0],[38,0,0,1,0],[39,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[55,0,0,1,0],[60,0,0,1,0],[88,0,0,1,0],[103,0,0,1,0],[106,0,0,1,0],[111,0,0,1,0],[121,0,0,1,0]],"top":[[20,0,0,1,0],[44,0,0,1,0],[55,0,0,1,0],[99,0,0,1,0],[103,0,0,1,0],[113,0,0,1,0],[136,0,0,1,0],[145,0,0,1,0]],"level":[[20,0,0,1,0],[40,0,0,1,0],[44,0,0,1,0],[53,0,0,1,0],[55,0,0,1,0],[103,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[121,0,1,0,0],[122,0,1,0,0]],"warn":[[20,0,0,1,0],[92,0,0,1,0],[103,0,0,1,0],[105,0,0,2,0],[106,0,0,0,1]],"fail":[[20,0,0,1,0],[27,0,0,0,1],[28,0,0,0,1],[54,0,0,2,0],[55,0,0,1,0],[56,0,0,2,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[101,0,0,1,0],[111,0,0,1,0]],"parse":[[20,0,0,2,0],[55,0,0,2,0],[60,0,0,1,0],[68,0,0,1,0],[103,0,0,3,0],[106,0,0,0,1],[144,0,0,1,0]],"meta":[[20,0,0,1,0],[55,0,0,1,0],[92,0,0,2,0],[103,0,0,1,0],[105,0,0,3,0],[106,0,0,0,1],[109,0,1,0,0],[111,0,0,1,0],[120,0,0,1,2]],"json":[[20,0,0,1,0],[27,0,0,0,1],[29,0,0,1,0],[34,0,0,3,0],[36,0,0,0,1],[38,0,0,2,1],[39,0,0,1,1],[40,0,0,3,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,2,1],[45,0,0,2,1],[46,0,1,3,1],[47,0,0,1,1],[48,0,0,1,0],[49,0,0,2,0],[50,0,0,1,1],[51,0,0,1,0],[52,0,0,2,0],[53,0,0,3,0],[55,0,0,1,0],[57,0,0,2,2],[59,0,0,0,1],[62,0,0,0,2],[63,0,0,2,0],[64,0,0,2,0],[65,0,0,2,0],[66,0,0,0,1],[70,0,0,0,1],[82,0,0,3,0],[83,0,0,0,3],[86,0,0,1,0],[87,0,0,3,0],[88,0,0,5,0],[89,0,0,3,0],[90,0,1,3,4],[91,0,0,1,0],[92,0,0,3,0],[93,0,0,1,0],[94,0,0,2,0],[103,0,0,1,0],[105,0,0,2,0],[109,0,1,0,0],[111,0,0,2,0],[112,0,0,1,0],[113,0,0,1,0],[118,0,0,2,0],[120,0,0,1,5],[121,0,0,2,0],[122,0,0,1,0],[124,0,0,1,0],[127,0,0,1,2],[137,0,0,2,0],[138,0,0,0,2],[139,0,0,0,2],[144,0,0,1,0]],"doesn":[[20,0,0,2,0],[55,0,0,1,0],[57,0,0,1,0],[78,0,0,1,0],[104,0,0,1,0],[145,0,0,1,0]],"invalid":[[20,0,0,1,0],[55,0,0,1,0],[60,0,0,1,0],[104,0,0,1,0],[106,0,0,1,1]],"link":[[20,0,0,3,0],[21,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[46,0,0,0,2],[47,0,0,1,0],[54,0,0,2,0],[55,0,0,3,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,4,0],[64,0,0,1,0],[89,0,0,1,0],[101,0,0,2,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,1,5,0],[105,0,0,1,0],[106,0,0,1,2],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[118,0,0,1,0],[121,0,0,1,0],[125,0,0,2,0],[131,0,0,2,0]],"exist":[[20,0,0,1,0],[55,0,0,1,0],[104,0,0,1,0]],"unresolved":[[20,0,0,2,0],[55,0,0,2,0],[60,0,0,1,0],[104,0,0,1,0],[106,0,0,0,1],[111,0,0,1,0]],"placeholder":[[20,0,0,2,0],[55,0,0,1,0],[60,0,0,1,0],[104,0,0,1,0],[106,0,0,0,1],[111,0,0,1,0],[132,0,0,2,0]],"doc":[[20,0,0,1,0]],"contains":[[20,0,0,1,0],[44,0,0,1,0],[52,0,0,1,0],[90,0,0,1,0],[104,0,0,1,0],[116,0,0,1,0]],"scoped":[[20,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[52,0,0,2,0],[53,0,0,1,0],[55,0,0,1,0],[65,0,0,1,0],[76,0,0,1,0],[82,0,0,1,0],[83,0,0,0,3],[87,0,0,1,0],[90,0,0,1,0],[104,0,0,1,0],[112,0,0,1,0],[113,0,0,4,0],[116,0,0,1,0],[119,0,0,0,1]],"another":[[20,0,0,1,0],[37,0,0,0,1],[97,0,0,1,0],[104,0,0,1,0]],"extend":[[20,0,0,1,0],[55,0,0,1,0],[60,0,0,1,0],[92,0,0,1,0],[110,0,0,1,0]],"gives":[[21,0,1,0,0],[46,0,0,1,0],[75,0,0,1,0],[117,0,0,1,0]],"consistent":[[21,0,0,1,0]],"rest":[[21,0,0,1,0],[61,0,0,1,0],[91,0,0,1,0]],"configuration":[[21,0,0,1,0]],"drives":[[21,0,0,1,0],[67,0,0,1,0],[82,0,0,1,0]],"position":[[21,0,0,1,0],[67,0,0,1,0]],"filtering":[[21,0,0,1,0],[36,0,0,1,0]],"checks":[[21,0,0,1,0],[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[54,0,0,1,0],[101,0,0,1,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,2,0],[105,0,0,1,0],[106,0,0,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0]],"tarball":[[22,0,0,1,0],[23,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,1,1,0],[28,0,1,1,0],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[39,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0]],"root":[[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,6],[28,0,0,1,5],[29,0,0,1,0],[30,0,0,2,0],[31,0,0,1,0],[32,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[45,0,1,1,0],[50,0,0,1,0],[52,0,0,2,0],[53,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[68,0,0,1,0],[82,0,0,1,0],[87,0,0,4,0],[88,0,0,1,0],[90,0,0,1,0],[92,0,0,1,0],[96,0,0,1,0],[105,0,0,1,0],[109,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[125,0,0,3,0]],"plus":[[22,0,0,1,0],[23,0,0,1,0],[24,0,0,1,0],[25,0,0,1,0],[26,0,0,1,0],[27,0,0,1,0],[28,0,0,1,0],[29,0,0,1,0],[30,0,0,1,0],[31,0,0,1,0],[32,0,0,1,0],[72,0,0,2,0],[76,0,0,1,0],[80,0,0,1,0],[82,0,0,1,0],[84,0,0,1,0],[89,0,0,1,0],[97,0,0,1,0],[131,0,0,1,0],[141,0,0,1,0]],"publish":[[22,0,0,1,0],[23,0,0,0,4],[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[83,0,0,1,0]],"library":[[22,0,0,1,0],[24,0,0,1,0],[27,0,0,1,0],[30,0,0,0,2],[77,0,0,1,0],[81,0,0,0,2],[92,0,0,1,0],[94,0,1,1,0],[101,0,0,2,0],[102,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[105,0,1,1,0],[106,0,1,1,0],[107,0,0,1,0],[108,0,0,1,0],[109,0,0,1,0],[110,0,0,1,0],[111,0,0,1,0],[114,0,0,0,2],[115,0,0,0,3],[126,0,0,0,2],[141,0,0,0,1],[142,0,0,0,1]],"want":[[22,0,0,1,0],[33,0,0,1,0],[36,0,0,1,0],[42,0,0,1,0],[50,0,0,1,0],[73,0,0,1,0],[75,0,0,2,0],[78,0,0,1,0],[97,0,0,1,0],[132,0,0,1,0],[135,0,0,2,0],[143,0,0,1,0]],"coding":[[22,0,0,1,0],[24,0,0,1,0],[31,0,0,1,0],[64,0,0,1,0],[66,0,0,1,1],[70,0,0,2,1],[71,0,0,1,0],[72,0,0,2,0],[73,0,0,1,0],[84,0,0,1,0],[126,0,0,0,1]],"ides":[[22,0,0,1,0]],"hitting":[[22,0,0,1,0]],"network":[[22,0,0,1,0],[66,0,0,1,0],[143,0,0,1,0]],"prepack":[[22,0,0,1,0],[27,0,0,1,0]],"include":[[22,0,0,1,0],[26,0,0,2,2],[27,0,1,0,0],[28,0,1,0,0],[29,0,0,1,0],[36,0,0,1,0],[40,0,0,1,0],[43,0,0,2,0],[53,0,0,1,0],[87,0,0,3,0],[88,0,0,1,0],[90,0,0,0,1],[133,0,0,1,0],[139,0,0,1,0]],"published":[[22,0,0,1,0],[27,0,1,0,0],[28,0,1,0,0],[30,0,0,1,0],[63,0,0,1,0],[89,0,0,1,0]],"ships":[[22,0,0,1,0],[80,0,0,1,0],[134,0,0,1,0]],"auto":[[22,0,0,1,0],[24,0,0,1,0],[30,0,0,1,0],[64,0,0,1,0],[66,0,0,1,1],[72,0,0,1,0],[84,0,0,1,0],[125,0,0,1,0]],"discover":[[22,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[72,0,0,1,0]],"website":[[22,0,0,1,0],[24,0,0,2,0],[25,0,0,1,0],[31,0,0,1,0],[62,0,0,0,2],[63,0,0,2,0],[66,0,0,1,0],[68,0,0,1,0],[70,0,0,4,0],[71,0,0,1,0],[72,0,0,2,0],[73,0,0,1,0],[74,0,0,1,0],[75,0,0,1,0],[78,0,0,1,0],[84,0,0,2,0],[87,0,0,1,0],[89,0,0,1,0],[112,0,0,1,0],[116,0,0,1,0],[125,0,0,1,0]],"bundled":[[22,0,0,1,0],[30,0,0,1,1],[112,0,0,2,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,2,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0]],"everyone":[[22,0,0,1,0]],"else":[[22,0,0,1,0],[60,0,0,1,0],[139,0,0,1,0]],"flow":[[23,0,1,0,0],[34,0,1,0,0],[84,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0]],"src":[[23,0,0,0,2],[25,0,0,0,1],[26,0,0,0,1],[27,0,0,0,1],[29,0,0,0,1],[34,0,0,3,0],[35,0,0,0,1],[39,0,0,0,4],[44,0,0,0,1],[59,0,0,0,1],[62,0,0,0,2],[70,0,0,0,3],[82,0,0,0,1],[84,0,0,0,1],[87,0,0,2,0],[89,0,0,0,1],[92,0,0,2,0],[127,0,0,1,2],[131,0,0,0,2],[134,0,0,0,1]],"repo":[[23,0,0,0,1],[24,0,0,1,0],[27,0,0,0,2],[28,0,0,0,3],[30,0,0,1,0],[34,0,0,1,0],[35,0,0,1,0],[39,0,0,1,0],[78,0,0,2,0],[81,0,0,1,0],[87,0,0,1,0],[90,0,0,0,3],[125,0,0,1,0]],"packages":[[23,0,0,0,2],[25,0,0,1,2],[26,0,0,1,1],[29,0,0,0,2],[63,0,0,1,0],[70,0,0,0,1],[75,0,0,1,0],[84,0,0,2,1],[89,0,0,1,1],[125,0,0,0,1]],"lt":[[23,0,0,0,4],[66,0,0,0,1],[70,0,0,0,2]],"gt":[[23,0,0,0,4],[66,0,0,0,1],[70,0,0,0,2]],"consume":[[23,0,0,0,2],[83,0,0,1,0]],"node":[[23,0,0,0,1],[24,0,0,2,0],[25,0,0,1,0],[27,0,0,0,1],[30,0,0,1,1],[47,0,0,1,1],[64,0,0,1,0],[66,0,0,1,1],[70,0,0,1,1],[72,0,0,2,0],[84,0,0,1,0],[92,0,0,2,0],[94,0,0,1,0],[105,0,0,1,0],[112,0,0,1,0],[117,0,0,1,0],[125,0,0,1,0],[127,0,0,0,1],[138,0,0,0,1],[139,0,0,1,0]],"modules":[[23,0,0,0,1],[24,0,0,2,0],[25,0,0,1,0],[30,0,0,1,1],[64,0,0,1,0],[66,0,0,1,1],[70,0,0,1,1],[72,0,0,2,0],[84,0,0,1,0],[92,0,0,2,0],[105,0,0,1,0],[112,0,0,1,0],[125,0,0,1,0],[132,0,0,1,0]],"claude":[[23,0,0,0,1],[24,0,0,1,0],[64,0,0,1,0],[66,0,0,0,1],[70,0,0,0,1],[84,0,0,1,0],[118,0,0,1,0],[125,0,0,1,0]],"codex":[[23,0,0,0,1],[24,0,0,1,0],[64,0,0,1,0],[66,0,0,0,1],[70,0,0,0,1],[84,0,0,1,0],[125,0,0,1,0]],"cursor":[[23,0,0,0,1],[24,0,0,1,0],[64,0,0,1,0],[66,0,0,0,1],[70,0,0,0,1],[84,0,0,1,0],[125,0,0,1,0]],"copilot":[[23,0,0,0,1],[24,0,0,1,0],[64,0,0,1,0],[66,0,0,0,1],[70,0,0,0,1],[84,0,0,1,0],[125,0,0,1,0]],"convention":[[24,0,0,2,0],[64,0,0,1,0],[112,0,0,1,0]],"absolute":[[24,0,0,1,0],[45,0,0,1,0],[50,0,0,2,0],[66,0,0,0,1],[125,0,0,1,0]],"urls":[[24,0,0,1,0],[38,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[50,0,0,1,0],[52,0,0,3,0],[53,0,0,1,0],[55,0,0,1,0],[66,0,0,0,1],[87,0,0,1,0],[104,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[121,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0],[139,0,0,1,0]],"fetches":[[24,0,0,1,0]],"over":[[24,0,0,1,0],[27,0,0,1,0],[36,0,0,1,0],[64,0,0,2,0],[66,0,0,1,0],[128,0,0,1,0],[136,0,0,1,0],[143,0,0,1,0]],"http":[[24,0,0,2,0],[40,0,0,0,4],[52,0,0,0,8],[64,0,0,2,0],[66,0,0,1,3],[70,0,0,2,3],[71,0,0,1,0],[72,0,0,2,0],[73,0,0,1,0],[83,0,0,1,0]],"shape":[[24,0,0,1,0],[39,0,0,1,0],[48,0,0,1,0],[61,0,0,1,0],[70,0,0,1,0],[90,0,1,1,0],[106,0,1,0,0],[120,0,0,1,0],[125,0,0,2,0]],"hosted":[[24,0,0,1,0],[66,0,0,1,0],[75,0,0,2,0],[94,0,0,1,0],[112,0,0,2,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,2,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0]],"may":[[24,0,0,1,0],[45,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[118,0,0,1,0]],"able":[[24,0,0,1,0]],"major":[[24,0,0,1,0]],"pkg":[[24,0,0,1,0],[66,0,0,0,1],[70,0,0,0,1],[72,0,0,1,0],[112,0,0,1,0],[125,0,0,1,0]],"anyway":[[24,0,0,1,0]],"filesystem":[[24,0,0,2,0],[125,0,0,1,0],[140,0,0,1,0],[143,0,0,2,0]],"solves":[[24,0,0,1,0]],"openai":[[24,0,0,1,0],[142,0,0,0,1]],"github":[[24,0,0,1,0],[39,0,0,1,2],[56,0,1,1,1],[57,0,0,1,0],[92,0,0,1,0],[111,0,0,2,0]],"aider":[[24,0,0,1,0]],"devin":[[24,0,0,1,0]],"others":[[24,0,0,1,0],[72,0,0,1,0]],"working":[[24,0,0,1,0],[30,0,0,2,1],[66,0,0,1,0],[72,0,0,1,0],[129,0,0,1,0]],"supported":[[24,0,0,1,0]],"closest":[[24,0,0,1,0]],"wins":[[24,0,0,1,0]],"natural":[[24,0,0,1,0]],"tell":[[24,0,0,1,0],[30,0,1,0,0],[43,0,0,1,0]],"about":[[24,0,0,1,0],[44,0,0,0,1]],"discoverable":[[24,0,0,2,0],[89,0,0,1,0]],"offline":[[24,0,0,1,0],[25,0,0,1,1],[64,0,0,1,0],[66,0,0,0,2],[70,0,0,1,2],[71,0,0,1,0],[72,0,0,1,0],[73,0,0,1,0],[84,0,1,1,0],[87,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,2,0],[126,0,0,1,1],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0]],"relative":[[25,0,0,1,0],[36,0,0,0,1],[45,0,0,1,0],[50,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[66,0,0,1,0],[68,0,0,1,0],[87,0,0,3,0],[88,0,0,1,0],[89,0,0,1,0],[105,0,0,1,0],[112,0,0,2,0],[113,0,0,1,0],[125,0,0,2,0],[126,0,0,0,1],[134,0,0,1,0]],"quickstart":[[25,0,0,1,1],[37,0,0,0,1],[44,0,0,0,1],[46,0,0,0,3],[47,0,0,1,0],[52,0,0,0,3],[69,0,0,1,0],[73,0,0,1,0],[79,1,1,0,0],[80,1,1,0,0],[81,1,1,0,0],[82,1,1,0,0],[83,1,1,0,0],[84,1,1,0,0],[85,1,1,0,0],[97,0,0,0,1],[98,0,0,0,2],[114,0,0,0,4],[120,0,0,0,5],[126,0,0,0,2],[140,0,0,0,1]],"meaningful":[[25,0,0,1,0]],"my":[[25,0,0,2,4],[29,0,0,0,2],[30,0,0,0,1],[35,0,0,0,1],[37,0,0,0,1],[44,0,0,0,1],[81,0,0,0,2],[84,0,0,2,1],[89,0,0,0,1],[114,0,0,0,1],[115,0,0,0,2],[125,0,0,0,1],[126,0,0,0,1],[141,0,0,0,1],[142,0,0,0,1]],"local":[[25,0,0,1,0],[52,0,0,2,0],[58,0,1,0,0],[129,0,0,1,0],[134,0,0,1,0],[145,0,0,1,0]],"after":[[25,0,0,1,0],[26,0,0,1,0],[38,0,0,1,0],[40,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[60,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[99,0,0,1,0],[111,0,0,1,0],[132,0,0,1,0],[138,0,0,1,0]],"skips":[[25,0,0,1,0],[63,0,0,1,0],[64,0,0,2,0],[65,0,0,1,0],[87,0,0,1,0],[89,0,0,1,0]],"those":[[25,0,0,1,0],[42,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[63,0,0,1,0],[68,0,0,1,0],[77,0,0,1,0],[84,0,0,1,0],[89,0,0,1,0],[128,0,0,1,0]],"artifacts":[[25,0,0,1,0],[33,0,0,1,0],[44,0,1,0,0],[45,0,0,2,0],[64,0,1,0,0],[65,0,1,0,0],[74,0,0,1,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[87,0,0,4,0],[118,0,0,1,0]],"make":[[25,0,0,1,0],[38,0,1,0,0],[48,0,0,1,0],[49,0,0,1,0],[61,0,0,1,0],[123,0,0,1,0],[145,0,0,1,0]],"sense":[[25,0,0,1,0],[61,0,0,1,0]],"bash":[[25,0,0,0,1],[26,0,0,0,1],[29,0,0,0,1],[35,0,0,0,1],[39,0,0,0,1],[40,0,0,0,1],[44,0,0,0,1],[52,0,0,0,2],[57,0,0,0,1],[58,0,0,0,1],[59,0,0,0,1],[82,0,0,0,1],[84,0,0,0,1],[86,0,0,0,1],[87,0,0,0,1],[89,0,0,0,1],[92,0,0,0,1],[93,0,0,0,1],[143,0,1,0,0]],"summary":[[25,0,0,0,1],[35,0,0,0,2],[37,0,0,0,2],[44,0,0,0,1],[57,0,0,1,0],[67,0,0,1,0],[87,0,0,2,0],[90,0,0,0,1],[106,0,0,0,1],[113,0,0,1,0],[115,0,0,0,1],[125,0,0,1,0]],"point":[[25,0,0,0,1],[27,0,0,1,0],[30,0,0,2,0],[52,0,0,2,0],[95,0,0,1,0],[112,0,0,1,0],[124,0,0,1,0],[134,0,0,1,0]],"subdirs":[[25,0,0,0,1],[89,0,0,1,0]],"preserved":[[25,0,0,0,1],[89,0,0,1,0],[99,0,0,1,0]],"filter":[[26,0,1,0,0],[36,0,0,0,1],[134,0,0,0,1]],"monorepo":[[26,0,0,1,0]],"shared":[[26,0,0,2,1],[78,0,0,1,0],[92,0,0,3,0],[105,0,0,2,0],[135,0,0,1,0],[144,0,0,1,0]],"many":[[26,0,0,1,0],[58,0,0,1,0],[78,0,0,1,0]],"slice":[[26,0,0,1,0],[67,0,0,1,0],[137,0,0,1,0]],"repeatable":[[26,0,0,1,0],[87,0,0,1,0],[92,0,0,1,0]],"exclude":[[26,0,0,2,1],[29,0,0,1,0],[87,0,0,2,0],[88,0,0,1,0],[90,0,0,0,1]],"filters":[[26,0,0,1,0],[29,0,0,1,0],[90,0,0,0,1]],"overview":[[26,0,0,1,0]],"too":[[26,0,0,1,0],[45,0,0,1,0],[50,0,0,1,0]],"applied":[[26,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0]],"c15t":[[26,0,0,0,1]],"internal":[[26,0,0,0,1],[55,0,0,1,0],[76,0,0,1,0],[92,0,0,1,0]],"control":[[27,0,0,1,0],[36,0,0,1,0],[47,0,0,1,0],[51,0,1,1,0],[91,0,0,1,0],[95,0,0,1,0],[112,0,0,1,0],[118,0,0,1,0],[121,0,0,1,0],[123,0,1,1,0]],"validation":[[27,0,0,1,0],[70,0,0,1,0],[78,0,0,1,0]],"apis":[[27,0,0,1,0],[95,0,0,2,0],[96,0,0,1,0],[97,0,0,1,0],[98,0,0,1,0],[99,0,0,1,0],[100,0,0,1,0],[112,0,0,2,0],[114,0,0,0,1],[120,0,0,0,1],[121,0,0,1,0],[128,0,0,1,0],[139,0,0,1,0]],"directly":[[27,0,0,1,0],[64,0,0,2,0],[65,0,0,1,0],[91,0,0,1,0],[95,0,0,1,0],[112,0,0,1,0],[117,0,0,1,0]],"script":[[27,0,0,2,0],[36,0,0,2,0],[46,0,0,0,1],[52,0,0,1,0],[65,0,0,1,0],[91,0,0,3,0],[120,0,0,0,3],[121,0,0,1,0]],"tsup":[[27,0,0,1,1]],"scripts":[[27,0,0,1,2],[36,0,0,2,5],[94,0,0,1,0]],"dist":[[27,0,0,0,1],[30,0,0,1,0]],"readme":[[27,0,0,0,1],[30,0,0,1,0]],"rm":[[27,0,0,0,3],[131,0,0,0,2]],"fs":[[27,0,0,0,1],[117,0,0,1,0],[127,0,0,0,1]],"promises":[[27,0,0,0,1],[127,0,0,0,1]],"convertallmdx":[[27,0,0,0,2],[36,0,0,0,2],[94,0,0,1,0],[95,0,0,1,1],[96,0,1,0,1],[100,0,0,1,0],[115,0,0,0,2],[126,0,0,1,0]],"generateagentsmd":[[27,0,0,0,1],[28,0,0,0,1],[94,0,0,1,0],[112,0,0,2,1],[125,0,1,0,2],[126,0,1,0,0]],"resolvedocsnavigation":[[27,0,0,0,1],[28,0,0,0,1],[65,0,0,1,0],[94,0,0,1,0],[112,0,0,0,1],[127,0,1,0,1]],"defaultremarkplugins":[[27,0,0,0,2],[28,0,0,0,1],[36,0,0,0,2],[94,0,0,1,0],[96,0,0,1,2],[97,0,0,0,1],[98,0,0,0,1],[100,0,0,0,2],[115,0,0,0,2],[130,0,0,0,1],[131,0,0,1,0],[133,0,0,0,1],[134,0,0,0,2],[135,0,0,1,0]],"docsconfig":[[27,0,0,0,1],[28,0,0,0,3],[91,0,0,0,3],[115,0,0,0,4],[116,0,0,0,3],[125,0,0,0,2],[127,0,0,0,1]],"process":[[27,0,0,0,2],[28,0,0,0,2],[36,0,0,0,1],[91,0,0,0,1],[96,0,0,1,0],[127,0,0,0,2],[129,0,0,0,3],[134,0,0,0,1]],"cwd":[[27,0,0,0,2],[36,0,0,0,1],[91,0,0,0,1],[134,0,0,0,1]],"await":[[27,0,0,0,3],[28,0,0,0,2],[36,0,0,0,1],[47,0,0,0,1],[91,0,0,0,1],[96,0,0,0,1],[97,0,0,0,1],[98,0,0,0,1],[105,0,0,0,1],[110,0,0,0,1],[115,0,0,0,4],[116,0,0,0,4],[118,0,0,0,2],[125,0,0,0,1],[127,0,0,0,3],[138,0,0,0,1],[143,0,0,0,1]],"recursive":[[27,0,0,0,1],[127,0,0,0,1]],"force":[[27,0,0,0,2]],"srcdir":[[27,0,0,0,1],[28,0,0,0,3],[36,0,0,0,2],[90,0,0,0,1],[91,0,0,0,1],[92,0,0,2,1],[96,0,0,2,1],[105,0,0,3,1],[110,0,0,0,1],[115,0,0,0,2],[125,0,0,1,1],[127,0,0,0,1]],"outdir":[[27,0,0,0,1],[28,0,0,0,2],[36,0,0,0,2],[90,0,0,0,1],[91,0,0,0,1],[96,0,0,1,1],[115,0,0,1,4],[116,0,0,1,1],[125,0,0,4,1],[138,0,0,1,3]],"remarkplugins":[[27,0,0,0,1],[28,0,0,0,1],[36,0,0,0,2],[96,0,0,1,1],[98,0,0,0,1],[100,0,0,0,1],[115,0,0,0,1],[133,0,0,0,1],[134,0,0,0,1]],"fast":[[27,0,0,0,1],[28,0,0,0,1],[54,0,0,1,0],[111,0,0,1,0],[145,0,0,1,0]],"bad":[[27,0,0,0,1],[28,0,0,0,1]],"length":[[28,0,0,0,1],[127,0,0,0,1]],"urlpath":[[28,0,0,0,2],[37,0,0,0,2],[38,0,0,0,1],[46,0,0,0,1],[47,0,0,0,1],[118,0,0,0,1],[120,0,0,0,1],[127,0,0,0,2]],"stderr":[[28,0,0,0,1],[90,0,0,1,0],[127,0,0,0,1]],"write":[[28,0,0,0,1],[68,0,0,2,0],[70,0,0,1,0],[72,0,0,1,0],[82,0,0,1,0],[98,0,0,1,0],[127,0,0,1,1],[128,0,0,1,0]],"exit":[[28,0,0,0,1],[86,0,0,1,0],[87,0,0,1,0],[88,0,0,2,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,0,1,0],[92,0,0,3,0],[93,0,0,1,0],[94,0,0,1,0],[127,0,0,0,1]],"verify":[[29,0,1,0,0],[40,0,1,0,0],[52,0,1,0,0]],"publishing":[[29,0,1,0,0],[75,0,0,1,0]],"pack":[[29,0,0,1,1]],"dry":[[29,0,0,1,1]],"check":[[29,0,0,2,0],[37,0,0,1,0],[40,0,0,1,0],[52,0,0,2,0],[103,0,0,1,0]],"cd":[[29,0,0,0,1]],"consuming":[[30,0,1,0,0]],"projects":[[30,0,1,0,0]],"discovered":[[30,0,0,1,0],[84,0,0,1,0]],"project":[[30,0,0,1,1],[66,0,0,1,0],[72,0,0,1,0]],"depends":[[30,0,0,1,0],[66,0,0,1,0],[68,0,0,1,0],[72,0,0,1,0]],"directory":[[30,0,0,1,0],[63,0,0,1,0],[68,0,0,1,0],[87,0,0,1,0],[96,0,0,2,0]],"consumer":[[30,0,0,1,0]],"yours":[[30,0,0,1,0],[71,0,0,1,0]],"recommend":[[30,0,0,1,0]],"snippet":[[30,0,0,1,0]],"consumers":[[30,0,0,1,0]],"their":[[30,0,0,1,0]],"own":[[30,0,0,1,0],[67,0,0,1,0],[70,0,0,1,0],[75,0,0,1,0],[77,0,1,0,0],[116,0,0,1,0],[120,0,0,1,0]],"pattern":[[30,0,0,1,0]],"re":[[30,0,0,0,1],[92,0,0,1,0],[131,0,0,0,2],[145,0,0,1,0]],"version":[[30,0,0,0,1],[75,0,1,0,0],[108,0,0,1,0],[124,0,1,2,0]],"matched":[[30,0,0,0,1]],"installed":[[30,0,0,0,1],[31,0,0,1,0],[64,0,0,1,0]],"stay":[[30,0,0,0,1]],"accurate":[[30,0,0,0,1]],"updates":[[30,0,0,0,1],[111,0,0,1,0]],"understand":[[31,0,0,1,0],[85,0,0,1,0]],"dependency":[[31,0,0,1,0]],"itself":[[31,0,0,1,0]],"web":[[31,0,0,1,0],[47,0,0,1,0],[117,0,0,2,0],[118,0,0,1,0]],"access":[[31,0,0,1,0]],"ide":[[31,0,0,1,0]],"assistants":[[31,0,0,1,0]],"air":[[31,0,0,1,0]],"gapped":[[31,0,0,1,0]],"environments":[[31,0,0,1,0],[45,0,0,1,0]],"goal":[[31,0,0,1,0]],"emit":[[31,0,0,1,0],[63,0,0,1,0]],"shapes":[[31,0,0,1,0],[63,0,0,1,0]],"runs":[[33,0,0,1,0],[48,0,0,2,0],[49,0,0,1,0],[54,0,0,1,0],[56,0,0,0,1],[68,0,1,1,0],[76,0,0,1,0],[82,0,0,1,0],[86,0,0,1,0],[91,0,0,1,0],[92,0,0,1,0],[131,0,0,1,0]],"produce":[[33,0,0,1,0],[37,0,0,1,0],[87,0,0,1,0],[121,0,0,1,0],[126,0,0,1,0]],"astro":[[33,0,0,1,0],[36,0,0,1,0],[45,0,0,0,1],[48,0,0,2,0],[63,0,0,1,0],[67,0,0,1,0],[70,0,0,1,0],[75,0,0,1,0],[120,0,0,1,0]],"anything":[[33,0,0,1,0],[39,0,0,1,0],[70,0,0,1,0]],"handles":[[33,0,0,1,0],[42,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[78,0,0,1,0],[114,0,0,0,1]],"br":[[34,0,0,11,0]],"pub":[[34,0,0,3,0]],"sitemap":[[34,0,0,1,0],[38,0,0,2,0],[40,0,0,4,2],[43,0,0,2,0],[44,0,0,0,2],[45,0,0,3,4],[48,0,0,3,0],[49,0,0,2,0],[50,0,1,2,5],[52,0,0,1,3],[53,0,0,5,0],[62,0,0,0,1],[63,0,0,3,0],[65,0,0,3,0],[68,0,0,1,0],[70,0,0,0,1],[82,0,0,2,0],[83,0,0,0,4],[87,0,0,2,0],[90,0,0,4,2],[112,0,0,2,0],[113,0,0,4,0],[116,0,0,2,2],[118,0,0,1,0],[119,0,0,2,4],[121,0,0,1,0],[122,0,0,1,0]],"xml":[[34,0,0,1,0],[38,0,0,1,0],[40,0,0,2,2],[43,0,0,1,0],[44,0,0,0,1],[45,0,0,3,2],[48,0,0,1,0],[49,0,0,1,0],[50,0,1,1,3],[52,0,0,0,2],[53,0,0,2,0],[63,0,0,1,0],[65,0,0,1,0],[82,0,0,1,0],[83,0,0,0,2],[87,0,0,1,0],[90,0,0,1,1],[112,0,0,1,0],[113,0,0,2,0],[116,0,0,1,1],[119,0,0,0,2]],"readability":[[34,0,0,1,0],[35,0,0,1,0],[38,0,0,1,2],[40,0,0,1,0],[44,0,0,1,1],[45,0,0,1,2],[46,0,0,0,2],[47,0,0,1,2],[48,0,0,3,0],[49,0,0,1,0],[50,0,0,0,2],[52,0,0,1,1],[53,0,0,1,0],[63,0,0,2,0],[65,0,0,2,0],[68,0,0,2,0],[70,0,0,0,1],[72,0,0,1,0],[82,0,0,2,0],[83,0,0,0,1],[87,0,0,1,0],[90,0,0,0,1],[94,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[117,0,1,0,1],[118,0,1,1,0],[119,0,1,0,0],[120,0,1,0,2],[121,0,1,0,0],[122,0,1,0,0],[123,0,1,0,0],[124,0,1,1,0]],"gen":[[34,0,0,4,0]],"generated":[[34,0,0,1,0],[35,0,0,1,0],[38,0,0,1,0],[42,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[50,0,0,1,0],[52,0,0,1,0],[58,0,0,1,0],[67,0,0,1,0],[73,0,0,1,0],[90,0,0,1,0],[113,0,1,0,0],[121,0,0,2,0],[127,0,0,1,2]],"human":[[34,0,0,2,0],[43,0,0,1,0],[66,0,0,0,2]],"discovery":[[34,0,0,1,0],[35,0,0,1,0],[38,0,0,2,0],[40,0,0,1,0],[43,0,0,1,0],[45,0,1,0,0],[65,0,0,1,0],[66,0,0,0,1],[68,0,0,1,0],[72,0,0,1,0],[116,0,0,1,0],[118,0,0,1,0],[125,0,0,1,0]],"off":[[35,0,1,0,0],[87,0,0,2,0],[88,0,0,1,0],[92,0,0,1,0]],"together":[[35,0,0,1,0],[37,0,0,1,0],[111,0,0,1,0]],"generates":[[35,0,0,1,0],[72,0,0,1,0]],"builds":[[35,0,0,1,0],[36,0,0,1,0],[72,0,0,1,0],[129,0,0,1,0],[136,0,0,1,0]],"resolves":[[35,0,0,1,0],[72,0,0,1,0]],"paths":[[35,0,0,1,0],[36,0,0,0,1],[44,0,0,1,0],[49,0,0,1,0],[56,0,0,0,1],[58,0,0,1,0],[63,0,0,1,0],[92,0,0,1,0],[94,0,0,1,0],[112,0,0,1,0],[122,0,0,1,0],[126,0,0,0,1],[139,0,0,1,0],[145,0,0,1,0]],"listed":[[35,0,0,1,0]],"inspected":[[35,0,0,1,0]],"detail":[[35,0,0,1,0]],"under":[[35,0,0,1,0],[38,0,0,1,0],[44,0,0,1,0],[58,0,0,1,0],[68,0,0,1,0],[87,0,0,1,0],[92,0,0,1,0],[105,0,0,1,0],[116,0,0,1,0],[125,0,0,1,0],[138,0,0,1,0]],"base":[[35,0,0,0,1],[36,0,0,1,0],[44,0,0,0,1],[52,0,0,2,0],[82,0,0,0,1],[87,0,0,2,0],[94,0,0,1,0],[129,0,1,2,2]],"https":[[35,0,0,0,1],[39,0,0,0,1],[44,0,0,0,1],[46,0,0,0,2],[82,0,0,0,1],[91,0,0,0,1],[115,0,0,0,3],[116,0,0,0,2],[120,0,0,0,3],[127,0,0,0,1],[129,0,0,0,1],[138,0,0,0,1]],"com":[[35,0,0,0,1],[39,0,0,0,1],[44,0,0,0,1],[46,0,0,0,2],[82,0,0,0,1],[91,0,0,0,1],[115,0,0,0,3],[116,0,0,0,2],[120,0,0,0,2],[127,0,0,0,1],[129,0,0,0,1],[138,0,0,0,1]],"simplest":[[36,0,0,1,0]],"setup":[[36,0,0,1,0],[38,0,0,1,0],[45,0,0,1,0],[56,0,0,0,1],[129,0,0,1,0]],"stage":[[36,0,0,1,0],[37,0,0,1,0],[68,0,0,1,0],[97,0,0,1,0]],"rerun":[[36,0,0,1,0]],"independently":[[36,0,0,1,0],[67,0,0,1,0]],"splitting":[[36,0,0,1,0],[138,0,0,1,0]],"separate":[[36,0,0,1,0],[82,0,0,1,0],[137,0,0,1,0]],"canonical":[[36,0,0,1,0],[38,0,0,2,0],[43,0,0,2,0],[46,0,0,2,1],[47,0,0,2,0],[48,0,0,1,0],[52,0,0,1,0],[53,0,0,2,0],[87,0,0,1,0],[113,0,0,1,0],[118,0,0,3,0],[120,0,0,1,1],[121,0,0,3,0]],"remarkinclude":[[36,0,0,1,2],[96,0,0,1,2],[100,0,0,2,2],[115,0,0,0,2],[130,0,0,0,1],[133,0,1,0,1],[135,0,0,1,0]],"enables":[[36,0,0,1,0]],"foo":[[36,0,0,1,0],[63,0,0,1,0],[67,0,0,1,0],[121,0,0,3,0]],"style":[[36,0,0,1,0],[141,0,0,1,0]],"partial":[[36,0,0,1,0],[133,0,0,1,0]],"expansion":[[36,0,0,1,0]],"basepath":[[36,0,0,1,2],[134,0,1,1,1]],"swap":[[36,0,0,1,0]],"remarktypetabletomarkdown":[[36,0,0,1,3],[130,0,0,0,1],[131,0,0,1,1],[134,0,1,0,3]],"needed":[[36,0,0,1,0],[50,0,0,1,0],[119,0,0,1,0],[134,0,0,1,0]],"plugins":[[36,0,0,1,0],[62,0,0,1,0],[67,0,0,1,0],[94,0,0,1,0],[100,0,1,1,0],[130,1,1,0,0],[131,1,1,0,0],[132,1,1,0,0],[133,1,2,0,0],[134,1,2,0,0],[135,1,1,1,0]],"mdxtomarkdownoptions":[[36,0,0,0,2]],"reporoot":[[36,0,0,0,4]],"resolve":[[36,0,0,0,1],[52,0,0,1,0],[68,0,0,1,0],[82,0,0,1,0],[126,0,0,1,0],[134,0,0,1,0]],"typetableplugin":[[36,0,0,0,2]],"nonnullable":[[36,0,0,0,1]],"number":[[36,0,0,0,1],[106,0,0,0,3]],"enrichfrontmatterfromgit":[[36,0,0,0,1],[96,0,0,1,1],[97,0,0,0,1]],"configure":[[37,0,1,0,0]],"let":[[37,0,0,1,0],[70,0,0,1,0]],"manifest":[[37,0,0,1,0],[38,0,0,0,2],[44,0,0,1,0],[45,0,0,0,6],[46,0,0,3,0],[47,0,0,0,2],[50,0,0,1,5],[62,0,0,0,2],[65,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,2,3],[117,0,0,1,0],[118,0,0,0,1],[119,0,0,1,3],[120,0,0,2,2],[121,0,0,1,0],[122,0,0,1,0],[124,0,1,1,0],[127,0,0,2,0]],"catches":[[37,0,0,1,0],[55,0,1,0,0],[103,0,0,1,0],[104,0,0,1,0]],"typos":[[37,0,0,1,0]],"resolution":[[37,0,0,1,0],[127,0,0,1,0],[132,0,0,2,0]],"definedocsconfig":[[37,0,0,0,2]],"export":[[37,0,0,0,1],[47,0,0,0,1],[50,0,0,0,1],[131,0,0,1,0]],"bullets":[[37,0,0,0,1]],"beststartingpoints":[[37,0,0,0,1]],"started":[[37,0,0,0,2],[81,0,0,0,1],[83,0,0,0,1],[90,0,0,0,2],[114,0,0,0,1],[126,0,0,0,1]],"guides":[[37,0,0,0,2],[128,0,0,1,0],[140,0,0,0,1]],"pieces":[[38,0,0,1,0]],"robots":[[38,0,0,1,0],[40,0,0,1,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,1,1],[45,0,0,1,1],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,3,0],[49,0,0,2,0],[50,0,1,2,2],[51,0,0,1,0],[52,0,0,2,0],[53,0,0,4,0],[62,0,0,0,1],[63,0,0,2,0],[65,0,0,2,0],[68,0,0,1,0],[82,0,0,1,0],[83,0,0,0,1],[87,0,0,2,0],[90,0,0,3,1],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,1],[118,0,0,1,0],[119,0,0,1,2],[121,0,0,1,0],[122,0,0,1,0]],"available":[[38,0,0,1,0],[94,0,0,1,0]],"ld":[[38,0,0,2,0],[42,0,0,1,0],[43,0,0,2,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,1,3,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,2,0],[53,0,0,2,0],[94,0,0,1,0],[120,0,0,1,4],[121,0,0,2,0]],"alternate":[[38,0,0,1,0],[43,0,0,1,0],[46,0,0,1,1],[53,0,0,1,0],[94,0,0,1,0],[120,0,0,1,1],[121,0,0,1,0]],"return":[[38,0,0,1,2],[45,0,0,0,4],[47,0,1,0,2],[48,0,1,0,0],[49,0,1,0,0],[50,0,1,0,5],[51,0,1,0,0],[52,0,0,1,0],[53,0,0,2,0],[117,0,0,1,0],[118,0,0,0,2],[121,0,0,2,0]],"known":[[38,0,0,1,0],[47,0,0,1,0],[68,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0]],"ai":[[38,0,0,1,0],[47,0,0,1,0],[51,0,0,1,0],[53,0,0,1,0],[66,0,0,0,1],[67,0,0,1,0],[70,0,0,0,1],[75,0,0,1,0],[113,0,0,1,0],[118,0,0,3,0],[121,0,0,2,0],[122,0,0,1,0],[123,0,0,1,0],[142,0,0,1,5]],"user":[[38,0,0,1,0],[47,0,0,2,0],[51,0,0,2,0],[52,0,0,0,2],[53,0,0,1,0],[67,0,0,1,0],[118,0,0,3,0],[121,0,0,2,0],[122,0,0,1,0],[123,0,0,2,0]],"direct":[[38,0,0,1,0],[47,0,0,1,0],[121,0,0,1,0]],"preserve":[[38,0,0,1,0]],"last":[[38,0,0,1,0],[43,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[60,0,0,1,0],[118,0,0,1,0],[121,0,0,1,0],[132,0,0,1,0]],"updated":[[38,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[118,0,0,1,0],[121,0,0,1,0]],"responses":[[38,0,0,1,0],[43,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[119,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0]],"provides":[[38,0,0,1,0],[77,0,0,1,0]],"roll":[[38,0,0,1,0]],"request":[[38,0,0,2,4],[45,0,0,1,1],[47,0,0,2,6],[50,0,0,1,3],[52,0,0,1,0],[56,0,0,0,1],[67,0,0,1,0],[94,0,0,1,0],[117,0,0,1,0],[118,0,0,1,4],[119,0,0,1,2],[144,0,0,1,0]],"detection":[[38,0,0,1,0]],"aliases":[[38,0,0,1,0],[47,0,0,1,0],[121,0,0,1,0]],"escaping":[[38,0,0,1,0]],"guide":[[38,0,0,1,0],[42,0,0,1,0],[121,0,0,1,0]],"optimize":[[38,0,0,1,0],[41,0,0,1,0],[42,1,1,0,0],[43,1,1,0,0],[44,1,1,0,0],[45,1,1,0,0],[46,1,1,0,0],[47,1,1,0,0],[48,1,1,0,0],[49,1,1,0,0],[50,1,1,0,0],[51,1,1,0,0],[52,1,1,0,0],[53,1,1,0,0],[85,0,0,1,0],[121,0,0,1,0]],"core":[[38,0,0,1,0],[85,0,0,1,0]],"hook":[[38,0,0,1,0],[40,0,0,1,0],[58,0,1,1,0]],"any":[[38,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[75,0,0,1,0],[92,0,0,1,0],[111,0,0,1,0],[114,0,0,0,1],[117,0,0,1,0],[133,0,0,1,0],[135,0,0,1,0],[141,0,0,1,0]],"put":[[38,0,0,1,0],[47,0,0,1,0]],"normal":[[38,0,0,1,0]],"browsers":[[38,0,0,1,0],[123,0,0,1,0]],"continue":[[38,0,0,1,0]],"receive":[[38,0,0,2,0],[43,0,0,1,0]],"oriented":[[38,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[118,0,0,2,0]],"requests":[[38,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[52,0,0,1,0],[67,0,0,1,0],[118,0,0,1,0]],"charset":[[38,0,0,1,0],[40,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[118,0,0,1,0]],"utf":[[38,0,0,1,0],[40,0,0,1,0],[47,0,0,1,0],[52,0,0,1,0],[118,0,0,1,0]],"createagentmarkdownresponse":[[38,0,0,0,2],[47,0,0,1,2],[51,0,0,1,0],[117,0,0,0,1],[118,0,1,0,1],[121,0,0,1,0]],"response":[[38,0,0,0,6],[40,0,0,2,0],[47,0,0,1,1],[48,0,0,1,0],[50,0,0,0,1],[94,0,0,1,0],[117,0,0,2,0],[118,0,0,1,3],[121,0,0,2,0],[142,0,0,3,1]],"method":[[38,0,0,0,2],[47,0,0,0,2],[118,0,0,0,2]],"headers":[[38,0,0,0,4],[47,0,0,1,2],[51,0,0,1,0],[53,0,0,1,0],[118,0,0,1,2],[121,0,0,2,0],[144,0,0,1,0]],"object":[[38,0,0,0,1],[47,0,0,0,1],[88,0,0,1,0],[90,0,0,1,0],[110,0,0,0,1],[118,0,0,0,1],[121,0,0,1,0],[127,0,0,1,0]],"fromentries":[[38,0,0,0,1],[47,0,0,0,1],[118,0,0,0,1]],"requestorigin":[[38,0,0,0,1],[45,0,0,0,5],[47,0,0,0,1],[50,0,0,1,5],[118,0,0,0,1],[119,0,0,1,2]],"origin":[[38,0,0,0,1],[45,0,0,0,1],[47,0,0,0,1],[48,0,0,1,0],[49,0,0,1,0],[50,0,1,1,1],[52,0,0,1,0],[118,0,0,0,1],[119,0,0,1,2],[121,0,0,1,0]],"readmarkdownfile":[[38,0,0,0,1],[47,0,0,1,1],[118,0,0,1,1]],"target":[[38,0,0,0,2],[47,0,0,0,2],[118,0,0,0,2]],"readgeneratedfile":[[38,0,0,0,1],[47,0,0,0,1],[118,0,0,0,1]],"filepath":[[38,0,0,0,1],[47,0,0,0,1],[118,0,0,0,1]],"status":[[38,0,0,0,2]],"remote":[[39,0,1,0,0]],"malformed":[[39,0,0,1,0]],"format":[[39,0,0,1,1],[56,0,0,1,1],[57,0,0,2,1],[88,0,0,2,0],[92,0,0,2,0],[111,0,0,2,0],[137,0,0,1,0]],"inline":[[39,0,0,1,0],[56,0,0,1,0],[86,0,0,1,0]],"annotations":[[39,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0]],"pr":[[39,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0]],"automation":[[39,0,0,1,0]],"stats":[[39,0,0,1,0],[90,0,0,0,1]],"we":[[39,0,0,1,0]],"expect":[[39,0,0,1,0]],"orgs":[[39,0,0,1,0]],"hosting":[[39,0,0,1,0],[77,0,0,1,0]],"multiple":[[39,0,0,1,0]],"repos":[[39,0,0,1,0],[75,0,0,1,0],[78,0,0,1,0]],"documents":[[39,0,0,1,0],[78,0,0,1,0]],"pulls":[[39,0,0,1,0]],"clone":[[39,0,0,0,1]],"depth":[[39,0,0,0,1]],"acme":[[39,0,0,0,1]],"clean":[[40,0,0,1,0],[95,0,0,1,0],[99,0,0,1,0],[131,0,0,0,1],[132,0,0,1,0]],"home":[[40,0,0,1,0]],"mention":[[40,0,0,1,0]],"merge":[[40,0,0,1,0],[65,0,0,1,0],[82,0,0,1,0],[90,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[119,0,0,0,1]],"routes":[[40,0,0,2,0],[55,0,0,1,0],[116,0,0,1,0]],"serving":[[40,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[65,0,0,1,0],[90,0,0,1,0],[116,0,0,1,0]],"then":[[40,0,0,1,0],[52,0,0,2,0],[87,0,0,1,0],[116,0,0,1,0],[130,0,0,1,0],[137,0,0,1,0],[145,0,0,1,0]],"server":[[40,0,0,1,0],[47,0,0,1,0],[48,0,0,3,0],[67,0,0,1,0]],"running":[[40,0,0,1,0],[58,0,0,1,0],[71,0,0,1,0]],"curl":[[40,0,0,0,4],[52,0,0,0,7]],"localhost":[[40,0,0,0,4],[52,0,0,1,8]],"set":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,1,0],[80,0,0,1,0],[107,0,0,1,0],[123,0,0,1,0]],"mirrors":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,1,0],[53,0,0,2,0],[96,0,0,1,0]],"sitemaps":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,2,0],[53,0,0,1,0]],"audit":[[42,0,0,1,0],[43,0,0,1,0],[44,0,0,1,0],[45,0,0,1,0],[46,0,0,1,0],[47,0,0,1,0],[48,0,0,1,0],[49,0,0,1,0],[50,0,0,1,0],[51,0,0,1,0],[52,0,0,5,1],[53,0,0,1,0]],"find":[[42,0,0,1,0],[46,0,0,0,1],[84,0,0,1,0],[143,0,0,1,0]],"fetch":[[42,0,0,1,0],[47,0,0,0,2],[48,0,0,1,0],[64,0,0,1,0],[66,0,0,1,1],[72,0,0,1,0]],"attribute":[[42,0,0,1,0]],"cite":[[42,0,0,1,0],[141,0,0,1,0]],"wires":[[42,0,0,1,0]],"four":[[43,0,0,1,0],[112,0,0,1,0]],"layers":[[43,0,0,1,0],[136,0,0,1,0]],"exists":[[43,0,0,1,0]],"retrieval":[[43,0,0,1,0]],"mirror":[[43,0,0,1,0],[44,0,0,1,0],[64,0,0,1,0],[112,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0]],"instead":[[43,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[143,0,0,1,0]],"structured":[[43,0,0,1,0],[65,0,0,1,0],[113,0,0,1,0]],"metadata":[[43,0,0,2,0],[46,0,0,1,0],[76,0,0,1,0],[87,0,0,1,0],[120,0,0,3,1],[121,0,0,1,0],[142,0,0,1,0]],"extract":[[43,0,0,1,0]],"identity":[[43,0,0,1,0]],"guessing":[[43,0,0,1,0]],"dom":[[43,0,0,1,0]],"attribution":[[43,0,0,1,0]],"copied":[[43,0,0,1,0]],"keeps":[[43,0,0,1,0],[45,0,0,1,0],[78,0,0,1,0],[129,0,0,1,0],[138,0,0,1,0]],"freshness":[[43,0,0,1,0],[44,0,0,1,0],[116,0,0,1,0]],"bridge":[[44,0,0,1,0]],"between":[[44,0,0,1,0],[135,0,0,1,0]],"descriptions":[[44,0,0,1,0],[113,0,0,1,0],[128,0,0,2,0]],"dates":[[44,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0]],"sentence":[[44,0,0,0,1],[81,0,0,0,1]],"regenerators":[[45,0,0,1,0],[48,0,0,1,0],[50,0,0,1,0]],"rather":[[45,0,0,1,0]],"than":[[45,0,0,1,0]],"few":[[45,0,0,1,0],[67,0,0,1,0]],"staging":[[45,0,0,1,0],[50,0,0,1,0],[119,0,0,1,0]],"honest":[[45,0,0,1,0]],"rebuilding":[[45,0,0,1,0]],"marketing":[[45,0,0,1,0],[65,0,0,1,0],[82,0,0,1,0],[90,0,0,1,0],[113,0,0,1,0]],"blog":[[45,0,0,1,0],[65,0,0,1,0],[82,0,0,1,0],[90,0,0,1,0],[113,0,0,1,0]],"changelog":[[45,0,0,1,0],[65,0,0,1,0],[82,0,0,1,0],[90,0,0,1,0],[92,0,0,2,0],[105,0,0,2,0],[106,0,0,0,1],[108,0,1,0,0],[113,0,0,1,0]],"through":[[45,0,0,1,0],[68,0,0,1,0],[82,0,0,1,0],[104,0,0,1,0],[118,0,0,1,0]],"regenerator":[[45,0,0,1,0]],"merges":[[45,0,0,1,0]],"rebased":[[45,0,0,1,0],[121,0,0,1,0]],"straight":[[45,0,0,1,0]],"versions":[[45,0,0,1,0]],"etc":[[45,0,0,1,1],[84,0,0,1,0],[90,0,0,1,0],[120,0,0,1,0],[125,0,0,1,0]],"audits":[[45,0,0,1,0]],"especially":[[45,0,0,1,0]],"audited":[[45,0,0,1,0]],"endpoint":[[45,0,0,0,1],[48,0,0,1,0],[78,0,0,1,0]],"cloudflare":[[45,0,0,0,1],[47,0,0,1,1],[48,0,0,1,0],[67,0,0,1,0],[117,0,0,1,0],[139,0,0,1,0],[142,0,0,1,2],[143,0,0,1,0],[144,0,0,1,0]],"worker":[[45,0,0,0,1],[48,0,0,1,0]],"createrobotstxtresponse":[[45,0,0,0,2],[50,0,0,0,3],[117,0,0,0,1],[119,0,1,0,1],[121,0,0,1,0]],"createsitemapmarkdownresponse":[[45,0,0,0,2],[50,0,0,0,2],[117,0,0,0,1],[119,0,1,0,0],[121,0,0,1,0]],"createsitemapxmlresponse":[[45,0,0,0,3],[50,0,0,0,2],[117,0,0,0,1],[119,0,1,0,1],[121,0,0,1,0]],"pathname":[[45,0,0,0,5],[50,0,0,0,1]],"marketingpages":[[45,0,0,0,1],[119,0,0,0,1]],"blogpages":[[45,0,0,0,1]],"current":[[46,0,0,1,0],[52,0,0,1,0]],"org":[[46,0,0,1,0],[120,0,0,0,1],[121,0,0,1,0],[129,0,0,1,0]],"head":[[46,0,0,1,0],[120,0,0,1,3],[121,0,0,1,0]],"renderjsonld":[[46,0,0,1,2],[117,0,0,0,1],[121,0,0,1,0]],"typed":[[46,0,0,1,0],[55,0,0,1,0],[60,0,0,1,0],[120,0,0,0,1]],"renderjsonldscript":[[46,0,0,1,2],[117,0,0,0,1],[121,0,0,1,0]],"expects":[[46,0,0,1,0],[52,0,0,1,0]],"modified":[[46,0,0,1,0]],"date":[[46,0,0,1,0],[108,0,0,2,0]],"breadcrumbs":[[46,0,0,1,0]],"scraping":[[46,0,0,1,0]],"layout":[[46,0,0,1,0],[74,0,0,1,0]],"agentmanifest":[[46,0,0,0,4]],"jsonld":[[46,0,0,0,1]],"rel":[[46,0,0,0,2],[47,0,0,1,0],[118,0,0,1,0],[120,0,0,0,2]],"handlers":[[47,0,0,1,0],[67,0,0,1,0]],"returns":[[47,0,0,1,0],[67,0,0,1,0],[118,0,0,2,0],[120,0,0,1,0],[125,0,0,1,0],[127,0,0,1,0]],"null":[[47,0,0,1,1],[50,0,0,0,2],[51,0,0,1,0],[118,0,0,3,0],[123,0,0,1,0],[127,0,0,0,1]],"values":[[47,0,0,1,0],[91,0,0,1,0]],"respected":[[47,0,0,1,0]],"gptbot":[[47,0,0,1,0],[118,0,0,1,0]],"claudebot":[[47,0,0,1,0],[118,0,0,1,0]],"bingbot":[[47,0,0,1,0],[118,0,0,1,0]],"amazonbot":[[47,0,0,1,0],[118,0,0,1,0]],"metaexternalagent":[[47,0,0,1,0],[118,0,0,1,0]],"perplexitybot":[[47,0,0,1,0],[118,0,0,1,0]],"mistralbot":[[47,0,0,1,0],[118,0,0,1,0]],"applebot":[[47,0,0,1,0],[118,0,0,1,0]],"bytespider":[[47,0,0,1,0],[118,0,0,1,0]],"youbot":[[47,0,0,1,0],[118,0,0,1,0]],"such":[[47,0,0,1,0]],"injected":[[47,0,0,1,0]],"discard":[[47,0,0,1,0]],"vary":[[47,0,0,1,0],[51,0,0,1,0],[118,0,0,1,0],[121,0,0,1,0],[123,0,0,1,0]],"cache":[[47,0,0,1,0],[51,0,1,2,0],[118,0,0,1,0],[121,0,0,1,0],[123,0,1,2,0]],"max":[[47,0,0,1,0],[51,0,0,1,0],[56,0,0,1,1],[58,0,0,0,1],[92,0,0,1,0],[118,0,0,1,0],[123,0,0,1,0]],"age":[[47,0,0,1,0],[51,0,0,1,0],[118,0,0,1,0],[123,0,0,1,0]],"must":[[47,0,0,1,0],[51,0,0,2,0],[118,0,0,1,0],[123,0,0,1,0],[132,0,0,2,0]],"revalidate":[[47,0,0,1,0],[51,0,0,1,0],[118,0,0,1,0],[123,0,0,1,0]],"sync":[[47,0,0,1,0],[118,0,0,1,0]],"async":[[47,0,0,1,2],[118,0,0,1,1]],"vercel":[[47,0,0,1,1],[52,0,0,1,1],[116,0,0,1,0],[117,0,0,1,0],[139,0,0,1,0],[142,0,0,0,2],[143,0,0,0,1],[144,0,0,1,0]],"edge":[[47,0,0,2,1],[48,0,0,1,0],[76,0,0,1,0],[117,0,0,2,0],[136,0,0,1,0],[139,0,0,1,0],[145,0,0,1,0]],"workers":[[47,0,0,1,0],[48,0,0,1,0],[67,0,0,1,0],[117,0,0,1,0],[142,0,0,0,1]],"logic":[[47,0,0,1,0],[67,0,0,1,0],[127,0,0,1,0]],"wherever":[[47,0,0,1,0],[67,0,0,1,0]],"intercept":[[47,0,0,1,0],[48,0,0,1,0]],"usually":[[47,0,0,1,0],[48,0,0,1,0],[60,0,0,1,0],[80,0,0,1,0],[96,0,0,1,0],[111,0,0,1,0],[135,0,0,1,0]],"h3":[[47,0,0,1,0],[48,0,0,2,0]],"function":[[47,0,0,0,1],[50,0,0,0,1],[96,0,0,1,0],[137,0,0,1,0]],"handlerequest":[[47,0,0,0,1]],"promise":[[47,0,0,0,1]],"disk":[[47,0,0,0,1],[64,0,0,1,0],[65,0,0,1,0],[97,0,0,1,0]],"kv":[[47,0,0,0,1],[48,0,0,1,0],[144,0,0,2,0]],"r2":[[47,0,0,0,1],[48,0,0,1,0]],"asset":[[47,0,0,0,2],[48,0,0,2,0],[49,0,0,1,0]],"binding":[[47,0,0,0,1],[48,0,0,1,0],[142,0,0,1,0]],"apps":[[48,0,0,1,0],[65,0,0,1,0],[113,0,0,1,0],[116,0,0,1,0],[144,0,0,1,0]],"nuxt":[[48,0,0,1,0]],"catch":[[48,0,0,1,0],[58,0,0,1,0],[102,0,0,1,0],[128,0,0,1,0]],"express":[[48,0,0,1,0]],"hono":[[48,0,0,1,0]],"fastify":[[48,0,0,1,0]],"rebase":[[48,0,0,1,0]],"either":[[48,0,0,1,0],[49,0,0,1,0],[60,0,0,1,0],[87,0,0,1,0]],"delete":[[48,0,0,1,0],[49,0,0,1,0],[60,0,0,1,0]],"always":[[48,0,0,1,0],[49,0,0,1,0],[115,0,0,1,0]],"sure":[[48,0,0,1,0],[49,0,0,1,0],[123,0,0,1,0]],"registered":[[48,0,0,1,0],[49,0,0,1,0]],"ahead":[[48,0,0,1,0],[49,0,0,1,0]],"rewrite":[[49,0,0,1,0]],"helper":[[49,0,0,1,0],[51,0,0,1,0],[65,0,0,1,0],[114,0,0,0,1],[121,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[144,0,0,1,0]],"artifact":[[49,0,0,1,0],[57,0,0,1,0],[62,0,0,1,0],[73,0,0,1,0],[89,0,0,1,0],[122,0,0,1,0]],"alone":[[49,0,0,1,0],[118,0,0,1,0]],"loc":[[50,0,0,1,0],[119,0,0,1,0]],"requires":[[50,0,0,1,0]],"directive":[[50,0,0,1,0],[51,0,0,1,0],[118,0,0,1,0],[123,0,0,1,0]],"conventionally":[[50,0,0,1,0]],"cannot":[[50,0,0,1,0]],"assets":[[50,0,0,2,0]],"previews":[[50,0,0,1,0]],"advertise":[[50,0,0,1,0]],"right":[[50,0,0,1,0],[137,0,0,2,0],[140,0,0,1,0]],"rebuild":[[50,0,0,1,0]],"served":[[50,0,0,1,0],[64,0,0,1,0]],"rewriting":[[50,0,0,1,0],[122,0,0,1,0]],"handleagentartifact":[[50,0,0,0,1]],"case":[[50,0,0,0,6]],"sitemapurlpath":[[50,0,0,0,1],[119,0,0,0,1]],"cdn":[[51,0,1,2,0],[123,0,1,2,0]],"adds":[[51,0,0,1,0],[96,0,0,1,0]],"pair":[[51,0,0,1,0],[78,0,0,1,0],[100,0,0,1,0],[126,0,0,1,0]],"detected":[[51,0,0,1,0],[118,0,0,1,0]],"shard":[[51,0,0,1,0]],"entries":[[51,0,0,1,0],[121,0,0,1,0]],"will":[[51,0,0,1,0],[67,0,0,1,0],[83,0,0,1,0],[128,0,0,1,0]],"cached":[[51,0,0,1,0],[123,0,0,1,0]],"vice":[[51,0,0,1,0]],"versa":[[51,0,0,1,0]],"override":[[51,0,0,1,0],[118,0,0,1,0],[120,0,0,0,1],[122,0,0,1,0],[123,0,0,1,0],[129,0,0,1,0],[134,0,0,1,0]],"cachecontrol":[[51,0,0,2,0],[118,0,0,2,0],[123,0,0,2,0]],"omit":[[51,0,0,1,0],[118,0,0,1,0],[123,0,0,1,0],[135,0,0,1,0]],"useful":[[51,0,0,1,0],[127,0,0,1,0]],"caching":[[51,0,0,1,0],[123,0,0,1,0]],"band":[[51,0,0,1,0]],"locally":[[52,0,1,0,0]],"expected":[[52,0,0,1,0]],"results":[[52,0,0,1,0],[137,0,0,1,0],[139,0,0,1,1]],"existing":[[52,0,0,1,0],[135,0,0,1,0]],"contain":[[52,0,0,1,0]],"application":[[52,0,0,1,0],[121,0,0,1,0]],"against":[[52,0,0,2,0],[79,0,0,1,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[92,0,0,1,0],[105,0,0,1,0]],"reports":[[52,0,0,1,0],[82,0,0,1,0]],"broken":[[52,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[68,0,0,1,0]],"whether":[[52,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0]],"production":[[52,0,0,1,0],[144,0,0,1,0]],"matches":[[52,0,0,1,0],[68,0,0,1,0],[71,0,0,1,0],[145,0,0,1,0]],"chatgpt":[[52,0,0,0,1],[118,0,0,1,0]],"minimal":[[53,0,1,0,0]],"checklist":[[53,0,1,0,0]],"bodies":[[53,0,0,1,0],[144,0,0,1,0]],"requested":[[53,0,0,1,0],[121,0,0,1,0]],"validate":[[54,1,1,0,0],[55,1,1,0,0],[56,1,1,0,0],[57,1,1,0,0],[58,1,1,0,0],[59,1,1,0,0],[60,1,1,1,0],[68,0,0,1,0],[92,0,0,1,0],[97,0,0,1,0],[111,0,0,1,0]],"issues":[[54,0,0,1,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,2,0],[59,0,0,1,0],[60,0,0,1,0],[101,0,0,1,0]],"prs":[[54,0,0,2,0],[55,0,0,1,0],[56,0,0,1,0],[57,0,0,1,0],[58,0,0,1,0],[59,0,0,1,0],[60,0,0,1,0],[101,0,0,1,0]],"exits":[[54,0,0,1,0]],"zero":[[54,0,0,1,0],[71,0,0,1,0],[75,0,0,1,0],[92,0,0,1,0]],"errors":[[54,0,0,1,0],[56,0,0,1,0],[90,0,0,1,0],[92,0,0,3,0],[106,0,0,0,1],[111,0,0,1,0]],"would":[[54,0,0,1,0],[125,0,0,1,0]],"otherwise":[[54,0,0,1,0],[124,0,0,1,0]],"blow":[[54,0,0,1,0]],"later":[[54,0,0,1,0]],"rule":[[55,0,0,2,0],[92,0,0,1,0],[103,0,0,1,0],[104,0,0,1,0],[106,0,0,1,1]],"pointing":[[55,0,0,1,0],[125,0,0,1,0]],"placeholders":[[55,0,0,1,0],[130,0,0,1,0],[131,0,0,1,0],[132,0,0,1,0]],"left":[[55,0,0,1,0]],"actions":[[56,0,1,0,1],[111,0,0,1,0]],"upgrades":[[56,0,0,1,0],[103,0,0,1,0]],"strict":[[56,0,0,1,0],[110,0,0,1,0]],"makes":[[56,0,0,1,0]],"remaining":[[56,0,0,1,0]],"job":[[56,0,0,1,0],[59,0,0,1,0],[75,0,0,1,0]],"pull":[[56,0,0,0,1]],"jobs":[[56,0,0,0,1]],"ubuntu":[[56,0,0,0,1]],"latest":[[56,0,0,0,1]],"checkout":[[56,0,0,0,1]],"v4":[[56,0,0,0,1]],"oven":[[56,0,0,0,1]],"sh":[[56,0,0,0,1],[58,0,0,0,1]],"v2":[[56,0,0,0,1]],"providers":[[57,0,1,0,0]],"speak":[[57,0,0,1,0]],"includes":[[57,0,0,1,0],[59,0,0,1,0],[100,0,0,1,0]],"counts":[[57,0,0,1,0]],"pipe":[[57,0,0,1,0],[110,0,0,0,1]],"provider":[[57,0,0,1,0],[136,0,0,1,0],[142,0,1,1,0]],"reporter":[[57,0,0,1,0]],"post":[[57,0,0,1,0]],"comment":[[57,0,0,1,0]],"upload":[[57,0,0,1,0]],"report":[[57,0,0,0,1],[92,0,0,2,0]],"pre":[[58,0,1,1,0],[143,0,0,1,0]],"push":[[58,0,1,1,0]],"husky":[[58,0,0,1,0]],"second":[[58,0,0,1,0]],"limiting":[[58,0,0,1,0]],"scan":[[58,0,0,1,0]],"changed":[[58,0,0,1,0]],"repeated":[[58,0,0,1,0]],"ignore":[[58,0,0,1,0],[92,0,0,3,0],[105,0,0,2,0]],"globs":[[58,0,0,1,0]],"skip":[[58,0,0,1,0],[68,0,0,1,0],[92,0,0,1,0],[135,0,0,1,0]],"stale":[[58,0,0,1,0],[60,0,0,1,0],[111,0,0,1,0],[124,0,0,1,0]],"usr":[[58,0,0,0,1]],"bin":[[58,0,0,0,1]],"env":[[58,0,0,0,1],[129,0,0,1,3],[142,0,0,1,0]],"noisily":[[59,0,0,1,0]],"specifically":[[59,0,0,1,0]],"problems":[[59,0,0,1,0]],"line":[[59,0,0,1,0]],"much":[[59,0,0,1,0]],"easier":[[59,0,0,1,0]],"debug":[[59,0,0,1,0]],"fix":[[60,0,1,1,0],[135,0,0,1,0]],"lot":[[60,0,0,1,0]],"bug":[[60,0,0,2,0],[68,0,0,1,0],[111,0,0,1,0]],"move":[[60,0,0,1,0],[111,0,0,1,0]],"mental":[[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,0],[73,0,0,1,0],[114,0,0,0,2],[126,0,0,0,1]],"model":[[61,0,0,1,0],[62,0,0,1,0],[63,0,0,1,0],[64,0,0,1,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,0],[73,0,0,1,0],[114,0,0,0,2],[126,0,0,0,1],[141,0,0,2,0],[142,0,0,1,1]],"modes":[[61,0,0,1,0],[62,0,0,1,0],[63,0,1,2,0],[64,0,0,2,0],[65,0,0,1,0],[66,0,0,1,0],[67,0,0,1,0],[68,0,0,1,0],[69,0,0,1,0],[87,0,0,1,0]],"takes":[[61,0,0,1,0],[71,0,0,1,0]],"input":[[61,0,0,1,0]],"folder":[[61,0,0,1,0],[79,0,0,2,0],[80,0,0,1,0],[81,0,0,1,0],[82,0,0,1,0],[83,0,0,1,0],[84,0,0,1,0],[85,0,0,1,0],[87,0,0,2,0]],"take":[[61,0,0,1,0],[70,0,0,1,0]],"piece":[[61,0,0,1,0]],"turns":[[62,0,0,1,0],[130,0,0,1,0],[141,0,0,1,0]],"gets":[[62,0,0,1,0],[67,0,0,1,0],[99,0,0,1,0],[113,0,1,0,0]],"sequence":[[62,0,0,1,0],[115,0,1,0,0]],"consumes":[[62,0,0,1,0]],"tb":[[62,0,0,0,1],[131,0,0,0,1]],"fm":[[62,0,0,0,4]],"parser":[[62,0,0,0,1]],"strip":[[62,0,0,0,1],[131,0,0,2,0]],"idx":[[62,0,0,0,3]],"serves":[[63,0,0,1,0]],"beneath":[[63,0,0,1,0]],"designed":[[63,0,0,1,0]],"tarballs":[[63,0,0,1,0]],"alongside":[[63,0,0,1,0],[78,0,0,1,0],[89,0,0,1,0]],"via":[[64,0,0,1,0],[70,0,0,0,1],[72,0,0,1,0],[76,0,0,1,0],[92,0,0,1,0],[95,0,0,1,0],[136,0,0,1,0],[142,0,1,0,0]],"websites":[[64,0,0,1,0],[112,0,0,2,0],[113,0,0,1,0],[114,0,0,1,0],[115,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0],[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0],[121,0,0,1,0],[122,0,0,1,0],[123,0,0,1,0],[124,0,0,1,0],[125,0,0,1,0],[126,0,0,1,0],[127,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0]],"follow":[[64,0,0,1,0],[66,0,0,1,0]],"useless":[[64,0,0,1,0]],"bm25":[[64,0,0,1,0],[68,0,0,1,0],[82,0,0,1,0],[83,0,0,0,1],[137,0,0,1,0]],"ranked":[[64,0,0,1,0]],"inverted":[[64,0,0,1,0]],"stored":[[64,0,0,1,0],[65,0,0,1,0]],"separately":[[64,0,0,1,0],[65,0,0,1,0],[142,0,0,2,0]],"grep":[[64,0,0,1,0],[65,0,0,1,0],[143,0,0,1,0]],"ngs":[[65,0,0,1,0]],"mapping":[[65,0,0,1,0]],"locations":[[65,0,0,1,0]],"built":[[65,0,0,1,0],[75,0,0,1,0]],"agree":[[65,0,0,1,0]],"structure":[[65,0,0,1,0],[91,0,0,1,0],[96,0,0,1,0],[125,0,0,1,0]],"being":[[66,0,0,1,0]],"told":[[66,0,0,1,0]],"there":[[66,0,0,1,0],[99,0,0,1,0]],"flows":[[66,0,0,2,0]],"complement":[[66,0,0,1,0]],"wants":[[66,0,0,1,0]],"publishes":[[66,0,0,1,0]],"pick":[[66,0,0,1,0],[71,0,0,1,0]],"answers":[[66,0,0,0,1],[70,0,0,0,1],[137,0,0,1,0],[141,0,1,0,0]],"vocabulary":[[67,0,1,0,0],[137,0,1,0,0],[145,0,0,1,0]],"terms":[[67,0,0,1,0]],"throughout":[[67,0,0,1,0]],"verb":[[67,0,0,1,0]],"declaring":[[67,0,0,1,0]],"which":[[67,0,0,1,0],[82,0,0,1,0],[128,0,0,1,0]],"belongs":[[67,0,0,1,0]],"noun":[[67,0,0,3,0]],"chunk":[[67,0,0,1,0],[83,0,0,0,1],[137,0,0,4,0],[140,0,0,0,1]],"scores":[[67,0,0,1,0]],"weigh":[[67,0,0,1,0],[137,0,0,1,0]],"advertises":[[67,0,0,1,0]],"asks":[[67,0,0,1,0]],"implement":[[67,0,0,1,0]],"intercepts":[[67,0,0,1,0]],"endpoints":[[67,0,0,1,0]],"fixed":[[68,0,0,1,0]],"previous":[[68,0,0,1,0]],"finds":[[68,0,0,1,0],[134,0,0,1,0]],"design":[[68,0,0,1,0],[78,0,0,1,0],[128,0,1,0,0]],"problem":[[68,0,0,1,0]],"fronted":[[70,0,0,1,0]],"bring":[[70,0,0,1,0]],"handle":[[70,0,0,1,0]],"outputs":[[70,0,0,1,0],[78,0,0,1,0]],"choose":[[71,0,1,0,0]],"most":[[71,0,0,1,0],[100,0,0,1,0],[128,0,0,1,0],[129,0,0,1,0]],"teams":[[71,0,0,1,0]],"arrive":[[71,0,0,1,0]],"reasons":[[71,0,0,1,0]],"journey":[[71,0,0,1,0]],"familiar":[[72,0,0,1,0]],"five":[[73,0,0,1,0],[79,0,0,1,0],[82,0,0,1,0],[114,0,0,0,1]],"minutes":[[73,0,0,1,0],[79,0,0,1,0]],"comparing":[[73,0,0,1,0]],"methodology":[[73,0,0,1,0],[74,1,1,0,0],[75,1,1,0,0],[76,1,1,0,0],[77,1,1,0,0],[78,1,1,0,0]],"differs":[[73,0,0,1,0],[74,0,0,1,0],[75,0,0,1,0],[76,0,0,1,0],[77,0,0,1,0],[78,0,0,1,0]],"fumadocs":[[73,0,0,1,0],[74,0,0,1,0],[75,0,0,2,0],[76,0,0,1,0],[77,0,0,1,0],[78,0,0,2,0]],"starlight":[[73,0,0,1,0],[74,0,0,1,0],[75,0,0,2,0],[76,0,0,1,0],[77,0,0,1,0],[78,0,0,2,0]],"mintlify":[[73,0,0,1,0],[74,0,0,1,0],[75,0,0,2,0],[76,0,0,1,0],[77,0,0,1,0],[78,0,0,1,0]],"theming":[[74,0,0,1,0],[77,0,0,1,0]],"tool":[[75,0,0,1,0],[143,0,1,0,0]],"platform":[[75,0,0,2,0]],"analytics":[[75,0,0,1,0],[77,0,0,1,0]],"layer":[[75,0,0,1,0],[116,0,0,1,0],[123,0,0,1,0],[145,0,0,1,0]],"behind":[[75,0,0,1,0]],"main":[[75,0,0,1,0],[93,0,0,0,1]],"polished":[[75,0,0,1,0]],"quickly":[[75,0,0,1,0],[128,0,0,1,0]],"infra":[[75,0,0,1,0]],"standardize":[[75,0,0,1,0]],"safe":[[76,0,0,1,0],[114,0,0,0,1],[117,0,0,1,0],[136,0,0,1,0],[139,0,0,1,0],[145,0,0,1,0]],"grounded":[[76,0,0,1,0],[136,0,0,2,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,1,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0],[145,0,0,1,0]],"answer":[[76,0,0,1,0],[136,0,0,2,0],[137,0,0,1,0],[138,0,0,2,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,0,2,0],[142,0,0,2,0],[143,0,0,1,0],[144,0,0,1,0],[145,0,0,1,0]],"streaming":[[76,0,0,1,0],[136,0,0,2,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,0,1,0],[142,0,1,1,0],[143,0,0,1,0],[144,0,0,1,0],[145,0,0,1,0]],"orchestration":[[76,0,0,1,0]],"whole":[[76,0,0,1,0],[116,0,0,1,0],[117,0,0,1,0]],"prebuilt":[[77,0,0,1,0]],"combination":[[78,0,1,0,0]],"shines":[[78,0,1,0,0]],"experience":[[78,0,0,1,0]],"private":[[78,0,0,1,0]],"templated":[[78,0,0,1,0]],"system":[[78,0,0,1,0],[141,0,0,2,1]],"complete":[[79,0,0,1,0],[121,0,0,1,0]],"executable":[[80,0,0,1,0]],"focused":[[80,0,0,1,0],[128,0,0,1,0]],"welcome":[[81,0,0,0,1],[128,0,0,1,0]],"walks":[[82,0,0,1,0]],"store":[[82,0,0,1,0],[83,0,0,0,1],[137,0,0,1,0],[144,0,0,1,0]],"excerpts":[[82,0,0,1,0],[137,0,0,1,0]],"found":[[82,0,0,1,0],[118,0,0,1,0]],"mergeable":[[83,0,0,0,1],[113,0,0,1,0]],"crawl":[[83,0,0,0,1],[113,0,0,1,0]],"policy":[[83,0,0,0,1],[113,0,0,1,0]],"now":[[85,0,0,1,0],[127,0,0,1,0]],"primitives":[[85,0,0,1,0]],"flags":[[86,0,0,1,0],[87,0,0,1,0],[88,0,0,1,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,0,1,0],[92,0,0,1,0],[93,0,0,1,0],[94,0,0,1,0],[101,0,0,1,0],[114,0,0,0,1]],"codes":[[86,0,0,1,0],[87,0,0,1,0],[88,0,0,2,0],[89,0,0,1,0],[90,0,0,1,0],[91,0,0,1,0],[92,0,0,2,0],[93,0,0,1,0],[94,0,0,1,0]],"validates":[[86,0,0,1,0],[101,0,0,1,0]],"help":[[86,0,0,1,0],[88,0,0,1,0],[92,0,0,1,0],[93,0,1,0,3]],"usage":[[86,0,0,1,0],[88,0,0,2,0],[92,0,0,2,0],[93,0,0,1,1]],"flag":[[87,0,0,1,0],[92,0,0,1,0],[114,0,0,0,1],[126,0,0,0,1]],"dir":[[87,0,0,4,0],[88,0,0,1,0],[92,0,0,2,0]],"containing":[[87,0,0,1,0],[125,0,0,1,0]],"ignored":[[87,0,0,1,0],[92,0,0,1,0],[125,0,0,1,0],[131,0,0,1,0]],"written":[[87,0,0,2,0],[125,0,0,3,0]],"glob":[[87,0,0,4,0],[88,0,0,2,0],[92,0,0,2,0],[105,0,0,1,0]],"none":[[87,0,0,2,0],[88,0,0,1,0]],"history":[[87,0,0,1,0],[88,0,0,1,0],[96,0,0,1,0]],"clude":[[88,0,0,1,0]],"fmt":[[88,0,0,1,0],[92,0,0,1,0]],"prints":[[88,0,0,1,0],[90,0,0,1,0]],"result":[[88,0,0,1,0],[97,0,0,0,3],[105,0,0,0,1],[106,0,1,0,0],[116,0,0,1,4],[127,0,0,1,0],[138,0,0,1,0],[140,0,0,1,0]],"stdout":[[88,0,0,1,0]],"alias":[[88,0,0,1,0]],"print":[[88,0,0,1,0],[90,0,0,1,0],[92,0,0,1,0]],"anchored":[[89,0,0,1,0]],"describing":[[90,0,0,1,0]],"was":[[90,0,0,1,0]],"varies":[[90,0,0,1,0]],"agentsmd":[[90,0,0,1,0]],"llmstxt":[[90,0,0,1,1]],"absent":[[90,0,0,1,0]],"abs":[[90,0,0,0,12]],"docsdir":[[90,0,0,0,1]],"docsllmstxt":[[90,0,0,0,1]],"docsllmsfulltxt":[[90,0,0,0,1]],"searchindex":[[90,0,0,0,1]],"searchcontent":[[90,0,0,0,1]],"docssitemapxml":[[90,0,0,0,1]],"docssitemapmd":[[90,0,0,0,1]],"docsrobotstxt":[[90,0,0,0,1]],"agentreadabilitymanifest":[[90,0,0,0,1]],"inference":[[91,0,1,0,0]],"loaded":[[91,0,0,1,0]],"explicitly":[[91,0,0,1,0],[113,0,0,1,0],[129,0,0,1,0]],"importing":[[91,0,0,1,0]],"inferred":[[91,0,0,2,0],[99,0,0,1,0]],"union":[[91,0,0,1,0]],"generatellmstxt":[[91,0,0,0,2],[94,0,0,1,0],[112,0,0,2,1],[115,0,0,0,2],[125,0,0,3,0]],"baseurl":[[91,0,0,0,1],[115,0,0,0,3],[116,0,0,0,2],[119,0,0,1,0],[127,0,0,0,1],[129,0,0,1,1],[138,0,0,0,1]],"honored":[[91,0,0,0,1]],"positional":[[92,0,0,1,0]],"subdirectory":[[92,0,0,1,0],[105,0,0,1,0],[125,0,0,1,0]],"validated":[[92,0,0,1,0],[105,0,0,1,0]],"pretty":[[92,0,0,2,0]],"annotation":[[92,0,0,1,0]],"defaults":[[92,0,0,3,0],[100,0,0,1,0],[105,0,0,1,0],[110,0,0,1,0],[118,0,0,1,0]],"passing":[[92,0,0,1,0]],"unlimited":[[92,0,0,1,0]],"count":[[92,0,0,1,0]],"exceeds":[[92,0,0,1,0]],"within":[[92,0,0,1,0]],"budget":[[92,0,0,2,0]],"exceeded":[[92,0,0,1,0]],"partials":[[92,0,0,1,0],[100,0,0,1,0],[105,0,0,1,0]],"plug":[[92,0,0,1,0]],"valibot":[[92,0,0,1,0],[105,0,0,3,0],[110,0,0,1,1]],"schemas":[[92,0,0,1,0],[101,0,0,1,0],[105,0,0,3,0],[107,0,1,0,0],[108,0,1,0,0],[109,0,1,0,0],[110,0,1,0,1]],"show":[[93,0,0,1,0]],"thin":[[94,0,0,1,0],[142,0,0,1,0]],"wrapper":[[94,0,0,1,0]],"convertmdxtomarkdown":[[94,0,0,1,0],[95,0,0,0,1],[97,0,1,0,1]],"writemdxfileasmarkdown":[[94,0,0,1,0],[95,0,0,0,1],[98,0,1,0,1]],"generatellmfullcontextfiles":[[94,0,0,1,0],[112,0,0,1,1],[115,0,0,1,2]],"generateagentreadabilityartifacts":[[94,0,0,1,0],[112,0,0,1,1],[115,0,0,1,2],[116,0,1,0,2],[117,0,0,1,0]],"helpers":[[94,0,0,1,0],[117,0,1,1,0],[118,0,1,0,0],[119,0,1,1,0],[120,0,1,0,0],[121,0,2,0,0],[122,0,2,0,0],[123,0,1,0,0],[124,0,1,0,0],[136,0,0,1,0],[137,0,0,1,0],[138,0,0,1,0],[139,0,0,1,0],[140,0,0,1,0],[141,0,0,1,0],[142,0,0,1,0],[143,0,0,1,0],[144,0,0,1,0],[145,0,0,1,0]],"sites":[[94,0,0,1,0],[116,0,0,1,0]],"generatedocssearchfiles":[[94,0,0,1,0],[138,0,0,0,2]],"lintdocs":[[94,0,0,1,0],[101,0,0,0,1],[105,0,0,0,2],[110,0,0,0,2]],"individual":[[94,0,0,1,0],[135,0,0,1,0]],"happy":[[94,0,0,1,0],[114,0,0,0,1]],"precedence":[[94,0,0,1,0],[129,0,1,0,0]],"calls":[[95,0,0,1,0],[112,0,0,2,0]],"internally":[[95,0,0,1,0]],"memory":[[95,0,0,1,0],[97,0,0,1,0],[144,0,0,1,0],[145,0,0,1,0]],"batch":[[96,0,0,1,0]],"option":[[96,0,0,1,0],[105,0,0,1,0],[125,0,0,1,0]],"destination":[[96,0,0,1,0]],"matters":[[96,0,0,1,0],[130,0,0,1,0],[132,0,1,0,0]],"concurrent":[[96,0,0,1,0],[99,0,0,1,0]],"large":[[96,0,0,1,0],[113,0,0,1,0]],"parallel":[[96,0,0,1,0]],"parsed":[[97,0,0,1,0]],"yourself":[[97,0,0,1,0]],"writing":[[97,0,0,1,0]],"feed":[[97,0,0,1,0],[132,0,0,1,0]],"touching":[[97,0,0,1,0],[136,0,0,1,0]],"console":[[97,0,0,0,2]],"log":[[97,0,0,0,2]],"srcpath":[[98,0,0,0,1]],"outpath":[[98,0,0,0,1]],"blocks":[[99,0,0,2,0],[103,0,0,1,0],[131,0,0,1,0]],"survive":[[99,0,0,1,0]],"synthesized":[[99,0,0,1,0]],"sometimes":[[99,0,0,1,0]],"tables":[[99,0,0,1,0]],"compacted":[[99,0,0,1,0]],"global":[[99,0,0,1,0]],"pairing":[[100,0,1,0,0]],"setups":[[100,0,0,1,0]],"expand":[[100,0,0,1,0]],"ast":[[100,0,0,1,0]],"sees":[[100,0,0,1,0],[132,0,0,1,0],[133,0,0,1,0]],"rationale":[[100,0,0,1,0]],"documented":[[101,0,0,1,0]],"covers":[[101,0,0,1,0],[129,0,0,1,0]],"grouped":[[102,0,0,1,0]],"severity":[[103,0,0,1,0],[104,0,0,1,0],[106,0,0,0,1]],"active":[[103,0,0,1,0]],"won":[[103,0,0,1,0]],"treat":[[103,0,0,1,0],[111,0,0,1,0]],"highest":[[103,0,0,1,0]],"priority":[[103,0,0,1,0]],"similar":[[104,0,0,1,0],[131,0,0,1,0]],"linting":[[104,0,0,1,0]],"walking":[[104,0,0,1,0]],"performs":[[104,0,0,1,0]],"final":[[104,0,0,1,0],[129,0,0,1,0],[132,0,0,1,0]],"changelogdir":[[105,0,0,1,0]],"patterns":[[105,0,0,2,0]],"shown":[[105,0,0,1,0]],"unknownfieldseverity":[[105,0,0,1,1]],"changelogfrontmatter":[[105,0,0,1,0]],"failures":[[106,0,0,1,0]],"reported":[[106,0,0,1,0]],"lintresult":[[106,0,0,0,1]],"kind":[[106,0,0,0,1]],"filesscanned":[[106,0,0,0,1]],"yes":[[107,0,0,1,0],[108,0,0,3,0],[109,0,0,1,0]],"produced":[[107,0,0,1,0]],"semver":[[108,0,0,1,0]],"iso":[[108,0,0,1,0]],"parseable":[[108,0,0,1,0]],"release":[[108,0,0,1,0]],"improvement":[[108,0,0,1,0]],"retired":[[108,0,0,1,0]],"deprecation":[[108,0,0,1,0]],"authors":[[108,0,0,1,0]],"defaultopen":[[109,0,0,1,0]],"combined":[[109,0,0,1,0]],"replace":[[110,0,0,1,0],[119,0,0,1,0],[131,0,0,1,0]],"provide":[[110,0,0,1,0]],"apply":[[110,0,0,1,0]],"customfrontmatter":[[110,0,0,0,2]],"minlength":[[110,0,0,0,1]],"audience":[[110,0,0,0,1]],"picklist":[[110,0,0,0,1]],"beginner":[[110,0,0,0,1]],"advanced":[[110,0,0,0,1]],"practical":[[111,0,1,0,0]],"guidance":[[111,0,1,0,0]],"template":[[111,0,0,1,0],[132,0,0,1,0]],"wiring":[[111,0,0,1,0]],"pipelines":[[111,0,0,1,0]],"flavors":[[112,0,0,1,0]],"derived":[[112,0,0,1,0]],"pairs":[[112,0,0,1,0],[123,0,0,1,0]],"finer":[[112,0,0,1,0]],"renderrobotstxt":[[112,0,0,0,1],[116,0,0,0,2]],"rendersitemapmarkdown":[[112,0,0,0,1],[116,0,0,0,2]],"rendersitemapxml":[[112,0,0,0,1],[116,0,0,0,2]],"purpose":[[113,0,0,1,0],[144,0,0,1,0]],"best":[[113,0,0,1,0],[114,0,0,0,1]],"starting":[[113,0,0,1,0],[114,0,0,0,1]],"lists":[[113,0,0,1,0]],"very":[[113,0,0,1,0]],"windows":[[113,0,0,1,0]],"narrower":[[113,0,0,1,0]],"budgets":[[113,0,0,1,0]],"lastmod":[[113,0,0,1,0]],"allows":[[113,0,0,1,0]],"common":[[113,0,0,1,0],[144,0,0,1,0]],"crawlers":[[113,0,0,1,0]],"appear":[[113,0,0,1,0]],"parent":[[113,0,0,1,0]],"thing":[[114,0,0,0,1],[115,0,0,0,1],[126,0,0,0,1]],"well":[[114,0,0,0,1],[115,0,0,0,1],[126,0,0,0,1]],"boring":[[114,0,0,0,1]],"parts":[[114,0,0,0,1]],"documentation":[[114,0,0,0,1]],"minute":[[114,0,0,0,1]],"typical":[[115,0,1,0,0]],"letting":[[116,0,0,1,0]],"returned":[[116,0,0,1,0]],"writefile":[[116,0,0,0,3],[127,0,0,0,2]],"objects":[[117,0,0,1,0],[144,0,0,1,0]],"module":[[117,0,0,1,0]],"acceptsmarkdownheader":[[117,0,0,0,1],[121,0,0,1,0],[122,0,0,1,0]],"createdocshead":[[117,0,0,0,1],[120,0,1,0,2],[121,0,0,1,0]],"createmarkdownresponseheaders":[[117,0,0,0,1],[121,0,0,1,0]],"enrichmarkdownfrontmatter":[[117,0,0,0,1],[121,0,0,1,0]],"isagentreadabilityartifactpath":[[117,0,0,0,1],[122,0,0,1,0]],"isagentuseragent":[[117,0,0,0,1],[121,0,0,1,0],[122,0,0,1,0]],"rendermissingmarkdown":[[117,0,0,0,1],[121,0,0,1,0]],"resolvemarkdownmirrortarget":[[117,0,0,0,1],[121,0,0,1,0]],"fall":[[118,0,0,1,0],[119,0,0,1,0],[120,0,0,1,0]],"ua":[[118,0,0,1,0]],"enriches":[[118,0,0,1,0]],"useragentpattern":[[118,0,0,1,0]],"regex":[[118,0,0,1,0],[122,0,0,1,0]],"cover":[[118,0,0,1,0]],"oai":[[118,0,0,1,0]],"searchbot":[[118,0,0,1,0]],"anthropic":[[118,0,0,1,0]],"ccbot":[[118,0,0,1,0]],"google":[[118,0,0,1,0]],"extended":[[118,0,0,1,0]],"directives":[[119,0,0,1,0]],"reflect":[[119,0,0,1,0]],"hacks":[[119,0,0,1,0]],"rebasing":[[119,0,0,0,1]],"og":[[120,0,0,1,2],[121,0,0,1,0]],"neutral":[[120,0,0,1,0]],"router":[[120,0,0,1,1]],"arrays":[[120,0,0,1,0]],"caller":[[120,0,0,1,0]],"key":[[120,0,0,0,1]],"ldjson":[[120,0,0,0,1]],"jsonldmetakey":[[120,0,0,0,1]],"lower":[[121,0,1,0,0],[122,0,1,0,0]],"escaped":[[121,0,0,1,0]],"crlf":[[121,0,0,1,0]],"tolerant":[[121,0,0,1,0]],"used":[[121,0,0,1,0],[125,0,0,1,0]],"detect":[[121,0,0,2,0],[122,0,0,2,0]],"asking":[[121,0,0,1,0],[122,0,0,1,0]],"crawler":[[121,0,0,1,0],[122,0,0,1,0]],"avoid":[[122,0,0,1,0]],"uas":[[123,0,0,1,0]],"shards":[[123,0,0,1,0]],"pollinate":[[123,0,0,1,0]],"asserts":[[124,0,0,1,0]],"throws":[[124,0,0,1,0]],"clear":[[124,0,0,1,0]],"loudly":[[124,0,0,1,0]],"silently":[[124,0,0,1,0]],"producing":[[124,0,0,1,0]],"rely":[[125,0,0,1,0]],"singular":[[125,0,0,1,0]],"segment":[[125,0,0,1,0]],"productinfo":[[125,0,0,1,0]],"agentguidance":[[125,0,0,1,0]],"intentionally":[[125,0,0,1,0],[135,0,0,1,0]],"mislead":[[125,0,0,1,0]],"docssubdir":[[125,0,0,1,0]],"holds":[[125,0,0,1,0]],"prefix":[[125,0,0,1,0]],"outputpath":[[125,0,0,1,0]],"driving":[[127,0,0,1,0]],"mkdir":[[127,0,0,0,2]],"stringify":[[127,0,0,0,1]],"come":[[128,0,0,1,0]],"principles":[[128,0,0,1,0]],"prefer":[[128,0,0,1,0]],"narrow":[[128,0,0,1,0]],"giant":[[128,0,0,1,0]],"load":[[128,0,0,2,0],[138,0,0,2,0]],"something":[[128,0,0,1,0]],"truncate":[[128,0,0,1,0]],"flavor":[[128,0,0,1,0]],"decide":[[128,0,0,1,0]],"beats":[[128,0,0,1,0]],"our":[[128,0,0,1,0]],"environment":[[129,0,0,1,0]],"variables":[[129,0,0,1,0]],"layered":[[129,0,0,1,0]],"fallback":[[129,0,0,2,0]],"lets":[[129,0,0,1,0]],"wide":[[129,0,0,1,0]],"platforms":[[129,0,0,1,0]],"hardcoded":[[129,0,0,1,0]],"portless":[[129,0,0,0,1]],"stripped":[[130,0,0,1,0]],"remarkremoveimports":[[131,0,0,1,1]],"statements":[[131,0,0,1,0]],"remarkremovejsxcomments":[[131,0,0,1,1]],"comments":[[131,0,0,1,0]],"remarkresolvedocplaceholders":[[131,0,0,1,1],[132,0,0,1,0]],"remarksectiontomarkdown":[[131,0,0,1,1]],"containers":[[131,0,0,1,0]],"remarkcallouttomarkdown":[[131,0,0,1,1]],"remarkcardstomarkdown":[[131,0,0,1,1]],"bulleted":[[131,0,0,1,0]],"remarkdetailstomarkdown":[[131,0,0,1,1]],"remarkmermaidtomarkdown":[[131,0,0,1,1]],"remarkcommandtabstomarkdown":[[131,0,0,1,1]],"remarkstepstomarkdown":[[131,0,0,1,1]],"remarktabstomarkdown":[[131,0,0,1,1]],"remarkaccordiontomarkdown":[[131,0,0,1,1]],"remarktopicswitchertomarkdown":[[131,0,0,1,1]],"labeled":[[131,0,0,1,0]],"remarkexampletomarkdown":[[131,0,0,1,1]],"mdast":[[131,0,0,0,1]],"ri":[[131,0,0,0,2]],"rj":[[131,0,0,0,2]],"rd":[[131,0,0,0,2]],"rs":[[131,0,0,0,2]],"rc":[[131,0,0,0,2]],"rcd":[[131,0,0,0,2]],"rdt":[[131,0,0,0,2]],"rct":[[131,0,0,0,2]],"rst":[[131,0,0,0,2]],"rt":[[131,0,0,0,2]],"rtt":[[131,0,0,0,2]],"ra":[[131,0,0,0,2]],"rts":[[131,0,0,0,2]],"go":[[132,0,0,2,0]],"because":[[132,0,0,2,0]],"some":[[132,0,0,1,0]],"imported":[[132,0,0,1,0]],"flatteners":[[132,0,0,3,0]],"assume":[[132,0,0,1,0]],"strings":[[132,0,0,1,0]],"literals":[[132,0,0,1,0]],"reorder":[[132,0,0,1,0]],"casually":[[132,0,0,1,0]],"flattener":[[132,0,0,2,0],[133,0,0,1,0],[135,0,0,1,0]],"transform":[[132,0,0,1,0]],"contracted":[[132,0,0,1,0]],"insert":[[132,0,0,1,0]],"composition":[[133,0,0,1,0]],"included":[[133,0,0,1,0]],"expands":[[133,0,0,1,0]],"pipelineexampleoptions":[[134,0,0,0,1]],"types":[[134,0,0,0,1]],"selection":[[135,0,1,0,0]],"composed":[[135,0,0,1,0]],"fragments":[[135,0,0,1,0]],"processing":[[135,0,0,1,0]],"cost":[[135,0,0,1,0]],"almost":[[135,0,0,1,0]],"never":[[135,0,0,1,0]],"reordering":[[135,0,0,1,0]],"ones":[[135,0,0,1,0]],"exposes":[[136,0,0,1,0],[143,0,0,1,0]],"queries":[[136,0,0,1,0]],"database":[[136,0,0,1,0]],"document":[[137,0,0,2,0]],"jump":[[137,0,0,1,0]],"ranking":[[137,0,0,1,0]],"tunable":[[137,0,0,1,0]],"generator":[[137,0,0,1,0],[138,0,0,1,0]],"compact":[[137,0,0,1,0]],"tuple":[[137,0,0,1,0]],"term":[[137,0,0,1,0]],"postings":[[137,0,0,1,0]],"refs":[[137,0,0,2,0]],"actual":[[137,0,0,1,0]],"separated":[[137,0,0,1,0]],"loading":[[137,0,0,1,0]],"lazily":[[137,0,0,1,0]],"indexing":[[138,0,1,0,0]],"cheap":[[138,0,0,1,0],[145,0,0,1,0]],"hover":[[138,0,0,1,0]],"anywhere":[[139,0,0,1,0]],"hash":[[139,0,0,1,0]],"snippets":[[139,0,0,1,0]],"ready":[[139,0,0,1,0]],"searchdocs":[[139,0,0,0,2]],"docssearchindex":[[139,0,0,0,2]],"docssearchcontentstore":[[139,0,0,0,2]],"indexjson":[[139,0,0,0,2]],"contentjson":[[139,0,0,0,2]],"doubles":[[140,0,0,1,0]],"virtual":[[140,0,0,1,0],[143,0,0,1,0]],"readers":[[140,0,0,1,0]],"picked":[[140,0,0,1,0]],"readdocscontentfile":[[140,0,0,1,2]],"entire":[[140,0,0,1,0]],"readdocscontentchunk":[[140,0,0,1,2]],"listdocscontentfiles":[[140,0,0,0,2]],"allfiles":[[140,0,0,0,1]],"wholepage":[[140,0,0,0,1]],"onechunk":[[140,0,0,0,1]],"createanswercontext":[[141,0,0,1,2],[142,0,0,1,0]],"query":[[141,0,0,1,0],[142,0,0,0,1],[144,0,0,1,0]],"retrieved":[[141,0,0,2,0]],"chunks":[[141,0,0,1,0],[143,0,0,1,0],[145,0,0,1,0]],"prompt":[[141,0,0,1,1]],"instructs":[[141,0,0,1,0]],"sources":[[141,0,0,1,1],[142,0,0,2,1]],"references":[[141,0,0,1,0]],"say":[[141,0,0,1,0]],"insufficient":[[141,0,0,1,0]],"productname":[[141,0,0,0,1],[142,0,0,0,1]],"wrappers":[[142,0,0,1,0]],"around":[[142,0,0,1,0]],"stream":[[142,0,0,1,0]],"matching":[[142,0,0,1,0],[145,0,0,1,0]],"citation":[[142,0,0,1,0]],"display":[[142,0,0,1,0]],"embed":[[142,0,0,1,0]],"streamed":[[142,0,0,1,0]],"adapter":[[142,0,0,1,0],[143,0,0,1,0]],"createcloudflaredocsadapter":[[142,0,0,1,0]],"gateway":[[142,0,0,1,2]],"streamdocsanswer":[[142,0,0,0,4]],"sdk":[[142,0,0,0,1]],"gpt":[[142,0,0,0,1]],"adapters":[[143,0,1,0,0]],"explore":[[143,0,0,1,0]],"shell":[[143,0,0,1,0]],"receiving":[[143,0,0,1,0]],"selected":[[143,0,0,1,0]],"ls":[[143,0,0,1,0]],"cat":[[143,0,0,1,0]],"rg":[[143,0,0,1,0]],"execution":[[143,0,0,1,0]],"disabled":[[143,0,0,1,0]],"expose":[[143,0,0,1,0]],"createdocsbashtools":[[143,0,0,1,0]],"plural":[[143,0,0,1,0]],"createdocsbashtool":[[143,0,0,0,2]],"instructions":[[143,0,0,0,1]],"abuse":[[144,0,1,0,0]],"guards":[[144,0,1,0,0]],"reusable":[[144,0,0,1,0]],"utilities":[[144,0,0,1,0]],"validatedocsquery":[[144,0,0,1,0]],"trim":[[144,0,0,1,0]],"cap":[[144,0,0,1,0]],"readjsonwithlimit":[[144,0,0,1,0]],"reject":[[144,0,0,1,0]],"oversized":[[144,0,0,1,0]],"getclientidentifier":[[144,0,0,1,0]],"proxy":[[144,0,0,1,0]],"ip":[[144,0,0,1,0]],"creatememoryratelimiter":[[144,0,0,1,0]],"implements":[[144,0,0,1,0]],"ratelimiter":[[144,0,0,2,0]],"demos":[[144,0,0,2,0]],"limiter":[[144,0,0,1,0]],"adapt":[[144,0,0,1,0]],"interface":[[144,0,0,1,0]],"redis":[[144,0,0,1,0]],"durable":[[144,0,0,1,0]],"embeddings":[[145,0,1,2,0]],"keys":[[145,0,0,1,0]],"messages":[[145,0,0,1,0]],"users":[[145,0,0,1,0]],"faster":[[145,0,0,1,0]],"performance":[[145,0,0,1,0]],"optimization":[[145,0,0,1,0]],"grow":[[145,0,0,1,0]],"past":[[145,0,0,1,0]],"tens":[[145,0,0,1,0]],"thousands":[[145,0,0,1,0]],"cold":[[145,0,0,1,0]],"hit":[[145,0,0,1,0]],"noticeable":[[145,0,0,1,0]],"lexical":[[145,0,0,1,0]],"complementary":[[145,0,0,1,0]],"replacements":[[145,0,0,1,0]]},"averageChunkLength":88.13013698630137} diff --git a/apps/example/src/lib/docs-head.ts b/apps/example/src/lib/docs-head.ts index ca50e73..6fbc7ba 100644 --- a/apps/example/src/lib/docs-head.ts +++ b/apps/example/src/lib/docs-head.ts @@ -5,7 +5,10 @@ import { } from "leadtype/llm/readability"; import agentReadability from "@/generated/agent-readability.json"; -const manifest = agentReadability as AgentReadabilityManifest; +const manifest: AgentReadabilityManifest = { + ...agentReadability, + version: 1, +}; export function createDocsHead(urlPath: string): DocsHead { return createDocsHeadCore({ urlPath, manifest }); From ab64bcad7682e3f198194d048a6c135b0f62d52d Mon Sep 17 00:00:00 2001 From: Kaylee <65376239+KayleeWilliams@users.noreply.github.com> Date: Sat, 9 May 2026 23:21:48 -0700 Subject: [PATCH 4/4] Surface agent markdown read errors --- apps/example/server/utils/agent-readability.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/example/server/utils/agent-readability.ts b/apps/example/server/utils/agent-readability.ts index 91b004c..4377924 100644 --- a/apps/example/server/utils/agent-readability.ts +++ b/apps/example/server/utils/agent-readability.ts @@ -34,6 +34,15 @@ export function getRequestOrigin(event: H3Event): string | undefined { return url.origin; } +function isMissingFileError(error: unknown): boolean { + return ( + typeof error === "object" && + error !== null && + "code" in error && + (error.code === "ENOENT" || error.code === "ENOTDIR") + ); +} + export async function readMarkdownFile( target: MarkdownMirrorTarget ): Promise { @@ -42,7 +51,11 @@ export async function readMarkdownFile( join(process.cwd(), "public", target.filePath), "utf8" ); - } catch { - return null; + } catch (error) { + if (isMissingFileError(error)) { + return null; + } + + throw error; } }