{
  "version": 1,
  "package": "@askrjs/askr",
  "capabilities": [
    {
      "intent": "reactive state and derived views",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr",
      "exports": ["state", "derive", "selector"],
      "constraints": ["component render scope", "stable call order"],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/guides/state.md",
      "docsPath": "docs/guides/state.md"
    },
    {
      "intent": "declarative control flow",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/control",
      "exports": ["For", "Show", "Case", "Match"],
      "constraints": ["control boundaries keep their rendered ranges"],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/guides/control-flow.md",
      "docsPath": "docs/guides/control-flow.md"
    },
    {
      "intent": "data queries and mutations",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/data",
      "exports": [
        "createQuery",
        "createQueryCollection",
        "defineQuery",
        "queryScope",
        "createMutation"
      ],
      "constraints": [
        "query keys identify shared cache entries",
        "fetches are cancellable",
        "query collections require component render scope"
      ],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/core/data.md",
      "docsPath": "docs/core/data.md"
    },
    {
      "intent": "test query-state fixtures",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/testing",
      "exports": ["queryState"],
      "constraints": [
        "fixtures are test-only and do not perform network requests"
      ],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/contributing/testing.md",
      "docsPath": "docs/contributing/testing.md"
    },
    {
      "intent": "routing and navigation",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/router",
      "exports": ["route", "Link", "navigate", "createRouteRegistry"],
      "constraints": ["route registry owns navigation"],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/guides/router.md",
      "docsPath": "docs/guides/router.md"
    },
    {
      "intent": "server rendering",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/ssr",
      "exports": ["renderToString"],
      "constraints": ["browser globals require lazy client targets"],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/guides/ssr.md",
      "docsPath": "docs/guides/ssr.md"
    },
    {
      "intent": "static generation",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/ssg",
      "exports": ["createStaticGen"],
      "constraints": ["routes must be deterministic"],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/guides/ssg.md",
      "docsPath": "docs/guides/ssg.md"
    },
    {
      "intent": "error boundaries",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/components",
      "exports": ["ErrorBoundary"],
      "constraints": ["portal hosts are finalized during render"],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/reference/api.md",
      "docsPath": "docs/reference/api.md"
    },
    {
      "intent": "portals",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/foundations/structures",
      "exports": ["Portal", "DefaultPortal"],
      "constraints": ["portal hosts are finalized during render"],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/reference/api.md",
      "docsPath": "docs/reference/api.md"
    },
    {
      "intent": "server provider-session client binding",
      "package": "@askrjs/askr",
      "import": "@askrjs/askr/router",
      "exports": ["createSessionAuth", "currentAuth"],
      "constraints": [
        "same-origin askr-server provider-session routes",
        "session-bound routed roots own dedicated isolated data runtimes",
        "identity snapshots exclude provider tokens and resource API grants"
      ],
      "stability": "preview",
      "docs": "https://github.com/askrjs/askr/blob/main/docs/guides/provider-sessions.md",
      "docsPath": "docs/guides/provider-sessions.md"
    }
  ]
}
