Sources

Citations for answers grounded in documents: a numbered list and inline markers.

Shoot days are billed monthly[1] and delivered in 48 hours[2].

Sources

  1. Pricing policy 2026 (external site)

    example.com

    Shoot days are billed monthly, in advance.

Installation

Once per app, set up Aedis UI. The CLI verifies the signed release before writing anything and pins every dependency:

npx @aedis/cli@0.1.0 init

Import the theme once in your global CSS, after Tailwind:

app/globals.css
@import "tailwindcss";@import "./styles/aedis-theme.css";

Then add the component:

npx @aedis/cli@0.1.0 add sources# pnpm dlx @aedis/cli@0.1.0 add sources · yarn dlx @aedis/cli@0.1.0 add sources · bunx @aedis/cli@0.1.0 add sources

Props

PropTypeDefaultDescription
Sources sources{ title; url; snippet? }[]—Titles and snippets are text; URLs go through safeUrl.
Sources idPrefixstring—Anchor prefix shared with the inline Citation markers.
Citation n / idPrefix / title?number / string / string—Inline marker linking to entry n, named "Source n: title".
sourceDomain(url)string | null—The host a person lands on, punycode for international names.
labelsPartial<SourcesLabels>—title, source.

Security

  • Every link goes through safeUrl; external ones open with noopener noreferrer and are marked.
  • The domain is shown next to the title, in punycode for international names, so a lookalike domain cannot pass for the real one.
  • No favicon is fetched from third parties: nothing leaks who reads the answer, and img-src stays strict.
  • Titles and snippets are text, hidden characters removed.