@auth0/ai-cloudflare
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

[!WARNING] Auth0 AI is currently under heavy development. We strictly follow Semantic Versioning (SemVer), meaning all breaking changes will only occur in major versions. However, please note that during this early phase, major versions may be released frequently as the API evolves. We recommend locking versions when using this in production.

This package contains helper methods for the Cloudflare Agents SDK.

Please note that most examples for Cloudflare Agents use the Vercel AI SDK.

We will provide a full sample and template to get started with Cloudflare Agents.

Installation

npm i @auth0/ai-cloudflare @auth0/ai-vercel @auth0/ai

Interrupt handling in react

This module provides a custom React hook useAgentChatInterruptions that extends the functionality of the useAgentChat hook from the "agent/ai-react" module. It allows you to handle tool interruptions in your agent chat.

Replace useAgentChat with useAgentChatInterruptions in your code to get access to toolInterrupt.

  const {
    messages: agentMessages,
    input: agentInput,
    handleInputChange: handleAgentInputChange,
    handleSubmit: handleAgentSubmit,
    addToolResult,
    clearHistory,
    toolInterrupt,
  } = useAgentChatInterruptions({
    agent,
    maxSteps: 5,
    id: threadID,
  });

Async User Confirmation resumer

This module provides the AsyncUserConfirmationResumer mixin that can extend AIChatAgent to handle user confirmations asynchronously.

This work with the withAsyncUserConfirmation authorizer and allow the agent to continue processing after the user has confirmed the action.

import { AsyncUserConfirmationResumer } from '@auth0/ai-cloudflare';

export class Chat extends AsyncUserConfirmationResumer(AIChatAgent) {
 // Your agent implementation
}

Then when defining the authorizer:

export const withAsyncUserConfirmation = auth0AI.withAsyncUserConfirmation({
  // The authorizer configuration
  onAuthorizationInterrupt: async (interrupt, context) => {
    const { agent } = getCurrentAgent<Chat>();
    agent?.schedulePoller({ interrupt, context });
  },
});

CloudflareKVStore

This module provides CloudflareKVStore. An implementation of auth0-ai Store interface that uses Cloudflare Workers KV to store and retrieve data.

import { CloudflareKVStore } from '@auth0/ai-cloudflare';
const kvStore = new CloudflareKVStore({
  namespace: env.Auth0AINamespace, // The KV namespace to use
});

Feedback

Contributing

We appreciate feedback and contribution to this repo! Before you get started, please see the following:

Raise an issue

To provide feedback or report a bug, please raise an issue on our issue tracker.

Vulnerability Reporting

Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.


Auth0 Logo

Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?

This project is licensed under the Apache 2.0 license. See the LICENSE file for more info.

Readme

Keywords

none

Package Sidebar

Install

npm i @auth0/ai-cloudflare

Weekly Downloads

34

Version

1.1.2

License

Apache-2.0

Unpacked Size

38 kB

Total Files

15

Last publish

Collaborators

  • auth0-oss
  • ziluvatar
  • iaco
  • pubalokta
  • auth0npm
  • auth0brokkr
  • hzalaz
  • aaguiarz
  • charlesrea
  • ncluer
  • julien.wollscheid
  • cristiandouce
  • sambego
  • sandrinodimattia
  • lzychowski
  • davidpatrick0
  • sergii.biienko
  • jpadilla
  • jessele
  • rhamzeh_auth0
  • oktajeffoktajeff
  • david.renaud.okta
  • madhuri.rm23
  • npirani_okta
  • soumya.bodavula
  • jamescgarrett-okta
  • stheller
  • jfromaniello
  • edgarchirivella-okta
  • sanjay.manikandhan
  • rithuc23
  • enriquepina
  • sgarcia-atko
  • roger.chan
  • joshbetz_auth0
  • andriy0k
  • maaantone
  • jason.gervais
  • shafatkhan
  • psychoticbrat
  • brohowismynamealreadytaken