@auth0/ai-cloudflare
v2.0.0
Published
Auth0 AI tools for the Agents SDK
Maintainers
Keywords
Readme
[!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/aiInterrupt 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,
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 withAsyncAuthorization 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 withAsyncAuthorization = auth0AI.withAsyncAuthorization({
// 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.
