# API reference

> A reference page for API endpoints or MCP tools with scope, minimum role, an arguments table, an example call and result, and a card catalog of all tools.

Source: https://docs.nasaqui.com/components/api-reference

## Install

```bash
npx shadcn@latest add https://docs.nasaqui.com/r/api-reference.json
```

A docs page for the things a caller can invoke. A searchable list sits beside the selected tool: its name, scope, minimum role, access level, an arguments table and an example call with its result. A second view shows every tool as a card, grouped by category. It renders the data you pass; generate it from your schema.

## When to use

- Documenting an MCP server's tools or a REST API inside your product.

## When not to use

- Long prose docs: use a docs layout with markdown.
- Trying calls live: this page only shows examples.

## Import

```tsx
import { ApiReference } from "@fadymondy/nasaq/web";
// inside this monorepo: "@nasaq/web"
```

## Quick start

```tsx
<ApiReference
  tools={[
    {
      id: "create_issue",
      name: "create_issue",
      summary: "Create an issue in a project.",
      category: "Issues",
      scope: "issues:write",
      minRole: "Member",
      access: "write",
      args: [{ name: "title", type: "string", required: true, description: "Short title." }],
      examples: [{ call: '{ "title": "Fix login" }', result: '{ "id": "MH-1" }' }],
    },
  ]}
/>
```

## Anatomy

```
ApiReference                data-slot="api-reference"
├─ toolbar                  search, category chips, access filter, Reference/Catalog switch
├─ list                     tools grouped by category
└─ ApiToolDetail            name, badges, scope, min role, args Table, examples in CodeBlock
ApiToolCatalog              card grid of tools
```

## API

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `tools` | `ApiTool[]` | required | `{ id, name, summary, description?, category?, scope, minRole, access?, args?, returns?, examples?, deprecated?, since? }`. |
| `selectedId?` / `onSelectedChange?` | `string` / `(id) => void` | first tool | Controlled selection. |
| `view?` / `defaultView?` / `onViewChange?` | `"reference" \| "catalog"` | `"reference"` | Which view shows. |
| `labels?` | `Partial<ApiReferenceLabels>` | en/ar | Override any string. |

`ApiToolDetail` takes `tool`; `ApiToolCatalog` takes `tools` and `onSelect?`. `ApiArg` is `{ name, type, required?, description?, default?, values? }`; `ApiExample` is `{ title?, call, result, callLanguage?, resultLanguage? }`.

## Examples

### Catalog first

```tsx
<ApiReference tools={tools} defaultView="catalog" />
```

## Accessibility

- The list is a labelled navigation of buttons with `aria-current` on the open tool. The switch and filters are named groups.
- Access level is written out (Read, Write, Destructive), not colour alone. Required arguments say "required".
- On small screens the list and detail swap with a Back button; focus moves to the heading.

## RTL & i18n

- English and Arabic built in. Tool names, scopes, types, defaults and code stay left-to-right in `<bdi dir="ltr">`; the code blocks are always left-to-right.
- Search folds Arabic letter variants. Localise `category` and `minRole` in your data.

## Styling & tokens

- `bg-card`, `border-border`, `rounded-card`; code uses the `CodeBlock` tokens. No raw hex.
- Target `[data-slot=api-reference]`.

## Do / Don't

- **Do** give every example both a call and a result.
- **Do** mark destructive tools so the badge warns before use.
- **Don't** put secrets in examples.

## Related

