Skip to main content

Introduction

The Akapulu Web SDK is a package family for building browser and server integrations on top of Akapulu. It is split into these public packages:
  • @akapulu/server
  • @akapulu/react
  • @akapulu/react-ui

Package structure

PackagePurposeRuntime
@akapulu/serverServer-side client for calling Akapulu APIsServer
@akapulu/reactReact provider, hooks, media controls, and event subscriptionsReact app
@akapulu/react-uiPrebuilt React conversation UI on top of @akapulu/reactReact app

How the packages relate

  1. Your frontend calls your own local connect and updates routes.
  2. Your local server routes call Akapulu with @akapulu/server.
  3. Your React frontend uses @akapulu/react to manage session state and media.
  4. If you want prebuilt UI, @akapulu/react-ui renders on top of @akapulu/react.
  5. Shared event and transcript models are handled internally across the SDK packages.
In this setup:
  • @akapulu/server handles API calls and keeps your API key on the server
  • @akapulu/react handles session state, event subscriptions, and media controls
  • @akapulu/react-ui is optional and gives you a higher-level conversation UI

Explore the packages

Choose the package that matches the layer you are working on:

Guides and examples

Reference implementations and implementation guides:
  • Pre-built UI Uses @akapulu/react-ui with Default and Styled pages so you can compare the baseline prebuilt UI and a styled variant side by side.
  • Custom UI Uses @akapulu/react only and renders the conversation UI manually.
  • Customize Conversation UI