This documentation is also published as Markdown for efficient machine reading: the whole site is indexed at /llms.txt, and every page has a clean Markdown copy at the same URL with .md appended. These are generated from the same source and cost far fewer tokens to read than this rendered HTML.

Skip to main content Skip to navigation

LlmsArtifactContentService Pennington.LlmsTxt

Artifact-tier façade over LlmsTxtService: one service owning every llms URL — the root /llms.txt front door (and optional /llms-full.txt), the per-subtree {prefix}/llms.txt indexes (a mid-path territory only a SuffixClaim can express — endpoint routing would let a content route's {slug} segment capture them), and the per-page co-located {route}.md markdown (root page at /index.md). Serves dev requests through the artifact router and enumerates the same files for the static build. Transient so each resolution captures the current file-watched service.

Properties

Claims ImmutableList<ArtifactClaim>
URL territories this service serves. Options-derived and consulted on every request — must be cheap and must not trigger discovery, the projection, or any lazy corpus work.

Constructors

LlmsArtifactContentService

#
public LlmsArtifactContentService(LlmsTxtService service, LlmsTxtOptions options)

Creates the façade; claims derive from the options alone.

Parameters

service LlmsTxtService
options LlmsTxtOptions

Methods

DiscoverAsync

#
public IAsyncEnumerable<DiscoveredItem> DiscoverAsync()

Enumerates every artifact route the static build should write, as GeneratedSource items. May consume the projection — the build invokes this outside any request, after the page crawl has primed the render cache. Never called on the request path.

Returns

IAsyncEnumerable<DiscoveredItem>

ResolveAsync

#
public Task<ArtifactContent> ResolveAsync(string relativePath, CancellationToken cancellationToken)

Returns the bytes for relativePath (no leading slash, e.g. search/en/index.json), or null to decline so the request falls through to content routing. May materialize the projection, build an index, or run Chromium on demand.

Parameters

relativePath string
cancellationToken CancellationToken

Returns

Task<ArtifactContent>

Pennington.LlmsTxt.LlmsArtifactContentService

namespace Pennington.LlmsTxt;

/// Artifact-tier façade over LlmsTxtService: one service owning every llms URL — the root /llms.txt front door (and optional /llms-full.txt), the per-subtree {prefix}/llms.txt indexes (a mid-path territory only a SuffixClaim can express — endpoint routing would let a content route's {slug} segment capture them), and the per-page co-located {route}.md markdown (root page at /index.md). Serves dev requests through the artifact router and enumerates the same files for the static build. Transient so each resolution captures the current file-watched service.
public class LlmsArtifactContentService
{
    /// URL territories this service serves. Options-derived and consulted on every request — must be cheap and must not trigger discovery, the projection, or any lazy corpus work.
    
public ImmutableList<ArtifactClaim> Claims { get; }
/// Enumerates every artifact route the static build should write, as GeneratedSource items. May consume the projection — the build invokes this outside any request, after the page crawl has primed the render cache. Never called on the request path.
public IAsyncEnumerable<DiscoveredItem> DiscoverAsync()
; /// Creates the façade; claims derive from the options alone.
public LlmsArtifactContentService(LlmsTxtService service, LlmsTxtOptions options)
; /// Returns the bytes for relativePath (no leading slash, e.g. search/en/index.json), or null to decline so the request falls through to content routing. May materialize the projection, build an index, or run Chromium on demand.
public Task<ArtifactContent> ResolveAsync(string relativePath, CancellationToken cancellationToken)
; }