@chativa/vue

Chativa Vue 3 — typed Vue components (ChatIva, ChatBotButton, GenUIMessage), a ChativaPlugin and composables wrapping the Chativa chat widget for Vue 3 / Nuxt 3 apps.
426 3
Install
npm install @chativa/vue
Latest Version:0.18.0
Vue:3
License:MIT
Last Updated:Oct 15, 2026
Links: GitHub  ·  npm
Maintainer: aimtune

Chativa

License: MIT TypeScript LitElement Vitest Coverage

Chativa is an open-source, framework-agnostic chat widget built on Web Components. Drop one <script> tag into any page — React, Vue, Angular, plain HTML — and you have a fully functional, themeable chat interface. Connect to any backend via pluggable connectors, render rich message types, stream Generative UI inline, and extend the pipeline with middleware.

Chativa chat widget

Docs: https://chativa.aimtune.dev · Live demo: https://chativa.aimtune.dev/sandbox/

Quick start

<script src="https://cdn.jsdelivr.net/npm/@chativa/ui/dist/chativa.global.js"></script>

<chat-bot-button></chat-bot-button>
<chat-iva></chat-iva>

That's it — the default dummy connector echoes whatever you type. Wire to your backend:

import { ConnectorRegistry, chatStore } from "@chativa/core";
import { DirectLineConnector } from "@chativa/connector-directline";

ConnectorRegistry.register(new DirectLineConnector({ token: "YOUR_TOKEN" }));
chatStore.getState().setConnector("directline");

Or set everything declaratively before the script tag:

<script>
  window.chativaSettings = {
    connector: "directline",
    theme: { colors: { primary: "#1B1464" }, windowMode: "popup" },
    locale: "tr",
  };
</script>

Full guide → docs/getting-started.md.

What's in the box

Capability Details
Pluggable connectors Dummy, WebSocket, SignalR, DirectLine, Mekik, Converger, SSE, HTTP — or write your own.
Rich messages text, image, card, buttons, quick-reply, carousel, file, video — register custom types.
Generative UI Stream LitElement components inline — forms, charts, tables, your own widgets.
Extensions Middleware lifecycle for analytics, transformers, and slash commands.
Themable CSS variables + JSON config + fluent builder. Four window modes.
i18n 20 languages out of the box (incl. pt-BR, zh-CN/zh-TW, ar, he); extend at runtime.
End-of-conversation survey Star rating + comment, connector-routed.
Message actions Copy (incl. code blocks), regenerate, edit-and-resend — shown when the connector and its server support them — plus custom actions.
Multi-conversation Agent-panel mode for helpdesk scenarios.

Documentation

Getting started 5-minute embed walkthrough
Vue 3 @chativa/vue — typed components, plugin, composables, Nuxt/SSR
Angular @chativa/angular — standalone components, NgModule, ChativaService
Svelte & SvelteKit @chativa/svelte components, stores and SSR-safe setup
Architecture Hexagonal layers, dependency rules, request flow
Configuration ChativaSettings and ThemeConfig reference
Theming Colors, layout, window modes, custom launchers
Connectors Capability matrix + per-connector pages
Message types Built-ins + custom renderers
Generative UI Streaming protocol, built-in components, custom widgets
Recipes Copy-paste React, Vue, WordPress and DirectLine token-endpoint setups
Extensions Middleware lifecycle
EventBus Every analytics event — payload and when it fires
Slash commands Built-ins + registering your own
Survey End-of-conversation flow
Message actions Copy, regenerate, edit, custom actions
Multi-conversation Agent-panel mode
i18n Localisation
Sandbox The hosted playground
Chrome extension Theme-preview extension for any website
Vue 2 / Nuxt 2 @chativa/vue2 wrapper for legacy Vue 2.7 apps (maintenance mode)
Testing & coverage Running tests, coverage thresholds, CI enforcement
JSON Schemas Editor-friendly contracts for every JSON-serialisable shape

Repository layout

packages/
  core/                  @chativa/core            Domain + Application layers
  ui/                    @chativa/ui              LitElement chat widget
  genui/                 @chativa/genui           Generative UI streaming
  connector-dummy/       @chativa/connector-dummy
  connector-websocket/   @chativa/connector-websocket
  connector-signalr/     @chativa/connector-signalr
  connector-directline/  @chativa/connector-directline
  connector-mekik/      @chativa/connector-mekik
  connector-converger/   @chativa/connector-converger  Converger hub (extends connector-mekik)
  connector-sse/         @chativa/connector-sse
  connector-http/        @chativa/connector-http
  react/                 @chativa/react           React / Next.js wrapper
  svelte/                @chativa/svelte          Svelte 5 / SvelteKit wrapper
  rn-webview/            @chativa/rn-webview      React Native WebView bridge
  vue/                   @chativa/vue             Vue 3 / Nuxt 3 wrapper
  vue2/                  @chativa/vue2            Vue 2.7 / Nuxt 2 wrapper (maintenance mode)
  angular/               @chativa/angular         Angular wrapper components (ng-packagr)

apps/
  sandbox/               Live demo (https://chativa.aimtune.dev/sandbox/)
  chrome-extension/      Theme-preview Chrome extension

docs/                    Documentation hub (you are here)
schemas/                 JSON Schemas for every JSON-serialisable contract

Development

pnpm install          # install everything
pnpm dev              # serve the sandbox at http://localhost:5173
pnpm build            # build all packages
pnpm test             # run all tests
pnpm test:coverage    # all tests with coverage; fails below per-package thresholds
pnpm --filter @chativa/ui test:coverage   # coverage for the UI components only
pnpm typecheck        # strict type-check across the workspace

Coverage thresholds, reports and what CI enforces are described in Testing & coverage.

The schema-drift test (packages/core/src/domain/value-objects/__tests__/schema-drift.test.ts) guards the contract between schemas/theme.schema.json and the ThemeConfig TypeScript type. Add a field to one without the other and CI fails. See AGENTS.md → Schema sync.

Contributing

Conventions, architecture rules, and PR checklists are in AGENTS.md. Open an issue first for big changes.

License

MIT — © Hamza Agar

Related Packages

@chativa/vue2

Chativa Vue 2 — Vue 2.7 / Nuxt 2 wrapper components (ChatIva, ChatBotButton, Gen...

514 3
useyuva

Yuva for the web: a headless client for contacts, the element, documentation pag...

2,609 25
@codori/client

Codori Nuxt dashboard for project browsing, Codex chat, and thread resume.

8,205 3
@assistant-ui/vue

Vue bindings for assistant-ui

1,101 12,692
@system76/js-api

JavaScript fetch wrapper for Elixir Phoenix APIs

1,036 5

Version History

Version Released Vue License
0.18.0 ^3.3.0 MIT
0.17.0 ^3.3.0 MIT
0.9.0 ^3.3.0 MIT