This document provides an overview of the different categories of edge functions available in the repository. Each category serves a specific purpose and contains functions designed for particular use cases.
Agent functions implement autonomous agents that can reason, make decisions, and take actions. These functions use large language models and other AI technologies to provide intelligent behavior.
- Agent Alpha: A foundational agent implementation using the ReAct pattern
- Agent Beta: An enhanced agent with improved reasoning capabilities
- Agent Stream: An agent implementation with streaming response support
- Agent WebSocket: An agent implementation with WebSocket support for real-time interaction
- Agentic Inbox Agent: An agent for managing and processing inbox messages
Management functions provide tools for orchestrating and managing other functions, agents, and resources. They handle coordination, monitoring, and lifecycle management.
- Agent Manager: A centralized system for managing multiple agents
- Edge Deployment: A function for deploying and managing edge functions
- Meta Function Generator: A function for generating new functions based on templates
Communication functions enable various forms of communication between systems, users, and external services. They handle messaging, notifications, and data exchange.
- Resend: Email communication using the Resend API
- Send Contact Notification: Sends notifications for contact form submissions
- Feedback: Processes and routes user feedback
Integration functions connect edge functions with external services and APIs. They provide bridges to various platforms and systems.
- GitHub API: Integration with the GitHub API
- MCP Server: Model Context Protocol server for extending agent capabilities
- Stripe Check Subscription Status: Integration with subscription management services
- Stripe Create Portal Session: Integration with payment and subscription portals
Utility functions provide common tools and helpers that can be used by other functions. They handle cross-cutting concerns and reusable functionality.
- Environment Test: Utility for verifying environment variable configuration
- Hello World: A simple example function for testing and demonstration
- Test Function: A function for testing edge function deployment and execution
- CORS: Utilities for handling Cross-Origin Resource Sharing
When developing new functions, consider the following guidelines:
- Categorization: Place your function in the appropriate category based on its primary purpose
- Documentation: Create comprehensive documentation for your function following the templates
- Testing: Include tests for your function to ensure reliability
- Error Handling: Implement robust error handling for all possible failure scenarios
- Security: Follow security best practices, especially for handling sensitive data
- Environment Variables: Use environment variables for configuration and secrets
- CORS Support: Include CORS headers for functions that will be called from browsers
- Logging: Implement appropriate logging for debugging and monitoring
To create a new function:
- Identify the appropriate category for your function
- Create a new directory in the corresponding category directory
- Implement your function following the contributing guidelines
- Create documentation for your function following the category templates
- Test your function thoroughly
- Deploy your function using the deployment guidelines
Each function should follow a consistent structure:
supabase/functions/function-name/
├── index.ts # Main function implementation
├── deno.json # Deno configuration (if needed)
├── import_map.json # Import map (if needed)
├── README.md # Function-specific documentation
└── ... # Additional files as needed
Each function's documentation should include:
- Overview: A brief description of the function's purpose
- Architecture: How the function is structured and how it works
- Features: Key capabilities of the function
- Implementation Details: Technical details about how the function is implemented
- Configuration: How to configure the function, including environment variables
- Usage: How to use the function, including request and response formats
- Error Handling: How the function handles errors
- Deployment: How to deploy the function
- Testing: How to test the function
- Security Considerations: Security aspects to be aware of
- Limitations: Any limitations or constraints of the function
- Integration: How the function can be integrated with other functions or systems
Created by rUv, Agentics Foundation founder.