@smartfront/vue
| Install | |
|---|---|
npm install @smartfront/vue |
|
| Latest Version: | 0.2.2 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 16, 2026 |
| Links: | npm |
@smartfront/vue
Vue 3.5+ plugin and headless chat composables. Supports reactive state and Pinia through selected current-state getters.
Build your own design with useSmartChat(): a reactive state ref, typed subscribeEvents() and bound send/cancel/confirm/form/context handlers. SmartChat is only an unstyled textarea, with v-model, native attributes/classes/styles and send/event emissions. The complete interface is an explicit SmartChatPanel opt-in, used below. Custom UI and input examples.
Recommended: app.use(Smartfront, defineSmartfront({ endpoint, modules })) with modules declared in new integration files. Install Pinia first. A module factory runs within the app's injection context, so resolve useStore() or Vue inject() there instead of at import time. Getters read selected current state; cleanup runs on app unmount. Modules, Pinia factories and SSR. Component-local composables remain supported below.
import { createApp } from 'vue';
import { Smartfront } from '@smartfront/vue';
createApp(App).use(Smartfront, { endpoint: '/v1/chat', persist: 'local' }).mount('#app');
<script setup lang="ts">
import { ref } from 'vue';
import { SmartChatPanel, useSmartContext, useSmartOperation } from '@smartfront/vue';
const count = ref(0);
useSmartContext('counter', () => ({ count: count.value }));
useSmartOperation('increment', ({ amount }) => { count.value += amount; }, {
description: 'Increase counter', params: { amount: { type: 'integer' } },
});
</script>
<template><SmartChatPanel voice /></template>
Subscriptions/registrations clean up on scope disposal. The plugin disposes owned clients on app unmount; { client } stays caller-owned. Create an app/client per SSR request. State composables return shallow refs. Standalone chats accept an endpoint. Core confirmations, voice and validation are shared with the other adapters.
Use <SmartChatPanel :showDebug="true" /> with backend diagnostics enabled (SMARTFRONT_DEBUG=true in the example backend). Click the diagnostic controls under replies or operation chips to inspect Router · Jev, LLM and Response tabs, each conversation round, message history, retries and full requests/responses. Sections expand and copy individually. suggestions overrides starter prompts; by default the chat uses registered operation examples.
Workspace build/test: npm run build -w @smartfront/vue, npm run test -w @smartfront/vue after building core/UI.
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.2.2 | ^3.5.0 | MIT | |
| 0.2.1 | ^3.5.0 | MIT | |
| 0.2.0 | ^3.5.0 | MIT |
Pre-releases (1)
| Version | Released | License |
|---|---|---|
| 0.0.0-stage |