Tiny, framework-agnostic loader for the Warpy embeddable widget.
This package does not bundle the widget UI. It simply injects the Warpy widget <script> (widget.js) and passes configuration via data-* attributes.
npm i @warpy-ai/widget
# or
pnpm add @warpy-ai/widget
# or
yarn add @warpy-ai/widgetimport { mountWidget } from "@warpy-ai/widget"
const widget = mountWidget({
agentId: "YOUR_AGENT_UUID",
baseUrl: "https://YOUR_DASHBOARD_BASE_URL/",
scriptSrc: "https://cdn.warpy.ai/widget.js"
})
// later
widget.unmount()import { Widget } from "@warpy-ai/widget/react"
export function App() {
return (
<Widget
agentId="YOUR_AGENT_UUID"
baseUrl="https://YOUR_DASHBOARD_BASE_URL/"
scriptSrc="https://cdn.warpy.ai/widget.js"
/>
)
}<script setup lang="ts">
import { Widget } from "@warpy-ai/widget/vue"
</script>
<template>
<Widget
agentId="YOUR_AGENT_UUID"
baseUrl="https://YOUR_DASHBOARD_BASE_URL/"
scriptSrc="https://cdn.warpy.ai/widget.js"
/>
</template><script>
import Widget from "@warpy-ai/widget/svelte"
</script>
<Widget
agentId="YOUR_AGENT_UUID"
baseUrl="https://YOUR_DASHBOARD_BASE_URL/"
scriptSrc="https://cdn.warpy.ai/widget.js"
/><script
src="https://cdn.warpy.ai/widget.js"
data-agent-id="YOUR_AGENT_UUID"
data-base-url="https://YOUR_DASHBOARD_BASE_URL/"
></script>options:
agentId(required): Warpy agent UUIDbaseUrl(required): your dashboard base URL (used by the widget for tool calls)scriptSrc(required): URL towidget.js(e.g.https://cdn.warpy.ai/widget.js)containerId(optional): DOM id for the injected widget container
Returns:
{ unmount() }: removes the injected container + script
MIT