[!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.
npm i @auth0/ai-cloudflare @auth0/ai-vercel @auth0/ai
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,
});
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 });
},
});
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
});
We appreciate feedback and contribution to this repo! Before you get started, please see the following:
To provide feedback or report a bug, please raise an issue on our issue tracker.
Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
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.