- [CodeBlock](https://docs.nasaqui.com/components/code-block) · [Table](https://docs.nasaqui.com/components/table) · [Badge](https://docs.nasaqui.com/components/badge)

## Lab

https://docs.nasaqui.com/?path=/docs/components-developer-tools-api-reference--docs

## Code

### React

```tsx
<ApiReference
  tools={[
    {
      id: "create_issue",
      name: "create_issue",
      summary: "Create an issue in a project.",
      category: "Issues",
      scope: "issues:write",
      minRole: "Member",
      access: "write",
      args: [{ name: "title", type: "string", required: true, description: "Short title." }],
      examples: [{ call: '{ "title": "Fix login" }', result: '{ "id": "MH-1" }' }],
    },
  ]}
/>
```

### shadcn

```tsx
<ApiReference
  tools={[
    {
      id: "create_issue",
      name: "create_issue",
      summary: "Create an issue in a project.",
      category: "Issues",
      scope: "issues:write",
      minRole: "Member",
      access: "write",
      args: [{ name: "title", type: "string", required: true, description: "Short title." }],
      examples: [{ call: '{ "title": "Fix login" }', result: '{ "id": "MH-1" }' }],
    },
  ]}
/>
```

### Vue

```vue
<script setup lang="ts">
import { NqApiReference, type ApiTool } from "@fadymondy/nasaq/vue";

const tools: ApiTool[] = [
  {
    id: "create_issue",
    name: "create_issue",
    summary: "Create an issue in a project.",
    category: "Issues",
    scope: "issues:write",
    minRole: "Member",
    access: "write",
    args: [{ name: "title", type: "string", required: true, description: "Short title." }],
    examples: [{ call: '{ "title": "Fix login" }', result: '{ "id": "MH-1" }' }],
  },
  {
    id: "list_issues",
    name: "list_issues",
    summary: "List issues in a project.",
    category: "Issues",
    scope: "issues:read",
    minRole: "Viewer",
    args: [{ name: "limit", type: "integer", default: "20", description: "How many to return." }],
    examples: [{ call: '{ "limit": 2 }', result: '{ "items": [] }' }],
  },
  {
    id: "delete_project",
    name: "delete_project",
    summary: "Delete a project and everything in it.",
    category: "Projects",
    scope: "projects:admin",
    minRole: "Owner",
    access: "destructive",
  },
];
</script>

<template>
  <NqApiReference :tools="tools" />
</template>
```

### Blade

```blade
@php
    $tools = [
        [
            'id' => 'create_issue', 'name' => 'create_issue', 'summary' => 'Create an issue in a project.', 'category' => 'Issues',
            'scope' => 'issues:write', 'minRole' => 'Member', 'access' => 'write',
            'args' => [['name' => 'title', 'type' => 'string', 'required' => true, 'description' => 'Short title.']],
            'examples' => [['call' => '{ "title": "Fix login" }', 'result' => '{ "id": "MH-1" }']],
        ],
        [
            'id' => 'list_issues', 'name' => 'list_issues', 'summary' => 'List issues in a project.', 'category' => 'Issues',
            'scope' => 'issues:read', 'minRole' => 'Viewer',
            'args' => [['name' => 'limit', 'type' => 'integer', 'default' => '20', 'description' => 'How many to return.']],
            'examples' => [['call' => '{ "limit": 2 }', 'result' => '{ "items": [] }']],
        ],
        [
            'id' => 'delete_project', 'name' => 'delete_project', 'summary' => 'Delete a project and everything in it.', 'category' => 'Projects',
            'scope' => 'projects:admin', 'minRole' => 'Owner', 'access' => 'destructive',
        ],
    ];
@endphp
<x-nq::api-reference :tools="$tools" />
```

### HTML + Alpine

```html
<div data-slot="api-reference" x-data="nqApiReference(JSON.parse('{\u0022defaultView\u0022:\u0022reference\u0022,\u0022selectedId\u0022:\u0022create_issue\u0022,\u0022groups\u0022:[[\u0022create_issue\u0022,\u0022list_issues\u0022],[\u0022delete_project\u0022]],\u0022tools\u0022:[{\u0022id\u0022:\u0022create_issue\u0022,\u0022name\u0022:\u0022create_issue\u0022,\u0022summary\u0022:\u0022Create an issue in a project.\u0022,\u0022category\u0022:\u0022Issues\u0022,\u0022scope\u0022:\u0022issues:write\u0022,\u0022access\u0022:\u0022write\u0022,\u0022args\u0022:[\u0022title\u0022]},{\u0022id\u0022:\u0022list_issues\u0022,\u0022name\u0022:\u0022list_issues\u0022,\u0022summary\u0022:\u0022List issues in a project.\u0022,\u0022category\u0022:\u0022Issues\u0022,\u0022scope\u0022:\u0022issues:read\u0022,\u0022access\u0022:\u0022read\u0022,\u0022args\u0022:[\u0022limit\u0022]},{\u0022id\u0022:\u0022delete_project\u0022,\u0022name\u0022:\u0022delete_project\u0022,\u0022summary\u0022:\u0022Delete a project and everything in it.\u0022,\u0022category\u0022:\u0022Projects\u0022,\u0022scope\u0022:\u0022projects:admin\u0022,\u0022access\u0022:\u0022destructive\u0022,\u0022args\u0022:[]}],\u0022labels\u0022:{\u0022results\u0022:\u0022{n} tools\u0022}}'))" x-bind:data-view="view" x-on:nq:pick="pick($event.detail.id)"
    class="flex min-w-0 flex-col gap-4">
    <div class="flex flex-wrap items-center justify-between gap-2">
        <p class="text-body-sm text-muted-foreground" role="status" x-text="resultsLabel"></p>
        <div role="group" data-slot="toggle-group" data-variant="segmented" data-orientation="horizontal"
    x-data="nqToggleGroup(JSON.parse('[\u0022reference\u0022]'), false)" x-modelable="value" x-bind="root"
            x-model="viewValue" aria-label="View" class="flex w-fit max-w-full gap-0.5 rounded-control bg-secondary p-0.5">
    <button type="button" data-slot="toggle" aria-pressed="true"
     x-bind="toggle('reference')"      data-pressed         class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"/>
</svg>                Reference</button>
            <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('catalog')"             class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="7" height="7" x="3" y="3" rx="1"/>
  <rect width="7" height="7" x="14" y="3" rx="1"/>
  <rect width="7" height="7" x="14" y="14" rx="1"/>
  <rect width="7" height="7" x="3" y="14" rx="1"/>
</svg>                Catalog</button>
</div>
    </div>
    <div class="flex min-w-0 flex-col gap-4" x-show="catalogView"  style="display: none" >
        <div data-slot="api-reference-filters" class="flex flex-col gap-3">
    <div class="relative">
        <svg aria-hidden="true" class="pointer-events-none absolute start-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m21 21-4.34-4.34"/>
  <circle cx="11" cy="11" r="8"/>
</svg>        <input data-slot="input" type="search"
                    x-model="query" placeholder="Search tools" aria-label="Search tools" class="w-full min-w-0 rounded-control border border-input bg-card px-3 text-body text-foreground min-h-[var(--nq-touch-min,0px)] transition-colors duration-150 ease-nq outline-none placeholder:text-muted-foreground focus-visible:border-nq-focus focus-visible:outline-1 focus-visible:outline-nq-focus data-invalid:border-nq-danger aria-invalid:border-nq-danger disabled:cursor-not-allowed disabled:opacity-50 pointer-coarse:text-[16px] h-control ps-8">
    </div>
            <div role="group" data-slot="chip-group" x-data="nqChipGroup('all')" x-modelable="value"
    x-model="categoryValue" aria-label="Tools" class="-mx-1 flex gap-1.5 overflow-x-auto px-1 pb-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden">
    <button data-slot="chip"
     type="button"                         data-value="all" data-selected="" aria-pressed="true" x-on:click="select($el.dataset.value)" x-bind:aria-pressed="String(value === $el.dataset.value)" x-bind:data-selected="value === $el.dataset.value ? &#039;&#039; : null" class="inline-flex select-none items-center justify-center gap-2 whitespace-nowrap border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover h-control-sm shrink-0 rounded-full px-3 text-muted-foreground">
        All</button>
                            <button data-slot="chip"
     type="button"                         data-value="Issues" aria-pressed="false" x-on:click="select($el.dataset.value)" x-bind:aria-pressed="String(value === $el.dataset.value)" x-bind:data-selected="value === $el.dataset.value ? &#039;&#039; : null" class="inline-flex select-none items-center justify-center gap-2 whitespace-nowrap border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover h-control-sm shrink-0 rounded-full px-3 text-muted-foreground">
        Issues</button>
                            <button data-slot="chip"
     type="button"                         data-value="Projects" aria-pressed="false" x-on:click="select($el.dataset.value)" x-bind:aria-pressed="String(value === $el.dataset.value)" x-bind:data-selected="value === $el.dataset.value ? &#039;&#039; : null" class="inline-flex select-none items-center justify-center gap-2 whitespace-nowrap border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover h-control-sm shrink-0 rounded-full px-3 text-muted-foreground">
        Projects</button>
</div>
        <div role="group" data-slot="toggle-group" data-variant="segmented" data-orientation="horizontal"
    x-data="nqToggleGroup(JSON.parse('[\u0022all\u0022]'), false)" x-modelable="value" x-bind="root"
            x-model="accessValue" aria-label="Access" class="flex w-fit max-w-full gap-0.5 rounded-control bg-secondary p-0.5 flex-wrap">
    <button type="button" data-slot="toggle" aria-pressed="true"
     x-bind="toggle('all')"      data-pressed         class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Any access</button>
                    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('read')"             data-level="read" x-bind:disabled="none($el.dataset.level)" x-bind:data-disabled="none($el.dataset.level) ? &#039;&#039; : null" class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Read only</button>
                    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('write')"             data-level="write" x-bind:disabled="none($el.dataset.level)" x-bind:data-disabled="none($el.dataset.level) ? &#039;&#039; : null" class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Changes data</button>
                    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('destructive')"             data-level="destructive" x-bind:disabled="none($el.dataset.level)" x-bind:data-disabled="none($el.dataset.level) ? &#039;&#039; : null" class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Destructive</button>
</div>
</div>
        <div data-slot="api-tool-catalog" class="flex min-w-0 flex-col gap-5">
            <section class="flex flex-col gap-2"  x-show="groupShown(0)" >
                            <h3 class="eyebrow">Issues</h3>
                        <ul class="grid grid-cols-[repeat(auto-fill,minmax(min(100%,18rem),1fr))] gap-3">
                                                        <li class="min-w-0"  x-show="matches('create_issue')" >
                        <article data-tool="create_issue"
                            class="relative flex h-full flex-col gap-2 rounded-card border border-border bg-card p-4 shadow-xs transition-colors focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-nq-focus hover:bg-nq-hover">
                            <div class="flex items-start justify-between gap-2">
                                <h4 class="min-w-0 break-all font-mono text-label text-foreground">
                                    <button type="button" class="text-start outline-none after:absolute after:inset-0 after:content-['']" x-on:click="$dispatch('nq:pick', { id: $el.closest('[data-tool]').dataset.tool })"><bdi dir="ltr">create_issue</bdi></button>
                                </h4>
                                                            </div>
                            <p dir="auto" class="line-clamp-2 text-body-sm text-muted-foreground">Create an issue in a project.</p>
                            <div class="mt-auto flex flex-wrap items-center gap-1.5 pt-1">
                                <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border text-muted-foreground"><bdi dir="ltr" class="font-mono">issues:write</bdi></span>
                                <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-info/40 bg-nq-info-soft text-nq-info-text">Member</span>
                                                                    <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-warning/40 bg-nq-warning-soft text-nq-warning-text">Changes data</span>
                                                            </div>
                        </article>
                    </li>
                                                        <li class="min-w-0"  x-show="matches('list_issues')" >
                        <article data-tool="list_issues"
                            class="relative flex h-full flex-col gap-2 rounded-card border border-border bg-card p-4 shadow-xs transition-colors focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-nq-focus hover:bg-nq-hover">
                            <div class="flex items-start justify-between gap-2">
                                <h4 class="min-w-0 break-all font-mono text-label text-foreground">
                                    <button type="button" class="text-start outline-none after:absolute after:inset-0 after:content-['']" x-on:click="$dispatch('nq:pick', { id: $el.closest('[data-tool]').dataset.tool })"><bdi dir="ltr">list_issues</bdi></button>
                                </h4>
                                                            </div>
                            <p dir="auto" class="line-clamp-2 text-body-sm text-muted-foreground">List issues in a project.</p>
                            <div class="mt-auto flex flex-wrap items-center gap-1.5 pt-1">
                                <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border text-muted-foreground"><bdi dir="ltr" class="font-mono">issues:read</bdi></span>
                                <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-info/40 bg-nq-info-soft text-nq-info-text">Viewer</span>
                                                            </div>
                        </article>
                    </li>
                            </ul>
        </section>
            <section class="flex flex-col gap-2"  x-show="groupShown(1)" >
                            <h3 class="eyebrow">Projects</h3>
                        <ul class="grid grid-cols-[repeat(auto-fill,minmax(min(100%,18rem),1fr))] gap-3">
                                                        <li class="min-w-0"  x-show="matches('delete_project')" >
                        <article data-tool="delete_project"
                            class="relative flex h-full flex-col gap-2 rounded-card border border-border bg-card p-4 shadow-xs transition-colors focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-nq-focus hover:bg-nq-hover">
                            <div class="flex items-start justify-between gap-2">
                                <h4 class="min-w-0 break-all font-mono text-label text-foreground">
                                    <button type="button" class="text-start outline-none after:absolute after:inset-0 after:content-['']" x-on:click="$dispatch('nq:pick', { id: $el.closest('[data-tool]').dataset.tool })"><bdi dir="ltr">delete_project</bdi></button>
                                </h4>
                                                            </div>
                            <p dir="auto" class="line-clamp-2 text-body-sm text-muted-foreground">Delete a project and everything in it.</p>
                            <div class="mt-auto flex flex-wrap items-center gap-1.5 pt-1">
                                <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border text-muted-foreground"><bdi dir="ltr" class="font-mono">projects:admin</bdi></span>
                                <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-info/40 bg-nq-info-soft text-nq-info-text">Owner</span>
                                                                    <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-danger/40 bg-nq-danger-soft text-nq-danger-text">Destructive</span>
                                                            </div>
                        </article>
                    </li>
                            </ul>
        </section>
    </div>
        <div data-slot="empty-state" style="display: none;" x-show="empty" class="flex flex-col items-center justify-center gap-3 border border-dashed border-border px-6 py-12 text-center rounded-card">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <polyline points="22 12 16 12 14 15 10 15 8 12 2 12"/>
  <path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">No tools match</p>
                    <p class="text-body-sm text-muted-foreground">Try another word or clear the filters.</p>
            </div>
            <div class="mt-1 flex flex-wrap items-center justify-center gap-2"><button data-slot="button"
     type="button"                         x-on:click="clear()" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border-border bg-card text-foreground hover:bg-nq-hover h-control px-[var(--nq-control-pad)]">
        Clear filters</button></div>
    </div>
    </div>
    <div class="grid min-w-0 gap-6 lg:grid-cols-[18rem_minmax(0,1fr)]" x-show="referenceView" >
        <nav aria-label="Tools" class="flex min-w-0 flex-col gap-3 lg:self-start" x-bind:class="mobileList ? '' : 'max-lg:hidden'">
            <div data-slot="api-reference-filters" class="flex flex-col gap-3">
    <div class="relative">
        <svg aria-hidden="true" class="pointer-events-none absolute start-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m21 21-4.34-4.34"/>
  <circle cx="11" cy="11" r="8"/>
</svg>        <input data-slot="input" type="search"
                    x-model="query" placeholder="Search tools" aria-label="Search tools" class="w-full min-w-0 rounded-control border border-input bg-card px-3 text-body text-foreground min-h-[var(--nq-touch-min,0px)] transition-colors duration-150 ease-nq outline-none placeholder:text-muted-foreground focus-visible:border-nq-focus focus-visible:outline-1 focus-visible:outline-nq-focus data-invalid:border-nq-danger aria-invalid:border-nq-danger disabled:cursor-not-allowed disabled:opacity-50 pointer-coarse:text-[16px] h-control ps-8">
    </div>
            <div role="group" data-slot="chip-group" x-data="nqChipGroup('all')" x-modelable="value"
    x-model="categoryValue" aria-label="Tools" class="-mx-1 flex gap-1.5 overflow-x-auto px-1 pb-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden">
    <button data-slot="chip"
     type="button"                         data-value="all" data-selected="" aria-pressed="true" x-on:click="select($el.dataset.value)" x-bind:aria-pressed="String(value === $el.dataset.value)" x-bind:data-selected="value === $el.dataset.value ? &#039;&#039; : null" class="inline-flex select-none items-center justify-center gap-2 whitespace-nowrap border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover h-control-sm shrink-0 rounded-full px-3 text-muted-foreground">
        All</button>
                            <button data-slot="chip"
     type="button"                         data-value="Issues" aria-pressed="false" x-on:click="select($el.dataset.value)" x-bind:aria-pressed="String(value === $el.dataset.value)" x-bind:data-selected="value === $el.dataset.value ? &#039;&#039; : null" class="inline-flex select-none items-center justify-center gap-2 whitespace-nowrap border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover h-control-sm shrink-0 rounded-full px-3 text-muted-foreground">
        Issues</button>
                            <button data-slot="chip"
     type="button"                         data-value="Projects" aria-pressed="false" x-on:click="select($el.dataset.value)" x-bind:aria-pressed="String(value === $el.dataset.value)" x-bind:data-selected="value === $el.dataset.value ? &#039;&#039; : null" class="inline-flex select-none items-center justify-center gap-2 whitespace-nowrap border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover h-control-sm shrink-0 rounded-full px-3 text-muted-foreground">
        Projects</button>
</div>
        <div role="group" data-slot="toggle-group" data-variant="segmented" data-orientation="horizontal"
    x-data="nqToggleGroup(JSON.parse('[\u0022all\u0022]'), false)" x-modelable="value" x-bind="root"
            x-model="accessValue" aria-label="Access" class="flex w-fit max-w-full gap-0.5 rounded-control bg-secondary p-0.5 flex-wrap">
    <button type="button" data-slot="toggle" aria-pressed="true"
     x-bind="toggle('all')"      data-pressed         class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Any access</button>
                    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('read')"             data-level="read" x-bind:disabled="none($el.dataset.level)" x-bind:data-disabled="none($el.dataset.level) ? &#039;&#039; : null" class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Read only</button>
                    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('write')"             data-level="write" x-bind:disabled="none($el.dataset.level)" x-bind:data-disabled="none($el.dataset.level) ? &#039;&#039; : null" class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Changes data</button>
                    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('destructive')"             data-level="destructive" x-bind:disabled="none($el.dataset.level)" x-bind:data-disabled="none($el.dataset.level) ? &#039;&#039; : null" class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Destructive</button>
</div>
</div>
            <div data-slot="empty-state" style="display: none;" x-show="empty" class="flex flex-col items-center justify-center gap-3 border border-dashed border-border px-6 py-12 text-center rounded-card">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <polyline points="22 12 16 12 14 15 10 15 8 12 2 12"/>
  <path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">No tools match</p>
                    <p class="text-body-sm text-muted-foreground">Try another word or clear the filters.</p>
            </div>
            <div class="mt-1 flex flex-wrap items-center justify-center gap-2"><button data-slot="button"
     type="button"                         x-on:click="clear()" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border-border bg-card text-foreground hover:bg-nq-hover h-control px-[var(--nq-control-pad)]">
        Clear filters</button></div>
    </div>
            <div class="flex max-h-[calc(100vh-14rem)] min-h-40 flex-col gap-3 overflow-y-auto" x-show="! empty">
                                    <section class="flex flex-col gap-1" x-show="groupShown(0)">
                                                    <h3 class="eyebrow px-2">Issues</h3>
                                                <ul class="flex flex-col">
                                                            <li x-show="matches('create_issue')">
                                    <button type="button" data-tool-link="create_issue"
                                        x-on:click="pick('create_issue')" x-bind:aria-current="isOpen('create_issue') ? 'true' : null"
                                        class="flex w-full min-w-0 flex-col items-start gap-0.5 rounded-control px-2 py-1.5 text-start outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-nq-focus aria-[current=true]:bg-secondary">
                                        <bdi dir="ltr" class="max-w-full truncate font-mono text-code text-foreground">create_issue</bdi>
                                        <span dir="auto" class="line-clamp-1 max-w-full text-caption text-muted-foreground">Create an issue in a project.</span>
                                    </button>
                                </li>
                                                            <li x-show="matches('list_issues')">
                                    <button type="button" data-tool-link="list_issues"
                                        x-on:click="pick('list_issues')" x-bind:aria-current="isOpen('list_issues') ? 'true' : null"
                                        class="flex w-full min-w-0 flex-col items-start gap-0.5 rounded-control px-2 py-1.5 text-start outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-nq-focus aria-[current=true]:bg-secondary">
                                        <bdi dir="ltr" class="max-w-full truncate font-mono text-code text-foreground">list_issues</bdi>
                                        <span dir="auto" class="line-clamp-1 max-w-full text-caption text-muted-foreground">List issues in a project.</span>
                                    </button>
                                </li>
                                                    </ul>
                    </section>
                                    <section class="flex flex-col gap-1" x-show="groupShown(1)">
                                                    <h3 class="eyebrow px-2">Projects</h3>
                                                <ul class="flex flex-col">
                                                            <li x-show="matches('delete_project')">
                                    <button type="button" data-tool-link="delete_project"
                                        x-on:click="pick('delete_project')" x-bind:aria-current="isOpen('delete_project') ? 'true' : null"
                                        class="flex w-full min-w-0 flex-col items-start gap-0.5 rounded-control px-2 py-1.5 text-start outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-nq-focus aria-[current=true]:bg-secondary">
                                        <bdi dir="ltr" class="max-w-full truncate font-mono text-code text-foreground">delete_project</bdi>
                                        <span dir="auto" class="line-clamp-1 max-w-full text-caption text-muted-foreground">Delete a project and everything in it.</span>
                                    </button>
                                </li>
                                                    </ul>
                    </section>
                            </div>
        </nav>
        <div class="min-w-0" x-bind:class="mobileList ? 'max-lg:hidden' : ''">
            <button data-slot="button"
     type="button"                         x-on:click="mobileList = true" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover h-control-sm px-2.5 mb-3 lg:hidden">
        <svg aria-hidden="true" class="rtl:hidden" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m12 19-7-7 7-7"/>
  <path d="M19 12H5"/>
</svg>                <svg aria-hidden="true" class="hidden rtl:block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M5 12h14"/>
  <path d="m12 5 7 7-7 7"/>
</svg>                All tools</button>
                            <article data-slot="api-tool" data-tool="create_issue" x-show="isOpen($el.dataset.tool)" class="flex min-w-0 flex-col gap-5">
    <header class="flex flex-col gap-2">
        <div class="flex min-w-0 flex-wrap items-center gap-2">
            <h2 class="min-w-0 break-all font-mono text-h3 text-foreground"><bdi dir="ltr">create_issue</bdi></h2>
            <span class="contents" x-data="nqCopyButton('create_issue', 1500)">
    <button data-slot="copy-button"
     type="button"                         aria-label="Copy tool name" x-on:click="copy()" x-bind:data-copied="state === &#039;copied&#039; ? &#039;&#039; : null" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0 data-copied:text-nq-success-text">
        <svg aria-hidden="true" x-show="state !== 'copied'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="14" height="14" x="8" y="8" rx="2" ry="2"/>
  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>
</svg>        <svg aria-hidden="true" x-show="state === 'copied'" style="display: none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 6 9 17l-5-5"/>
</svg></button>
    <span data-slot="copy-button-status" role="status" aria-live="polite" class="sr-only"
        data-copied-label="Copied to clipboard" data-failed-label="Could not copy"
        x-text="state === 'copied' ? $el.dataset.copiedLabel : state === 'failed' ? $el.dataset.failedLabel : ''"></span>
</span>
                    </div>
        <p dir="auto" class="text-body text-foreground">Create an issue in a project.</p>
        <dl class="flex flex-wrap gap-x-6 gap-y-2 text-body-sm">
            <div class="flex items-center gap-2">
                <dt class="flex items-center gap-1 text-muted-foreground"><svg aria-hidden="true" class="size-3.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"/>
  <circle cx="16.5" cy="7.5" r=".5" fill="currentColor"/>
</svg>Scope</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border text-muted-foreground"><bdi dir="ltr" class="font-mono">issues:write</bdi></span>
</dd>
            </div>
            <div class="flex items-center gap-2">
                <dt class="flex items-center gap-1 text-muted-foreground"><svg aria-hidden="true" class="size-3.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>
  <path d="m9 12 2 2 4-4"/>
</svg>Minimum role</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-info/40 bg-nq-info-soft text-nq-info-text">Member</span>
</dd>
            </div>
            <div class="flex items-center gap-2">
                <dt class="text-muted-foreground">Access</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-warning/40 bg-nq-warning-soft text-nq-warning-text">Changes data</span>
</dd>
            </div>
                    </dl>
    </header>
    <section class="flex flex-col gap-2" aria-labelledby="create_issue-args">
        <h3 id="create_issue-args" class="text-label text-foreground">Arguments</h3>
                    <div data-slot="table-container" role="region" tabindex="0"  aria-label="Arguments"     class="relative w-full overflow-x-auto outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus">
    <table data-slot="table" data-density="default"
                  class="w-full caption-bottom border-collapse text-body-sm">
        <thead data-slot="table-header" class="[&_tr]:border-b [&_tr]:hover:bg-transparent [&_tr]:even:bg-transparent"><tr data-slot="table-row"     class="border-b border-border transition-colors duration-150 ease-nq hover:bg-nq-hover data-[state=selected]:bg-nq-selected"><th data-slot="table-head" scope="col" class="h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground px-4 py-3">Name</th>
                        <th data-slot="table-head" scope="col" class="h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground px-4 py-3">Type</th>
                        <th data-slot="table-head" scope="col" class="h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground px-4 py-3">Description</th></tr></thead>
                <tbody data-slot="table-body" class="[&_tr:last-child]:border-0"><tr data-slot="table-row"     class="border-b border-border transition-colors duration-150 ease-nq hover:bg-nq-hover data-[state=selected]:bg-nq-selected"><td data-slot="table-cell" class="h-row align-middle whitespace-nowrap px-4 py-3 align-top"><div class="flex flex-col items-start gap-1">
                                    <bdi dir="ltr" class="font-mono text-code text-foreground">title</bdi>
                                    <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-danger/40 bg-nq-danger-soft text-nq-danger-text">Required</span>
                                </div></td>
                            <td data-slot="table-cell" class="h-row align-middle whitespace-nowrap px-4 py-3 align-top"><bdi dir="ltr" class="font-mono text-code text-muted-foreground">string</bdi></td>
                            <td data-slot="table-cell" class="h-row align-middle px-4 py-3 min-w-56 align-top whitespace-normal"><p dir="auto" class="text-foreground">Short title.</p></td></tr></tbody>
    </table>
</div>
                    </section>
            <section class="flex flex-col gap-3" aria-labelledby="create_issue-ex">
            <h3 id="create_issue-ex" class="text-label text-foreground">Example</h3>
                            <div class="flex flex-col gap-2">
                                        <div class="grid min-w-0 gap-3 xl:grid-cols-2">
                        <figure data-slot="code-block" data-language="json" dir="ltr" x-data="nqCodeBlock(JSON.parse('{\u0022code\u0022:\u0022{ \\u0022title\\u0022: \\u0022Fix login\\u0022 }\u0022,\u0022language\u0022:\u0022json\u0022}'))" x-bind:data-highlighted="highlighted ? '' : null"
    class="group/code relative m-0 overflow-hidden rounded-surface border border-border bg-nq-surface-soft text-start [--shiki-foreground:var(--nq-fg)] [--shiki-background:transparent] [--shiki-token-comment:var(--nq-fg-muted)] [--shiki-token-keyword:var(--nq-accent-text)] [--shiki-token-string:var(--nq-success-text)] [--shiki-token-string-expression:var(--nq-success-text)] [--shiki-token-constant:var(--nq-warning-text)] [--shiki-token-function:var(--nq-info-text)] [--shiki-token-parameter:var(--nq-fg-body)] [--shiki-token-punctuation:var(--nq-fg-muted)] [--shiki-token-link:var(--nq-info-text)]">
            <figcaption data-slot="code-block-header" class="flex h-row items-center justify-between gap-2 border-b border-border ps-3 pe-1.5 font-mono text-caption text-muted-foreground">
            <span class="truncate">Call</span>
                            <span class="contents" x-data="nqCopyButton('{ \u0022title\u0022: \u0022Fix login\u0022 }', 1500)">
    <button data-slot="copy-button"
     type="button"                         aria-label="Copy code" x-on:click="copy()" x-bind:data-copied="state === &#039;copied&#039; ? &#039;&#039; : null" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0 data-copied:text-nq-success-text">
        <svg aria-hidden="true" x-show="state !== 'copied'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="14" height="14" x="8" y="8" rx="2" ry="2"/>
  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>
</svg>        <svg aria-hidden="true" x-show="state === 'copied'" style="display: none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 6 9 17l-5-5"/>
</svg></button>
    <span data-slot="copy-button-status" role="status" aria-live="polite" class="sr-only"
        data-copied-label="Code copied to clipboard" data-failed-label="Could not copy"
        x-text="state === 'copied' ? $el.dataset.copiedLabel : state === 'failed' ? $el.dataset.failedLabel : ''"></span>
</span>
                    </figcaption>
        <pre data-slot="code-block-pre" role="region" tabindex="0" aria-label="Call"
        class="m-0 overflow-auto bg-transparent py-3 font-mono text-code text-[var(--shiki-foreground)] outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus max-h-80"><code class="block w-max min-w-full"><span data-line="1"  class="flex min-h-[1lh] border-s-2 border-transparent pe-4 whitespace-pre ps-3"><span data-code-line>{ &quot;title&quot;: &quot;Fix login&quot; }</span></span></code></pre>
</figure>
                        <figure data-slot="code-block" data-language="json" dir="ltr" x-data="nqCodeBlock(JSON.parse('{\u0022code\u0022:\u0022{ \\u0022id\\u0022: \\u0022MH-1\\u0022 }\u0022,\u0022language\u0022:\u0022json\u0022}'))" x-bind:data-highlighted="highlighted ? '' : null"
    class="group/code relative m-0 overflow-hidden rounded-surface border border-border bg-nq-surface-soft text-start [--shiki-foreground:var(--nq-fg)] [--shiki-background:transparent] [--shiki-token-comment:var(--nq-fg-muted)] [--shiki-token-keyword:var(--nq-accent-text)] [--shiki-token-string:var(--nq-success-text)] [--shiki-token-string-expression:var(--nq-success-text)] [--shiki-token-constant:var(--nq-warning-text)] [--shiki-token-function:var(--nq-info-text)] [--shiki-token-parameter:var(--nq-fg-body)] [--shiki-token-punctuation:var(--nq-fg-muted)] [--shiki-token-link:var(--nq-info-text)]">
            <figcaption data-slot="code-block-header" class="flex h-row items-center justify-between gap-2 border-b border-border ps-3 pe-1.5 font-mono text-caption text-muted-foreground">
            <span class="truncate">Result</span>
                            <span class="contents" x-data="nqCopyButton('{ \u0022id\u0022: \u0022MH-1\u0022 }', 1500)">
    <button data-slot="copy-button"
     type="button"                         aria-label="Copy code" x-on:click="copy()" x-bind:data-copied="state === &#039;copied&#039; ? &#039;&#039; : null" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0 data-copied:text-nq-success-text">
        <svg aria-hidden="true" x-show="state !== 'copied'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="14" height="14" x="8" y="8" rx="2" ry="2"/>
  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>
</svg>        <svg aria-hidden="true" x-show="state === 'copied'" style="display: none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 6 9 17l-5-5"/>
</svg></button>
    <span data-slot="copy-button-status" role="status" aria-live="polite" class="sr-only"
        data-copied-label="Code copied to clipboard" data-failed-label="Could not copy"
        x-text="state === 'copied' ? $el.dataset.copiedLabel : state === 'failed' ? $el.dataset.failedLabel : ''"></span>
</span>
                    </figcaption>
        <pre data-slot="code-block-pre" role="region" tabindex="0" aria-label="Result"
        class="m-0 overflow-auto bg-transparent py-3 font-mono text-code text-[var(--shiki-foreground)] outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus max-h-80"><code class="block w-max min-w-full"><span data-line="1"  class="flex min-h-[1lh] border-s-2 border-transparent pe-4 whitespace-pre ps-3"><span data-code-line>{ &quot;id&quot;: &quot;MH-1&quot; }</span></span></code></pre>
</figure>
                    </div>
                </div>
                    </section>
    </article>
                            <article data-slot="api-tool" data-tool="list_issues" x-show="isOpen($el.dataset.tool)" style="display: none" class="flex min-w-0 flex-col gap-5">
    <header class="flex flex-col gap-2">
        <div class="flex min-w-0 flex-wrap items-center gap-2">
            <h2 class="min-w-0 break-all font-mono text-h3 text-foreground"><bdi dir="ltr">list_issues</bdi></h2>
            <span class="contents" x-data="nqCopyButton('list_issues', 1500)">
    <button data-slot="copy-button"
     type="button"                         aria-label="Copy tool name" x-on:click="copy()" x-bind:data-copied="state === &#039;copied&#039; ? &#039;&#039; : null" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0 data-copied:text-nq-success-text">
        <svg aria-hidden="true" x-show="state !== 'copied'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="14" height="14" x="8" y="8" rx="2" ry="2"/>
  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>
</svg>        <svg aria-hidden="true" x-show="state === 'copied'" style="display: none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 6 9 17l-5-5"/>
</svg></button>
    <span data-slot="copy-button-status" role="status" aria-live="polite" class="sr-only"
        data-copied-label="Copied to clipboard" data-failed-label="Could not copy"
        x-text="state === 'copied' ? $el.dataset.copiedLabel : state === 'failed' ? $el.dataset.failedLabel : ''"></span>
</span>
                    </div>
        <p dir="auto" class="text-body text-foreground">List issues in a project.</p>
        <dl class="flex flex-wrap gap-x-6 gap-y-2 text-body-sm">
            <div class="flex items-center gap-2">
                <dt class="flex items-center gap-1 text-muted-foreground"><svg aria-hidden="true" class="size-3.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"/>
  <circle cx="16.5" cy="7.5" r=".5" fill="currentColor"/>
</svg>Scope</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border text-muted-foreground"><bdi dir="ltr" class="font-mono">issues:read</bdi></span>
</dd>
            </div>
            <div class="flex items-center gap-2">
                <dt class="flex items-center gap-1 text-muted-foreground"><svg aria-hidden="true" class="size-3.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>
  <path d="m9 12 2 2 4-4"/>
</svg>Minimum role</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-info/40 bg-nq-info-soft text-nq-info-text">Viewer</span>
</dd>
            </div>
            <div class="flex items-center gap-2">
                <dt class="text-muted-foreground">Access</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border bg-secondary text-foreground">Read only</span>
</dd>
            </div>
                    </dl>
    </header>
    <section class="flex flex-col gap-2" aria-labelledby="list_issues-args">
        <h3 id="list_issues-args" class="text-label text-foreground">Arguments</h3>
                    <div data-slot="table-container" role="region" tabindex="0"  aria-label="Arguments"     class="relative w-full overflow-x-auto outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus">
    <table data-slot="table" data-density="default"
                  class="w-full caption-bottom border-collapse text-body-sm">
        <thead data-slot="table-header" class="[&_tr]:border-b [&_tr]:hover:bg-transparent [&_tr]:even:bg-transparent"><tr data-slot="table-row"     class="border-b border-border transition-colors duration-150 ease-nq hover:bg-nq-hover data-[state=selected]:bg-nq-selected"><th data-slot="table-head" scope="col" class="h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground px-4 py-3">Name</th>
                        <th data-slot="table-head" scope="col" class="h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground px-4 py-3">Type</th>
                        <th data-slot="table-head" scope="col" class="h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground px-4 py-3">Description</th></tr></thead>
                <tbody data-slot="table-body" class="[&_tr:last-child]:border-0"><tr data-slot="table-row"     class="border-b border-border transition-colors duration-150 ease-nq hover:bg-nq-hover data-[state=selected]:bg-nq-selected"><td data-slot="table-cell" class="h-row align-middle whitespace-nowrap px-4 py-3 align-top"><div class="flex flex-col items-start gap-1">
                                    <bdi dir="ltr" class="font-mono text-code text-foreground">limit</bdi>
                                    <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border bg-secondary text-foreground">Optional</span>
                                </div></td>
                            <td data-slot="table-cell" class="h-row align-middle whitespace-nowrap px-4 py-3 align-top"><bdi dir="ltr" class="font-mono text-code text-muted-foreground">integer</bdi></td>
                            <td data-slot="table-cell" class="h-row align-middle px-4 py-3 min-w-56 align-top whitespace-normal"><p dir="auto" class="text-foreground">How many to return.</p>
                                                                                                    <p class="mt-1 text-caption text-muted-foreground">Default: <bdi dir="ltr" class="font-mono text-code text-foreground">20</bdi></p></td></tr></tbody>
    </table>
</div>
                    </section>
            <section class="flex flex-col gap-3" aria-labelledby="list_issues-ex">
            <h3 id="list_issues-ex" class="text-label text-foreground">Example</h3>
                            <div class="flex flex-col gap-2">
                                        <div class="grid min-w-0 gap-3 xl:grid-cols-2">
                        <figure data-slot="code-block" data-language="json" dir="ltr" x-data="nqCodeBlock(JSON.parse('{\u0022code\u0022:\u0022{ \\u0022limit\\u0022: 2 }\u0022,\u0022language\u0022:\u0022json\u0022}'))" x-bind:data-highlighted="highlighted ? '' : null"
    class="group/code relative m-0 overflow-hidden rounded-surface border border-border bg-nq-surface-soft text-start [--shiki-foreground:var(--nq-fg)] [--shiki-background:transparent] [--shiki-token-comment:var(--nq-fg-muted)] [--shiki-token-keyword:var(--nq-accent-text)] [--shiki-token-string:var(--nq-success-text)] [--shiki-token-string-expression:var(--nq-success-text)] [--shiki-token-constant:var(--nq-warning-text)] [--shiki-token-function:var(--nq-info-text)] [--shiki-token-parameter:var(--nq-fg-body)] [--shiki-token-punctuation:var(--nq-fg-muted)] [--shiki-token-link:var(--nq-info-text)]">
            <figcaption data-slot="code-block-header" class="flex h-row items-center justify-between gap-2 border-b border-border ps-3 pe-1.5 font-mono text-caption text-muted-foreground">
            <span class="truncate">Call</span>
                            <span class="contents" x-data="nqCopyButton('{ \u0022limit\u0022: 2 }', 1500)">
    <button data-slot="copy-button"
     type="button"                         aria-label="Copy code" x-on:click="copy()" x-bind:data-copied="state === &#039;copied&#039; ? &#039;&#039; : null" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0 data-copied:text-nq-success-text">
        <svg aria-hidden="true" x-show="state !== 'copied'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="14" height="14" x="8" y="8" rx="2" ry="2"/>
  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>
</svg>        <svg aria-hidden="true" x-show="state === 'copied'" style="display: none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 6 9 17l-5-5"/>
</svg></button>
    <span data-slot="copy-button-status" role="status" aria-live="polite" class="sr-only"
        data-copied-label="Code copied to clipboard" data-failed-label="Could not copy"
        x-text="state === 'copied' ? $el.dataset.copiedLabel : state === 'failed' ? $el.dataset.failedLabel : ''"></span>
</span>
                    </figcaption>
        <pre data-slot="code-block-pre" role="region" tabindex="0" aria-label="Call"
        class="m-0 overflow-auto bg-transparent py-3 font-mono text-code text-[var(--shiki-foreground)] outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus max-h-80"><code class="block w-max min-w-full"><span data-line="1"  class="flex min-h-[1lh] border-s-2 border-transparent pe-4 whitespace-pre ps-3"><span data-code-line>{ &quot;limit&quot;: 2 }</span></span></code></pre>
</figure>
                        <figure data-slot="code-block" data-language="json" dir="ltr" x-data="nqCodeBlock(JSON.parse('{\u0022code\u0022:\u0022{ \\u0022items\\u0022: [] }\u0022,\u0022language\u0022:\u0022json\u0022}'))" x-bind:data-highlighted="highlighted ? '' : null"
    class="group/code relative m-0 overflow-hidden rounded-surface border border-border bg-nq-surface-soft text-start [--shiki-foreground:var(--nq-fg)] [--shiki-background:transparent] [--shiki-token-comment:var(--nq-fg-muted)] [--shiki-token-keyword:var(--nq-accent-text)] [--shiki-token-string:var(--nq-success-text)] [--shiki-token-string-expression:var(--nq-success-text)] [--shiki-token-constant:var(--nq-warning-text)] [--shiki-token-function:var(--nq-info-text)] [--shiki-token-parameter:var(--nq-fg-body)] [--shiki-token-punctuation:var(--nq-fg-muted)] [--shiki-token-link:var(--nq-info-text)]">
            <figcaption data-slot="code-block-header" class="flex h-row items-center justify-between gap-2 border-b border-border ps-3 pe-1.5 font-mono text-caption text-muted-foreground">
            <span class="truncate">Result</span>
                            <span class="contents" x-data="nqCopyButton('{ \u0022items\u0022: [] }', 1500)">
    <button data-slot="copy-button"
     type="button"                         aria-label="Copy code" x-on:click="copy()" x-bind:data-copied="state === &#039;copied&#039; ? &#039;&#039; : null" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0 data-copied:text-nq-success-text">
        <svg aria-hidden="true" x-show="state !== 'copied'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="14" height="14" x="8" y="8" rx="2" ry="2"/>
  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>
</svg>        <svg aria-hidden="true" x-show="state === 'copied'" style="display: none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 6 9 17l-5-5"/>
</svg></button>
    <span data-slot="copy-button-status" role="status" aria-live="polite" class="sr-only"
        data-copied-label="Code copied to clipboard" data-failed-label="Could not copy"
        x-text="state === 'copied' ? $el.dataset.copiedLabel : state === 'failed' ? $el.dataset.failedLabel : ''"></span>
</span>
                    </figcaption>
        <pre data-slot="code-block-pre" role="region" tabindex="0" aria-label="Result"
        class="m-0 overflow-auto bg-transparent py-3 font-mono text-code text-[var(--shiki-foreground)] outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus max-h-80"><code class="block w-max min-w-full"><span data-line="1"  class="flex min-h-[1lh] border-s-2 border-transparent pe-4 whitespace-pre ps-3"><span data-code-line>{ &quot;items&quot;: [] }</span></span></code></pre>
</figure>
                    </div>
                </div>
                    </section>
    </article>
                            <article data-slot="api-tool" data-tool="delete_project" x-show="isOpen($el.dataset.tool)" style="display: none" class="flex min-w-0 flex-col gap-5">
    <header class="flex flex-col gap-2">
        <div class="flex min-w-0 flex-wrap items-center gap-2">
            <h2 class="min-w-0 break-all font-mono text-h3 text-foreground"><bdi dir="ltr">delete_project</bdi></h2>
            <span class="contents" x-data="nqCopyButton('delete_project', 1500)">
    <button data-slot="copy-button"
     type="button"                         aria-label="Copy tool name" x-on:click="copy()" x-bind:data-copied="state === &#039;copied&#039; ? &#039;&#039; : null" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0 data-copied:text-nq-success-text">
        <svg aria-hidden="true" x-show="state !== 'copied'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <rect width="14" height="14" x="8" y="8" rx="2" ry="2"/>
  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>
</svg>        <svg aria-hidden="true" x-show="state === 'copied'" style="display: none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 6 9 17l-5-5"/>
</svg></button>
    <span data-slot="copy-button-status" role="status" aria-live="polite" class="sr-only"
        data-copied-label="Copied to clipboard" data-failed-label="Could not copy"
        x-text="state === 'copied' ? $el.dataset.copiedLabel : state === 'failed' ? $el.dataset.failedLabel : ''"></span>
</span>
                    </div>
        <p dir="auto" class="text-body text-foreground">Delete a project and everything in it.</p>
        <dl class="flex flex-wrap gap-x-6 gap-y-2 text-body-sm">
            <div class="flex items-center gap-2">
                <dt class="flex items-center gap-1 text-muted-foreground"><svg aria-hidden="true" class="size-3.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"/>
  <circle cx="16.5" cy="7.5" r=".5" fill="currentColor"/>
</svg>Scope</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-border text-muted-foreground"><bdi dir="ltr" class="font-mono">projects:admin</bdi></span>
</dd>
            </div>
            <div class="flex items-center gap-2">
                <dt class="flex items-center gap-1 text-muted-foreground"><svg aria-hidden="true" class="size-3.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>
  <path d="m9 12 2 2 4-4"/>
</svg>Minimum role</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-info/40 bg-nq-info-soft text-nq-info-text">Owner</span>
</dd>
            </div>
            <div class="flex items-center gap-2">
                <dt class="text-muted-foreground">Access</dt>
                <dd><span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-danger/40 bg-nq-danger-soft text-nq-danger-text">Destructive</span>
</dd>
            </div>
                    </dl>
    </header>
    <section class="flex flex-col gap-2" aria-labelledby="delete_project-args">
        <h3 id="delete_project-args" class="text-label text-foreground">Arguments</h3>
                    <p class="text-body-sm text-muted-foreground">This tool takes no arguments.</p>
                    </section>
    </article>
                    </div>
    </div>
</div>
```
