Widget test page

Build the bundle first (npm run build:widget -> dist/widget.js), replace app_replace_me below with your clone's app id, and serve this folder over http (for example npx serve .). The launcher should appear in the bottom-right corner.

The widget needs no server-side signing. It mints an anonymous visitor token (stored in localStorage on this origin), sends it as visitor_token to api.butterbase.ai/v1/<app_id>/fn/widget-*, and opens a ticket when you send a message. With a real app id the ticket shows up in your console inbox. Identity is client-supplied via window.ButterSupport.identify() (not signature-verified).

Console helpers: ButterSupport.open(), .close(), .toggle(), .reset().