npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@quandis/qbo4.ai

v4.0.1-CI-20260525-194551

Published

Lit web components for the [qbo4.AI](https://github.com/quandis/qbo4.AI) conversational AI platform. Provides a streaming chat interface, agent selector, and admin UI for managing AI agents — all backed by the `qbo4.AI` ASP.NET Core REST API.

Readme

@quandis/qbo4.ai

Lit web components for the qbo4.AI conversational AI platform. Provides a streaming chat interface, agent selector, and admin UI for managing AI agents — all backed by the qbo4.AI ASP.NET Core REST API.

Installation

npm install @quandis/qbo4.ai

Quick start

Wrap your components in <qbo-config> once to set the API base URL, then use the components anywhere inside it:

<script type="module" src="node_modules/@quandis/qbo4.ai/wwwroot/js/qbo4.ai.min.js"></script>

<qbo-config api-base="/ai">
  <qbo-agent id="picker"></qbo-agent>
  <qbo-chat id="chat"></qbo-chat>
</qbo-config>

<script type="module">
  document.getElementById('picker')
    .addEventListener('agent-selected', e => {
      document.getElementById('chat').agent = e.detail.name;
    });
</script>

TypeScript / bundler usage

import { QboConfig, QboAgent, QboChat, QboAiAgentManager } from '@quandis/qbo4.ai';

All components self-register their custom elements on import. Types and declaration files are included.

Components

<qbo-config>

Context provider. Wrap your component tree once; all descendant components receive the configuration automatically via Lit Context.

| Attribute | Type | Description | |------------|----------|--------------------------------------------------| | api-base | string | Base URL for the AI REST API (e.g. /ai) |

<qbo-config api-base="/ai">
  <!-- components go here -->
</qbo-config>

<qbo-agent>

Fetches the list of registered agents from the API and renders a <select>. Fires agent-selected when the user picks one.

| Attribute | Type | Description | |------------|----------|----------------------------------------------------| | api-base | string | Override API endpoint (defaults to context + /agent) |

| Event | Detail | Description | |------------------|---------------------|------------------------------------| | agent-selected | { name: string } | Fired when the user selects an agent |

<qbo-agent id="picker"></qbo-agent>
<script type="module">
  document.getElementById('picker')
    .addEventListener('agent-selected', e => console.log(e.detail.name));
</script>

<qbo-chat>

Streaming chat backed by POST /ai/agent/{name}/chat. Renders user and assistant messages with Markdown and syntax highlighting. Includes a collapsible conversation history panel backed by localStorage.

| Attribute | Type | Description | |------------|-----------|------------------------------------------------------| | agent | string | Name of the agent to chat with | | api-base | string | Override API endpoint | | mermaid | boolean | Enable Mermaid diagram rendering (loaded on demand) |

<qbo-chat agent="my-agent" mermaid></qbo-chat>

Connect it to <qbo-agent>:

document.getElementById('picker')
  .addEventListener('agent-selected', e => {
    document.getElementById('chat').agent = e.detail.name;
  });

<qbo-ai-agent-manager>

Full CRUD admin UI for managing agents, system instructions, tool functions, API keys, and corpus documents. Intended for admin/configuration pages.

| Attribute | Type | Description | |------------|----------|-----------------------| | api-base | string | Override API endpoint |

Supports Anthropic, Google, and OpenAI providers with per-provider model suggestions.

<qbo-config api-base="/ai">
  <qbo-ai-agent-manager></qbo-ai-agent-manager>
</qbo-config>

<qbo-ai-agent-documents>

Corpus document manager for a single agent. Renders a file list with upload drop zone and delete controls. Used internally by <qbo-ai-agent-manager>.

| Attribute | Type | Description | |-------------|----------|--------------------------| | agent-id | number | ID of the target agent | | api-base | string | Override API endpoint |

| Event | Detail | |---------------------|----------------------------------| | document-uploaded | { doc: ICorpusDocumentInfo } | | document-deleted | { documentName: string } |

API requirements

Components expect the following endpoints, served by the qbo4.AI.Web ASP.NET package:

| Method | Path | Used by | |--------|------------------------------------|----------------------------------| | GET | {api-base}/agent | <qbo-agent>, <qbo-ai-agent-manager> | | POST | {api-base}/agent/{name}/chat | <qbo-chat> (SSE streaming) | | GET | {api-base}/agent/{id} | <qbo-ai-agent-manager> | | POST | {api-base}/agent | <qbo-ai-agent-manager> | | PUT | {api-base}/agent/{id} | <qbo-ai-agent-manager> | | DELETE | {api-base}/agent/{id} | <qbo-ai-agent-manager> | | GET | {api-base}/agent/{id}/documents | <qbo-ai-agent-documents> | | POST | {api-base}/agent/{id}/documents | <qbo-ai-agent-documents> | | DELETE | {api-base}/agent/{id}/documents/{name} | <qbo-ai-agent-documents> |

License

MIT — © Quandis, Inc.